This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: gas 2.10.91 from 20000920 cvs is broken under hpux 10.20
- To: dave at hiauly1 dot hia dot nrc dot ca (John David Anglin)
- Subject: Re: gas 2.10.91 from 20000920 cvs is broken under hpux 10.20
- From: "John David Anglin" <dave at hiauly1 dot hia dot nrc dot ca>
- Date: Sat, 23 Sep 2000 01:42:39 -0400 (EDT)
- Cc: binutils at sourceware dot cygnus dot com
> > 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)