From mboxrd@z Thu Jan 1 00:00:00 1970 From: cgd@broadcom.com To: "H . J . Lu" Cc: ica2_ts@csv.ica.uni-stuttgart.de, binutils@sources.redhat.com Subject: Re: [PATCH] Fix distinction of 32/64bit addresses in MIPS gas Date: Mon, 03 Sep 2001 23:07:00 -0000 Message-id: References: <20010825032615.E309@rembrandt.csv.ica.uni-stuttgart.de> <20010831181657.A17249@rembrandt.csv.ica.uni-stuttgart.de> <200108311711.KAA19709@geoffk.org> <20010831193107.A10362@rembrandt.csv.ica.uni-stuttgart.de> <20010831204556.C17249@rembrandt.csv.ica.uni-stuttgart.de> <20010831143107.A4532@lucon.org> X-SW-Source: 2001-09/msg00013.html "H . J . Lu" 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