Linking an ARM kernel with gold fails

Bug #1154165 reported by Will Newton
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Linaro Binutils
Won't Fix
Low
Unassigned

Bug Description

Linking the Linux kernel 3.9 fails with gold from binutils 2.23.1. To reproduce:

1. make versatile_defconfig
2. Enable CONFIG_AEABI
3. make

This should result in a number of warnings and errors being printed:

  MODPOST vmlinux.o
  GEN .version
  CHK include/generated/compile.h
  UPD include/generated/compile.h
  CC init/version.o
  LD init/built-in.o
arm-linux-ld: warning: unwinding may not work because EXIDX input section 559 of fs/built-in.o is not in EXIDX output section
arm-linux-ld: warning: unwinding may not work because EXIDX input section 37 of crypto/built-in.o is not in EXIDX output section
arm-linux-ld: warning: unwinding may not work because EXIDX input section 205 of block/built-in.o is not in EXIDX output section
arm-linux-ld: warning: unwinding may not work because EXIDX input section 82 of drivers/built-in.o is not in EXIDX output section
arm-linux-ld: warning: unwinding may not work because EXIDX input section 8 of sound/built-in.o is not in EXIDX output section
arm-linux-ld: warning: unwinding may not work because EXIDX input section 458 of net/built-in.o is not in EXIDX output section
  KSYM .tmp_kallsyms1.o
arm-linux-ld: warning: unwinding may not work because EXIDX input section 559 of fs/built-in.o is not in EXIDX output section
arm-linux-ld: warning: unwinding may not work because EXIDX input section 37 of crypto/built-in.o is not in EXIDX output section
arm-linux-ld: warning: unwinding may not work because EXIDX input section 205 of block/built-in.o is not in EXIDX output section
arm-linux-ld: warning: unwinding may not work because EXIDX input section 82 of drivers/built-in.o is not in EXIDX output section
arm-linux-ld: warning: unwinding may not work because EXIDX input section 8 of sound/built-in.o is not in EXIDX output section
arm-linux-ld: warning: unwinding may not work because EXIDX input section 458 of net/built-in.o is not in EXIDX output section
  KSYM .tmp_kallsyms2.o
  LD vmlinux
arm-linux-ld: warning: unwinding may not work because EXIDX input section 559 of fs/built-in.o is not in EXIDX output section
arm-linux-ld: warning: unwinding may not work because EXIDX input section 37 of crypto/built-in.o is not in EXIDX output section
arm-linux-ld: warning: unwinding may not work because EXIDX input section 205 of block/built-in.o is not in EXIDX output section
arm-linux-ld: warning: unwinding may not work because EXIDX input section 82 of drivers/built-in.o is not in EXIDX output section
arm-linux-ld: warning: unwinding may not work because EXIDX input section 8 of sound/built-in.o is not in EXIDX output section
arm-linux-ld: warning: unwinding may not work because EXIDX input section 458 of net/built-in.o is not in EXIDX output section

  LD arch/arm/boot/compressed/vmlinux
arm-linux-ld: error: arch/arm/boot/compressed/piggy.gzip.o: unknown CPU architecture
arm-linux-ld: error: arch/arm/boot/compressed/lib1funcs.o: unknown CPU architecture
arm-linux-ld: error: arch/arm/boot/compressed/ashldi3.o: unknown CPU architecture

Changed in binutils-linaro:
status: New → Triaged
Revision history for this message
Bernhard Rosenkraenzer (berolinux) wrote :

Do you actually see this with 2.23.1?
From where I stand, this happens with 2.23.51.x and other 2.24 snapshots, and reverting to 2.23.1 was the fix...

Revision history for this message
Will Newton (will-newton) wrote :

Yes, I see the EXIDX messages with 2.23.1 and today's HEAD. I haven't tried any other versions and I haven't tried booting the binary - I just noticed the warnings emitted.

Changed in binutils-linaro:
importance: Undecided → High
Revision history for this message
Matthew Gretton-Dann (matthew-gretton-dann) wrote :

A workaround is to use the traditional BFD-based linker.

See this email from Ian Lance Taylor (main gold maintainer) describing the relationship between gold & the Linux kernel: http://sourceware.org/ml/binutils/2010-04/msg00123.html.

I am therefore reducing the priority of this issue to low.

Changed in binutils-linaro:
importance: High → Low
Revision history for this message
Bernhard Rosenkraenzer (berolinux) wrote :

I've tried to git bisect this w/ the Huawei landing team kernel -- the result is that this happens with any version of gold, from its initial addition to yesterday's head.

Revision history for this message
Will Newton (will-newton) wrote :

Created a bug for this over at bugs.linaro.org:

https://bugs.linaro.org/show_bug.cgi?id=119

Changed in binutils-linaro:
status: Triaged → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.