|  | @@ -177,10 +177,8 @@ static void * __attribute_used__ _dl_start(unsigned long args)
 | 
	
		
			
				|  |  |  		SEND_STDERR("Invalid ELF header\n");
 | 
	
		
			
				|  |  |  		_dl_exit(0);
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  | -#ifdef __SUPPORT_LD_DEBUG_EARLY__
 | 
	
		
			
				|  |  | -	SEND_STDERR("ELF header=");
 | 
	
		
			
				|  |  | -	SEND_ADDRESS_STDERR(load_addr, 1);
 | 
	
		
			
				|  |  | -#endif
 | 
	
		
			
				|  |  | +	SEND_STDERR_DEBUG("ELF header=");
 | 
	
		
			
				|  |  | +	SEND_ADDRESS_STDERR_DEBUG(load_addr, 1);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	/* Locate the global offset table.  Since this code must be PIC
 | 
	
	
		
			
				|  | @@ -189,17 +187,13 @@ static void * __attribute_used__ _dl_start(unsigned long args)
 | 
	
		
			
				|  |  |  	 * we can always read stuff out of the ELF file to find it... */
 | 
	
		
			
				|  |  |  	got = elf_machine_dynamic();
 | 
	
		
			
				|  |  |  	dpnt = (Elf32_Dyn *) (got + load_addr);
 | 
	
		
			
				|  |  | -#ifdef __SUPPORT_LD_DEBUG_EARLY__
 | 
	
		
			
				|  |  | -	SEND_STDERR("First Dynamic section entry=");
 | 
	
		
			
				|  |  | -	SEND_ADDRESS_STDERR(dpnt, 1);
 | 
	
		
			
				|  |  | -#endif
 | 
	
		
			
				|  |  | +	SEND_STDERR_DEBUG("First Dynamic section entry=");
 | 
	
		
			
				|  |  | +	SEND_ADDRESS_STDERR_DEBUG(dpnt, 1);
 | 
	
		
			
				|  |  |  	_dl_memset(tpnt, 0, sizeof(struct elf_resolve));
 | 
	
		
			
				|  |  |  	tpnt->loadaddr = load_addr;
 | 
	
		
			
				|  |  |  	/* OK, that was easy.  Next scan the DYNAMIC section of the image.
 | 
	
		
			
				|  |  |  	   We are only doing ourself right now - we will have to do the rest later */
 | 
	
		
			
				|  |  | -#ifdef __SUPPORT_LD_DEBUG_EARLY__
 | 
	
		
			
				|  |  | -	SEND_STDERR("scanning DYNAMIC section\n");
 | 
	
		
			
				|  |  | -#endif
 | 
	
		
			
				|  |  | +	SEND_STDERR_DEBUG("scanning DYNAMIC section\n");
 | 
	
		
			
				|  |  |  	tpnt->dynamic_addr = dpnt;
 | 
	
		
			
				|  |  |  #if defined(__mips__) || defined(__cris__)
 | 
	
		
			
				|  |  |  	/* Some architectures cannot call functions here, must inline */
 | 
	
	
		
			
				|  | @@ -208,15 +202,11 @@ static void * __attribute_used__ _dl_start(unsigned long args)
 | 
	
		
			
				|  |  |  	_dl_parse_dynamic_info(dpnt, tpnt->dynamic_info, NULL, load_addr);
 | 
	
		
			
				|  |  |  #endif
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -#ifdef __SUPPORT_LD_DEBUG_EARLY__
 | 
	
		
			
				|  |  | -	SEND_STDERR("done scanning DYNAMIC section\n");
 | 
	
		
			
				|  |  | -#endif
 | 
	
		
			
				|  |  | +	SEND_STDERR_DEBUG("done scanning DYNAMIC section\n");
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  #if defined(__mips__)
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -#ifdef __SUPPORT_LD_DEBUG_EARLY__
 | 
	
		
			
				|  |  | -	SEND_STDERR("About to do specific GOT bootstrap\n");
 | 
	
		
			
				|  |  | -#endif
 | 
	
		
			
				|  |  | +	SEND_STDERR_DEBUG("About to do specific GOT bootstrap\n");
 | 
	
		
			
				|  |  |  	/* For MIPS we have to do stuff to the GOT before we do relocations.  */
 | 
	
		
			
				|  |  |  	PERFORM_BOOTSTRAP_GOT(tpnt);
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -224,9 +214,7 @@ static void * __attribute_used__ _dl_start(unsigned long args)
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	/* 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
 | 
	
		
			
				|  |  | +	SEND_STDERR_DEBUG("About to do library loader relocations\n");
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	{
 | 
	
		
			
				|  |  |  		int goof, indx;
 | 
	
	
		
			
				|  | @@ -279,11 +267,9 @@ static void * __attribute_used__ _dl_start(unsigned long args)
 | 
	
		
			
				|  |  |  					sym = &symtab[symtab_index];
 | 
	
		
			
				|  |  |  					symbol_addr = load_addr + sym->st_value;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -#ifdef __SUPPORT_LD_DEBUG_EARLY__
 | 
	
		
			
				|  |  | -					SEND_STDERR("relocating symbol: ");
 | 
	
		
			
				|  |  | -					SEND_STDERR(strtab + sym->st_name);
 | 
	
		
			
				|  |  | -					SEND_STDERR("\n");
 | 
	
		
			
				|  |  | -#endif
 | 
	
		
			
				|  |  | +					SEND_STDERR_DEBUG("relocating symbol: ");
 | 
	
		
			
				|  |  | +					SEND_STDERR_DEBUG(strtab + sym->st_name);
 | 
	
		
			
				|  |  | +					SEND_STDERR_DEBUG("\n");
 | 
	
		
			
				|  |  |  				}
 | 
	
		
			
				|  |  |  				/* Use this machine-specific macro to perform the actual relocation.  */
 | 
	
		
			
				|  |  |  				PERFORM_BOOTSTRAP_RELOC(rpnt, reloc_addr, symbol_addr, load_addr, sym);
 | 
	
	
		
			
				|  | @@ -296,11 +282,9 @@ static void * __attribute_used__ _dl_start(unsigned long args)
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  |  #endif
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -#ifdef __SUPPORT_LD_DEBUG_EARLY__
 | 
	
		
			
				|  |  |  	/* Wahoo!!! */
 | 
	
		
			
				|  |  | -	SEND_STDERR("Done relocating library loader, so we can now\n"
 | 
	
		
			
				|  |  | +	SEND_STDERR_DEBUG("Done relocating library loader, so we can now\n"
 | 
	
		
			
				|  |  |  			"\tuse globals and make function calls!\n");
 | 
	
		
			
				|  |  | -#endif
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	/* Now we have done the mandatory linking of some things.  We are now
 | 
	
		
			
				|  |  |  	   free to start using global variables, since these things have all been
 | 
	
	
		
			
				|  | @@ -310,10 +294,7 @@ static void * __attribute_used__ _dl_start(unsigned long args)
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	/* Transfer control to the application.  */
 | 
	
		
			
				|  |  | -#ifdef __SUPPORT_LD_DEBUG_EARLY__
 | 
	
		
			
				|  |  | -	SEND_STDERR("transfering control to application\n");
 | 
	
		
			
				|  |  | -#endif
 | 
	
		
			
				|  |  | +	SEND_STDERR_DEBUG("transfering control to application\n");
 | 
	
		
			
				|  |  |  	_dl_elf_main = (int (*)(int, char **, char **)) auxvt[AT_ENTRY].a_un.a_fcn;
 | 
	
		
			
				|  |  |  	START();
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  | -
 |