diff options
| -rw-r--r-- | Makefile | 7 | ||||
| -rw-r--r-- | arch/arm/config.mk | 5 | 
2 files changed, 12 insertions, 0 deletions
| @@ -743,6 +743,13 @@ tools: $(VERSION_FILE) $(TIMESTAMP_FILE)  	$(MAKE) -C $@ all  endif	# config.mk +# ARM relocations should all be R_ARM_RELATIVE. +checkarmreloc: $(obj)u-boot +	@if test "R_ARM_RELATIVE" != \ +		"`readelf -r $< | cut -d ' ' -f 4 | grep R_ARM | sort -u`"; \ +		then echo "$< contains relocations other than \ +		R_ARM_RELATIVE"; false; fi +  $(VERSION_FILE):  		@mkdir -p $(dir $(VERSION_FILE))  		@( localvers='$(shell $(TOPDIR)/tools/setlocalversion $(TOPDIR))' ; \ diff --git a/arch/arm/config.mk b/arch/arm/config.mk index dc6416078..e80e1ed1a 100644 --- a/arch/arm/config.mk +++ b/arch/arm/config.mk @@ -109,3 +109,8 @@ ifeq ($(GAS_BUG_12532),y)  PLATFORM_RELFLAGS += -fno-optimize-sibling-calls  endif  endif + +# check that only R_ARM_RELATIVE relocations are generated +ifneq ($(CONFIG_SPL_BUILD),y) +ALL-y	+= checkarmreloc +endif |