From 3de9075baf13ce2f6ed965bd0ef4030f22851394 Mon Sep 17 00:00:00 2001 From: Eric Andersen Date: Wed, 13 Apr 2005 11:01:11 +0000 Subject: This update gets mips working again. --- ldso/ldso/dl-startup.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'ldso/ldso/dl-startup.c') diff --git a/ldso/ldso/dl-startup.c b/ldso/ldso/dl-startup.c index 97a0e19e0..f3c0d0899 100644 --- a/ldso/ldso/dl-startup.c +++ b/ldso/ldso/dl-startup.c @@ -117,13 +117,11 @@ static void * __attribute_used__ _dl_start(unsigned long args) unsigned long load_addr; Elf32_Addr got; unsigned long *aux_dat; - int goof = 0; ElfW(Ehdr) *header; struct elf_resolve tpnt_tmp; struct elf_resolve *tpnt = &tpnt_tmp; Elf32_auxv_t auxvt[AT_EGID + 1]; Elf32_Dyn *dpnt; - int indx; /* WARNING! -- we cannot make _any_ funtion calls until we have * taken care of fixing up our own relocations. Making static @@ -214,19 +212,24 @@ static void * __attribute_used__ _dl_start(unsigned long args) SEND_STDERR("done scanning DYNAMIC section\n"); #endif -#ifdef PERFORM_BOOTSTRAP_GOT +#if defined(__mips__) + #ifdef __SUPPORT_LD_DEBUG_EARLY__ SEND_STDERR("About to do specific GOT bootstrap\n"); #endif /* For MIPS we have to do stuff to the GOT before we do relocations. */ PERFORM_BOOTSTRAP_GOT(tpnt); -#endif + +#else /* OK, now do the relocations. We do not do a lazy binding here, so that once we are done, we have considerably more flexibility. */ #ifdef __SUPPORT_LD_DEBUG_EARLY__ SEND_STDERR("About to do library loader relocations\n"); #endif + + { + int goof, indx; #ifdef ELF_MACHINE_PLTREL_OVERLAP # define INDX_MAX 1 #else @@ -290,6 +293,8 @@ static void * __attribute_used__ _dl_start(unsigned long args) if (goof) { _dl_exit(14); } + } +#endif #ifdef __SUPPORT_LD_DEBUG_EARLY__ /* Wahoo!!! */ -- cgit v1.2.3