$OpenBSD: patch-src_libthread_FreeBSD-386-asm_s,v 1.1 2013/03/21 22:26:27 sthen Exp $

use movw with (16-bit) segment registers.

--- src/libthread/FreeBSD-386-asm.s.orig	Thu Mar 21 16:24:32 2013
+++ src/libthread/FreeBSD-386-asm.s	Thu Mar 21 16:24:50 2013
@@ -9,10 +9,10 @@ _tas:
 getmcontext:
 	movl	4(%esp), %eax
 
-	movl	%fs, 8(%eax)
-	movl	%es, 12(%eax)
-	movl	%ds, 16(%eax)
-	movl	%ss, 76(%eax)
+	movw	%fs, 8(%eax)
+	movw	%es, 12(%eax)
+	movw	%ds, 16(%eax)
+	movw	%ss, 76(%eax)
 	movl	%edi, 20(%eax)
 	movl	%esi, 24(%eax)
 	movl	%ebp, 28(%eax)
@@ -34,10 +34,10 @@ getmcontext:
 setmcontext:
 	movl	4(%esp), %eax
 
-	movl	8(%eax), %fs
-	movl	12(%eax), %es
-	movl	16(%eax), %ds
-	movl	76(%eax), %ss
+	movw	8(%eax), %fs
+	movw	12(%eax), %es
+	movw	16(%eax), %ds
+	movw	76(%eax), %ss
 	movl	20(%eax), %edi
 	movl	24(%eax), %esi
 	movl	28(%eax), %ebp
