This is the mail archive of the
libc-alpha@sources.redhat.com
mailing list for the glibc project.
Patch to avoid false report on setjmp
- To: ia64-tools at napali dot hpl dot hp dot com
- Subject: Patch to avoid false report on setjmp
- From: "H . J . Lu" <hjl at valinux dot com>
- Date: Fri, 8 Dec 2000 20:26:22 -0800
- Cc: GNU C Library <libc-alpha at sourceware dot cygnus dot com>
I got this
../sysdeps/unix/sysv/linux/ia64/setjmp.S:105: Warning: Use of 'st8.spill.nta'
may violate WAW dependency 'AR[UNAT]{%}, % in 0 - 63' (impliedf)
../sysdeps/unix/sysv/linux/ia64/setjmp.S:112: Warning: Use of 'st8.spill.nta'
may violate WAW dependency 'AR[UNAT]{%}, % in 0 - 63' (impliedf)
../sysdeps/unix/sysv/linux/ia64/setjmp.S:154: Warning: Use of 'st8.spill.nta'
may violate WAW dependency 'AR[UNAT]{%}, % in 0 - 63' (impliedf)
../sysdeps/unix/sysv/linux/ia64/setjmp.S:105: Warning: Use of 'st8.spill.nta'
may violate WAW dependency 'AR[UNAT]{%}, % in 0 - 63' (impliedf)
../sysdeps/unix/sysv/linux/ia64/setjmp.S:112: Warning: Use of 'st8.spill.nta'
may violate WAW dependency 'AR[UNAT]{%}, % in 0 - 63' (impliedf)
../sysdeps/unix/sysv/linux/ia64/setjmp.S:154: Warning: Use of 'st8.spill.nta'
may violate WAW dependency 'AR[UNAT]{%}, % in 0 - 63' (impliedf)
on sysdeps/unix/sysv/linux/ia64/setjmp.S. Here is a patch.
H.J.
----
2000-12-08 H.J. Lu <hjl@gnu.org>
* sysdeps/unix/sysv/linux/ia64/setjmp.S: Add .mem.offset to
avoid false report.
Index: sysdeps/unix/sysv/linux/ia64/setjmp.S
===================================================================
RCS file: /work/cvs/gnu/glibc/sysdeps/unix/sysv/linux/ia64/setjmp.S,v
retrieving revision 1.1.1.3
diff -u -p -r1.1.1.3 setjmp.S
--- sysdeps/unix/sysv/linux/ia64/setjmp.S 2000/11/22 07:42:45 1.1.1.3
+++ sysdeps/unix/sysv/linux/ia64/setjmp.S 2000/12/09 04:12:54
@@ -101,14 +101,18 @@ __sigsetjmp:
mov r2=in0
add r3=8,in0
;;
+ .mem.offset 0,0
st8.spill.nta [r2]=sp,16 // r12 (sp)
+ .mem.offset 8,0
st8.spill.nta [r3]=gp,16 // r1 (gp)
;;
st8.nta [r2]=r16,16 // save caller's unat
st8.nta [r3]=r17,16 // save fpsr
add r8=0xa0,in0
;;
+ .mem.offset 0,0
st8.spill.nta [r2]=r4,16 // r4
+ .mem.offset 8,0
st8.spill.nta [r3]=r5,16 // r5
add r9=0xb0,in0
;;
@@ -150,7 +154,9 @@ __sigsetjmp:
stf.spill.nta [r8]=f30
stf.spill.nta [r9]=f31
+ .mem.offset 0,0
st8.spill.nta [r2]=r6,16 // r6
+ .mem.offset 8,0
st8.spill.nta [r3]=r7,16 // r7
;;
mov r23=ar.bsp