aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Sema/Sema.cpp
diff options
context:
space:
mode:
authorJessica Clarke <jrtc27@jrtc27.com>2025-06-04 01:30:47 +0100
committerGitHub <noreply@github.com>2025-06-04 01:30:47 +0100
commit6be4670dfb902fe98d8b3f7935a6397ee96660e0 (patch)
tree9a5d28f894d5fef7933880d9bc908c545d5bd946 /clang/lib/Sema/Sema.cpp
parent63861d69f0b59787cd8a288543b1434414a2b250 (diff)
downloadllvm-6be4670dfb902fe98d8b3f7935a6397ee96660e0.zip
llvm-6be4670dfb902fe98d8b3f7935a6397ee96660e0.tar.gz
llvm-6be4670dfb902fe98d8b3f7935a6397ee96660e0.tar.bz2
[ELF] Consistently use gotEntrySize for GOT entries (#142064)
d62413452fc6 ("[lld][X86] Restore gotEntrySize.") (re-)introduced gotEntrySize and used it for various GOT calculations, but was not exhaustive (nor consistent; Symbol::getGotOffset was modified but not GotSection::finalizeContents, so we undercompute the size, on top of computing the wrong offsets for TLS), and since then even more uses have been added that use wordsize instead of gotEntrySize (presumably due to looking at the existing incorrect ones). This doesn't really matter upstream, as the only architecture where the two differ is X32, and from looking at the code it's not properly supported (e.g. TLS relaxation assumes LP64 sequences), but downstream in CHERI LLVM it does matter, as CHERI's pointers are more than just an integer address (a machine word). Note this ignores the special MipsGotSection; on MIPS, wordsize and gotEntrySize are the same, CHERI-MIPS is no longer something we support downstream and even when we did we didn't reuse that implementation.
Diffstat (limited to 'clang/lib/Sema/Sema.cpp')
0 files changed, 0 insertions, 0 deletions