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:
parent
0d72dddf57
commit
9300cb7db7
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user