mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2025-01-25 10:48:14 +00:00
Fix wrong TLS symbol values.
I do not fully understand why we had these values in the tests, but the new value matches what ld.bfd and ld.gold set, so I guess that was just a mistake. Differential Revision: https://reviews.llvm.org/D30441 llvm-svn: 296505
This commit is contained in:
parent
519b0816c6
commit
4d574b324a
@ -1376,14 +1376,6 @@ template <class ELFT> void SymbolTableSection<ELFT>::writeTo(uint8_t *Buf) {
|
||||
|
||||
if (const OutputSection *OutSec = Body->getOutputSection<ELFT>()) {
|
||||
ESym->st_shndx = OutSec->SectionIndex;
|
||||
|
||||
// This piece of code should go away as it doesn't make sense,
|
||||
// but we want to keep it tentatively because some tests for TLS
|
||||
// variable depends on this. We should fix the test and remove
|
||||
// this code.
|
||||
if (Body->isLocal())
|
||||
if (auto *DS = dyn_cast<DefinedRegular<ELFT>>(Body))
|
||||
ESym->st_value = OutSec->Addr + DS->Section->getOffset(*DS);
|
||||
} else if (isa<DefinedRegular<ELFT>>(Body)) {
|
||||
ESym->st_shndx = SHN_ABS;
|
||||
} else if (isa<DefinedCommon>(Body)) {
|
||||
|
@ -6,7 +6,7 @@
|
||||
|
||||
# NOGC: Symbol {
|
||||
# NOGC: Name: patatino
|
||||
# NOGC-NEXT: Value: 0x1000
|
||||
# NOGC-NEXT: Value: 0x0
|
||||
# NOGC-NEXT: Size: 0
|
||||
# NOGC-NEXT: Binding: Local
|
||||
# NOGC-NEXT: Type: TLS
|
||||
|
@ -29,7 +29,7 @@
|
||||
# DIS-NEXT: 30040 00000000 00000000 00000000 00000001
|
||||
# DIS-NEXT: 30050 ffffffff ffff8004 ffffffff ffff9004
|
||||
|
||||
# DIS: 0000000000040000 l .tdata 00000000 loc
|
||||
# DIS: 0000000000000000 l .tdata 00000000 loc
|
||||
# DIS: 0000000000000004 g .tdata 00000000 bar
|
||||
# DIS: 0000000000000000 g *UND* 00000000 foo
|
||||
|
||||
|
@ -21,7 +21,7 @@
|
||||
# DIS-NEXT: 2000c: 24 62 90 00 addiu $2, $3, -28672
|
||||
# %lo(loc0 - .tdata - 0x7000) --^
|
||||
|
||||
# DIS: 00040000 l .tdata 00000000 loc0
|
||||
# DIS: 00000000 l .tdata 00000000 loc0
|
||||
|
||||
# CHECK: Relocations [
|
||||
# CHECK-NEXT: ]
|
||||
|
@ -27,7 +27,7 @@
|
||||
# DIS-NEXT: 30020 00000000 00000001 00000000 00000001
|
||||
# DIS-NEXT: 30030 ffff8004 ffff9004
|
||||
|
||||
# DIS: 00040000 l .tdata 00000000 loc
|
||||
# DIS: 00000000 l .tdata 00000000 loc
|
||||
# DIS: 00000004 g .tdata 00000000 bar
|
||||
# DIS: 00000000 g *UND* 00000000 foo
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user