version 1.8, 2000/07/26 02:07:34 |
version 1.9, 2001/04/25 12:24:50 |
Line 88 _rtld_digest_dynamic(obj) |
|
Line 88 _rtld_digest_dynamic(obj) |
|
obj->pltrel = (const Elf_Rel *) |
obj->pltrel = (const Elf_Rel *) |
(obj->relocbase + dynp->d_un.d_ptr); |
(obj->relocbase + dynp->d_un.d_ptr); |
} else { |
} else { |
obj->pltrela = (const Elf_RelA *) |
obj->pltrela = (const Elf_Rela *) |
(obj->relocbase + dynp->d_un.d_ptr); |
(obj->relocbase + dynp->d_un.d_ptr); |
} |
} |
break; |
break; |
Line 98 _rtld_digest_dynamic(obj) |
|
Line 98 _rtld_digest_dynamic(obj) |
|
break; |
break; |
|
|
case DT_RELA: |
case DT_RELA: |
obj->rela = (const Elf_RelA *) |
obj->rela = (const Elf_Rela *) |
(obj->relocbase + dynp->d_un.d_ptr); |
(obj->relocbase + dynp->d_un.d_ptr); |
break; |
break; |
|
|
Line 107 _rtld_digest_dynamic(obj) |
|
Line 107 _rtld_digest_dynamic(obj) |
|
break; |
break; |
|
|
case DT_RELAENT: |
case DT_RELAENT: |
assert(dynp->d_un.d_val == sizeof(Elf_RelA)); |
assert(dynp->d_un.d_val == sizeof(Elf_Rela)); |
break; |
break; |
|
|
case DT_PLTREL: |
case DT_PLTREL: |
Line 121 _rtld_digest_dynamic(obj) |
|
Line 121 _rtld_digest_dynamic(obj) |
|
* We want the DT_JMPREL which points to our jump table. |
* We want the DT_JMPREL which points to our jump table. |
*/ |
*/ |
if (plttype == DT_RELA) { |
if (plttype == DT_RELA) { |
obj->pltrela = (const Elf_RelA *) obj->pltrel; |
obj->pltrela = (const Elf_Rela *) obj->pltrel; |
obj->pltrel = NULL; |
obj->pltrel = NULL; |
} |
} |
#endif |
#endif |
Line 237 _rtld_digest_dynamic(obj) |
|
Line 237 _rtld_digest_dynamic(obj) |
|
} |
} |
|
|
obj->rellim = (const Elf_Rel *)((caddr_t)obj->rel + relsz); |
obj->rellim = (const Elf_Rel *)((caddr_t)obj->rel + relsz); |
obj->relalim = (const Elf_RelA *)((caddr_t)obj->rela + relasz); |
obj->relalim = (const Elf_Rela *)((caddr_t)obj->rela + relasz); |
if (plttype == DT_REL) { |
if (plttype == DT_REL) { |
obj->pltrellim = (const Elf_Rel *)((caddr_t)obj->pltrel + pltrelsz); |
obj->pltrellim = (const Elf_Rel *)((caddr_t)obj->pltrel + pltrelsz); |
obj->pltrelalim = 0; |
obj->pltrelalim = 0; |
} else { |
} else { |
obj->pltrellim = 0; |
obj->pltrellim = 0; |
obj->pltrelalim = (const Elf_RelA *)((caddr_t)obj->pltrela + pltrelsz); |
obj->pltrelalim = (const Elf_Rela *)((caddr_t)obj->pltrela + pltrelsz); |
} |
} |
|
|
if (dyn_rpath != NULL) { |
if (dyn_rpath != NULL) { |