[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#224744: patch to allow gcc-snapshot (java) to build on mips



Package: glibc
Version: 2.3.2.ds1-10
Tags: patch

Please find attached a patch by Thiemo Seufer, which allows building
java (in gcc-snapshot) on the mips platform. Guido Guenther will
forward the bug upstream.

#! /bin/sh -e

# All lines beginning with `# DP:' are a description of the patch.
# DP: Description: MIPS ABI defines patch
# DP: Author: Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
# DP: Upstream status: Not submitted
# DP: Status Details:
# DP: Date: 2003-12-12
# 2003-12-12  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
#
#	* linuxthreads/sysdeps/mips/pspinlock.c: Include sgidefs.h.
#	* linuxthreads/sysdeps/mips/pt-machine.h: Likewise.
#	* sysdeps/mips/atomicity.h: Likewise.
#	* sysdeps/mips/bits/setjmp.h: Likewise.
#	* sysdeps/mips/elf/start.S: Likewise.
#	* sysdeps/mips/fpu/bits/mathdef.h: Likewise.
#	* sysdeps/mips/mips64/bsd-_setjmp.S: Likewise.
#	* sysdeps/mips/mips64/bsd-setjmp.S: Likewise.
#	* sysdeps/mips/mips64/setjmp.S: Likewise.
#	* sysdeps/mips/sys/regdef.h: Likewise.
#	* sysdeps/mips/sys/ucontext.h: Likewise.
#	* sysdeps/mips/dl-machine.h: Likewise.
#	* sysdeps/unix/machine-gmon.h: Likewise.
#	* sysdeps/unix/mips/sysdep.h: Likewise.
#	* sysdeps/unix/sysv/linux/mips/configure: Likewise.
#	* sysdeps/unix/sysv/linux/mips/configure.in: Likewise.
#	* sysdeps/unix/sysv/linux/mips/kernel_stat.h: Likewise.
#	* sysdeps/unix/sysv/linux/mips/sigaction.h: Likewise.
#	* sysdeps/unix/sysv/linux/mips/sigcontextinfo.h: Likewise.
#	* sysdeps/unix/sysv/linux/mips/bits/sigcontext.h: Likewise.
#	* sysdeps/unix/sysv/linux/mips/bits/stat.h: Likewise.
#	* sysdeps/unix/sysv/linux/mips/sys/tas.h: Likewise.
#	* sysdeps/unix/sysv/linux/mips/sys/ucontext.h: Likewise.
#	* sysdeps/unix/sysv/linux/mips/sys/user.h: Likewise.

if [ $# -ne 2 ]; then
    echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
    exit 1
fi
case "$1" in
    -patch) patch -d "$2" -f --no-backup-if-mismatch -p0 < $0;;
    -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p0 < $0;;
    *)
	echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
	exit 1
esac
exit 0

# append the patch here and adjust the -p? flag in the patch calls.
--- ./sysdeps/mips/bits/setjmp.h.orig	2003-12-12 02:59:09.000000000 +0100
+++ ./sysdeps/mips/bits/setjmp.h	2003-12-12 03:28:17.000000000 +0100
@@ -22,6 +22,8 @@
 # error "Never include <bits/setjmp.h> directly; use <setjmp.h> instead."
 #endif
 
+#include <sgidefs.h>
+
 typedef struct
   {
 #if _MIPS_SIM == _MIPS_SIM_ABI32
--- ./sysdeps/mips/mips64/setjmp.S.orig	2003-12-12 03:48:28.000000000 +0100
+++ ./sysdeps/mips/mips64/setjmp.S	2003-12-12 03:48:19.000000000 +0100
@@ -17,6 +17,7 @@
    02111-1307 USA.  */
 
 #include <sysdep.h>
+#include <sgidefs.h>
 #include <sys/asm.h>
 
 /* The function __sigsetjmp_aux saves all the registers, but it can't
--- ./sysdeps/mips/mips64/bsd-_setjmp.S.orig	2003-12-12 03:48:06.000000000 +0100
+++ ./sysdeps/mips/mips64/bsd-_setjmp.S	2003-12-12 03:47:56.000000000 +0100
@@ -22,6 +22,7 @@
    in setjmp doesn't clobber the state restored by longjmp.  */
 
 #include <sysdep.h>
+#include <sgidefs.h>
 #include <sys/asm.h>
 
 #ifdef __PIC__
--- ./sysdeps/mips/mips64/bsd-setjmp.S.orig	2003-12-12 03:47:41.000000000 +0100
+++ ./sysdeps/mips/mips64/bsd-setjmp.S	2003-12-12 03:47:30.000000000 +0100
@@ -22,6 +22,7 @@
    in setjmp doesn't clobber the state restored by longjmp.  */
 
 #include <sysdep.h>
+#include <sgidefs.h>
 #include <sys/asm.h>
 
 #ifdef PIC
--- ./sysdeps/mips/fpu/bits/mathdef.h.orig	2003-12-12 02:59:09.000000000 +0100
+++ ./sysdeps/mips/fpu/bits/mathdef.h	2003-12-12 03:26:31.000000000 +0100
@@ -21,6 +21,8 @@
 # error "Never use <bits/mathdef.h> directly; include <math.h> instead"
 #endif
 
+#include <sgidefs.h>
+
 #if defined  __USE_ISOC99 && defined _MATH_H && !defined _MATH_H_MATHDEF
 # define _MATH_H_MATHDEF	1
 
--- ./sysdeps/mips/sys/regdef.h.orig	2003-12-12 02:59:10.000000000 +0100
+++ ./sysdeps/mips/sys/regdef.h	2003-12-12 03:26:58.000000000 +0100
@@ -20,6 +20,8 @@
 #ifndef _SYS_REGDEF_H
 #define _SYS_REGDEF_H
 
+#include <sgidefs.h>
+
 /*
  * Symbolic register names for 32 bit ABI
  */
--- ./sysdeps/mips/sys/ucontext.h.orig	2003-12-12 02:59:10.000000000 +0100
+++ ./sysdeps/mips/sys/ucontext.h	2003-12-12 03:29:41.000000000 +0100
@@ -23,6 +23,7 @@
 
 #include <features.h>
 #include <signal.h>
+#include <sgidefs.h>
 
 /* Type for general register.  */
 #if _MIPS_SIM == _MIPS_SIM_ABI32
--- ./sysdeps/mips/elf/start.S.orig	2003-12-12 03:47:16.000000000 +0100
+++ ./sysdeps/mips/elf/start.S	2003-12-12 03:47:05.000000000 +0100
@@ -20,6 +20,7 @@
 
 #define __ASSEMBLY__ 1
 #include <entry.h>
+#include <sgidefs.h>
 #include <sys/asm.h>
 
 #ifndef ENTRY_POINT
--- ./sysdeps/mips/atomicity.h.orig	2003-12-12 03:46:51.000000000 +0100
+++ ./sysdeps/mips/atomicity.h	2003-12-12 03:46:43.000000000 +0100
@@ -21,6 +21,7 @@
 #define _MIPS_ATOMICITY_H    1
 
 #include <inttypes.h>
+#include <sgidefs.h>
 
 static inline int
 __attribute__ ((unused))
--- ./sysdeps/mips/dl-machine.h.orig	2003-12-12 03:46:33.000000000 +0100
+++ ./sysdeps/mips/dl-machine.h	2003-12-12 03:46:19.000000000 +0100
@@ -27,6 +27,7 @@
 #define ELF_MACHINE_NO_PLT
 
 #include <entry.h>
+#include <sgidefs.h>
 
 #ifndef ENTRY_POINT
 #error ENTRY_POINT needs to be defined for MIPS.
--- ./sysdeps/mips/machine-gmon.h.orig	2003-12-12 03:46:05.000000000 +0100
+++ ./sysdeps/mips/machine-gmon.h	2003-12-12 03:45:55.000000000 +0100
@@ -18,6 +18,8 @@
    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
    02111-1307 USA.  */
 
+#include <sgidefs.h>
+
 #define _MCOUNT_DECL(frompc,selfpc) \
 static void __attribute_used__ __mcount (u_long frompc, u_long selfpc)
 
--- ./sysdeps/unix/mips/sysdep.h.orig	2003-12-12 03:45:36.000000000 +0100
+++ ./sysdeps/unix/mips/sysdep.h	2003-12-12 03:45:23.000000000 +0100
@@ -19,6 +19,7 @@
    02111-1307 USA.  */
 
 #include <sysdeps/unix/sysdep.h>
+#include <sgidefs.h>
 
 #ifdef __ASSEMBLER__
 
--- ./sysdeps/unix/sysv/linux/mips/bits/sigcontext.h.orig	2003-12-12 02:59:10.000000000 +0100
+++ ./sysdeps/unix/sysv/linux/mips/bits/sigcontext.h	2003-12-12 03:33:57.000000000 +0100
@@ -20,6 +20,8 @@
 # error "Never use <bits/sigcontext.h> directly; include <signal.h> instead."
 #endif
 
+#include <sgidefs.h>
+
 #ifndef sigcontext_struct
 /* Kernel headers before 2.1.1 define a struct sigcontext_struct, but
    we need sigcontext.  */
--- ./sysdeps/unix/sysv/linux/mips/bits/stat.h.orig	2003-12-12 02:59:10.000000000 +0100
+++ ./sysdeps/unix/sysv/linux/mips/bits/stat.h	2003-12-12 03:34:15.000000000 +0100
@@ -21,6 +21,8 @@
 # error "Never include <bits/stat.h> directly; use <sys/stat.h> instead."
 #endif
 
+#include <sgidefs.h>
+
 /* Versions of the `struct stat' data structure.  */
 #define _STAT_VER_LINUX_OLD	1
 #define _STAT_VER_KERNEL	1
--- ./sysdeps/unix/sysv/linux/mips/sigaction.c.orig	2003-12-12 03:43:00.000000000 +0100
+++ ./sysdeps/unix/sysv/linux/mips/sigaction.c	2003-12-12 03:42:49.000000000 +0100
@@ -21,6 +21,7 @@
 #include <string.h>
 
 #include <sysdep.h>
+#include <sgidefs.h>
 #include <sys/syscall.h>
 
 #include "kernel-features.h"
--- ./sysdeps/unix/sysv/linux/mips/sys/tas.h.orig	2003-12-12 02:59:10.000000000 +0100
+++ ./sysdeps/unix/sysv/linux/mips/sys/tas.h	2003-12-12 03:36:26.000000000 +0100
@@ -21,6 +21,7 @@
 #define _SYS_TAS_H 1
 
 #include <features.h>
+#include <sgidefs.h>
 
 __BEGIN_DECLS
 
--- ./sysdeps/unix/sysv/linux/mips/sys/user.h.orig	2003-12-12 02:59:10.000000000 +0100
+++ ./sysdeps/unix/sysv/linux/mips/sys/user.h	2003-12-12 03:36:35.000000000 +0100
@@ -19,6 +19,8 @@
 #ifndef _SYS_USER_H
 #define _SYS_USER_H	1
 
+#include <sgidefs.h>
+
 /* The whole purpose of this file is for GDB and GDB only.  Don't read
    too much into it.  Don't use it for anything other than GDB unless
    you know what you are doing.  */
--- ./sysdeps/unix/sysv/linux/mips/sys/ucontext.h.orig	2003-12-12 03:45:05.000000000 +0100
+++ ./sysdeps/unix/sysv/linux/mips/sys/ucontext.h	2003-12-12 03:44:55.000000000 +0100
@@ -22,6 +22,7 @@
 #define _SYS_UCONTEXT_H	1
 
 #include <features.h>
+#include <sgidefs.h>
 #include <signal.h>
 
 /* We need the signal context definitions even if they are not used
--- ./sysdeps/unix/sysv/linux/mips/kernel_stat.h.orig	2003-12-12 03:44:37.000000000 +0100
+++ ./sysdeps/unix/sysv/linux/mips/kernel_stat.h	2003-12-12 03:44:22.000000000 +0100
@@ -1,6 +1,9 @@
 /* As tempting as it is to define XSTAT_IS_XSTAT64 for n64, the
    userland data structures are not identical, because of different
    padding.  */
+ 
+#include <sgidefs.h>
+
 /* Definition of `struct stat' used in the kernel.  */
 #if _MIPS_SIM != _MIPS_SIM_ABI32
 struct kernel_stat
--- ./sysdeps/unix/sysv/linux/mips/configure.orig	2003-12-12 03:51:49.000000000 +0100
+++ ./sysdeps/unix/sysv/linux/mips/configure	2003-12-12 03:49:46.000000000 +0100
@@ -41,7 +41,7 @@ echo "$as_me: WARNING: *** asm/unistd.h 
 	name = $2;
 	sub (/_O32_/, "_", name);
 	print;
-	print "#if _MIPS_SIM == _MIPS_SIM_ABI32";
+	print "#if defined _ABIO32 && _MIPS_SIM == _ABIO32";
 	print "# define " name " " $2;
 	print "#endif";
 	next;
--- ./sysdeps/unix/sysv/linux/mips/configure.in.orig	2003-12-12 03:51:35.000000000 +0100
+++ ./sysdeps/unix/sysv/linux/mips/configure.in	2003-12-12 03:49:38.000000000 +0100
@@ -41,7 +41,7 @@ mips*64*)
 	name = $2;
 	sub (/_O32_/, "_", name);
 	print;
-	print "#if _MIPS_SIM == _MIPS_SIM_ABI32";
+	print "#if defined _ABIO32 && _MIPS_SIM == _ABIO32";
 	print "# define " name " " $2;
 	print "#endif";
 	next;
--- ./sysdeps/unix/sysv/linux/mips/sigcontextinfo.h.orig	2003-12-12 03:43:32.000000000 +0100
+++ ./sysdeps/unix/sysv/linux/mips/sigcontextinfo.h	2003-12-12 03:43:16.000000000 +0100
@@ -17,6 +17,8 @@
    02111-1307 USA.  */
 
 
+#include <sgidefs.h>
+
 #if _MIPS_SIM == _MIPS_SIM_ABI32
 
 #define SIGCONTEXT unsigned long _code, struct sigcontext *
--- ./linuxthreads/sysdeps/mips/pspinlock.c.orig	2003-12-12 02:59:09.000000000 +0100
+++ ./linuxthreads/sysdeps/mips/pspinlock.c	2003-12-12 03:59:27.000000000 +0100
@@ -19,6 +19,7 @@
 
 #include <errno.h>
 #include <pthread.h>
+#include <sgidefs.h>
 #include <sys/tas.h>
 #include "internals.h"
 
--- ./linuxthreads/sysdeps/mips/pt-machine.h.orig	2003-12-12 02:59:09.000000000 +0100
+++ ./linuxthreads/sysdeps/mips/pt-machine.h	2003-12-12 03:59:26.000000000 +0100
@@ -24,6 +24,7 @@
 #ifndef _PT_MACHINE_H
 #define _PT_MACHINE_H   1
 
+#include <sgidefs.h>
 #include <sys/tas.h>
 
 #ifndef PT_EI



Reply to: