diff options
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.patch | 36 |
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) |