New patches from Ioannis E. VENETIS to allow building more up-to-date Alpha x-compilers.

Some patches are still missing, though.
See: http://sourceware.org/ml/libc-help/2008-06/msg00061.html

 /trunk/patches/glibc/2.5.1/270-glibc-alpha-cfi.patch                           |   25    25     0     0 ++++++++++
 /trunk/patches/glibc/2.5.1/280-glibc-alpha-sigsuspend.patch                    |   24    24     0     0 ++++++++++
 /trunk/patches/glibc/2.5/270-glibc-alpha-cfi.patch                             |   25    25     0     0 ++++++++++
 /trunk/patches/glibc/2.5/280-glibc-alpha-sigsuspend.patch                      |   24    24     0     0 ++++++++++
 /trunk/patches/glibc/linuxthreads-2.3.6/270-glibc-linuxthreads-alpha-cfi.patch |   25    25     0     0 ++++++++++
 /trunk/patches/gcc/4.2.0/940-gcc-alpha-signal_h.patch                          |   17    17     0     0 +++++++
 /trunk/patches/gcc/4.2.1/940-gcc-alpha-signal_h.patch                          |   17    17     0     0 +++++++
 /trunk/patches/gcc/4.3.0/940-gcc-alpha-signal_h.patch                          |   17    17     0     0 +++++++
 /trunk/patches/gcc/4.2.2/940-gcc-alpha-signal_h.patch                          |   17    17     0     0 +++++++
 /trunk/patches/gcc/4.3.1/940-gcc-alpha-signal_h.patch                          |   17    17     0     0 +++++++
 /trunk/patches/gcc/4.2.3/940-gcc-alpha-signal_h.patch                          |   17    17     0     0 +++++++
 11 files changed, 225 insertions(+)
This commit is contained in:
Yann E. MORIN" 2008-06-24 16:24:09 +00:00
parent 6180cc0ea5
commit 367f7458b2
11 changed files with 225 additions and 0 deletions

View File

@ -0,0 +1,17 @@
--- gcc-4.2.1-stock/gcc/config/alpha/linux-unwind.h 2005-06-24 20:22:41.000000000 -0500
+++ gcc-4.2.1/gcc/config/alpha/linux-unwind.h 2007-09-01 20:21:34.000000000 -0500
@@ -29,6 +29,9 @@ Boston, MA 02110-1301, USA. */
/* Do code reading to identify a signal frame, and set the frame
state data appropriately. See unwind-dw2.c for the structs. */
+/* Don't use this if inhibit_libc is set
+ The build for this target will fail trying to include missing headers */
+#ifndef inhibit_libc
#include <signal.h>
#include <sys/ucontext.h>
@@ -80,3 +83,4 @@ alpha_fallback_frame_state (struct _Unwi
fs->retaddr_column = 64;
return _URC_NO_REASON;
}
+#endif /* inhibit_libc */

View File

@ -0,0 +1,17 @@
--- gcc-4.2.1-stock/gcc/config/alpha/linux-unwind.h 2005-06-24 20:22:41.000000000 -0500
+++ gcc-4.2.1/gcc/config/alpha/linux-unwind.h 2007-09-01 20:21:34.000000000 -0500
@@ -29,6 +29,9 @@ Boston, MA 02110-1301, USA. */
/* Do code reading to identify a signal frame, and set the frame
state data appropriately. See unwind-dw2.c for the structs. */
+/* Don't use this if inhibit_libc is set
+ The build for this target will fail trying to include missing headers */
+#ifndef inhibit_libc
#include <signal.h>
#include <sys/ucontext.h>
@@ -80,3 +83,4 @@ alpha_fallback_frame_state (struct _Unwi
fs->retaddr_column = 64;
return _URC_NO_REASON;
}
+#endif /* inhibit_libc */

View File

@ -0,0 +1,17 @@
--- gcc-4.2.1-stock/gcc/config/alpha/linux-unwind.h 2005-06-24 20:22:41.000000000 -0500
+++ gcc-4.2.1/gcc/config/alpha/linux-unwind.h 2007-09-01 20:21:34.000000000 -0500
@@ -29,6 +29,9 @@ Boston, MA 02110-1301, USA. */
/* Do code reading to identify a signal frame, and set the frame
state data appropriately. See unwind-dw2.c for the structs. */
+/* Don't use this if inhibit_libc is set
+ The build for this target will fail trying to include missing headers */
+#ifndef inhibit_libc
#include <signal.h>
#include <sys/ucontext.h>
@@ -80,3 +83,4 @@ alpha_fallback_frame_state (struct _Unwi
fs->retaddr_column = 64;
return _URC_NO_REASON;
}
+#endif /* inhibit_libc */

View File

@ -0,0 +1,17 @@
--- gcc-4.2.1-stock/gcc/config/alpha/linux-unwind.h 2005-06-24 20:22:41.000000000 -0500
+++ gcc-4.2.1/gcc/config/alpha/linux-unwind.h 2007-09-01 20:21:34.000000000 -0500
@@ -29,6 +29,9 @@ Boston, MA 02110-1301, USA. */
/* Do code reading to identify a signal frame, and set the frame
state data appropriately. See unwind-dw2.c for the structs. */
+/* Don't use this if inhibit_libc is set
+ The build for this target will fail trying to include missing headers */
+#ifndef inhibit_libc
#include <signal.h>
#include <sys/ucontext.h>
@@ -80,3 +83,4 @@ alpha_fallback_frame_state (struct _Unwi
fs->retaddr_column = 64;
return _URC_NO_REASON;
}
+#endif /* inhibit_libc */

View File

@ -0,0 +1,17 @@
--- gcc-4.2.1-stock/gcc/config/alpha/linux-unwind.h 2005-06-24 20:22:41.000000000 -0500
+++ gcc-4.2.1/gcc/config/alpha/linux-unwind.h 2007-09-01 20:21:34.000000000 -0500
@@ -29,6 +29,9 @@ Boston, MA 02110-1301, USA. */
/* Do code reading to identify a signal frame, and set the frame
state data appropriately. See unwind-dw2.c for the structs. */
+/* Don't use this if inhibit_libc is set
+ The build for this target will fail trying to include missing headers */
+#ifndef inhibit_libc
#include <signal.h>
#include <sys/ucontext.h>
@@ -80,3 +83,4 @@ alpha_fallback_frame_state (struct _Unwi
fs->retaddr_column = 64;
return _URC_NO_REASON;
}
+#endif /* inhibit_libc */

View File

@ -0,0 +1,17 @@
--- gcc-4.2.1-stock/gcc/config/alpha/linux-unwind.h 2005-06-24 20:22:41.000000000 -0500
+++ gcc-4.2.1/gcc/config/alpha/linux-unwind.h 2007-09-01 20:21:34.000000000 -0500
@@ -29,6 +29,9 @@ Boston, MA 02110-1301, USA. */
/* Do code reading to identify a signal frame, and set the frame
state data appropriately. See unwind-dw2.c for the structs. */
+/* Don't use this if inhibit_libc is set
+ The build for this target will fail trying to include missing headers */
+#ifndef inhibit_libc
#include <signal.h>
#include <sys/ucontext.h>
@@ -80,3 +83,4 @@ alpha_fallback_frame_state (struct _Unwi
fs->retaddr_column = 64;
return _URC_NO_REASON;
}
+#endif /* inhibit_libc */

View File

@ -0,0 +1,25 @@
--- libc/nptl/sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h 2006/10/29 21:48:06 1.6
+++ libc/nptl/sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h 2007/03/13 21:28:03 1.7
@@ -55,6 +55,7 @@
bne a3, SYSCALL_ERROR_LABEL; \
__LABEL($pseudo_ret) \
.subsection 2; \
+ cfi_startproc; \
__LABEL($pseudo_cancel) \
subq sp, 64, sp; \
cfi_def_cfa_offset(64); \
@@ -90,12 +91,13 @@
cfi_def_cfa_offset(0); \
__LABEL($syscall_error) \
SYSCALL_ERROR_HANDLER; \
+ cfi_endproc; \
.previous
# undef PSEUDO_END
# define PSEUDO_END(sym) \
- .subsection 2; \
cfi_endproc; \
+ .subsection 2; \
.size sym, .-sym
# define SAVE_ARGS_0 /* Nothing. */

View File

@ -0,0 +1,24 @@
--- glibc-2.5/sysdeps/unix/sysv/linux/alpha/sigsuspend.S.orig 2006-10-22 22:17:01.000000000 +0200
+++ glibc-2.5/sysdeps/unix/sysv/linux/alpha/sigsuspend.S 2006-10-22 22:18:05.000000000 +0200
@@ -31,3 +31,21 @@
libc_hidden_def (__sigsuspend)
weak_alias (__sigsuspend, sigsuspend)
strong_alias (__sigsuspend, __libc_sigsuspend)
+
+#ifndef NO_CANCELLATION
+ .globl __sigsuspend_nocancel;
+ .align 4;
+ .type __sigsuspend_nocancel, @function;
+ .usepv __sigsuspend_nocancel, std;
+ cfi_startproc;
+__LABEL(__sigsuspend_nocancel)
+ ldgp gp, 0(pv);
+ PSEUDO_PROF;
+ PSEUDO_PREPARE_ARGS
+ lda v0, SYS_ify(sigsuspend);
+ call_pal PAL_callsys;
+ bne a3, SYSCALL_ERROR_LABEL;
+ ret;
+ cfi_endproc;
+ .size __sigsuspend_nocancel, .-__sigsuspend_nocancel
+#endif

View File

@ -0,0 +1,25 @@
--- libc/nptl/sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h 2006/10/29 21:48:06 1.6
+++ libc/nptl/sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h 2007/03/13 21:28:03 1.7
@@ -55,6 +55,7 @@
bne a3, SYSCALL_ERROR_LABEL; \
__LABEL($pseudo_ret) \
.subsection 2; \
+ cfi_startproc; \
__LABEL($pseudo_cancel) \
subq sp, 64, sp; \
cfi_def_cfa_offset(64); \
@@ -90,12 +91,13 @@
cfi_def_cfa_offset(0); \
__LABEL($syscall_error) \
SYSCALL_ERROR_HANDLER; \
+ cfi_endproc; \
.previous
# undef PSEUDO_END
# define PSEUDO_END(sym) \
- .subsection 2; \
cfi_endproc; \
+ .subsection 2; \
.size sym, .-sym
# define SAVE_ARGS_0 /* Nothing. */

View File

@ -0,0 +1,24 @@
--- glibc-2.5/sysdeps/unix/sysv/linux/alpha/sigsuspend.S.orig 2006-10-22 22:17:01.000000000 +0200
+++ glibc-2.5/sysdeps/unix/sysv/linux/alpha/sigsuspend.S 2006-10-22 22:18:05.000000000 +0200
@@ -31,3 +31,21 @@
libc_hidden_def (__sigsuspend)
weak_alias (__sigsuspend, sigsuspend)
strong_alias (__sigsuspend, __libc_sigsuspend)
+
+#ifndef NO_CANCELLATION
+ .globl __sigsuspend_nocancel;
+ .align 4;
+ .type __sigsuspend_nocancel, @function;
+ .usepv __sigsuspend_nocancel, std;
+ cfi_startproc;
+__LABEL(__sigsuspend_nocancel)
+ ldgp gp, 0(pv);
+ PSEUDO_PROF;
+ PSEUDO_PREPARE_ARGS
+ lda v0, SYS_ify(sigsuspend);
+ call_pal PAL_callsys;
+ bne a3, SYSCALL_ERROR_LABEL;
+ ret;
+ cfi_endproc;
+ .size __sigsuspend_nocancel, .-__sigsuspend_nocancel
+#endif

View File

@ -0,0 +1,25 @@
--- glibc-2.3.6/linuxthreads/sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h.orig 2008-06-19 15:31:45.000000000 +0300
+++ glibc-2.3.6/linuxthreads/sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h 2008-06-19 15:36:10.000000000 +0300
@@ -54,6 +54,7 @@
bne a3, SYSCALL_ERROR_LABEL; \
__LABEL($pseudo_ret) \
.subsection 2; \
+ cfi_startproc; \
__LABEL($pseudo_cancel) \
subq sp, 64, sp; \
cfi_def_cfa_offset(64); \
@@ -84,12 +85,13 @@
cfi_def_cfa_offset(0); \
__LABEL($syscall_error) \
SYSCALL_ERROR_HANDLER; \
+ cfi_endproc; \
.previous
# undef PSEUDO_END
# define PSEUDO_END(sym) \
- .subsection 2; \
cfi_endproc; \
+ .subsection 2; \
.size sym, .-sym
# define SAVE_ARGS_0 /* Nothing. */