Fedora kernel build failure: *** ERROR: same build ID in nonidentical files!

Josh Boyer jwboyer at gmail.com
Sun Feb 10 20:06:39 UTC 2008


On Sat, 9 Feb 2008 20:14:39 -0600
Josh Boyer <jwboyer at gmail.com> wrote:

> > Maybe the compiler is adding some new section type that eu-elfcmp doesn't
> > know it should be ignoring? (If either cmp or eu-elfcmp say the files are
> > identical the script treats them as such. And stripped and unstripped files
> > are found to be identical by eu-elfcmp on my F8 install...)
> 
> I'm not entirely sure what this means, but here's what I did:
> 
> 1) mock build of a ppc kernel
> 2) Got this for failure:
> 
> extracting debug info from /var/tmp/kernel-2.6.24.1-26.fc9-root-ppc/boot/vmlinuz-2.6.24.1-26.fc9
> *** ERROR: same build ID in nonidentical files!
>         /boot/vmlinuz-2.6.24.1-26.fc9
>    and  /usr/lib/debug/lib/modules/2.6.24.1-26.fc9/vmlinux
> 
> 3) went into the build root and did:
> eu-elfcmp boot/vmlinuz-2.6.24.1-26.fc9 \
> usr/lib/debug/lib/modules/2.6.24.1-26.fc9/vmlinux
> 
> and got:
> 
> differ: section header
> 
> 4) ran:
> 
> eu-strip --remove-comment \
> usr/lib/debug/lib/modules/2.6.24.1-26.fc9/vmlinux
> 
> 5) did a eu-readelf -S of both files and noticed that the only
> difference now was an additional .gnu_debuglink section in the
> boot/vmlinuz file
> 
> 6) ran the eu-elfcmp again on the two files and got no
> error.
> 
> So I have no idea why eu-elfcmp doesn't like something.  I did notice
> that the unstripped vmlinux file has an additional .comment section in
> it, so perhaps that's throwing things off?  
> 
> If I run eu-strip without the --remove-comment argument on the
> unstripped vmlinux file and then run eu-elfcmp, it does come back with
> the differ: section header error.
> 
> The .comment section is filled with:
> 
> String section [30] '.comment' contains 39433 bytes at offset 0x47c000:
>   [     0]  
>   [     1]  GCC: (GNU) 4.3.0 20080130 (Red Hat 4.3.0-0.7)
>   [    2f]  
>   [    30]  GCC: (GNU) 4.3.0 20080130 (Red Hat 4.3.0-0.7)
>   [    5e]  
>   [    5f]  GCC: (GNU) 4.3.0 20080130 (Red Hat 4.3.0-0.7)
>   ...
> 
> according to eu-readelf --strings=30 vmlinux
> 
> And now I'll stop my random incoherent ramblings because ELF is hard
> and makes my head hurt and I need to go play Wii or something.

I tried to build elfutils (on ppc) with an additional patch to spit out
exactly which section names it's puking on in eu-elfcmp, but it fails
to finish building under gcc 4.3.  Seems 'make check' fails with:

section [36] '.gnu.attributes' has unsupported type 1879048181
*** failure in ../src/addr2line
section [38] '.gnu.attributes' has unsupported type 1879048181
*** failure in ../src/elfcmp
section [38] '.gnu.attributes' has unsupported type 1879048181
*** failure in ../src/elflint
section [37] '.gnu.attributes' has unsupported type 1879048181
*** failure in ../src/findtextrel
section [39] '.gnu.attributes' has unsupported type 1879048181
*** failure in ../src/ld
section [38] '.gnu.attributes' has unsupported type 1879048181
*** failure in ../src/nm
section [38] '.gnu.attributes' has unsupported type 1879048181
*** failure in ../src/objdump
section [38] '.gnu.attributes' has unsupported type 1879048181
*** failure in ../src/readelf
section [37] '.gnu.attributes' has unsupported type 1879048181
*** failure in ../src/size
section [38] '.gnu.attributes' has unsupported type 1879048181
*** failure in ../src/strip
section [37] '.gnu.attributes' has unsupported type 1879048181
*** failure in ../libelf/libelf.so
section [35] '.gnu.attributes' has unsupported type 1879048181
*** failure in ../libdw/libdw.so
section [36] '.gnu.attributes' has unsupported type 1879048181
*** failure in ../libasm/libasm.so
FAIL: run-elflint-self.sh

So elfutils isn't happy with gcc adding .gnu.attributes sections or
something.

I noticed elfutils is on Jesse's gcc 4.3 rebuild list.  Maybe once this
is fixed things will magically work again.  Of course, if Roland fixes
things, that is also indistinguishable from magic.

josh




More information about the Fedora-kernel-list mailing list