diff options
author | Travis Geiselbrecht <geist@foobox.com> | 2013-07-13 21:53:15 -0700 |
---|---|---|
committer | Travis Geiselbrecht <geist@foobox.com> | 2013-07-13 21:53:15 -0700 |
commit | 575e7520dd01ce59e50a291c348c3919c29852fa (patch) | |
tree | bc116cc8bf3c0d139e38aee892e13dacf70b7118 | |
parent | 540154b0804d3d37f94026af6b21004442a1e59a (diff) | |
download | lk-575e7520dd01ce59e50a291c348c3919c29852fa.tar.gz |
[arch][arm] fix initializer and destructors in the linker scripts
-rw-r--r-- | arch/arm/system-onesegment.ld | 4 | ||||
-rw-r--r-- | arch/arm/system-twosegment.ld | 4 |
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) } |