diff options
author | Michael Brown <mcb30@ipxe.org> | 2023-01-23 12:30:41 +0000 |
---|---|---|
committer | Michael Brown <mcb30@ipxe.org> | 2023-01-23 12:55:44 +0000 |
commit | fcfb70bfb2a9aae78e86a2505669068e7e511f79 (patch) | |
tree | ef6cc057eefff034910dde0656c6b04ca3420716 | |
parent | c5e1f007ac33fc09943ba99b742f599a0cfca0c5 (diff) | |
download | ipxe-fcfb70bfb2a9aae78e86a2505669068e7e511f79.zip ipxe-fcfb70bfb2a9aae78e86a2505669068e7e511f79.tar.gz ipxe-fcfb70bfb2a9aae78e86a2505669068e7e511f79.tar.bz2 |
[arm] Inhibit linker warnings about an implied executable stack
Some versions of the 32-bit ARM linker seem to treat the absence of a
.note.GNU-stack section as implying an executable stack, and will
print a warning that this is deprecated behaviour.
Silence the warning by adding a .note.GNU-stack section to each
assembly file and retaining the sections in the Linux linker script.
Signed-off-by: Michael Brown <mcb30@ipxe.org>
-rw-r--r-- | src/arch/arm32/core/setjmp.S | 1 | ||||
-rw-r--r-- | src/arch/arm32/libgcc/lldivmod.S | 1 | ||||
-rw-r--r-- | src/arch/arm32/libgcc/llshift.S | 1 | ||||
-rw-r--r-- | src/scripts/linux.lds | 5 |
4 files changed, 4 insertions, 4 deletions
diff --git a/src/arch/arm32/core/setjmp.S b/src/arch/arm32/core/setjmp.S index 7e7b0fe..1e9e820 100644 --- a/src/arch/arm32/core/setjmp.S +++ b/src/arch/arm32/core/setjmp.S @@ -1,5 +1,6 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL ) + .section ".note.GNU-stack", "", %progbits .text .arm diff --git a/src/arch/arm32/libgcc/lldivmod.S b/src/arch/arm32/libgcc/lldivmod.S index 910be4b..746fa8f 100644 --- a/src/arch/arm32/libgcc/lldivmod.S +++ b/src/arch/arm32/libgcc/lldivmod.S @@ -1,5 +1,6 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL ) + .section ".note.GNU-stack", "", %progbits .text .thumb diff --git a/src/arch/arm32/libgcc/llshift.S b/src/arch/arm32/libgcc/llshift.S index cc16e26..c1b51e7 100644 --- a/src/arch/arm32/libgcc/llshift.S +++ b/src/arch/arm32/libgcc/llshift.S @@ -1,5 +1,6 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL ) + .section ".note.GNU-stack", "", %progbits .text .arm diff --git a/src/scripts/linux.lds b/src/scripts/linux.lds index afc0128..53e884e 100644 --- a/src/scripts/linux.lds +++ b/src/scripts/linux.lds @@ -81,16 +81,13 @@ SECTIONS { _assert = ASSERT ( ( _weak == _eweak ), ".weak is non-zero length" ); /* - * Dispose of the comment and note sections to make the link map - * easier to read + * Dispose of unwanted sections to make the link map easier to read * */ /DISCARD/ : { *(.comment) *(.comment.*) - *(.note) - *(.note.*) *(.rel) *(.rel.*) *(.discard) |