This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: output dwarf2 unwind info via asm directives
- From: "John David Anglin" <dave at hiauly1 dot hia dot nrc dot ca>
- To: rth at twiddle dot net (Richard Henderson)
- Cc: sje at cup dot hp dot com, gcc-patches at gcc dot gnu dot org
- Date: Wed, 6 Aug 2008 13:17:46 -0400 (EDT)
- Subject: Re: output dwarf2 unwind info via asm directives
> sje@cup.hp.com wrote:
> > array_type_info.s:19: Error: invalid or unsupported encoding in .cfi_personality
> >
> > I assume the issue is with the ASM_PREFERRED_EH_DATA_FORMAT macro in
> > config/pa/pa.h but I am not sure what it should be doing. 0x50 is
> > DW_EH_PE_aligned, should it be returning DW_EH_PE_absptr instead?
>
> Only if your assembler can emit, and your linker can resolve,
> unaligned symbolic addresses. And if it can do that, you *should*
> make that change, as it would produce smaller unwind info. But I
> have to presume there was some problem with those unaligned
> addresses, or you wouldn't have been using _aligned.
The HP linker and dynamic loader can't handle unaligned symbolic
addresses that need dynamic relocation. So, the eh data for the
personality function has to be aligned. I believe that this data
is currently output as a plabel (pointer to function descriptor).
Dave
--
J. David Anglin dave.anglin@nrc-cnrc.gc.ca
National Research Council of Canada (613) 990-0752 (FAX: 952-6602)