106,14 → 106,14 |
dval = dynamic[i].d_un.d_val; |
|
switch (dynamic[i].d_tag) { |
case 2/* DT_PLTRELSZ */: jmp_rel_entries = dval/8; break; |
case 23/* DT_JMPREL */: jmp_rel_table = dptr; break; |
case 3 /* DT_PLTGOT */: |
case DT_PLTRELSZ: jmp_rel_entries = dval/8; break; |
case DT_JMPREL: jmp_rel_table = dptr; break; |
case DT_PLTGOT: |
/* GOT address */ |
got = dptr; break; |
case 6 /* DT_SYMTAB */ : sym_table = dptr; break; |
case 17 /* DT_REL */ : rel_table = dptr; break; |
case 18 /* DT_RELSZ */ : rel_entries = dval / 8; break; |
case DT_SYMTAB: sym_table = dptr; break; |
case DT_REL: rel_table = dptr; break; |
case DT_RELSZ: rel_entries = dval / 8; break; |
default: break; |
} |
|
139,8 → 139,8 |
kputint(r_offset); |
|
switch (rel_type) { |
case 6: /* R_386_GLOB_DAT */ |
case 7: /* R_386_JUMP_SLOT */ |
case R_386_GLOB_DAT: |
case R_386_JUMP_SLOT: |
kputint(16); |
sym_idx = ELF32_R_SYM(r_info); |
|
151,7 → 151,7 |
*(unsigned *)(r_offset+bias) = sym_addr; |
break; |
|
case 1: /* R_386_32 */ |
case R_386_32: |
kputint(16); |
sym_idx = ELF32_R_SYM(r_info); |
|
162,7 → 162,7 |
*(unsigned *)(r_offset+bias) += sym_addr; |
break; |
|
case 8: /* R_386_RELATIVE */ |
case R_386_RELATIVE: |
kputint(16); |
*(unsigned *)(r_offset+bias) += bias; |
break; |
182,8 → 182,8 |
kputint(r_offset); |
|
switch (rel_type) { |
case 6: /* R_386_GLOB_DAT */ |
case 7: /* R_386_JUMP_SLOT */ |
case R_386_GLOB_DAT: |
case R_386_JUMP_SLOT: |
kputint(16); |
sym_idx = ELF32_R_SYM(r_info); |
|
194,7 → 194,7 |
*(unsigned *)(r_offset+bias) = sym_addr; |
break; |
|
case 1: /* R_386_32 */ |
case R_386_32: |
kputint(16); |
sym_idx = ELF32_R_SYM(r_info); |
|
205,7 → 205,7 |
*(unsigned *)(r_offset+bias) += sym_addr; |
break; |
|
case 8: /* R_386_RELATIVE */ |
case R_386_RELATIVE: |
kputint(16); |
*(unsigned *)(r_offset+bias) += bias; |
break; |