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:
Thomas Moestl 2002-03-11 02:53:03 +00:00
parent 0d72dddf57
commit 9300cb7db7

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