Page MenuHomeFreeBSD

D42415.diff
No OneTemporary

D42415.diff

diff --git a/libexec/rtld-elf/arm/reloc.c b/libexec/rtld-elf/arm/reloc.c
--- a/libexec/rtld-elf/arm/reloc.c
+++ b/libexec/rtld-elf/arm/reloc.c
@@ -280,10 +280,13 @@
return -1;
tmp = (Elf_Addr)def->st_value + defobj->tlsoffset;
- if (__predict_true(RELOC_ALIGNED_P(where)))
+ if (__predict_true(RELOC_ALIGNED_P(where))) {
+ tmp += *where;
*where = tmp;
- else
+ } else {
+ tmp += load_ptr(where);
store_ptr(where, tmp);
+ }
dbg("TLS_TPOFF32 %s in %s --> %p",
obj->strtab + obj->symtab[symnum].st_name,
obj->path, (void *)tmp);

File Metadata

Mime Type
text/plain
Expires
Thu, Jan 9, 10:00 PM (9 h, 35 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
15736458
Default Alt Text
D42415.diff (584 B)

Event Timeline