ELF/AArch64: Fix dynamic relocation against local symbol in
shared objects
static thread int32_t x1;
static thread int64_t x2;
int32_t foo1 (int32_t x)
{
x1 += x; return x;
}
int64_t foo2 (int64_t x)
{
x2 += x; return x;
}
The dynamic relocation should be create as:
Relocations [
Section (N) .rela.dyn { <Address1> R_AARCH64_TLSDESC - 0x0 <Address2> R_AARCH64_TLSDESC - 0x8 }
]
Where 0x0 addend in first dynamic relocation is the address of 'x1'
in TLS block and '0x8' is the address of 'x2'.
Checked against test-suite on aarch64-linux-gnu.