[PATCH][MIPS] Add linker emulation for N64 ABI with forced 32-bit symbols
Thu Nov 15 22:23:00 GMT 2012
On Nov 15, 2012, at 5: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:
> 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.
> 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 :-)
Isn't this an OS question more than an OS-independent tools question?
Also, I disagree with your description as "lecturing". The interesting case isn't the one where a correctly working program that happens to misuse 32 bit addresses is turned into a broken one by the current start address rule.
The interesting case is where a program executes without immediately crashing, but because it uses 32-bit addresses it does some wrong things -- writing wrong data into a database, or things like that. So this isn't a case of lecturing, it's a security improvement.
More information about the Binutils