Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:gmbr3:POBSI
gnu-efi
data-segment-placement.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File data-segment-placement.patch of Package gnu-efi
From e37dca0246d003d04d3beeb4fa3d3a455c2f6a02 Mon Sep 17 00:00:00 2001 From: Callum Farmer <gmbr3@opensuse.org> Date: Thu, 29 Dec 2022 11:54:20 +0000 Subject: [PATCH 1/2] *.efi.lds: Use proper data segment placement Use ld commands DATA_SEGMENT_ALIGN and DATA_SEGMENT_END Fixes binutils 2.39 warning: /usr/bin/ld: warning: efi/fwup.so has a LOAD segment with RWX permissions Signed-off-by: Callum Farmer <gmbr3@opensuse.org> From https://sourceforge.net/p/gnu-efi/code/merge-requests/32/ --- gnuefi/elf_aarch64_efi.lds | 4 +++- gnuefi/elf_arm_efi.lds | 2 ++ gnuefi/elf_ia32_efi.lds | 3 ++- gnuefi/elf_ia64_efi.lds | 3 ++- gnuefi/elf_loongarch64_efi.lds | 4 +++- gnuefi/elf_mips64el_efi.lds | 2 ++ gnuefi/elf_riscv64_efi.lds | 1 + gnuefi/elf_x86_64_efi.lds | 3 ++- 8 files changed, 17 insertions(+), 5 deletions(-) diff --git a/gnuefi/elf_aarch64_efi.lds b/gnuefi/elf_aarch64_efi.lds index 836d982..6bfede3 100644 --- a/gnuefi/elf_aarch64_efi.lds +++ b/gnuefi/elf_aarch64_efi.lds @@ -15,8 +15,9 @@ SECTIONS } _etext = .; _text_size = . - _text; + . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE)); .dynamic : { *(.dynamic) } - .data : ALIGN(4096) + .data : { _data = .; *(.sdata) @@ -53,6 +54,7 @@ SECTIONS .dynstr : { *(.dynstr) } . = ALIGN(4096); .note.gnu.build-id : { *(.note.gnu.build-id) } + . = DATA_SEGMENT_END (.); /DISCARD/ : { *(.rel.reloc) diff --git a/gnuefi/elf_arm_efi.lds b/gnuefi/elf_arm_efi.lds index 665bbdb..2edc6a8 100644 --- a/gnuefi/elf_arm_efi.lds +++ b/gnuefi/elf_arm_efi.lds @@ -15,6 +15,7 @@ SECTIONS } _etext = .; _text_size = . - _text; + . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE)); .dynamic : { *(.dynamic) } .data : { @@ -53,6 +54,7 @@ SECTIONS .dynstr : { *(.dynstr) } . = ALIGN(4096); .note.gnu.build-id : { *(.note.gnu.build-id) } + . = DATA_SEGMENT_END (.); /DISCARD/ : { *(.rel.reloc) diff --git a/gnuefi/elf_ia32_efi.lds b/gnuefi/elf_ia32_efi.lds index f27fe5f..0d62afb 100644 --- a/gnuefi/elf_ia32_efi.lds +++ b/gnuefi/elf_ia32_efi.lds @@ -19,7 +19,7 @@ SECTIONS } _etext = .; _text_size = . - _text; - . = ALIGN(4096); + . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE)); .sdata : { _data = .; @@ -76,6 +76,7 @@ SECTIONS . = ALIGN(4096); .dynstr : { *(.dynstr) } . = ALIGN(4096); + . = DATA_SEGMENT_END (.); /DISCARD/ : { *(.rel.reloc) diff --git a/gnuefi/elf_ia64_efi.lds b/gnuefi/elf_ia64_efi.lds index 190792a..f294464 100644 --- a/gnuefi/elf_ia64_efi.lds +++ b/gnuefi/elf_ia64_efi.lds @@ -19,7 +19,7 @@ SECTIONS } _etext = .; _text_size = . - _text; - . = ALIGN(4096); + . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE)); __gp = ALIGN (8) + 0x200000; .sdata : { @@ -71,6 +71,7 @@ SECTIONS .dynsym : { *(.dynsym) } . = ALIGN(4096); .dynstr : { *(.dynstr) } + . = DATA_SEGMENT_END (.); /DISCARD/ : { *(.rela.plabel) diff --git a/gnuefi/elf_mips64el_efi.lds b/gnuefi/elf_mips64el_efi.lds index 4d1a077..d8bb56d 100644 --- a/gnuefi/elf_mips64el_efi.lds +++ b/gnuefi/elf_mips64el_efi.lds @@ -15,6 +15,7 @@ SECTIONS } _etext = .; _text_size = . - _text; + . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE)); .dynamic : { *(.dynamic) } .data : { @@ -53,6 +54,7 @@ SECTIONS .dynstr : { *(.dynstr) } . = ALIGN(4096); .note.gnu.build-id : { *(.note.gnu.build-id) } + . = DATA_SEGMENT_END (.); /DISCARD/ : { *(.rel.reloc) diff --git a/gnuefi/elf_riscv64_efi.lds b/gnuefi/elf_riscv64_efi.lds index 69871c5..1886de3 100644 --- a/gnuefi/elf_riscv64_efi.lds +++ b/gnuefi/elf_riscv64_efi.lds @@ -67,6 +67,7 @@ SECTIONS { . = ALIGN(4096); .note.gnu.build-id : { *(.note.gnu.build-id) } +. = DATA_SEGMENT_END (.); /DISCARD/ : { *(.rel.reloc) diff --git a/gnuefi/elf_x86_64_efi.lds b/gnuefi/elf_x86_64_efi.lds index 7be5902..e3d32d1 100644 --- a/gnuefi/elf_x86_64_efi.lds +++ b/gnuefi/elf_x86_64_efi.lds @@ -30,7 +30,7 @@ SECTIONS { *(.reloc) } - . = ALIGN(4096); + . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE)); .data : { _data = .; @@ -66,6 +66,7 @@ SECTIONS . = ALIGN(4096); .dynstr : { *(.dynstr) } . = ALIGN(4096); + . = DATA_SEGMENT_END (.); .ignored.reloc : { *(.rela.reloc) -- 2.31.1
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor