This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: mips address+symbol issue.
- From: Ian Lance Taylor <ian at wasabisystems dot com>
- To: cgd at broadcom dot com
- Cc: gcc at gcc dot gnu dot org, binutils at sources dot redhat dot com, rsandifo at redhat dot com
- Date: 23 Jan 2004 16:09:33 -0500
- Subject: Re: mips address+symbol issue.
- References: <yov5zncee5x0.fsf@ldt-sj3-010.sj.broadcom.com>
cgd@broadcom.com writes:
> I can think of several possible solutions here:
>
> (1) don't allow GCC to emit "dla sym+offset" for
> -mno-explicit-relocs, or maybe just for -mno-explicit-relocs
> and the ABIs which stuff 64-bit pointers into 32-bit object
> files.
>
> (2) make binutils emit long code sequences for sym + offset when
> assembling objects for an ABI which stuffs 64-bit pointers
> into 32-bit object files.
>
> (3) punt. (maybe even xfail the test for some MIPS targets w/
> -mno-explicit-relocs.)
>
> It seems to me that (2) is *probably* the right fix, but others'
> opinions would be appreciated. I think I'm OK with (3), too, but it
> might bite others down the road...
I'm not really happy about (2), because for those people who stuff
64-bit pointers into 32-bit object files it pessimizes the ordinary
case.
Personally, I would just punt. It's too bad that code like that
doesn't work, but does anybody really write it? Plus it's not
supported by the C standard.
Ian