summaryrefslogtreecommitdiff
path: root/gnuefi/elf_x86_64_efi.lds
diff options
context:
space:
mode:
authorb'Nigel Croxon <allura@localhost>2023-05-16 13:06:32 +0000
committerb'Nigel Croxon <allura@localhost>2023-05-16 13:06:32 +0000
commit9835e11ebe95ed8372ac2a6671de07cc970cdee0 (patch)
treef2f1d166ba12123605c3dc3e12790e9391d2a31c /gnuefi/elf_x86_64_efi.lds
parentbbc2b528e08e5b99e08e103302ee90046135a039 (diff)
parent99730f29b2f8874bc7bfad383ea8eb52679e8897 (diff)
downloadgnu-efi-9835e11ebe95ed8372ac2a6671de07cc970cdee0.tar.gz
Merge /u/gmbr3/gnu-efi/ branch ia32 into masterHEADmaster
https://sourceforge.net/p/gnu-efi/code/merge-requests/51/
Diffstat (limited to 'gnuefi/elf_x86_64_efi.lds')
-rw-r--r--gnuefi/elf_x86_64_efi.lds27
1 files changed, 19 insertions, 8 deletions
diff --git a/gnuefi/elf_x86_64_efi.lds b/gnuefi/elf_x86_64_efi.lds
index 2e0e0cb..0f4b63b 100644
--- a/gnuefi/elf_x86_64_efi.lds
+++ b/gnuefi/elf_x86_64_efi.lds
@@ -46,18 +46,25 @@ SECTIONS
* have NULLs which aren't guaranteed to be at the end.
*/
. = ALIGN(16);
- _init_array = .;
- *(SORT_BY_NAME(.init_array))
- _init_array_end = .;
+ __init_array_start = .;
+ *(SORT(.init_array.*))
+ *(.init_array)
+ __init_array_end = .;
+ . = ALIGN(16);
__CTOR_LIST__ = .;
- *(SORT_BY_NAME(.ctors))
+ *(SORT(.ctors.*))
+ *(.ctors)
__CTOR_END__ = .;
+ . = ALIGN(16);
__DTOR_LIST__ = .;
- *(SORT_BY_NAME(.dtors))
+ *(SORT(.dtors.*))
+ *(.dtors)
__DTOR_END__ = .;
- _fini_array = .;
- *(SORT_BY_NAME(.fini_array))
- _fini_array_end = .;
+ . = ALIGN(16);
+ __fini_array_start = .;
+ *(SORT(.fini_array.*))
+ *(.fini_array)
+ __fini_array_end = .;
/* the EFI loader doesn't seem to like a .bss section, so we stick
it all into .data: */
@@ -82,6 +89,10 @@ SECTIONS
*(.rela.got)
*(.rela.dyn)
*(.rela.stab)
+ *(.rela.init_array*)
+ *(.rela.fini_array*)
+ *(.rela.ctors*)
+ *(.rela.dtors*)
}
. = ALIGN(4096);
.rela.plt : { *(.rela.plt) }