[parisc-linux] Non-bootable kernel problems

Alan Modra alan@linuxcare.com.au
Fri, 14 Jul 2000 10:44:27 +1000 (EST)


On 13 Jul 2000, David Huggins-Daines wrote:

> Okay, this is my final word on this for today, I promise that if I
> send any more mail on it, it will include a patch :-)

Nice bit of debugging, David.  Have a look in
gcc/config/pa/pa.c:output_global_address

      /* How bogus.  The compiler is apparently responsible for
	 rounding the constant if it uses an LR field selector.

	 The linker and/or assembler seem a better place since
	 they have to do this kind of thing already.

	 If we fail to do this, HP's optimizing linker may eliminate
	 an addil, but not update the ldw/stw/ldo instruction that
	 uses the result of the addil.  */
      if (round_constant)
	offset = ((offset + 0x1000) & ~0x1fff);

Zap these two lines, and I think the problem will go away.

Alan Modra
-- 
Linuxcare.  Support for the Revolution.