aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Tooling/Syntax/BuildTree.cpp
diff options
context:
space:
mode:
authorMartin Storsjö <martin@martin.st>2020-08-26 15:47:04 +0300
committerMartin Storsjö <martin@martin.st>2020-08-27 15:08:57 +0300
commitdf8f3bf6266569545b0b80eccbd990fecb94b3ee (patch)
tree228cff8686fa7a987b55c5dd76dbd813623e7d29 /clang/lib/Tooling/Syntax/BuildTree.cpp
parente72403f96de7f1c681acd5968f72aa986412dfce (diff)
downloadllvm-df8f3bf6266569545b0b80eccbd990fecb94b3ee.zip
llvm-df8f3bf6266569545b0b80eccbd990fecb94b3ee.tar.gz
llvm-df8f3bf6266569545b0b80eccbd990fecb94b3ee.tar.bz2
[LLD] [COFF] Check the aux section definition size for IMAGE_COMDAT_SELECT_SAME_SIZE
Binutils generated sections seem to be padded to a multiple of 16 bytes, but the aux section definition contains the original, unpadded section length. The size check used for IMAGE_COMDAT_SELECT_SAME_SIZE previously only checked the size of the section itself. When checking the currently processed object file against the previously chosen comdat section, we easily have access to the aux section definition of the currently processed section, but we have to iterate over the symbols of the previously selected object file to find the section definition of the previously picked section. (We don't want to inflate SectionChunk to carry more data, for something that is only needed in corner cases.) Only do this when the mingw flag is set. This fixes statically linking clang-built C++ object files against libstdc++ built with GCC, if the object files contain e.g. typeinfo. Differential Revision: https://reviews.llvm.org/D86659
Diffstat (limited to 'clang/lib/Tooling/Syntax/BuildTree.cpp')
0 files changed, 0 insertions, 0 deletions