patches/glibc/2.5.1/190-alpha-sigsuspend.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Tue Oct 14 17:42:10 2008 +0000 (2008-10-14)
changeset 929 7c958fb04f28
parent 744 4bf8448536d5
permissions -rw-r--r--
Sample config for e500v2 toolchain

On Tuesday 14 October 2008 17:05:31 Nate Case wrote:
> This is a sample config file for Freescale e500v2 processors (e.g.,
> MPC8548, MPC8572). It uses eglibc (for e500/SPE patches) and a recent
> gcc (4.3.1, for e500v2 DPFP support) and will generate appropriate
> dual-precision floating point instructions by default.
>
> Note: If building a Linux kernel with this toolchain, you will want to
> make sure -mno-spe AND -mspe=no are passed to gcc to prevent SPE
> ABI/instructions from getting into the kernel (which is currently
> unsupported). At this time, the kernel build system only passes
> -mno-spe by default (this should be fixed soon hopefully).
>
> A binutils snapshot is used to fix a bug present in 2.18 preventing
> U-Boot from being compiled (CodeSourcery issue #2297: internal.h
> (ELF_IS_SECTION_IN_SEGMENT): Adjust to cope with segments at the end of
> memory).

Obsoletes the powerpc-unknown-linux-gnuspe sample, so remove it.

/trunk/samples/powerpc-e500v2-linux-gnuspe/crosstool.config | 307 307 0 0 +++++++++++++++++++
1 file changed, 307 insertions(+)
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