zephyr/arch/arm/core/cortex_m
Jonathon Penix 274bd59283 arch: arm: cortex-m: Change character used to mark immediate operand
Change the character used to indicate immediate operands from '$' to '#'
to resolve an "invalid instruction" error when building with clang.

For arm, binutils allows either '#' or '$' to indicate immediate operands.
clang seems to accept '$' for arm in other instances
(my build accepts 'subs r0, r0, $0x02', for example), but in this case it
produces an error that this is an invalid instruction due to the "$0x02"
operand.

Given clang's inconsistent behavior, I'm guessing this is a bug in clang
somewhere, but:

  1. '#' for immediate operands seems to be more standard for arm in
     general and seems to be what is used throughout the rest of Zephyr's
     arm asm code.
  2. Switching out '$' for '#' shouldn't negatively impact other
     toolchains.

As such, switch out the character used to unblock clang builds until this
can be fixed in clang.

Signed-off-by: Jonathon Penix <jpenix@quicinc.com>
2024-05-03 07:28:52 -04:00
..
cmse
tz tz: Remove unused trustzone driver 2023-12-11 09:56:08 +01:00
CMakeLists.txt arch: arm: cortex_m: Convert cpu_idle from ASM to C 2024-04-15 09:09:28 -07:00
Kconfig arch: arm: cortex_m: Remove CPU_HAS_*CACHE from CPU_CORTEX_M7 2023-12-05 10:19:15 +00:00
__aeabi_read_tp.S arch: arm: cortex_m: Document why __aeabi_read_tp impl requires ASM impl 2024-04-15 09:09:28 -07:00
cache.c
coredump.c
cpu_idle.c arch: arm: cortex_m: cpu_idle: Add missing irq masking/unmasking 2024-04-17 15:00:25 +02:00
debug.c
exc_exit.c arch: arm: cortex_m: Only trigger context switch if thread is preemptible 2024-04-15 09:09:28 -07:00
fault.c arch: arm: Use returned reason from secure fault handle function 2023-12-05 10:12:48 +00:00
fault_s.S
fpu.c
irq_init.c
irq_manage.c
irq_relay.S arch: arm: cortex-m: Change character used to mark immediate operand 2024-05-03 07:28:52 -04:00
isr_wrapper.c arch: arm: cortex_m: use C rather than asm in isr_wrapper & exc_exit 2024-04-15 09:09:28 -07:00
pm_s2ram.S
pm_s2ram.c
prep_c.c arch: arm: z_arm_prep_c -> z_prep_c 2023-12-11 18:23:52 -05:00
relay_vector_table.ld
reset.S arch: arm: z_arm_prep_c -> z_prep_c 2023-12-11 18:23:52 -05:00
scb.c arch: arm: core: cortex_m: fix cache disabling in init_arch_hw_at_boot 2024-01-10 09:59:58 +01:00
semihost.c
swap.c arch: arm: cortex_m: move part of swap_helper to C 2024-04-15 09:09:28 -07:00
swap_helper.S arch: arm: cortex_m: move part of swap_helper to C 2024-04-15 09:09:28 -07:00
thread.c arch: arm: cortex_m: enable interrupts before entering application’s main 2024-04-25 07:54:47 -04:00
thread_abort.c arm: cortex_m: tracing for custom thread abort func 2024-03-19 13:37:41 -05:00
timing.c hwmv2: Introduce Hardware model version 2 and convert devices 2024-03-02 16:56:33 -05:00
vector_table.S
vector_table.h arch: arm: z_arm_prep_c -> z_prep_c 2023-12-11 18:23:52 -05:00
vector_table_pad.ld
vt_pointer_section.ld