diff options
| -rw-r--r-- | ldso/ldso/arm/elfinterp.c | 14 | 
1 files changed, 10 insertions, 4 deletions
| diff --git a/ldso/ldso/arm/elfinterp.c b/ldso/ldso/arm/elfinterp.c index 1d79d925b..4c268356f 100644 --- a/ldso/ldso/arm/elfinterp.c +++ b/ldso/ldso/arm/elfinterp.c @@ -289,7 +289,10 @@ _dl_do_reloc (struct elf_resolve *tpnt,struct r_scope_elem *scope,  #if defined (__SUPPORT_LD_DEBUG__)  	{ -		unsigned long old_val = *reloc_addr; +		unsigned long old_val; + +		if (reloc_type != R_ARM_NONE) +			old_val = *reloc_addr;  #endif  		switch (reloc_type) {  			case R_ARM_NONE: @@ -388,7 +391,7 @@ _dl_do_reloc (struct elf_resolve *tpnt,struct r_scope_elem *scope,  				return -1; /*call _dl_exit(1) */  		}  #if defined (__SUPPORT_LD_DEBUG__) -		if (_dl_debug_reloc && _dl_debug_detail) +		if (_dl_debug_reloc && _dl_debug_detail && reloc_type != R_ARM_NONE)  			_dl_dprintf(_dl_debug_file, "\tpatch: %x ==> %x @ %x", old_val, *reloc_addr, reloc_addr);  	} @@ -409,7 +412,10 @@ _dl_do_lazy_reloc (struct elf_resolve *tpnt, struct r_scope_elem *scope,  #if defined (__SUPPORT_LD_DEBUG__)  	{ -		unsigned long old_val = *reloc_addr; +		unsigned long old_val; + +		if (reloc_type != R_ARM_NONE) +			old_val = *reloc_addr;  #endif  		switch (reloc_type) {  			case R_ARM_NONE: @@ -432,7 +438,7 @@ _dl_do_lazy_reloc (struct elf_resolve *tpnt, struct r_scope_elem *scope,  				return -1; /*call _dl_exit(1) */  		}  #if defined (__SUPPORT_LD_DEBUG__) -		if (_dl_debug_reloc && _dl_debug_detail) +		if (_dl_debug_reloc && _dl_debug_detail && reloc_type != R_ARM_NONE)  			_dl_dprintf(_dl_debug_file, "\tpatch: %x ==> %x @ %x", old_val, *reloc_addr, reloc_addr);  	} | 
