This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: [PATCH] Fix distinction of 32/64bit addresses in MIPS gas
- To: "H . J . Lu" <hjl at lucon dot org>
- Subject: Re: [PATCH] Fix distinction of 32/64bit addresses in MIPS gas
- From: cgd at broadcom dot com
- Date: 03 Sep 2001 23:07:50 -0700
- cc: ica2_ts at csv dot ica dot uni-stuttgart dot de,binutils at sources dot redhat dot com
- References: <20010825032615.E309@rembrandt.csv.ica.uni-stuttgart.de><wvnr8ts1ddl.fsf@talisman.cambridge.redhat.com><20010831181657.A17249@rembrandt.csv.ica.uni-stuttgart.de><200108311711.KAA19709@geoffk.org><20010831193107.A10362@rembrandt.csv.ica.uni-stuttgart.de><mailpost.999279120.2469@postal.sibyte.com><yov51yls6sgi.fsf@highland.sibyte.com><20010831204556.C17249@rembrandt.csv.ica.uni-stuttgart.de><mailpost.999283589.5294@postal.sibyte.com><yov5ofow585q.fsf@highland.sibyte.com> <20010831143107.A4532@lucon.org>
"H . J . Lu" <hjl@lucon.org> writes:
> > yes, i know that the pointer is going to be constrainted to being a
> > sign-extended 32-bit value, but neither the compiler or any assembly
> > code that uses it needs to know that (or should). As far as they're
> > concerned, pointers are 64-bit values and they're loaded with ld, etc.
>
> Why do you need R_MIPS_64 for that?
Don't really know that that specific reloc is necessary... but that
_is_ what the tools seem to generate, no?
However no matter how you cut it, you still need a reloc that "32 bit
address, plus 32 bits of sign extension."
> What is the 32bit address of `foo'?
bit 31 may or may not be set, depending on what exactly you're
compiling.
(I've personally used that type of construction for both things that
live at the boot address, and things which live down in (k)useg, and
we contanute to use that on a daily basis.)
cgd