aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/CodeGen/CodeGenModule.cpp
diff options
context:
space:
mode:
authorFangrui Song <i@maskray.me>2020-08-02 18:05:17 -0700
committerFangrui Song <i@maskray.me>2020-08-02 18:05:17 -0700
commitb497665d98ad5026b1d3d67d5793a28fefe27bea (patch)
tree7876a091f74293a518f3c427660e0780896e738f /clang/lib/CodeGen/CodeGenModule.cpp
parent4ffa6a27aca17fe88fa6bdd605b198df6632a570 (diff)
downloadllvm-b497665d98ad5026b1d3d67d5793a28fefe27bea.zip
llvm-b497665d98ad5026b1d3d67d5793a28fefe27bea.tar.gz
llvm-b497665d98ad5026b1d3d67d5793a28fefe27bea.tar.bz2
Reland D64327 [MC][ELF] Allow STT_SECTION referencing SHF_MERGE on REL targets
This drops a GNU gold workaround and reverts the revert commit rL366708. Before binutils 2.34, gold -O2 and above did not correctly handle R_386_GOTOFF to SHF_MERGE|SHF_STRINGS sections: https://sourceware.org/bugzilla/show_bug.cgi?id=16794 From the original review: ... it reduced the size of a big ARM-32 debug image by 33%. It contained ~68M of relocations symbols out of total ~71M symbols (96% of symbols table was generated for relocations with symbol). -Wl,-O2 (and -Wl,-O3) is so rare that we should just lower the optimization level for LLVM_LINKER_IS_GOLD rather than pessimizing all users.
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
0 files changed, 0 insertions, 0 deletions