83,7 → 83,6 |
{ |
uint32_t *plt; |
uint32_t *_plt_ent; |
int i; |
|
plt = m->dyn.plt_got; |
if (!plt) { |
191,12 → 190,7 |
printf("dest name: '%s'\n", dest->dyn.soname); |
printf("dest bias: 0x%x\n", dest->bias); |
if (sym_def) { |
if (sym_def->st_shndx == SHN_ABS) { |
/* Do not add bias to absolute symbols */ |
sym_addr = sym_def->st_value; |
} else { |
sym_addr = sym_def->st_value + dest->bias; |
} |
sym_addr = symbol_get_addr(sym_def, dest); |
printf("symbol definition found, addr=0x%x\n", sym_addr); |
} else { |
printf("symbol definition not found\n"); |
214,7 → 208,7 |
while(1); |
} |
//_plt_table[pidx] = sym_addr; |
plt[18+2*pidx] = _b(sym_addr, &plt[18+2*pidx]); |
plt[18+2*pidx] = _b((void *)sym_addr, &plt[18+2*pidx]); |
break; |
|
case R_PPC_ADDR32: |