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