about summary refs log tree commit diff
path: root/sysdeps/unix
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/unix')
-rw-r--r--sysdeps/unix/sysv/linux/i386/sysdep.S9
-rw-r--r--sysdeps/unix/sysv/linux/ia64/Makefile4
-rw-r--r--sysdeps/unix/sysv/linux/ia64/sys/user.h54
-rw-r--r--sysdeps/unix/sysv/linux/m68k/sysdep.S11
-rw-r--r--sysdeps/unix/sysv/linux/mips/sysdep.S11
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-32/sysdep.S11
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-64/sysdep.S14
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/sysdep.S11
8 files changed, 88 insertions, 37 deletions
diff --git a/sysdeps/unix/sysv/linux/i386/sysdep.S b/sysdeps/unix/sysv/linux/i386/sysdep.S
index 09428987ec..9546bb3c64 100644
--- a/sysdeps/unix/sysv/linux/i386/sysdep.S
+++ b/sysdeps/unix/sysv/linux/i386/sysdep.S
@@ -19,11 +19,10 @@
 #include <sysdep.h>
 #include <tls.h>
 
-/* Because the Linux version is in fact i386/ELF and the start.? file
-   for this system (sysdeps/i386/elf/start.S) is also used by The Hurd
-   and therefore this files must not contain the definition of the
-   `errno' variable (I don't know why, ask Roland), we have to define
-   it somewhere else.
+/* The Linux version is in fact i386/ELF and the start.? file for this
+   system (sysdeps/i386/elf/start.S) is also used by The Hurd.  This file
+   must not contain the definition of the `errno' variable, we have to
+   define it somewhere else.
 
    ...and this place is here.  */
 #if USE_TLS && HAVE___THREAD
diff --git a/sysdeps/unix/sysv/linux/ia64/Makefile b/sysdeps/unix/sysv/linux/ia64/Makefile
index e028a2d618..4c1e6f2059 100644
--- a/sysdeps/unix/sysv/linux/ia64/Makefile
+++ b/sysdeps/unix/sysv/linux/ia64/Makefile
@@ -16,3 +16,7 @@ sysdep-dl-routines += dl-static
 sysdep_routines += $(sysdep-dl-routines)
 sysdep-rtld-routines += $(sysdep-dl-routines)
 endif
+
+# This is a crude attempt to silence the compiler which complains about
+# then 'current' definition in the kernel headers.
+CPPFLAGS += -D_ASM_IA64_CURRENT_H
diff --git a/sysdeps/unix/sysv/linux/ia64/sys/user.h b/sysdeps/unix/sysv/linux/ia64/sys/user.h
new file mode 100644
index 0000000000..039218761b
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/ia64/sys/user.h
@@ -0,0 +1,54 @@
+/* Copyright (C) 2002 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
+
+#ifndef _SYS_USER_H
+#define _SYS_USER_H	1
+
+#include <features.h>
+#include <sys/types.h>
+
+/* This definition comes directly from the kernel headers.  If
+   anything changes in them this header has to be changed, too.  */
+
+
+/* The definition in the kernel has the comment "XXX fix me".  */
+#define EF_SIZE		3072
+
+
+struct user
+{
+  unsigned long int regs[EF_SIZE / 8 + 32];	/* Integer and fp regs.  */
+  size_t u_tsize;				/* Text size (pages).  */
+  size_t u_dsize;				/* Data size (pages).  */
+  size_t u_ssize;				/* Stack size (pages).  */
+  unsigned long int start_code;			/* Text starting address.  */
+  unsigned long int start_data;			/* Data starting address.  */
+  unsigned long int start_stack;		/* Stack starting address.  */
+  long int signal;				/* Signal causing core dump. */
+  struct regs *u_ar0;				/* Help gdb find registers.  */
+  unsigned long int magic;			/* Identifies a core file.  */
+  char u_comm[32];				/* User command name.  */
+};
+
+#define NBPG			PAGE_SIZE
+#define UPAGES			1
+#define HOST_TEXT_START_ADDR	(u.start_code)
+#define HOST_DATA_START_ADDR	(u.start_data)
+#define HOST_STACK_END_ADDR	(u.start_stack + u.u_ssize * NBPG)
+
+#endif	/* sys/user.h */
diff --git a/sysdeps/unix/sysv/linux/m68k/sysdep.S b/sysdeps/unix/sysv/linux/m68k/sysdep.S
index 30beaf233f..628335b8d0 100644
--- a/sysdeps/unix/sysv/linux/m68k/sysdep.S
+++ b/sysdeps/unix/sysv/linux/m68k/sysdep.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996 Free Software Foundation, Inc.
+/* Copyright (C) 1996, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -18,11 +18,10 @@
 
 #include <sysdep.h>
 
-/* Because the Linux version is in fact m68k/ELF and the start.? file
-   for this system (sysdeps/m68k/elf/start.S) is also used by The Hurd
-   and therefore this files must not contain the definition of the
-   `errno' variable (I don't know why, ask Roland), we have to define
-   it somewhere else.
+/* The Linux version is in fact m68k/ELF and the start.? file for this
+   system (sysdeps/m68k/elf/start.S) is also used by The Hurd.  This file
+   must not contain the definition of the `errno' variable, we have to
+   define it somewhere else.
 
    ...and this place is here.  */
 	.bss
diff --git a/sysdeps/unix/sysv/linux/mips/sysdep.S b/sysdeps/unix/sysv/linux/mips/sysdep.S
index d051c4fe6e..2584982bb0 100644
--- a/sysdeps/unix/sysv/linux/mips/sysdep.S
+++ b/sysdeps/unix/sysv/linux/mips/sysdep.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998 Free Software Foundation, Inc.
+/* Copyright (C) 1998, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -18,11 +18,10 @@
 
 #include <sysdep.h>
 
-/* Because the Linux version is in fact MIPS/ELF and the start.? file
-   for this system (sysdeps/mips/elf/start.S) is also used by The Hurd
-   and therefore this files must not contain the definition of the
-   `errno' variable (I don't know why, ask Roland), we have to define
-   it somewhere else.
+/* The Linux version is in fact MIPS/ELF and the start.? file for this
+   system (sysdeps/mips/elf/start.S) is also used by The Hurd.  This file
+   must not contain the definition of the `errno' variable, we have to
+   define it somewhere else.
 
    ...and this place is here.  */
 	.bss
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/sysdep.S b/sysdeps/unix/sysv/linux/s390/s390-32/sysdep.S
index bb90491cba..5b17f6ba4b 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/sysdep.S
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/sysdep.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000, 2001 Free Software Foundation, Inc.
+/* Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc.
    Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
    This file is part of the GNU C Library.
 
@@ -19,11 +19,10 @@
 
 #include <sysdep.h>
 
-/* Because the Linux version is in fact m68k/ELF and the start.? file
-   for this system (sysdeps/m68k/elf/start.S) is also used by The Hurd
-   and therefore this files must not contain the definition of the
-   `errno' variable (I don't know why, ask Roland), we have to define
-   it somewhere else.
+/* The Linux version is in fact S390-32/ELF and the start.? file for this
+   system (sysdeps/s390/s390-32/elf/start.S) is also used by The Hurd.
+   This file must not contain the definition of the `errno' variable,
+   we have to define it somewhere else.
 
     ...and this place is here.  */
 	.bss
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/sysdep.S b/sysdeps/unix/sysv/linux/s390/s390-64/sysdep.S
index 2d49d36d8b..caa50ccc3d 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/sysdep.S
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/sysdep.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001 Free Software Foundation, Inc.
+/* Copyright (C) 2001, 2002 Free Software Foundation, Inc.
    Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
    This file is part of the GNU C Library.
 
@@ -19,11 +19,10 @@
 
 #include <sysdep.h>
 
-/* Because the Linux version is in fact m68k/ELF and the start.? file
-   for this system (sysdeps/m68k/elf/start.S) is also used by The Hurd
-   and therefore this files must not contain the definition of the
-   `errno' variable (I don't know why, ask Roland), we have to define
-   it somewhere else.
+/* The Linux version is in fact S390-64/ELF and the start.? file for this
+   system (sysdeps/s390/s390-64/elf/start.S) is also used by The Hurd.
+   This file must not contain the definition of the `errno' variable,
+   we have to define it somewhere else.
 
     ...and this place is here.  */
 	.bss
@@ -81,10 +80,9 @@ ENTRY(__syscall_error)
 	brasl   %r14,__errno_location@PLT
 	st      %r13,0(%r2)
 	lmg     %r13,%r15,264(%r15)
-	lghi    %r2,-1	
+	lghi    %r2,-1
 	br      %r14
 #endif
 #endif
 
 END (__syscall_error)
-
diff --git a/sysdeps/unix/sysv/linux/x86_64/sysdep.S b/sysdeps/unix/sysv/linux/x86_64/sysdep.S
index 7f041aa730..b8eccc8b9f 100644
--- a/sysdeps/unix/sysv/linux/x86_64/sysdep.S
+++ b/sysdeps/unix/sysv/linux/x86_64/sysdep.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001 Free Software Foundation, Inc.
+/* Copyright (C) 2001, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -18,11 +18,10 @@
 
 #include <sysdep.h>
 
-/* Because the Linux version is in fact x86-64/ELF and the start.? file
-   for this system (sysdeps/x86_64/elf/start.S) is also used by The Hurd
-   and therefore this files must not contain the definition of the
-   `errno' variable (I don't know why, ask Roland), we have to define
-   it somewhere else.
+/* The Linux version is in fact x86-64/ELF and the start.? file for this
+   system (sysdeps/x86_64/elf/start.S) is also used by The Hurd.  This file
+   must not contain the definition of the `errno' variable, we have to
+   define it somewhere else.
 
    ...and this place is here.  */
 	.bss