Changeset View
Changeset View
Standalone View
Standalone View
libexec/rtld-elf/rtld.c
Show First 20 Lines • Show All 1,280 Lines • ▼ Show 20 Lines | #ifdef __mips__ | ||||
case DT_MIPS_PLTGOT: | case DT_MIPS_PLTGOT: | ||||
obj->mips_pltgot = (Elf_Addr *)(obj->relocbase + | obj->mips_pltgot = (Elf_Addr *)(obj->relocbase + | ||||
dynp->d_un.d_ptr); | dynp->d_un.d_ptr); | ||||
break; | break; | ||||
#endif | #endif | ||||
#ifdef __powerpc__ | |||||
#ifdef __powerpc64__ | #ifdef __powerpc64__ | ||||
case DT_PPC64_GLINK: | case DT_PPC64_GLINK: | ||||
obj->glink = (Elf_Addr)(obj->relocbase + dynp->d_un.d_ptr); | obj->glink = (Elf_Addr)(obj->relocbase + dynp->d_un.d_ptr); | ||||
break; | break; | ||||
#else | |||||
case DT_PPC_GOT: | |||||
obj->gotptr = (Elf_Addr *)(obj->relocbase + dynp->d_un.d_ptr); | |||||
break; | |||||
#endif | |||||
nwhitehorn: Are these two cases actually different? | |||||
jhibbitsAuthorUnsubmitted Done Inline ActionsNo, they're not. We could reuse obj->glink instead. I took ~80% of these changes from NetBSD, and I'm guessing they added another field to the struct just to match the object component name. It really does serve the same purpose as .glink (and might even actually be called that, too..) jhibbits: No, they're not. We could reuse obj->glink instead. I took ~80% of these changes from NetBSD… | |||||
#endif | #endif | ||||
case DT_FLAGS_1: | case DT_FLAGS_1: | ||||
if (dynp->d_un.d_val & DF_1_NOOPEN) | if (dynp->d_un.d_val & DF_1_NOOPEN) | ||||
obj->z_noopen = true; | obj->z_noopen = true; | ||||
if (dynp->d_un.d_val & DF_1_ORIGIN) | if (dynp->d_un.d_val & DF_1_ORIGIN) | ||||
obj->z_origin = true; | obj->z_origin = true; | ||||
if (dynp->d_un.d_val & DF_1_GLOBAL) | if (dynp->d_un.d_val & DF_1_GLOBAL) | ||||
▲ Show 20 Lines • Show All 4,422 Lines • Show Last 20 Lines |
Are these two cases actually different?