Changeset f356618 in mainline for uspace/lib/c/arch/ia32/src/rtld/reloc.c
- Timestamp:
- 2016-05-22T21:05:55Z (9 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- b3364b7c
- Parents:
- af2254ec (diff), 3a9414e (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/arch/ia32/src/rtld/reloc.c
raf2254ec rf356618 101 101 sym_def = symbol_def_find(str_tab + sym->st_name, 102 102 m, ssf_none, &dest); 103 //DPRINTF("dest name: '%s'\n", dest->dyn.soname);103 DPRINTF("dest name: '%s'\n", dest->dyn.soname); 104 104 // DPRINTF("dest bias: 0x%x\n", dest->bias); 105 105 if (sym_def) { 106 106 sym_addr = (uint32_t) 107 symbol_get_addr(sym_def, dest );107 symbol_get_addr(sym_def, dest, NULL); 108 108 // DPRINTF("symbol definition found, addr=0x%x\n", sym_addr); 109 109 } else { … … 115 115 sym_addr = 0; 116 116 sym_def = NULL; 117 118 /* 119 * DTPMOD with null st_name should return the index 120 * of the current module. 121 */ 122 dest = m; 117 123 } 118 124 … … 148 154 if (sym_def) { 149 155 sym_addr = (uint32_t) 150 symbol_get_addr(sym_def, dest );156 symbol_get_addr(sym_def, dest, NULL); 151 157 } else { 152 158 printf("Source definition of '%s' not found.\n", … … 171 177 break; 172 178 179 case R_386_TLS_TPOFF: 180 DPRINTF("fixup R_386_TLS_TPOFF\n"); 181 *r_ptr = (dest->ioffs + sym_def->st_value) - dest->rtld->tls_size; 182 break; 183 184 case R_386_TLS_DTPOFF32: 185 DPRINTF("fixup R_386_TLS_DTPOFF32\n"); 186 *r_ptr = sym_def->st_value; 187 break; 188 173 189 case R_386_TLS_DTPMOD32: 174 /* 175 * We can ignore this as long as the only module 176 * with TLS variables is libc.so. 177 */ 178 DPRINTF("Ignoring R_386_TLS_DTPMOD32\n"); 190 DPRINTF("fixup R_386_TLS_DTPMOD32\n"); 191 *r_ptr = dest->id; 179 192 break; 180 193
Note:
See TracChangeset
for help on using the changeset viewer.