summaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv/linux
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2002-08-25 04:51:08 +0000
committerUlrich Drepper <drepper@redhat.com>2002-08-25 04:51:08 +0000
commit6dd67bd565db889944d740379e6ae87bd3fd4e44 (patch)
tree57e0f1549fe4d23dc1b6b6ba939904739d2f6a29 /sysdeps/unix/sysv/linux
parente2dced828ea26102bd9599acd9fc43bf944e37be (diff)
downloadglibc-6dd67bd565db889944d740379e6ae87bd3fd4e44.tar.gz
Update.
2002-08-24 Ulrich Drepper <drepper@redhat.com> * locale/programs/charmap.c (charmap_new_char): Don't use ULONG_MAX as maximum UCS4 value. * sysdeps/unix/sysv/linux/ia64/sys/user.h: New file. * sysdeps/generic/strtol.c: We don't need the isascii test in glibc. * malloc/hooks.c (public_sET_STATe): use size_t as type for i. * malloc/malloc.c (mALLINFo): Likewise. * libio/wstrops.c (_IO_wstr_pbackfail): Use WEOF in comparison. * libio/wfileops.c (_IO_wfile_overflow): Use EOF not WEOF when examining result of _IO_do_flush call. * stdio-common/vfprintf.c (vfprintf): Use correct type in va_arg. Use prec not spec when sizing buffers. * catgets/open_catalog.c (__open_catalog): Add casts to avoid warnings. * locale/loadarchive.c (_nl_load_locale_from_archive): Likewise. * locale/loadlocale.c (_nl_intern_locale_data): Likewise. * stdio-common/vfscanf.c (inchar): Likewise. * misc/efgcvt_r.c (fcvt_r): Likewise. * elf/dl-misc.c (_dl_debug_vdprintf): Likewise. * elf/readlib.c (process_file): Likewise. * elf/sprof.c (load_profdata): Likewise. * sysdeps/ia64/hp-timing.h (HP_TIMING_PRINT): Likewise. * locale/programs/linereader.c (get_toplvl_escape): Likewise. * locale/programs/charmap.c (charmap_read): Likewise. * libio/fileops.c: Likewise. * libio/fmemopen.c: Likewise. * stdlib/strtod.c: Likewise. * elf/dl-load.c: Likewise. * iconv/iconvconfig.c: Likewise. * iconv/iconv_prog.c (process_block): Likewise. * sysdeps/unix/sysv/linux/ia64/Makefile: Define _ASM_IA64_CURRENT_H macro to calm down the compiler. * iconv/gconv_cache.c (__gconv_load_cache): Add cast to avoid warning. * sysdeps/ia64/elf/initfini.c: Don't use newlines embedded in string. * sysdeps/unix/sysv/linux/i386/sysdep.S: Update comment regarding placement of errno definition. * sysdeps/unix/sysv/linux/m68k/sysdep.S: Likewise. * sysdeps/unix/sysv/linux/mips/sysdep.S: Likewise. * sysdeps/unix/sysv/linux/x86_64/sysdep.S: Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.S: Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.S: Likewise. * resolv/nss_dns/dns-host.c (MAXPACKET): Increase minimum value from 1024 to 65536, to avoid buffer overrun. 2002-08-16 Paul Eggert <eggert@twinsun.com> * resolv/gethnamaddr.c (MAXPACKET): Increase minimum value from 1024 to 65536, to avoid buffer overrun. * resolv/res_query.c (MAXPACKET): Likewise. architectures.
Diffstat (limited to 'sysdeps/unix/sysv/linux')
-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