patches/glibc/2.5.1/190-alpha-sigsuspend.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Thu Jul 31 09:08:33 2008 +0000 (2008-07-31)
changeset 752 b037a5643e04
parent 744 4bf8448536d5
permissions -rw-r--r--
Have the glibc build use the cross-objdump, rather than the host one.
On some distros (eg. Fedora), the native objdump can not interpret objects not for the native system, and thus fail.
This commit adds a new patch against glibc-2.7 that introduces OBJDUMP_FOR_HOST, wich, if set, overides the detected objdump.

Note: bizarely enough, glibc already has code to detect the cross-objdump, but that does not work for an unknown reason... :-(

/trunk/patches/glibc/2.7/220-objdump_for_host.patch | 13 13 0 0 +++++++++
/trunk/scripts/build/libc_glibc.sh | 37 21 16 0 +++++++++++++++------------
2 files changed, 34 insertions(+), 16 deletions(-)
yann@611
     1
--- glibc-2.5/sysdeps/unix/sysv/linux/alpha/sigsuspend.S.orig	2006-10-22 22:17:01.000000000 +0200
yann@611
     2
+++ glibc-2.5/sysdeps/unix/sysv/linux/alpha/sigsuspend.S	2006-10-22 22:18:05.000000000 +0200
yann@611
     3
@@ -31,3 +31,21 @@
yann@611
     4
 libc_hidden_def (__sigsuspend)
yann@611
     5
 weak_alias (__sigsuspend, sigsuspend)
yann@611
     6
 strong_alias (__sigsuspend, __libc_sigsuspend)
yann@611
     7
+
yann@611
     8
+#ifndef NO_CANCELLATION
yann@611
     9
+	.globl __sigsuspend_nocancel;
yann@611
    10
+	.align 4;
yann@611
    11
+	.type __sigsuspend_nocancel, @function;
yann@611
    12
+	.usepv __sigsuspend_nocancel, std;
yann@611
    13
+	cfi_startproc;
yann@611
    14
+__LABEL(__sigsuspend_nocancel)
yann@611
    15
+	ldgp    gp, 0(pv);
yann@611
    16
+	PSEUDO_PROF;
yann@611
    17
+	PSEUDO_PREPARE_ARGS
yann@611
    18
+	lda     v0, SYS_ify(sigsuspend);
yann@611
    19
+	call_pal PAL_callsys;
yann@611
    20
+	bne     a3, SYSCALL_ERROR_LABEL;
yann@611
    21
+	ret;
yann@611
    22
+	cfi_endproc;
yann@611
    23
+	.size __sigsuspend_nocancel, .-__sigsuspend_nocancel
yann@611
    24
+#endif