diff options
| author | Frédéric Desbiens <[email protected]> | 2026-09-15 16:24:45 -0400 |
|---|---|---|
| committer | GitHub <[email protected]> | 2026-09-15 16:24:45 -0400 |
| commit | 9b2979e6b010edb27c741c3e58e9de5faa911528 (patch) | |
| tree | 4f503f4f3ed923b611c3c026a3b2678d1af9da1e /common_modules/module_lib/src/txm_module_object_pointer_get.c | |
| parent | d15f28ab9f7dbc38a4f96ae376a426c3bd38e4b6 (diff) | |
Replaced the GNU-only dsb/isb 0xF operands with the UAL sy form (#729)
Fixes #551
`_tx_thread_system_return_inline()` in the Cortex-M `tx_port.h` headers spells
its barriers `dsb 0xF` and `isb 0xF`. A bare hexadecimal operand is a GNU
assembler extension, and IAR rejects it with `operand syntax error`, so the
header cannot be included at all. The block is guarded for GCC, armclang and IAR
together, so every IAR user of an affected port hits it -- four independent
reports on Cortex-M33 and M7 with EWARM 9.50 and 9.70.
Both operands become `sy`, the Arm UAL name for exactly what `0xF` encodes. The
generated instruction is unchanged. Applied to the two `ports_arch` masters and
all 32 copies under `ports`, covering M0, M23, M3, M33, M4, M52, M55, M7 and M85
across ac5, ac6, gnu, iar and keil, plus the `scripts/check_ports.sh` probes that
matched the old spelling.
`check_ports.sh` passes, the copy scripts still reproduce every generated port
byte for byte, and `arm-none-eabi-gcc -O2` compiles a caller for every patched
header, emitting `dsb sy` and `isb sy`. Three headers that need toolchain
intrinsics GCC does not ship fail identically on `dev`.
Assisted-by: Copilot (Opus 5) <[email protected]>
Diffstat (limited to 'common_modules/module_lib/src/txm_module_object_pointer_get.c')
0 files changed, 0 insertions, 0 deletions
