ld/emulparams/sparc*.sh NOP missing in all but one file

Joel Sherrill joel.sherrill@oarcorp.com
Wed May 26 19:16:00 GMT 2010


On 05/26/2010 12:34 PM, Joel Sherrill wrote:
> Hi,
>
> I am noticing semi-random values for SPARC
> executables when inserting nops for alignment
> between methods.  Doing a grep, I see that
> only one emulparams file for SPARC has a NOP
> pattern
>
> elf64_sparc.sh:NOP=0x01000000
>
> Shouldn't the rest of the sparc files have this
> also?
>
>    
I have modified elf32_sparc.sh to add this line:

NOP=0x01000000

That is showing up as the =XXX fill pattern in the
ld scripts.  But it does not seem ld in binutils 2.20.1
is honoring it.  This is the disassembly from objdump.
Even the address for the call is bogus.

4000db40:       81 c7 e0 08     ret
4000db44:       81 e8 00 00     restore
4000db48:       40 00 dc 74     call  40044d18 <_end+0x268c0>
4000db4c:       40 00 dc 94     call  40044d9c <_end+0x26944>
4000db50:       40 00 dc 8c     call  40044d80 <_end+0x26928>
4000db54:       40 00 dc 8c     call  40044d84 <_end+0x2692c>
4000db58:       40 00 dc b4     call  40044e28 <_end+0x269d0>
4000db5c:       40 00 dc a8     call  40044dfc <_end+0x269a4>
4000db60:       40 00 dc cc     call  40044e90 <_end+0x26a38>

Any ideas on what to look for that might be going wrong?

--joel



More information about the Binutils mailing list