This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH/RFC] SH64 EH with pic (2/4)
- From: Joern Rennecke <joern dot rennecke at superh dot com>
- To: kkojima at rr dot iij4u dot or dot jp (Kaz Kojima)
- Cc: joern dot rennecke at superh dot com, gcc-patches at gcc dot gnu dot org, aoliva at redhat dot com
- Date: Fri, 17 Sep 2004 14:40:31 +0100 (BST)
- Subject: Re: [PATCH/RFC] SH64 EH with pic (2/4)
> /* Handle special EH pointer encodings. Absolute, pc-relative, and
> indirect are handled automatically. */
> #define ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX(FILE, ENCODING, SIZE, ADDR, DONE) \
> do { \
> - if (((ENCODING) & 0x70) == DW_EH_PE_textrel) \
> + if (((ENCODING) & 0xf) != DW_EH_PE_sdata4 \
> + && ((ENCODING) & 0xf) != DW_EH_PE_sdata8) \
> { \
> - encoding &= ~DW_EH_PE_textrel; \
> - encoding |= flag_pic ? DW_EH_PE_pcrel : DW_EH_PE_absptr; \
> if (GET_CODE (ADDR) != SYMBOL_REF) \
> abort (); \
> SYMBOL_REF_FLAGS (ADDR) |= SYMBOL_FLAG_FUNCTION; \
Don't you need an else clause to translate sdata4/8 into absptr/pcrel?
sdata and absptr might make little difference, but I'd think that pcrel
for pic is important.