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


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~


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