On 12-08-22 05:28 AM, Khem Raj wrote:
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.

Looks good to me. I'll queue it here with a few other fixes and do
a test build against my existing binutils.

I haven't looked yet, will 3.4+ need the same fix ?

Cheers,

Bruce


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}')

_______________________________________________
yocto mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/yocto

Reply via email to