Go to file
Reid Kleckner 8456411e3b [COFF] Fix SECTION and SECREL relocation handling for absolute symbols
Summary:
For SECTION relocations against absolute symbols, MSVC emits the largest
output section index plus one. I've implemented that by threading a
global variable through DefinedAbsolute that is filled in by the Writer.
A more library-oriented approach would be to thread the Writer through
Chunk::writeTo and SectionChunk::applyRel*, but Rui seems to prefer
doing it this way.

MSVC rejects SECREL relocations against absolute symbols, but only when
the relocation is in a real output section. When the relocation is in a
CodeView debug info section destined for the PDB, it seems that this
relocation error is suppressed, and absolute symbols become zeros in the
object file. This is easily implemented by checking the input section
from which we're applying relocations.

This should fix errors about __safe_se_handler_table and
__guard_fids_table when linking the CRT and generating a PDB.

Reviewers: ruiu

Subscribers: aprantl, llvm-commits

Differential Revision: https://reviews.llvm.org/D34541

llvm-svn: 306071
2017-06-22 23:33:04 +00:00
clang PR33002: When we instantiate the definition of a static data member, we might 2017-06-22 22:18:46 +00:00
clang-tools-extra [clang-tidy] readability-function-size: fix nesting level calculation 2017-06-16 13:07:47 +00:00
compiler-rt [Sanitizers] 32 bit allocator respects allocator_may_return_null flag 2017-06-22 00:02:37 +00:00
debuginfo-tests Add a test for PR33166. 2017-05-25 19:33:16 +00:00
libclc generic: add missing get_work_dim include 2017-06-02 15:58:35 +00:00
libcxx Attempt to avoid static init ordering issues with globalMemCounter 2017-06-21 21:42:50 +00:00
libcxxabi Add some catch(...) blocks to the tests so that if they fail, we get a good error message. No functional change. 2017-06-22 00:49:03 +00:00
libunwind Change -1LL to -1ULL to silence a gcc warning about left shifting a negative value. Fixes https://bugs.llvm.org/show_bug.cgi?id=33358 2017-06-21 16:02:53 +00:00
lld [COFF] Fix SECTION and SECREL relocation handling for absolute symbols 2017-06-22 23:33:04 +00:00
lldb Simplify the gdb-remote unit tests 2017-06-22 15:54:21 +00:00
llgo irgen: Create functions instead of global variables for builtin hash and equal algorithms. 2017-06-04 22:11:28 +00:00
llvm Restrict the definition of loop preheader to avoid EH blocks 2017-06-22 23:27:16 +00:00
openmp Set affinity to none/false in child processes 2017-06-15 21:51:07 +00:00
parallel-libs [Axccel] Remove -Wno-missing-braces in build 2016-12-19 21:34:07 +00:00
polly [ScopInfo] Fix crash with sum of invariant load and AddRec. 2017-06-20 22:53:02 +00:00