Browse Source

ARM32/x86_64 lds: Force data segment align to 4KiB

Some newer versions of binutils can set invalid COMMONPAGESIZE
and MAXPAGESIZE values on these architectures

Signed-off-by: Callum Farmer <gmbr3@opensuse.org>
Callum Farmer 2 years ago
parent
commit
89d55b364d
2 changed files with 2 additions and 4 deletions
  1. 1 2
      gnuefi/elf_arm_efi.lds
  2. 1 2
      gnuefi/elf_x86_64_efi.lds

+ 1 - 2
gnuefi/elf_arm_efi.lds

@@ -15,7 +15,7 @@ SECTIONS
   }
   _etext = .;
   _text_size = . - _text;
-  . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
+  . = ALIGN(4096);
   .dynamic  : { *(.dynamic) }
   .data :
   {
@@ -54,7 +54,6 @@ SECTIONS
   .dynstr   : { *(.dynstr) }
   . = ALIGN(4096);
   .note.gnu.build-id : { *(.note.gnu.build-id) }
-  . = DATA_SEGMENT_END (.);
   /DISCARD/ :
   {
     *(.rel.reloc)

+ 1 - 2
gnuefi/elf_x86_64_efi.lds

@@ -30,7 +30,7 @@ SECTIONS
   {
    *(.reloc)
   }
-  . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
+  . = ALIGN(4096);
   .data :
   {
    _data = .;
@@ -66,7 +66,6 @@ SECTIONS
   . = ALIGN(4096);
   .dynstr   : { *(.dynstr) }
   . = ALIGN(4096);
-  . = DATA_SEGMENT_END (.);
   .ignored.reloc :
   {
     *(.rela.reloc)