svn commit: r203475 - head/lib/libc/mips/sys
Neel Natu
neel at FreeBSD.org
Thu Feb 4 05:50:00 UTC 2010
Author: neel
Date: Thu Feb 4 05:49:59 2010
New Revision: 203475
URL: http://svn.freebsd.org/changeset/base/203475
Log:
Reinstate the ptrace patch to restore the 'gp' register after calling
a function. I made a mistake in assuming that the .cprestore directive
will cause the assembler to automatically restore 'gp' after the 'jalr'.
The .cprestore directive does its magic only after 'jal' and 'bal'
instructions - not the 'jalr'.
Pointed out by: c.jayachandran at gmail.com
Modified:
head/lib/libc/mips/sys/ptrace.S
Modified: head/lib/libc/mips/sys/ptrace.S
==============================================================================
--- head/lib/libc/mips/sys/ptrace.S Thu Feb 4 05:25:59 2010 (r203474)
+++ head/lib/libc/mips/sys/ptrace.S Thu Feb 4 05:49:59 2010 (r203475)
@@ -56,6 +56,9 @@ LEAF(ptrace)
#endif
la t9, _C_LABEL(__error) # locate address of errno
jalr t9
+#ifdef __ABICALLS__
+ lw gp, 16(sp)
+#endif
sw zero, 0(v0)
lw ra, 32(sp)
addu sp, sp, 40
More information about the svn-src-all
mailing list