This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: update dwarf2 asm unwind info [hppa64-*-* failures]
- From: "John David Anglin" <dave at hiauly1 dot hia dot nrc dot ca>
- To: dave at hiauly1 dot hia dot nrc dot ca (John David Anglin)
- Cc: rth at twiddle dot net, sje at cup dot hp dot com, gcc-patches at gcc dot gnu dot org, dave dot anglin at nrc-cnrc dot gc dot ca, binutils-patches at gcc dot gnu dot org
- Date: Sun, 17 Aug 2008 11:37:45 -0400 (EDT)
- Subject: Re: update dwarf2 asm unwind info [hppa64-*-* failures]
> First, we have an off by 8 error in the addend which no doubt
> is caused by the funky definition of R_PARISC_PCREL32. Secondly,
> the addend at 0000001c is wrong. Finally, I'm not sure this is
> a problem but .eh_frame seems to have gotten larger with CFI
> directives.
The example is not bad. The .eh_frame data with CFI directives includes
numerous functions that aren't included without CFI directives unless
-fnon-call-exceptions is specified. So, comparison is difficult.
The easiest way to see the off by 8 problem is to compare the
relocations generated with:
.section .eh_x,"a",@progbits
.word .LFB0+8-$PIC_pcrel$0
.section .eh_y,"a",@progbits
.word .LFB0-.
.section .eh_z,"a",@progbits
.Lframez:
.word .LFB0-.Lframez
Relocation section '.rela.eh_x' at offset 0x57c contains 1 entries:
Offset Info Type Sym.Value Sym. Name + Addend
00000000 00000109 R_PARISC_PCREL32 00000000 .text + 8
Relocation section '.rela.eh_y' at offset 0x588 contains 1 entries:
Offset Info Type Sym.Value Sym. Name + Addend
00000000 00000109 R_PARISC_PCREL32 00000000 .text + 0
Relocation section '.rela.eh_z' at offset 0x594 contains 1 entries:
Offset Info Type Sym.Value Sym. Name + Addend
00000000 00000109 R_PARISC_PCREL32 00000000 .text + 0
The first form works. I'll see if the addend can be adjusted.
Dave
--
J. David Anglin dave.anglin@nrc-cnrc.gc.ca
National Research Council of Canada (613) 990-0752 (FAX: 952-6602)