aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/unix/sysv')
-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