diff options
author | ssijaric-nv <ssijaric@nvidia.com> | 2025-10-04 15:22:54 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-10-04 15:22:54 -0700 |
commit | 24c1bb60e321c16cb8247b45b080b2d5e02a2b31 (patch) | |
tree | 8a2215aea0d75aebcaa4aa866df814cc72a489f8 /llvm/unittests/Object/BuildIDTest.cpp | |
parent | e301a7bbe1fb7006b969c54675ec3813b45d82c7 (diff) | |
download | llvm-24c1bb60e321c16cb8247b45b080b2d5e02a2b31.zip llvm-24c1bb60e321c16cb8247b45b080b2d5e02a2b31.tar.gz llvm-24c1bb60e321c16cb8247b45b080b2d5e02a2b31.tar.bz2 |
[MC] Make .note.GNU-stack explicit for the trampoline case (#151754)
In the presence of trampolines, the .note.GNU-stack section is not emitted. The
absence of .note.GNU-stack results in the stack marked executable by some
linkers. But others require an explict .note.GNU-stack section.
The GNU ld 2.43 on x86 machines, for example, issues the following:
missing .note.GNU-stack section implies executable stack
NOTE: This behaviour is deprecated and will be removed in a future version of the linker
On one of the ARM machines, the absence of .note.GNU-stack results in the stack
marked as non-executable:
STACK off 0x0000000000000000 vaddr 0x0000000000000000 paddr 0x0000000000000000 align 2**4
filesz 0x0000000000000000 memsz 0x0000000000000000 flags rw-
This change just emits the explicit .note.GNU-stack and marks it executable if required.
Diffstat (limited to 'llvm/unittests/Object/BuildIDTest.cpp')
0 files changed, 0 insertions, 0 deletions