diff options
Diffstat (limited to 'abs/core-testing/glibc/fix-makecontext.patch')
-rw-r--r-- | abs/core-testing/glibc/fix-makecontext.patch | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/abs/core-testing/glibc/fix-makecontext.patch b/abs/core-testing/glibc/fix-makecontext.patch new file mode 100644 index 0000000..f507b7a --- /dev/null +++ b/abs/core-testing/glibc/fix-makecontext.patch @@ -0,0 +1,33 @@ +=================================================================== +RCS file: /cvs/glibc/libc/sysdeps/unix/sysv/linux/i386/makecontext.S,v +retrieving revision 1.8 +retrieving revision 1.9 +diff -u -r1.8 -r1.9 +--- libc/sysdeps/unix/sysv/linux/i386/makecontext.S 2007/12/03 04:56:56 1.8 ++++ libc/sysdeps/unix/sysv/linux/i386/makecontext.S 2008/01/09 19:35:15 1.9 +@@ -1,5 +1,5 @@ + /* Create new context. +- Copyright (C) 2001, 2002, 2005 Free Software Foundation, Inc. ++ Copyright (C) 2001, 2002, 2005, 2007, 2008 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@redhat.com>, 2001. + +@@ -41,13 +41,15 @@ + movl 12(%esp), %ecx + movl %ecx, oEBX(%eax) + +- /* Make room on the new stack for the parameters. */ ++ /* Make room on the new stack for the parameters. ++ Room for the arguments, return address (== L(exitcode)) and ++ oLINK pointer is needed. One of the pointer sizes is subtracted ++ after aligning the stack. */ + negl %ecx +- leal -8(%edx,%ecx,4), %edx ++ leal -4(%edx,%ecx,4), %edx + negl %ecx + + /* Align the stack. */ +- addl $16, %edx + andl $0xfffffff0, %edx + subl $4, %edx + |