diff --git a/glibc-fedora.patch b/glibc-fedora.patch index a1242b3..152fc92 100644 --- a/glibc-fedora.patch +++ b/glibc-fedora.patch @@ -2206,3 +2206,91 @@ @@ -1 +1 @@ -s_^\(RTLDLIST=\)\([^ ]*\)-ia64\(\.so\.[0-9.]*\)[ ]*$_\1"\2-ia64\3 \2\3"_ +s_^\(RTLDLIST=\)\([^ ]*\)-ia64\(\.so\.[0-9.]*\)[ ]*$_\1"\2-ia64\3 /emul/ia32-linux\2\3"_ +--- libc/nptl/sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h.jj 2006-10-30 00:24:40.000000000 +0100 ++++ libc/nptl/sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h 2006-12-06 11:58:40.000000000 +0100 +@@ -45,7 +45,13 @@ L(pseudo_cancel): \ + bas %r14,0(%r1,%r13); \ + lr %r0,%r2; \ + LM_##args \ +- DO_CALL(syscall_name, args); \ ++ .if SYS_ify (syscall_name) < 256; \ ++ svc SYS_ify (syscall_name); \ ++ .else; \ ++ lhi %r1,SYS_ify (syscall_name); \ ++ svc 0; \ ++ .endif; \ ++ LR7_##args \ + l %r1,2f-0b(%r13); \ + lr %r12,%r2; \ + lr %r2,%r0; \ +@@ -89,6 +95,7 @@ L(pseudo_end): + #define STM_3 stm %r2,%r4,8(%r15); + #define STM_4 stm %r2,%r5,8(%r15); + #define STM_5 stm %r2,%r5,8(%r15); ++#define STM_6 stm %r2,%r7,8(%r15); + + #define LM_0 /* Nothing */ + #define LM_1 l %r2,8+96(%r15); +@@ -96,6 +103,18 @@ L(pseudo_end): + #define LM_3 lm %r2,%r4,8+96(%r15); + #define LM_4 lm %r2,%r5,8+96(%r15); + #define LM_5 lm %r2,%r5,8+96(%r15); ++#define LM_6 lm %r2,%r5,8+96(%r15); \ ++ cfi_offset (%r7, -68); \ ++ l %r7,96+96(%r15); ++ ++#define LR7_0 /* Nothing */ ++#define LR7_1 /* Nothing */ ++#define LR7_2 /* Nothing */ ++#define LR7_3 /* Nothing */ ++#define LR7_4 /* Nothing */ ++#define LR7_5 /* Nothing */ ++#define LR7_6 l %r7,28+96(%r15); \ ++ cfi_restore (%r7); + + # ifndef __ASSEMBLER__ + # define SINGLE_THREAD_P \ +--- libc/nptl/sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h.jj 2006-10-30 00:24:40.000000000 +0100 ++++ libc/nptl/sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h 2006-12-06 12:11:14.000000000 +0100 +@@ -42,7 +42,13 @@ L(pseudo_cancel): \ + brasl %r14,CENABLE; \ + lgr %r0,%r2; \ + LM_##args \ +- DO_CALL(syscall_name, args); \ ++ .if SYS_ify (syscall_name) < 256; \ ++ svc SYS_ify (syscall_name); \ ++ .else; \ ++ lghi %r1,SYS_ify (syscall_name); \ ++ svc 0; \ ++ .endif; \ ++ LR7_##args \ + lgr %r13,%r2; \ + lgr %r2,%r0; \ + brasl %r14,CDISABLE; \ +@@ -85,6 +91,7 @@ L(pseudo_end): + #define STM_3 stmg %r2,%r4,16(%r15); + #define STM_4 stmg %r2,%r5,16(%r15); + #define STM_5 stmg %r2,%r5,16(%r15); ++#define STM_6 stmg %r2,%r7,16(%r15); + + #define LM_0 /* Nothing */ + #define LM_1 lg %r2,16+160(%r15); +@@ -92,6 +99,18 @@ L(pseudo_end): + #define LM_3 lmg %r2,%r4,16+160(%r15); + #define LM_4 lmg %r2,%r5,16+160(%r15); + #define LM_5 lmg %r2,%r5,16+160(%r15); ++#define LM_6 lmg %r2,%r5,16+160(%r15); \ ++ cfi_offset (%r7, -104); \ ++ lg %r7,160+160(%r15); ++ ++#define LR7_0 /* Nothing */ ++#define LR7_1 /* Nothing */ ++#define LR7_2 /* Nothing */ ++#define LR7_3 /* Nothing */ ++#define LR7_4 /* Nothing */ ++#define LR7_5 /* Nothing */ ++#define LR7_6 lg %r7,56+160(%r15); \ ++ cfi_restore (%r7); + + # if defined IS_IN_libpthread || !defined NOT_IN_libc + # ifndef __ASSEMBLER__