diff options
author | Rui Ueyama <ruiu@google.com> | 2013-11-10 07:48:33 +0000 |
---|---|---|
committer | Rui Ueyama <ruiu@google.com> | 2013-11-10 07:48:33 +0000 |
commit | 78d1acb3afe740c2139ca00c0c7b37dd851204bb (patch) | |
tree | e47daf7f236afaf4857bc0feda5fec8c073b7fd5 /clang/lib/CodeGen/CodeGenModule.cpp | |
parent | fed6c220ec51752cfbb8bbbcaaa136cc722034ab (diff) | |
download | bcm5719-llvm-78d1acb3afe740c2139ca00c0c7b37dd851204bb.tar.gz bcm5719-llvm-78d1acb3afe740c2139ca00c0c7b37dd851204bb.zip |
[ELF] Un-break undef-from-main-dso.test on MSVC 2012.
The result of sizeof(SymbolTable<ELFT>::SymbolEntry) in DynamicSymbolTable
<ELFT>::write() was different from the same expression in RelocationTable
<ELFT>::write(), although the same template parameters were passed. They were
40 and 32, respectively. As a result, the same vector was treated as a
vector of 40 byte values in some places and a vector of 32 values in other
places. That caused an weird issue, resulting in collapse of the rela.dyn
section.
I suspect that this is a padding size calculation bug in MSVC 2012, but I
may be wrong. Reordering the fields to eliminate padding seems to fix the
issue.
llvm-svn: 194349
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
0 files changed, 0 insertions, 0 deletions