summaryrefslogtreecommitdiffstats
path: root/lld/ELF/Writer.cpp
diff options
context:
space:
mode:
authorPeter Smith <peter.smith@linaro.org>2016-08-24 09:08:54 +0000
committerPeter Smith <peter.smith@linaro.org>2016-08-24 09:08:54 +0000
commita52864a78c790bcd1d217143a817973d6becb400 (patch)
treea83418027c6d3bfea0e15cbd095b8fcf9a5ff659 /lld/ELF/Writer.cpp
parent1164cae527ace6b4f4eba2121f161dea7fb005ae (diff)
downloadbcm5719-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.cpp2
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;
OpenPOWER on IntegriCloud