zephyr/arch
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
..
arc ARC: fault: Fix uninitialized memory access 2024-04-29 17:39:57 +01:00
arm arch: arm: cortex-m: Change character used to mark immediate operand 2024-05-03 07:28:52 -04:00
arm64 kernel: rename Z_KERNEL_STACK_BUFFER to K_KERNEL_STACK_BUFFER 2024-03-27 19:27:10 -04:00
common hwmv2: Introduce Hardware model version 2 and convert devices 2024-03-02 16:56:33 -05:00
mips arch: mips: use LOG_ERR to print exceptions 2023-12-14 09:32:27 +01:00
nios2 arch: guard more code with CONFIG_EXCEPTION_DEBUG 2023-12-14 09:32:27 +01:00
posix arch posix fuzzing: Move kconfig options to sample 2024-05-02 20:46:03 +03:00
riscv arch: riscv: irq_manage: support ISR_OFFSET in dynamic IRQs 2024-04-25 15:03:23 +02:00
sparc arch: guard more code with CONFIG_EXCEPTION_DEBUG 2023-12-14 09:32:27 +01:00
x86 coding guidelines: comply with MISRA Rule 2.2 2024-05-01 10:52:30 -04:00
xtensa xtensa: mmu: Avoid unnecessary mapping 2024-04-27 11:05:45 +03:00
archs.yml hwmv2: Introduce Hardware model version 2 and convert devices 2024-03-02 16:56:33 -05:00
CMakeLists.txt cmake: enable -Wshadow partially for in-tree code 2023-08-22 11:39:58 +02:00
Kconfig arch: posix: Select at least C11 standard 2024-04-25 09:54:39 +00:00
Kconfig.v1 hwmv2: Introduce Hardware model version 2 and convert devices 2024-03-02 16:56:33 -05:00
Kconfig.v2 hwmv2: Introduce Hardware model version 2 and convert devices 2024-03-02 16:56:33 -05:00