summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCallum Farmer <gmbr3@opensuse.org>2023-04-30 13:51:32 +0100
committerCallum Farmer <gmbr3@opensuse.org>2023-05-04 14:29:47 +0100
commit9c5403e1e6269bd47a4c383cfeaf1a4f29db121f (patch)
tree6350cdfa273f89fd52595699acdf1a43b471e655
parentb3cc412aadc6448c62224013ce122b5449e67ec3 (diff)
downloadgnu-efi-9c5403e1e6269bd47a4c383cfeaf1a4f29db121f.tar.gz
Copy marker names from binutils for init/fini
Signed-off-by: Callum Farmer <gmbr3@opensuse.org>
-rw-r--r--gnuefi/elf_aarch64_efi.lds8
-rw-r--r--gnuefi/elf_arm_efi.lds8
-rw-r--r--gnuefi/elf_ia32_efi.lds8
-rw-r--r--gnuefi/elf_ia32_fbsd_efi.lds8
-rw-r--r--gnuefi/elf_ia64_efi.lds8
-rw-r--r--gnuefi/elf_mips64el_efi.lds8
-rw-r--r--gnuefi/elf_x86_64_efi.lds8
-rw-r--r--gnuefi/elf_x86_64_fbsd_efi.lds8
-rw-r--r--lib/ctors.S16
-rw-r--r--lib/entry.c8
10 files changed, 44 insertions, 44 deletions
diff --git a/gnuefi/elf_aarch64_efi.lds b/gnuefi/elf_aarch64_efi.lds
index 7657bb3..48d5106 100644
--- a/gnuefi/elf_aarch64_efi.lds
+++ b/gnuefi/elf_aarch64_efi.lds
@@ -48,10 +48,10 @@ SECTIONS
* have NULLs which aren't guaranteed to be at the end.
*/
. = ALIGN(16);
- _init_array = .;
+ __init_array_start = .;
*(SORT(.init_array.*))
*(.init_array)
- _init_array_end = .;
+ __init_array_end = .;
__CTOR_LIST__ = .;
*(SORT(.ctors.*))
*(.ctors)
@@ -60,10 +60,10 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
__DTOR_END__ = .;
- _fini_array = .;
+ __fini_array_start = .;
*(SORT(.fini_array.*))
*(.fini_array)
- _fini_array_end = .;
+ __fini_array_end = .;
/* the EFI loader doesn't seem to like a .bss section, so we stick
it all into .data: */
diff --git a/gnuefi/elf_arm_efi.lds b/gnuefi/elf_arm_efi.lds
index 3c9f919..0964d35 100644
--- a/gnuefi/elf_arm_efi.lds
+++ b/gnuefi/elf_arm_efi.lds
@@ -35,10 +35,10 @@ SECTIONS
* have NULLs which aren't guaranteed to be at the end.
*/
. = ALIGN(16);
- _init_array = .;
+ __init_array_start = .;
*(SORT(.init_array.*))
*(.init_array)
- _init_array_end = .;
+ __init_array_end = .;
__CTOR_LIST__ = .;
*(SORT(.ctors.*))
*(.ctors)
@@ -47,10 +47,10 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
__DTOR_END__ = .;
- _fini_array = .;
+ __fini_array_start = .;
*(SORT(.fini_array.*))
*(.fini_array)
- _fini_array_end = .;
+ __fini_array_end = .;
/* the EFI loader doesn't seem to like a .bss section, so we stick
it all into .data: */
diff --git a/gnuefi/elf_ia32_efi.lds b/gnuefi/elf_ia32_efi.lds
index 964530c..0c1f2a7 100644
--- a/gnuefi/elf_ia32_efi.lds
+++ b/gnuefi/elf_ia32_efi.lds
@@ -39,10 +39,10 @@ SECTIONS
* have NULLs which aren't guaranteed to be at the end.
*/
. = ALIGN(16);
- _init_array = .;
+ __init_array_start = .;
*(SORT(.init_array.*))
*(.init_array)
- _init_array_end = .;
+ __init_array_end = .;
__CTOR_LIST__ = .;
*(SORT(.ctors.*))
*(.ctors)
@@ -51,10 +51,10 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
__DTOR_END__ = .;
- _fini_array = .;
+ __fini_array_start = .;
*(SORT(.fini_array.*))
*(.fini_array)
- _fini_array_end = .;
+ __fini_array_end = .;
/* the EFI loader doesn't seem to like a .bss section, so we stick
it all into .data: */
diff --git a/gnuefi/elf_ia32_fbsd_efi.lds b/gnuefi/elf_ia32_fbsd_efi.lds
index c5c5dae..0377d4f 100644
--- a/gnuefi/elf_ia32_fbsd_efi.lds
+++ b/gnuefi/elf_ia32_fbsd_efi.lds
@@ -48,10 +48,10 @@ SECTIONS
* have NULLs which aren't guaranteed to be at the end.
*/
. = ALIGN(16);
- _init_array = .;
+ __init_array_start = .;
*(SORT(.init_array.*))
*(.init_array)
- _init_array_end = .;
+ __init_array_end = .;
__CTOR_LIST__ = .;
*(SORT(.ctors.*))
*(.ctors)
@@ -60,10 +60,10 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
__DTOR_END__ = .;
- _fini_array = .;
+ __fini_array_start = .;
*(SORT(.fini_array.*))
*(.fini_array)
- _fini_array_end = .;
+ __fini_array_end = .;
/* the EFI loader doesn't seem to like a .bss section, so we stick
it all into .data: */
diff --git a/gnuefi/elf_ia64_efi.lds b/gnuefi/elf_ia64_efi.lds
index f85cb91..46aee72 100644
--- a/gnuefi/elf_ia64_efi.lds
+++ b/gnuefi/elf_ia64_efi.lds
@@ -49,10 +49,10 @@ SECTIONS
* have NULLs which aren't guaranteed to be at the end.
*/
. = ALIGN(16);
- _init_array = .;
+ __init_array_start = .;
*(SORT(.init_array.*))
*(.init_array)
- _init_array_end = .;
+ __init_array_end = .;
__CTOR_LIST__ = .;
*(SORT(.ctors.*))
*(.ctors)
@@ -61,10 +61,10 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
__DTOR_END__ = .;
- _fini_array = .;
+ __fini_array_start = .;
*(SORT(.fini_array.*))
*(.fini_array)
- _fini_array_end = .;
+ __fini_array_end = .;
/* the EFI loader doesn't seem to like a .bss section, so we stick
it all into .data: */
diff --git a/gnuefi/elf_mips64el_efi.lds b/gnuefi/elf_mips64el_efi.lds
index 80312bf..3721c56 100644
--- a/gnuefi/elf_mips64el_efi.lds
+++ b/gnuefi/elf_mips64el_efi.lds
@@ -36,10 +36,10 @@ SECTIONS
* have NULLs which aren't guaranteed to be at the end.
*/
. = ALIGN(16);
- _init_array = .;
+ __init_array_start = .;
*(SORT(.init_array.*))
*(.init_array)
- _init_array_end = .;
+ __init_array_end = .;
__CTOR_LIST__ = .;
*(SORT(.ctors.*))
*(.ctors)
@@ -48,10 +48,10 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
__DTOR_END__ = .;
- _fini_array = .;
+ __fini_array_start = .;
*(SORT(.fini_array.*))
*(.fini_array)
- _fini_array_end = .;
+ __fini_array_end = .;
/* the EFI loader doesn't seem to like a .bss section, so we stick
it all into .data: */
diff --git a/gnuefi/elf_x86_64_efi.lds b/gnuefi/elf_x86_64_efi.lds
index c9564a2..22409de 100644
--- a/gnuefi/elf_x86_64_efi.lds
+++ b/gnuefi/elf_x86_64_efi.lds
@@ -46,10 +46,10 @@ SECTIONS
* have NULLs which aren't guaranteed to be at the end.
*/
. = ALIGN(16);
- _init_array = .;
+ __init_array_start = .;
*(SORT(.init_array.*))
*(.init_array)
- _init_array_end = .;
+ __init_array_end = .;
__CTOR_LIST__ = .;
*(SORT(.ctors.*))
*(.ctors)
@@ -58,10 +58,10 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
__DTOR_END__ = .;
- _fini_array = .;
+ __fini_array_start = .;
*(SORT(.fini_array.*))
*(.fini_array)
- _fini_array_end = .;
+ __fini_array_end = .;
/* the EFI loader doesn't seem to like a .bss section, so we stick
it all into .data: */
diff --git a/gnuefi/elf_x86_64_fbsd_efi.lds b/gnuefi/elf_x86_64_fbsd_efi.lds
index e8a6825..55bed4a 100644
--- a/gnuefi/elf_x86_64_fbsd_efi.lds
+++ b/gnuefi/elf_x86_64_fbsd_efi.lds
@@ -44,10 +44,10 @@ SECTIONS
* have NULLs which aren't guaranteed to be at the end.
*/
. = ALIGN(16);
- _init_array = .;
+ __init_array_start = .;
*(SORT(.init_array.*))
*(.init_array)
- _init_array_end = .;
+ __init_array_end = .;
__CTOR_LIST__ = .;
*(SORT(.ctors.*))
*(.ctors)
@@ -56,10 +56,10 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
__DTOR_END__ = .;
- _fini_array = .;
+ __fini_array_start = .;
*(SORT(.fini_array.*))
*(.fini_array)
- _fini_array_end = .;
+ __fini_array_end = .;
/* the EFI loader doesn't seem to like a .bss section, so we stick
it all into .data: */
diff --git a/lib/ctors.S b/lib/ctors.S
index fe0f23a..cdd4629 100644
--- a/lib/ctors.S
+++ b/lib/ctors.S
@@ -10,11 +10,11 @@
*/
.section .init_array, "aw", @init_array
.p2align 3, 0
- .globl _init_array
-_init_array:
+ .globl __init_array_start
+__init_array_start:
.p2align 3, 0
- .globl _init_array_end
-_init_array_end:
+ .globl __init_array_end
+__init_array_end:
.long 0
.section .ctors, "aw", @progbits
.p2align 3, 0
@@ -34,11 +34,11 @@ __DTOR_END__:
.long 0
.section .fini_array, "aw", @fini_array
.p2align 3, 0
- .globl _fini_array
-_fini_array:
+ .globl __fini_array_start
+__fini_array_start:
.p2align 3, 0
- .globl _fini_array_end
-_fini_array_end:
+ .globl __fini_array_end
+__fini_array_end:
.long 0
#if defined(__ELF__) && defined(__linux__)
diff --git a/lib/entry.c b/lib/entry.c
index 21bf0e6..5032f81 100644
--- a/lib/entry.c
+++ b/lib/entry.c
@@ -13,16 +13,16 @@
* end/END definitions, and the fact that they're mergeable, they can also
* have NULLs which aren't guaranteed to be at the end.
*/
-extern UINTN _init_array, _init_array_end;
+extern UINTN __init_array_start, __init_array_end;
extern UINTN __CTOR_LIST__, __CTOR_END__;
-extern UINTN _fini_array, _fini_array_end;
+extern UINTN __fini_array_start, __fini_array_end;
extern UINTN __DTOR_LIST__, __DTOR_END__;
typedef void (*funcp)(void);
static void ctors(void)
{
- for (funcp *location = (void *)&_init_array; location < (funcp *)&_init_array_end; location++) {
+ for (funcp *location = (void *)&__init_array_start; location < (funcp *)&__init_array_end; location++) {
funcp func = *location;
if (location != NULL)
func();
@@ -43,7 +43,7 @@ static void dtors(void)
func();
}
- for (funcp *location = (void *)&_fini_array; location < (funcp *)&_fini_array_end; location++) {
+ for (funcp *location = (void *)&__fini_array_start; location < (funcp *)&__fini_array_end; location++) {
funcp func = *location;
if (location != NULL)
func();