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: Richard Henderson <rth at redhat dot com>
- To: John David Anglin <dave at hiauly1 dot hia dot nrc dot ca>
- Cc: gcc at gcc dot gnu dot org
- Date: Thu, 21 Feb 2002 00:20:10 -0800
- Subject: Re: Help! DW function pointer encoding for PA
- References: <200202210734.g1L7YGvu020317@hiauly1.hia.nrc.ca>
On Thu, Feb 21, 2002 at 02:34:16AM -0500, John David Anglin wrote:
> When I munge the address in ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX to make it
> look like a plabel, then the FDE search fails.
] @findex ASM_PREFERRED_EH_DATA_FORMAT
] @item ASM_PREFERRED_EH_DATA_FORMAT(@var{code}, @var{global})
] This macro chooses the encoding of pointers embedded in the exception
] handling sections. If at all possible, this should be defined such
] that the exception handling section will not require dynamic relocations,
] and so may be read-only.
]
] @var{code} is 0 for data, 1 for code labels, 2 for function pointers.
] @var{global} is true if the symbol may be affected by dynamic relocations.
] The macro should return a combination of the @code{DW_EH_PE_*} defines
] as found in @file{dwarf2.h}.
Note CODE==1 vs CODE==2. You should be able to distinguish your
two cases based on this. If absolutely necessary, pass type information
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.
r~