[parisc-linux] Weird compile problems
Alan Modra
alan@linuxcare.com.au
Thu, 1 Feb 2001 14:59:45 +1100 (EST)
On Wed, 31 Jan 2001, Alan Modra wrote:
> On Wed, 31 Jan 2001, Alan Modra wrote:
>
> [about pehc devel branch gcc]
> > r19 is being trashed. It's a compiler bug. One I added too. :-(
>
> Now fixed.
It anyone has tried to compile glibc with the devel branch compiler,
you've probably discovered by now that ld.so is still crashing, but for a
different reason. The global register allocation pass does the following
naughty thing:
[from elf/dl-load.c]
(insn 612 608 1626 (set (reg:SI 1 %r1)
(plus:SI (reg:SI 19 %r19)
(high:SI (symbol_ref/v/f:SI ("*.LC27"))))) 80 {*pa.md:2326}
(nil)
(nil))
(insn 1626 612 621 (set (reg:SI 23 %r23 [242])
(reg:SI 1 %r1)) 69 {*pa.md:2099} (nil)
(nil))
[snip around 1480 lines, including calls]
(insn 1638 1527 988 (set (reg:SI 21 %r21)
(mem/u:SI (lo_sum:SI (reg:SI 23 %r23 [242])
(unspec:SI[
(symbol_ref/v/f:SI ("*.LC27"))
] 0)) 0)) 82 {*pa.md:2352} (nil)
(nil))
With the problem being that r23 is not a callee saved register, so it's
well and truly trashed by the time insn 1638 tries to use it.
--
Linuxcare. Support for the Revolution.