Hello Kyrill,

> Thanks for the patch! To validate it your changes you can also look at the 
> disassembly
> of the cmse.c binary in the build tree. If the binary changes with your patch 
> then that
> would indicate some trouble.

Good idea. So I just did that and the assembly of both objects are identical
(before and after the patch).

> There are places in arm_cmse.h that use intptr_t. You should replace those as 
> well.
> Look for the cmse_nsfptr_create and cmse_is_nsfptr macros...

Indeed, good catch. I did not see those as this part is not included in the 
armv8-m.

Below the updated patch and modified changelog.

2018-05-16  Jerome Lambourg  <lambo...@adacore.com>
        gcc/
        * config/arm/arm_cmse.h (cmse_nsfptr_create, cmse_is_nsfptr): Remove
        #include <stdint.h>. Replace intptr_t with __INTPTR_TYPE__.

        libgcc/
        * config/arm/cmse.c (cmse_check_address_range): Replace
        UINTPTR_MAX with __UINTPTR_MAX__ and uintptr_t with __UINTPTR_TYPE__.

Attachment: gcc.patch
Description: Binary data

Reply via email to