diff options
author | Peter Smith <peter.smith@linaro.org> | 2016-08-24 09:08:54 +0000 |
---|---|---|
committer | Peter Smith <peter.smith@linaro.org> | 2016-08-24 09:08:54 +0000 |
commit | a52864a78c790bcd1d217143a817973d6becb400 (patch) | |
tree | a83418027c6d3bfea0e15cbd095b8fcf9a5ff659 /lld/ELF/Writer.cpp | |
parent | 1164cae527ace6b4f4eba2121f161dea7fb005ae (diff) | |
download | bcm5719-llvm-a52864a78c790bcd1d217143a817973d6becb400.tar.gz bcm5719-llvm-a52864a78c790bcd1d217143a817973d6becb400.zip |
Canonicalize output section name for .ARM.exidx sections
The ARM Exception handling ABI requires that all ARM exception index
table sections have a prefix of .ARM.exidx and are combined into a
single contiguous block either in their own output section or as part
of another output section.
In general clang will output a single .ARM.exidx section per object,
but will use .ARM.exidx.<section name> when -ffunction-sections is used.
This change canonicalizes the names of sections with the .ARM.exidx
prefix to just .ARM.exidx, which ensures that there is only a single
output section.
Differential Revision: https://reviews.llvm.org/D23775
llvm-svn: 279617
Diffstat (limited to 'lld/ELF/Writer.cpp')
-rw-r--r-- | lld/ELF/Writer.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lld/ELF/Writer.cpp b/lld/ELF/Writer.cpp index a8c6f824198..d927ee3a376 100644 --- a/lld/ELF/Writer.cpp +++ b/lld/ELF/Writer.cpp @@ -90,7 +90,7 @@ StringRef elf::getOutputSectionName(InputSectionBase<ELFT> *S) { StringRef Name = S->getSectionName(); for (StringRef V : {".text.", ".rodata.", ".data.rel.ro.", ".data.", ".bss.", ".init_array.", ".fini_array.", ".ctors.", ".dtors.", - ".tbss.", ".gcc_except_table.", ".tdata."}) + ".tbss.", ".gcc_except_table.", ".tdata.", ".ARM.exidx."}) if (Name.startswith(V)) return V.drop_back(); return Name; |