[PATCH][MIPS] Add linker emulation for N64 ABI with forced 32-bit symbols

Matt Thomas matt@3am-software.com
Sat Nov 17 19:31:00 GMT 2012

On Nov 15, 2012, at 2:08 PM, Richard Sandiford wrote:

> Huh.  I'm very much against the original change to the n64 TEXT_START_ADDR.
> See this previous discussion on the topic:
>    http://sourceware.org/ml/binutils/2008-06/msg00285.html
> The justification for changing TEXT_START_ADDR from a 32-bit value to a
> larger value was that it would show users if their code was non-portable,
> because anything that assumed 32-bit addresses would now fault.  But that
> seems to me like the tools lecturing to the user.  As I said in that thread,
> I think users who want to smoke out such portability problems (by making
> sure that the lower 4GB aren't mapped) should be the ones who need to do
> something special.

Gee, should we go back and stop making sure VA 0 is unmapped too?  Sure it helps find NULL pointer dereferences but isn't that the tools lecturing to the user as well?  Having the TEXT_START_ADDR at 5GB doesn't hurt anyone and will errant catch 32-bit deferences instead of allowing possible silent corruption.  Why is that a bad thing?

> I think we should simply revert to a 32-bit TEXT_START_ADDR for all
> n64 emulations.  This time I'm even in a position to approve it :-)

I strongly disagree.  Just because you can approve it doesn't mean you are right.  If you do make the change, NetBSD will still use the 5GB start address.  

More information about the Binutils mailing list