[fedora-arm] binutils ld setting the sh_addr field in sections

William Cohen wcohen at redhat.com
Fri Oct 14 20:19:25 UTC 2011


On 10/13/2011 06:42 PM, William Cohen wrote:
> Hi all,
> 
> I was revisiting a bug on ARM where systemtap cannot probe kernel modules (http://sourceware.org/bugzilla/show_bug.cgi?id=13022). The linker is setting the sh_addr field for some of the sections.  The values for the sh_addr fields look rather odd.  I saw this both with fedora ARM fc13 and fc14 binutils ( binutils-2.20.51.0.2-23.fc13.armv5tel and binutils-2.20.51.0.7-8.fc14.armv5tel). I was wondering if there was a reason that ld was setting the sh_addr field for the sections. I looked at the x86_64 and i386 files modules and didn't see the sh_addr set on those. Is ld on ARM doing the right thing here? It seems sh_addr seems to mess up the binary search systemtap uses to find out which section an address is in.
> 
> -Will

I built binutils-2.21.53.0.1-5 from http://koji.fedoraproject.org/koji/buildinfo?buildID=266218 locally on the machine and see if this newer version of binutils eliminated the bogus addr fields. This version of binutils appears to avoid generating the odd addr fields. However, I get an error from the new ld when building the kernel:

DIV usage mismatch between arch/arm/boot/compressed/misc.o and arch/arm/boot/compressed/vmlinux

Is there a specific change in binutils that eliminates the addr fields for the arm kernel modules?

-Will



More information about the arm mailing list