This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Help! DW function pointer encoding for PA
- From: "John David Anglin" <dave at hiauly1 dot hia dot nrc dot ca>
- To: rth at redhat dot com (Richard Henderson)
- Cc: gcc at gcc dot gnu dot org
- Date: Thu, 21 Feb 2002 13:26:35 -0500 (EST)
- Subject: Re: Help! DW function pointer encoding for PA
> Note CODE==1 vs CODE==2. You should be able to distinguish your
> two cases based on this. If absolutely necessary, pass type information
That's in fact what I was trying to use.
> from ASM_PREFERRED_EH_DATA_FORMAT to ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX
> via bits >= 0x100, ie bits that won't appear in the output file.
>
> Note that ia64 has the same sort of function descriptor vs FDE
> code label sorts of issues.
I'll have to look more carefully at the ia64. I think I see what
ia64_expand_call is doing to handle the function descriptor vs FDE
issue:
dest = force_reg (DImode, gen_rtx_MEM (DImode, addr));
emit_move_insn (pic_offset_table_rtx,
gen_rtx_MEM (DImode, plus_constant (addr, 8)));
So, it explicitly loads the pic_offset_table_rtx. I think we can do
the same. I beginning to think indirect calls from one shared library
to another may never have worked on the PA.
Thanks,
Dave
--
J. David Anglin dave.anglin@nrc.ca
National Research Council of Canada (613) 990-0752 (FAX: 952-6605)