|
@@ -151,7 +151,7 @@ void _dl_get_ready_to_run(struct elf_resolve *tpnt, unsigned long load_addr,
|
|
|
_dl_progname = argv[0];
|
|
|
}
|
|
|
|
|
|
- if (_start == (void *) auxvt[AT_ENTRY].a_un.a_fcn) {
|
|
|
+ if (_start == (void *) auxvt[AT_ENTRY].a_un.a_val) {
|
|
|
_dl_dprintf(_dl_debug_file, "Standalone execution is not supported yet\n");
|
|
|
_dl_exit(1);
|
|
|
}
|
|
@@ -208,7 +208,7 @@ void _dl_get_ready_to_run(struct elf_resolve *tpnt, unsigned long load_addr,
|
|
|
*/
|
|
|
{
|
|
|
int i;
|
|
|
- ElfW(Phdr) *ppnt = (ElfW(Phdr) *) auxvt[AT_PHDR].a_un.a_ptr;
|
|
|
+ ElfW(Phdr) *ppnt = (ElfW(Phdr) *) auxvt[AT_PHDR].a_un.a_val;
|
|
|
|
|
|
for (i = 0; i < auxvt[AT_PHNUM].a_un.a_val; i++, ppnt++)
|
|
|
if (ppnt->p_type == PT_PHDR) {
|
|
@@ -231,7 +231,7 @@ void _dl_get_ready_to_run(struct elf_resolve *tpnt, unsigned long load_addr,
|
|
|
debug_addr = _dl_malloc(sizeof(struct r_debug));
|
|
|
_dl_memset(debug_addr, 0, sizeof(struct r_debug));
|
|
|
|
|
|
- ppnt = (ElfW(Phdr) *) auxvt[AT_PHDR].a_un.a_ptr;
|
|
|
+ ppnt = (ElfW(Phdr) *) auxvt[AT_PHDR].a_un.a_val;
|
|
|
for (i = 0; i < auxvt[AT_PHNUM].a_un.a_val; i++, ppnt++) {
|
|
|
if (ppnt->p_type == PT_GNU_RELRO) {
|
|
|
relro_addr = ppnt->p_vaddr;
|
|
@@ -251,7 +251,7 @@ void _dl_get_ready_to_run(struct elf_resolve *tpnt, unsigned long load_addr,
|
|
|
#endif
|
|
|
|
|
|
if (app_tpnt->dynamic_info[DT_TEXTREL]) {
|
|
|
- ppnt = (ElfW(Phdr) *) auxvt[AT_PHDR].a_un.a_ptr;
|
|
|
+ ppnt = (ElfW(Phdr) *) auxvt[AT_PHDR].a_un.a_val;
|
|
|
for (i = 0; i < auxvt[AT_PHNUM].a_un.a_val; i++, ppnt++) {
|
|
|
if (ppnt->p_type == PT_LOAD && !(ppnt->p_flags & PF_W))
|
|
|
_dl_mprotect((void *) ((ppnt->p_vaddr + app_tpnt->loadaddr) & PAGE_ALIGN),
|
|
@@ -271,7 +271,7 @@ void _dl_get_ready_to_run(struct elf_resolve *tpnt, unsigned long load_addr,
|
|
|
app_tpnt = _dl_add_elf_hash_table(_dl_progname, (char *)app_tpnt->loadaddr,
|
|
|
app_tpnt->dynamic_info, ppnt->p_vaddr + app_tpnt->loadaddr, ppnt->p_filesz);
|
|
|
_dl_loaded_modules->libtype = elf_executable;
|
|
|
- _dl_loaded_modules->ppnt = (ElfW(Phdr) *) auxvt[AT_PHDR].a_un.a_ptr;
|
|
|
+ _dl_loaded_modules->ppnt = (ElfW(Phdr) *) auxvt[AT_PHDR].a_un.a_val;
|
|
|
_dl_loaded_modules->n_phent = auxvt[AT_PHNUM].a_un.a_val;
|
|
|
_dl_symbol_tables = rpnt = (struct dyn_elf *) _dl_malloc(sizeof(struct dyn_elf));
|
|
|
_dl_memset(rpnt, 0, sizeof(struct dyn_elf));
|
|
@@ -663,7 +663,7 @@ void _dl_get_ready_to_run(struct elf_resolve *tpnt, unsigned long load_addr,
|
|
|
* again once all libs are loaded.
|
|
|
*/
|
|
|
if (tpnt) {
|
|
|
- ElfW(Ehdr) *epnt = (ElfW(Ehdr) *) auxvt[AT_BASE].a_un.a_ptr;
|
|
|
+ ElfW(Ehdr) *epnt = (ElfW(Ehdr) *) auxvt[AT_BASE].a_un.a_val;
|
|
|
ElfW(Phdr) *myppnt = (ElfW(Phdr) *) (load_addr + epnt->e_phoff);
|
|
|
int j;
|
|
|
|