Save/restore the %y register around calls to the C user trap handler;

gcc emits the deprecated sparc v8 instructions that use this register
when optimizing for UltraSparc machines because they are apparetly
faster then their v9 counterpars there.
This commit is contained in:
tmm 2002-03-11 02:53:03 +00:00
parent 76fa25cebd
commit 9d0a7ccb85

View File

@ -70,9 +70,13 @@ ENTRY(__sparc_utrap_gen)
stx %i6, [%sp + SPOFF + CCFSZ + UF_O6]
stx %i7, [%sp + SPOFF + CCFSZ + UF_O7]
rd %y, %l6
call __sparc_utrap
add %sp, SPOFF + CCFSZ, %o0
wr %l6, 0, %y
ldx [%sp + SPOFF + CCFSZ + UF_G1], %g1
ldx [%sp + SPOFF + CCFSZ + UF_G2], %g2
ldx [%sp + SPOFF + CCFSZ + UF_G3], %g3