aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2012-05-28 21:39:40 -0700
committerH. Peter Anvin <hpa@zytor.com>2012-05-28 21:39:40 -0700
commitb7549a33e4660851d80f4626f29b8df841bc706c (patch)
treeeafdfa1afbb815589f9504edbad528be31b39cd2
parentb6be466444740a34bacd140dccbe57f6629b15bc (diff)
downloadsyslinux-b7549a33e4660851d80f4626f29b8df841bc706c.tar.gz
syslinux-b7549a33e4660851d80f4626f29b8df841bc706c.tar.xz
syslinux-b7549a33e4660851d80f4626f29b8df841bc706c.zip
core: add support for .init/fini_table
We don't actually have any constructors/destructors in the core at this time, but handle .init/fini_table in case that happens... Signed-off-by: H. Peter Anvin <hpa@zytor.com>
-rw-r--r--core/syslinux.ld9
1 files changed, 5 insertions, 4 deletions
diff --git a/core/syslinux.ld b/core/syslinux.ld
index 40a01394..11adbcb8 100644
--- a/core/syslinux.ld
+++ b/core/syslinux.ld
@@ -280,8 +280,9 @@ SECTIONS
__ctors_lma = __ctors_vma + __text_lma - __text_vma;
.ctors : AT(__ctors_lma) {
__ctors_start = .;
- KEEP (*(SORT(.ctors.*)))
- KEEP (*(.ctors))
+ KEEP (*(SORT(.preinit_array*)))
+ KEEP (*(SORT(.init_array*)))
+ KEEP (*(SORT(.ctors*)))
__ctors_end = .;
}
@@ -289,8 +290,8 @@ SECTIONS
__dtors_lma = __dtors_vma + __text_lma - __text_vma;
.dtors : AT(__dtors_lma) {
__dtors_start = .;
- KEEP (*(SORT(.dtors.*)))
- KEEP (*(.dtors))
+ KEEP (*(SORT(.fini_array*)))
+ KEEP (*(SORT(.dtors*)))
__dtors_end = .;
}