summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-freebsd/freebsd-lib/files/freebsd-lib-6.0-binutils-asm.patch')
-rw-r--r--sys-freebsd/freebsd-lib/files/freebsd-lib-6.0-binutils-asm.patch36
1 files changed, 36 insertions, 0 deletions
diff --git a/sys-freebsd/freebsd-lib/files/freebsd-lib-6.0-binutils-asm.patch b/sys-freebsd/freebsd-lib/files/freebsd-lib-6.0-binutils-asm.patch
new file mode 100644
index 0000000..f6fdd83
--- /dev/null
+++ b/sys-freebsd/freebsd-lib/files/freebsd-lib-6.0-binutils-asm.patch
@@ -0,0 +1,36 @@
+Update ASM code to build with newer binutils (2.16.91.0.x). Thanks to Emanuele
+Giaquinta <exg@gentoo.org>
+Index: fbsd-6/lib/libpthread/arch/i386/i386/thr_getcontext.S
+===================================================================
+--- fbsd-6.orig/lib/libpthread/arch/i386/i386/thr_getcontext.S
++++ fbsd-6/lib/libpthread/arch/i386/i386/thr_getcontext.S
+@@ -63,10 +63,10 @@ ENTRY(__thr_setcontext)
+ movl $-1, %eax /* bzzzt, invalid context */
+ jmp 8f
+ 2: /*movl 4(%edx), %gs*/ /* we don't touch %gs */
+- movl 8(%edx), %fs
+- movl 12(%edx), %es
+- movl 16(%edx), %ds
+- movl 76(%edx), %ss
++ movw 8(%edx), %fs
++ movw 12(%edx), %es
++ movw 16(%edx), %ds
++ movw 76(%edx), %ss
+ movl 20(%edx), %edi
+ movl 24(%edx), %esi
+ movl 28(%edx), %ebp
+@@ -127,10 +127,10 @@ ENTRY(__thr_getcontext)
+ movl $-1, %eax
+ jmp 2f
+ 1: /*movl %gs, 4(%edx)*/ /* we don't touch %gs */
+- movl %fs, 8(%edx)
+- movl %es, 12(%edx)
+- movl %ds, 16(%edx)
+- movl %ss, 76(%edx)
++ movw %fs, 8(%edx)
++ movw %es, 12(%edx)
++ movw %ds, 16(%edx)
++ movw %ss, 76(%edx)
+ movl %edi, 20(%edx)
+ movl %esi, 24(%edx)
+ movl %ebp, 28(%edx)