patches/glibc/2.5/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
|