Page MenuHomePhabricator

Compile fails for corstone500 with clang
Open, Needs TriagePublic

Description

When building TF-A 2.4 for Corstone500 with the Clang compiler, the build fails:

| <instantiation>:14:2: error: use of SP or PC in the list is deprecated
|  stm r0!, {sp, lr}
|  ^
| bl1/aarch32/bl1_exceptions.S:96:2: note: while in macro instantiation
|  smccc_save_gp_mode_regs
|  ^
| <instantiation>:18:2: error: use of SP or PC in the list is deprecated
|  stm r0!, {r2, sp, lr}
|  ^
| bl1/aarch32/bl1_exceptions.S:96:2: note: while in macro instantiation
|  smccc_save_gp_mode_regs
|  ^
| <instantiation>:22:2: error: use of SP or PC in the list is deprecated
|  stm r0!, {r2, sp, lr}
|  ^
| bl1/aarch32/bl1_exceptions.S:96:2: note: while in macro instantiation
|  smccc_save_gp_mode_regs
|  ^
| <instantiation>:26:2: error: use of SP or PC in the list is deprecated
|  stm r0!, {r2, sp, lr}
|  ^
| bl1/aarch32/bl1_exceptions.S:96:2: note: while in macro instantiation
|  smccc_save_gp_mode_regs
|  ^
| <instantiation>:30:2: error: use of SP or PC in the list is deprecated
|  stm r0!, {r2, sp, lr}
|  ^
| bl1/aarch32/bl1_exceptions.S:96:2: note: while in macro instantiation
|  smccc_save_gp_mode_regs
|  ^
| <instantiation>:34:2: error: use of SP or PC in the list is deprecated
|  stm r0!, {r2, sp, lr}
|  ^
| bl1/aarch32/bl1_exceptions.S:96:2: note: while in macro instantiation
|  smccc_save_gp_mode_regs
|  ^
| <instantiation>:37:2: error: use of SP in the list is deprecated
|  ldm r1!, {sp, lr}
|  ^
| bl1/aarch32/bl1_exceptions.S:156:2: note: while in macro instantiation
|  monitor_exit
|  ^
| <instantiation>:40:2: error: use of SP in the list is deprecated
|  ldm r1!, {r2, sp, lr}
|  ^
| bl1/aarch32/bl1_exceptions.S:156:2: note: while in macro instantiation
|  monitor_exit
|  ^
| <instantiation>:44:2: error: use of SP in the list is deprecated
|  ldm r1!, {r2, sp, lr}
|  ^
| bl1/aarch32/bl1_exceptions.S:156:2: note: while in macro instantiation
|  monitor_exit
|  ^
| <instantiation>:48:2: error: use of SP in the list is deprecated
|  ldm r1!, {r2, sp, lr}
|  ^
| bl1/aarch32/bl1_exceptions.S:156:2: note: while in macro instantiation
|  monitor_exit
|  ^
| <instantiation>:52:2: error: use of SP in the list is deprecated
|  ldm r1!, {r2, sp, lr}
|  ^
| bl1/aarch32/bl1_exceptions.S:156:2: note: while in macro instantiation
|  monitor_exit
|  ^
| <instantiation>:56:2: error: use of SP in the list is deprecated
|  ldm r1!, {r2, sp, lr}
|  ^
| bl1/aarch32/bl1_exceptions.S:156:2: note: while in macro instantiation
|  monitor_exit
|  ^
| <instantiation>:37:2: error: use of SP in the list is deprecated
|  ldm r1!, {sp, lr}
|  ^
| bl1/aarch32/bl1_entrypoint.S:97:2: note: while in macro instantiation
|  monitor_exit
|  ^
| <instantiation>:40:2: error: use of SP in the list is deprecated
|  ldm r1!, {r2, sp, lr}
|  ^
| bl1/aarch32/bl1_entrypoint.S:97:2: note: while in macro instantiation
|  monitor_exit
|  ^
| <instantiation>:44:2: error: use of SP in the list is deprecated
|  ldm r1!, {r2, sp, lr}
|  ^
| bl1/aarch32/bl1_entrypoint.S:97:2: note: while in macro instantiation
|  monitor_exit
|  ^
| <instantiation>:48:2: error: use of SP in the list is deprecated
|  ldm r1!, {r2, sp, lr}
|  ^
| bl1/aarch32/bl1_entrypoint.S:97:2: note: while in macro instantiation
|  monitor_exit
|  ^
| <instantiation>:52:2: error: use of SP in the list is deprecated
|  ldm r1!, {r2, sp, lr}
|  ^
| bl1/aarch32/bl1_entrypoint.S:97:2: note: while in macro instantiation
|  monitor_exit
|  ^
| <instantiation>:56:2: error: use of SP in the list is deprecated
|  ldm r1!, {r2, sp, lr}
|  ^
| bl1/aarch32/bl1_entrypoint.S:97:2: note: while in macro instantiation
|  monitor_exit
|  ^
| make: *** [Makefile:1080: /yocto/ross/build/tmp/work/corstone500-poky-linux-gnueabi/trusted-firmware-a/2.4-r0/build/a5ds/debug/bl1/bl1_exceptions.o] Error 1