]> git.sur5r.net Git - u-boot/commitdiff
arm64: Make checkarmreloc accept arm64 relocations
authorScott Wood <scottwood@freescale.com>
Sat, 14 Dec 2013 03:47:34 +0000 (11:47 +0800)
committerAlbert ARIBAUD <albert.u.boot@aribaud.net>
Thu, 9 Jan 2014 15:08:31 +0000 (16:08 +0100)
Signed-off-by: Scott Wood <scottwood@freescale.com>
Signed-off-by: David Feng <fenghua@phytium.com.cn>
Makefile

index a4c2928eb6282ec1d58dfe239b48dbf7972851d5..dc5ba046164110bab85f41b15ef38b2d3da9952e 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -744,12 +744,16 @@ tools: $(VERSION_FILE) $(TIMESTAMP_FILE)
        $(MAKE) -C $@ all
 endif  # config.mk
 
-# ARM relocations should all be R_ARM_RELATIVE.
+# ARM relocations should all be R_ARM_RELATIVE (32-bit) or
+# R_AARCH64_RELATIVE (64-bit).
 checkarmreloc: $(obj)u-boot
-       @if test "R_ARM_RELATIVE" != \
-               "`$(CROSS_COMPILE)readelf -r $< | cut -d ' ' -f 4 | grep R_ARM | sort -u`"; \
-               then echo "$< contains relocations other than \
-               R_ARM_RELATIVE"; false; fi
+       @RELOC="`$(CROSS_COMPILE)readelf -r -W $< | cut -d ' ' -f 4 | \
+               grep R_A | sort -u`"; \
+       if test "$$RELOC" != "R_ARM_RELATIVE" -a \
+                "$$RELOC" != "R_AARCH64_RELATIVE"; then \
+               echo "$< contains unexpected relocations: $$RELOC"; \
+               false; \
+       fi
 
 $(VERSION_FILE):
                @mkdir -p $(dir $(VERSION_FILE))