This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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)


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]