summaryrefslogtreecommitdiffstats
path: root/lib/libpthread
diff options
context:
space:
mode:
authorpeter <peter@FreeBSD.org>2003-10-17 16:30:09 +0000
committerpeter <peter@FreeBSD.org>2003-10-17 16:30:09 +0000
commitaa624828003a989c0f398c34c55c7bfd8e8b6203 (patch)
tree6c6be17cf2d0e63b5f6f3829a43f92f6b8d651f7 /lib/libpthread
parentbdcd869c50dbb7e959eac5ea7ef50e46269f0c17 (diff)
downloadFreeBSD-src-aa624828003a989c0f398c34c55c7bfd8e8b6203.zip
FreeBSD-src-aa624828003a989c0f398c34c55c7bfd8e8b6203.tar.gz
Update context code for my last ABI breakage of mcontext. I'm worried
about the fpu code here. It should be using fxsave/fxrstor instead of saving/restoring the control word. The SSE registers are used a lot in gcc generated code on amd64. I'm not sure how this all fits together though.
Diffstat (limited to 'lib/libpthread')
-rw-r--r--lib/libpthread/arch/amd64/amd64/context.S15
1 files changed, 8 insertions, 7 deletions
diff --git a/lib/libpthread/arch/amd64/amd64/context.S b/lib/libpthread/arch/amd64/amd64/context.S
index 684191f..58c622b 100644
--- a/lib/libpthread/arch/amd64/amd64/context.S
+++ b/lib/libpthread/arch/amd64/amd64/context.S
@@ -79,10 +79,10 @@ __FBSDID("$FreeBSD$");
* Where do we define these?
*/
#define MC_SIZE 800 /* sizeof mcontext_t */
-#define MC_LEN_OFFSET (24*8) /* offset to mc_len from mcontext */
-#define MC_FPFMT_OFFSET (25*8) /* offset to mc_fpformat from mcontext */
-#define MC_FPFMT_NODEV 0x10000
-#define MC_OWNEDFP_OFFSET (26*8) /* offset to mc_ownedfp from mcontext */
+#define MC_LEN_OFFSET (25*8) /* offset to mc_len from mcontext */
+#define MC_FPFMT_OFFSET (26*8) /* offset to mc_fpformat from mcontext */
+#define MC_FPFMT_NODEV 0x10000
+#define MC_OWNEDFP_OFFSET (27*8) /* offset to mc_ownedfp from mcontext */
#define MC_OWNEDFP_NONE 0x20000
#define MC_OWNEDFP_FPU 0x20001
#define MC_OWNEDFP_PCB 0x20002
@@ -104,9 +104,10 @@ __FBSDID("$FreeBSD$");
#define MC_R13 (13 * 8)
#define MC_R14 (14 * 8)
#define MC_R15 (15 * 8)
-#define MC_RIP (19 * 8)
-#define MC_RFLAGS (21 * 8)
-#define MC_RSP (22 * 8)
+#define MC_FLAGS (18 * 8)
+#define MC_RIP (20 * 8)
+#define MC_RFLAGS (22 * 8)
+#define MC_RSP (23 * 8)
/*
* _amd64_ctx_save(mcontext_t *mcp)
OpenPOWER on IntegriCloud