diff options
author | Pete Chou <petechou@gmail.com> | 2014-09-26 10:26:37 +0800 |
---|---|---|
committer | Pete Chou <petechou@gmail.com> | 2014-09-26 10:26:37 +0800 |
commit | 16c6eb74e234fc96ed81b2b09db14056f674a9d5 (patch) | |
tree | 4ea189d0e3dd0c3c606b5b180c1b247007dcd151 | |
parent | e11c61b2723f91461b79e66c2cbed20bcb458d37 (diff) | |
download | mclinker-16c6eb74e234fc96ed81b2b09db14056f674a9d5.tar.gz |
ARM: Fix exidx ordering.
-rw-r--r-- | lib/Target/ARM/ARMEmulation.cpp | 5 | ||||
-rwxr-xr-x | test/Android/Plasma/ARM/libplasma.golden.so | bin | 264376 -> 264376 bytes |
2 files changed, 5 insertions, 0 deletions
diff --git a/lib/Target/ARM/ARMEmulation.cpp b/lib/Target/ARM/ARMEmulation.cpp index c562371c..5969f275 100644 --- a/lib/Target/ARM/ARMEmulation.cpp +++ b/lib/Target/ARM/ARMEmulation.cpp @@ -35,6 +35,11 @@ static bool MCLDEmulateARMELF(LinkerScript& pScript, LinkerConfig& pConfig) { // set up section map if (pConfig.options().getScriptList().empty() && pConfig.codeGenType() != LinkerConfig::Object) { + // .ARM.exidx is associated with .text (which is always the first input + // text section in GNU ELF), and thus we have to do this special treatment. + pScript.sectionMap().insert(".ARM.exidx", ".ARM.exidx"); + pScript.sectionMap().insert(".ARM.extab", ".ARM.extab"); + pScript.sectionMap().insert(".ARM.exidx*", ".ARM.exidx"); pScript.sectionMap().insert(".ARM.extab*", ".ARM.extab"); pScript.sectionMap().insert(".ARM.attributes*", ".ARM.attributes"); diff --git a/test/Android/Plasma/ARM/libplasma.golden.so b/test/Android/Plasma/ARM/libplasma.golden.so Binary files differindex a3b5f705..f9e921c5 100755 --- a/test/Android/Plasma/ARM/libplasma.golden.so +++ b/test/Android/Plasma/ARM/libplasma.golden.so |