summaryrefslogtreecommitdiff
path: root/gnuefi
diff options
context:
space:
mode:
authorCallum Farmer <gmbr3@opensuse.org>2022-12-29 11:54:20 +0000
committerCallum Farmer <gmbr3@opensuse.org>2023-01-19 17:22:13 +0000
commit231c7632c0dc4dba2d8b36e9c226d992ec90720e (patch)
tree61004ebe5cb7f7a4fb1b4868506dc108d3ccf317 /gnuefi
parent98f1250742bbe3d91a7aaf5d66cc2cb4bdb3c0dd (diff)
downloadgnu-efi-231c7632c0dc4dba2d8b36e9c226d992ec90720e.tar.gz
*.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>
Diffstat (limited to 'gnuefi')
-rw-r--r--gnuefi/elf_aarch64_efi.lds4
-rw-r--r--gnuefi/elf_arm_efi.lds2
-rw-r--r--gnuefi/elf_ia32_efi.lds3
-rw-r--r--gnuefi/elf_ia64_efi.lds3
-rw-r--r--gnuefi/elf_mips64el_efi.lds2
-rw-r--r--gnuefi/elf_riscv64_efi.lds1
-rw-r--r--gnuefi/elf_x86_64_efi.lds3
7 files changed, 14 insertions, 4 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)