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
76fa25cebd
commit
9d0a7ccb85
@ -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…
Reference in New Issue
Block a user