aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTravis Geiselbrecht <geist@foobox.com>2013-07-13 21:53:15 -0700
committerTravis Geiselbrecht <geist@foobox.com>2013-07-13 21:53:15 -0700
commit575e7520dd01ce59e50a291c348c3919c29852fa (patch)
treebc116cc8bf3c0d139e38aee892e13dacf70b7118
parent540154b0804d3d37f94026af6b21004442a1e59a (diff)
downloadlk-575e7520dd01ce59e50a291c348c3919c29852fa.tar.gz
[arch][arm] fix initializer and destructors in the linker scripts
-rw-r--r--arch/arm/system-onesegment.ld4
-rw-r--r--arch/arm/system-twosegment.ld4
2 files changed, 4 insertions, 4 deletions
diff --git a/arch/arm/system-onesegment.ld b/arch/arm/system-onesegment.ld
index e88b6f52..decc00af 100644
--- a/arch/arm/system-onesegment.ld
+++ b/arch/arm/system-onesegment.ld
@@ -66,12 +66,12 @@ INCLUDE "arch/shared_data_sections.ld"
.ctors : ALIGN(4) {
__ctor_list = .;
- *(.ctors)
+ KEEP(*(.ctors .init_array))
__ctor_end = .;
}
.dtors : ALIGN(4) {
__dtor_list = .;
- *(.dtors)
+ KEEP(*(.dtors .fini_array))
__dtor_end = .;
}
.got : { *(.got.plt) *(.got) }
diff --git a/arch/arm/system-twosegment.ld b/arch/arm/system-twosegment.ld
index 6dd99e5d..50db6d89 100644
--- a/arch/arm/system-twosegment.ld
+++ b/arch/arm/system-twosegment.ld
@@ -72,12 +72,12 @@ INCLUDE "arch/shared_data_sections.ld"
}
.ctors : ALIGN(4) {
__ctor_list = .;
- *(.ctors)
+ KEEP(*(.ctors .init_array))
__ctor_end = .;
}
.dtors : ALIGN(4) {
__dtor_list = .;
- *(.dtors)
+ KEEP(*(.dtors .fini_array))
__dtor_end = .;
}
.got : { *(.got.plt) *(.got) }