From 9300cb7db72555f85196a27c8ad110321d23468a Mon Sep 17 00:00:00 2001 From: Thomas Moestl Date: Mon, 11 Mar 2002 02:53:03 +0000 Subject: 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. --- lib/libc/sparc64/sys/__sparc_utrap_gen.S | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'lib') diff --git a/lib/libc/sparc64/sys/__sparc_utrap_gen.S b/lib/libc/sparc64/sys/__sparc_utrap_gen.S index 3a962486c15c..a9f4e600901f 100644 --- a/lib/libc/sparc64/sys/__sparc_utrap_gen.S +++ b/lib/libc/sparc64/sys/__sparc_utrap_gen.S @@ -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 -- cgit v1.3