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__.
gcc.patch
Description: Binary data