This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: [mips patch RFC] removal of gas embedded-pic support code
cgd@broadcom.com writes:
> At Wed, 05 May 2004 18:44:40 +0100, David Ung wrote:
>> woops. your recent patch seem to have broke building of the compiler on
>> linux. The problem occurs when building for libgcc/./_divdi3.o
>
> Hmm. I built for mips64-linux (all three ABIs) and that didn't show
> up in my tests... That's curious, I'll give it another go. (I
> certainly could have goofed it up.)
Ugh. linux.h has:
--------------------------------------------------------------------------
#define ASM_PREFERRED_EH_DATA_FORMAT(CODE, GLOBAL) \
(flag_pic \
? ((GLOBAL) ? DW_EH_PE_indirect : 0) | DW_EH_PE_pcrel | DW_EH_PE_sdata4\
^^^^^^^^^^^^^^
: DW_EH_PE_absptr)
--------------------------------------------------------------------------
which is overridden in linux64.h by:
--------------------------------------------------------------------------
#undef ASM_PREFERRED_EH_DATA_FORMAT
#if 0 /* We can't use relative addressing modes on NEWABI :-( */
#define ASM_PREFERRED_EH_DATA_FORMAT(CODE, GLOBAL) \
(flag_pic \
? ((GLOBAL) ? DW_EH_PE_indirect : 0) | DW_EH_PE_sdata4 \
: DW_EH_PE_absptr)
#endif
--------------------------------------------------------------------------
So mips64-linux-gnu doesn't use the same EH representation for o32.
Richard