[elf2][x86-64] Add support for DTPOFF64

llvm-svn: 252685
This commit is contained in:
Michael J. Spencer 2015-11-11 01:28:11 +00:00
parent a5d9d1f154
commit ac2307b9ff
2 changed files with 7 additions and 0 deletions

View File

@ -323,6 +323,7 @@ bool X86_64TargetInfo::isRelRelative(uint32_t Type) const {
case R_X86_64_PC8:
case R_X86_64_PLT32:
case R_X86_64_DTPOFF32:
case R_X86_64_DTPOFF64:
return true;
}
}
@ -337,6 +338,7 @@ void X86_64TargetInfo::relocateOne(uint8_t *Loc, uint8_t *BufEnd, uint32_t Type,
write32le(Loc, SA - P);
break;
case R_X86_64_64:
case R_X86_64_DTPOFF64:
write64le(Loc, SA);
break;
case R_X86_64_32:

View File

@ -10,6 +10,7 @@
callq __tls_get_addr@PLT
leaq a@dtpoff(%rax), %rcx
leaq b@dtpoff(%rax), %rcx
.long b@dtpoff, 0
.global a
.hidden a
@ -54,3 +55,7 @@ b:
// DIS-NEXT: 1013: {{.+}} callq
// DIS-NEXT: 1018: {{.+}} leaq (%rax), %rcx
// DIS-NEXT: 101f: {{.+}} leaq 4(%rax), %rcx
// DIS-NEXT: 1026: 04 00
// DIS-NEXT: 1028: 00 00
// DIS-NEXT: 102a: 00 00
// DIS-NEXT: 102c: 00 00