diff options
| author | Kip Macy <kmacy@FreeBSD.org> | 2006-10-08 02:50:34 +0000 |
|---|---|---|
| committer | Kip Macy <kmacy@FreeBSD.org> | 2006-10-08 02:50:34 +0000 |
| commit | b84c7a797ca0806b362a1dd0ecbca9e728dde5c5 (patch) | |
| tree | 6ad8c75d0dc911debb2ae132787ef8e5be588a57 /libexec | |
| parent | a5ad0b523b825cecb3d2cf90d279eb2c4001fad0 (diff) | |
Notes
Diffstat (limited to 'libexec')
| -rw-r--r-- | libexec/rtld-elf/sparc64/reloc.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/libexec/rtld-elf/sparc64/reloc.c b/libexec/rtld-elf/sparc64/reloc.c index dc0d83069822..225322ed93e0 100644 --- a/libexec/rtld-elf/sparc64/reloc.c +++ b/libexec/rtld-elf/sparc64/reloc.c @@ -723,7 +723,7 @@ install_plt(Elf_Word *pltgot, Elf_Addr proc) void allocate_initial_tls(Obj_Entry *objs) { - register Elf_Addr** tp __asm__("%g7"); + Elf_Addr* tpval; /* * Fix the size of the static TLS block by using the maximum @@ -731,7 +731,8 @@ allocate_initial_tls(Obj_Entry *objs) * use. */ tls_static_space = tls_last_offset + RTLD_STATIC_TLS_EXTRA; - tp = allocate_tls(objs, NULL, 3*sizeof(Elf_Addr), sizeof(Elf_Addr)); + tpval = allocate_tls(objs, NULL, 3*sizeof(Elf_Addr), sizeof(Elf_Addr)); + __asm __volatile("mov %0, %%g7" : : "r" (tpval)); } void *__tls_get_addr(tls_index *ti) |
