We end up with linking errors on arm using latest binutils because we are linking asm generated objects which use -march=all generating different attributes into object and use some c objects e.g. misc.o which use different march therefore generating a different set of attributes into object. When linking is done the ld complains since it finds incompatible attributes and ends up with errors like
error: DIV usage mismatch between arch/arm/boot/compressed/head.o and output error: DIV usage mismatch between arch/arm/boot/compressed/misc.o and output error: DIV usage mismatch between arch/arm/boot/compressed/decompress.o and output error: DIV usage mismatch between arch/arm/boot/compressed/lib1funcs.o and output This patch fixes it by providing correct march to assembly routines which than matches with output of ld. Signed-off-by: Khem Raj <[email protected]> --- arch/arm/boot/compressed/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/arm/boot/compressed/Makefile b/arch/arm/boot/compressed/Makefile index 21f56ff..05d9cb3 100644 --- a/arch/arm/boot/compressed/Makefile +++ b/arch/arm/boot/compressed/Makefile @@ -5,7 +5,7 @@ # OBJS = - +plus_sec := $(call as-instr,.arch_extension sec,+sec) # Ensure that MMCIF loader code appears early in the image # to minimise that number of bocks that have to be read in # order to load it. @@ -123,7 +123,7 @@ KBUILD_CFLAGS = $(subst -pg, , $(ORIG_CFLAGS)) endif ccflags-y := -fpic -fno-builtin -I$(obj) -asflags-y := -Wa,-march=all +asflags-y := -Wa,-march=armv7-a$(plus_sec) # Supply kernel BSS size to the decompressor via a linker symbol. KBSS_SZ = $(shell size $(obj)/../../../../vmlinux | awk 'END{print $$3}') -- 1.7.9.5 _______________________________________________ yocto mailing list [email protected] https://lists.yoctoproject.org/listinfo/yocto
