diff options
author | Elliott Hughes <enh@google.com> | 2012-02-14 08:31:20 -0800 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2012-02-14 08:31:20 -0800 |
commit | aeaf48812d4e6f8b8c5d9377be20968de84d9806 (patch) | |
tree | c7f91e7d1747077539f3ba2d33a99e98ba0941b1 | |
parent | 93a1a0ec6b9c82a124173a414c64ab9d86f04556 (diff) | |
parent | 67772b810d5aef5bca8c0ccd4b3b6ef7e40a7749 (diff) | |
download | build-aeaf48812d4e6f8b8c5d9377be20968de84d9806.zip build-aeaf48812d4e6f8b8c5d9377be20968de84d9806.tar.gz build-aeaf48812d4e6f8b8c5d9377be20968de84d9806.tar.bz2 |
Merge "Linker script support for constructor priorities."
-rw-r--r-- | core/armelf.x | 10 | ||||
-rw-r--r-- | core/armelflib.x | 10 |
2 files changed, 16 insertions, 4 deletions
diff --git a/core/armelf.x b/core/armelf.x index d38dc1d..b484776 100644 --- a/core/armelf.x +++ b/core/armelf.x @@ -93,10 +93,16 @@ SECTIONS .preinit_array : { KEEP (*(.preinit_array)) } PROVIDE (__preinit_array_end = .); PROVIDE (__init_array_start = .); - .init_array : { KEEP (*(.init_array)) } + .init_array : { + KEEP (*(SORT(.init_array.*))) + KEEP (*(.init_array)) + } PROVIDE (__init_array_end = .); PROVIDE (__fini_array_start = .); - .fini_array : { KEEP (*(.fini_array)) } + .fini_array : { + KEEP (*(.fini_array)) + KEEP (*(SORT(.fini_array.*))) + } PROVIDE (__fini_array_end = .); .ctors : { diff --git a/core/armelflib.x b/core/armelflib.x index 0150e02..ec7abd5 100644 --- a/core/armelflib.x +++ b/core/armelflib.x @@ -59,10 +59,16 @@ SECTIONS .preinit_array : { KEEP (*(.preinit_array)) } PROVIDE (__preinit_array_end = .); PROVIDE (__init_array_start = .); - .init_array : { KEEP (*(.init_array)) } + .init_array : { + KEEP (*(SORT(.init_array.*))) + KEEP (*(.init_array)) + } PROVIDE (__init_array_end = .); PROVIDE (__fini_array_start = .); - .fini_array : { KEEP (*(.fini_array)) } + .fini_array : { + KEEP (*(.fini_array)) + KEEP (*(SORT(.fini_array.*))) + } PROVIDE (__fini_array_end = .); .ctors : { |