aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Sema/MultiplexExternalSemaSource.cpp
diff options
context:
space:
mode:
authorDavide Italiano <davide@freebsd.org>2015-03-24 06:22:45 +0000
committerDavide Italiano <davide@freebsd.org>2015-03-24 06:22:45 +0000
commit20f3da11e8760c994a0c9db9cab08f7442937201 (patch)
treeb3d28c29a1e635f3eafc6a5c15305bac74c6f22a /clang/lib/Sema/MultiplexExternalSemaSource.cpp
parent70a1b816cc0f7a58044dee0460f1a068ac8faf31 (diff)
downloadllvm-20f3da11e8760c994a0c9db9cab08f7442937201.zip
llvm-20f3da11e8760c994a0c9db9cab08f7442937201.tar.gz
llvm-20f3da11e8760c994a0c9db9cab08f7442937201.tar.bz2
[ELF/X86_64] Fix handling of R_X86_64_GOTTPOFF relocation.
The aforementioned relocation generate a GOT entry with a R_X86_64_TPOFF64. The new relocation is processed at startup time by the loader. lld didn't generate the outstanding relocation, now it does. This bug was found while trying to link ls(1) on FreeBSD. Simplified repro: #include <stdio.h> #include <wchar.h> #include <wctype.h> int main(void) { wchar_t wc = 98; if (!iswprint(wc)) printf("blah\n"); else printf("foo\n"); return (0); } which incorrectly outputs "blah" when linked with lld before this patch. llvm-svn: 233051
Diffstat (limited to 'clang/lib/Sema/MultiplexExternalSemaSource.cpp')
0 files changed, 0 insertions, 0 deletions