gas 2.10.91 from 20000920 cvs is broken under hpux 10.20
John David Anglin
dave@hiauly1.hia.nrc.ca
Fri Sep 22 22:42:00 GMT 2000
> > Since the linker hasn't changed, I would have to guess that there is a
> > relocation problem with respect to the above call. However, when I
> > include the relocation info in the assembly dump of emit-rtl.o, things
> > appear normal:
> >
> > 20c: e8 5f 1b dd b,l 0 <reset_used_flags>,rp
> > 20c: R_PCREL_CALL reset_used_flags+0x40000000
>
> The problem is the `0' in the above. It should be
>
> 20c: e8 5f 1b dd b,l 214 <reset_used_flags+0x214>,rp
> 20c: R_PCREL_CALL reset_used_flags+0x40000000
Reverting to a snapshot from 20000906, there was no relocation information
printed by objdump for the call:
20c: e8 5f 1b dd b,l 0 <reset_used_flags>,rp
210: 08 00 02 40 nop
A similar recursive call in copy_rtx_if_shared has the relocation info:
458: e8 40 00 00 b,l 460 <copy_rtx_if_shared+0x460>,rp
458: R_PCREL_CALL copy_rtx_if_shared+0x40000000
45c: 08 00 02 40 nop
Checking the new linked version of cc1, the code looks ok for the call to
reset_used_flags. So, it appears that the R_PCREL_CALL relocation was added
incorrectly by the new version of gas to a "local" branch with its offset
setup by the assembler.
Dave
--
J. David Anglin dave.anglin@nrc.ca
National Research Council of Canada (613) 990-0752 (FAX: 952-6605)
More information about the Binutils
mailing list