glibc/sysdeps/generic/dl-sysdep.c

480 lines
13 KiB
C
Raw Normal View History

/* Operating system support for run-time dynamic linker. Generic Unix version.
2003-02-23 05:05:02 +00:00
Copyright (C) 1995-1998, 2000-2002, 2003 Free Software Foundation, Inc.
update from main archive 970120 Tue Jan 21 04:05:20 1997 Ulrich Drepper <drepper@cygnus.com> * version.h (VERSION): Bump to 1.101. Implement -d and -r option to `ldd' to check relocations. * elf/dl-error.c: Add another method to intercept errors. (_dl_receive_error): New function. Install user defined handler. (receiver): New variable. Contains pointer to user provided handler. (_dl_signal_error): If user provided handler is installed call this. * elf/dl-load.c (_dl_map_object): When shared object is not found in trace mode initialize a few more fields so that lookup can actually happen but always fails. * elf/ldd.sh.in: Rewrite argument handling. Recognize new arguments to trigger reloation test. Return with appropriate error code if a file wasn't found. Print warning if object is not executable. * elf/ldd.bash.in: Likewise. * elf/link.h (receiver_fct): New type. Used in _dl_receive_error. (_dl_sysdep_error): New prototype. (_dl_receive_error): New prototype. (_dl_signal_error): Remove __attribute__ ((__noreturn__)). * elf/rtld.c (dl_main): Rewrite argument handling. More than one argument allowed. Recognize --data-relocs and --function-relocs arguments. Don't determine `lazy' mode from LD_BIND_NOW environment variable when in trace mode. If in trace mode and either --data-relocs or --function-relocs is given perform relocation. Report errors using print_unresolved function. (print_unresolved): New function. Print information about missing symbol on stderr. * sysdeps/generic/dl-sysdep.c (_dl_sysdep_error): New function. Like _dl_sysdep_message but print to stderr. * sysdeps/mach/hurd/dl-sysdep.c: Likewise. * sysdeps/generic/sockaddrcom.h: Add definition of sa_family_t. Reported by Andreas Schwab. (__SOCKADDR_COMMON): Use sa_family_t for family member. * sysdeps/unix/bsd/bsd4.4/sockaddrcom.h: Likewise. Linux/Sparc support by Miguel de Icaza. * sysdeps/sparc/fpu_control.h: New file. * sysdeps/unix/sysv/linux/sparc/__sigtrampoline.S: New file. * sysdeps/unix/sysv/linux/sparc/brk.c: New file. * sysdeps/unix/sysv/linux/sparc/profil-counter.h: New file. * sysdeps/unix/sysv/linux/sparc/sigaction.c: New file. * sysdeps/unix/sysv/linux/sparc/socket.S: New file. * sysdeps/unix/sysv/linux/sparc/syscall.S: New file. * sysdeps/unix/sysv/linux/sparc/sysdep.h: New file. * sysdeps/unix/sysv/linux/sparc/Dist: New file. * sysdeps/unix/sysv/linux/sparc/Makefile: New file. * sysdeps/unix/sysv/linux/net/if_arp.h: Don't use kernel header. Provide own definition based on 4.4BSD and Linux. * sysdeps/unix/sysv/linux/net/ppp_defs.h: Define __u32 before including <linux/ppp_defs.h>. * sysdeps/unix/sysv/linux/sys/msq_buf.h (struct msqid_ds): Don't use __pid_t since the kernel might have a different size. * sysdeps/unix/sysv/linux/sys/shm_buf.h (struct shmid_ds): Likewise. Reported by Andreas Schwab. * time/asctime.c: Update copyright. * time/dysize.c: Likewise. * time/gmtime.c: Likewise. * time/timegm.c: Likewise. * time/offtime.c: Likewise. De-ANSI-declfy. * time/tzset.c (__tzset_internal): When TZ envvar does not name a DST timezone don't default to offset -1. * sysdeps/unix/sysv/linux/net/route.h: Don't use kernel header. Reported by a sun <asun@zoology.washington.edu>. * resolv/Makefile: Correct spelling: subdirs-dirs -> subdir-dirs. * sysdeps/stub/sysv_signal.c: New file. Stub implementation. * Makefile (distribute): Add mcheck.h. * nis/Makefile (distribute): Add nss-nis.h. * libio/Makefile (routines): Change vdprintf to iovdprintf to prevent dist problem. * nss/Makefile (distribute): Add digits_dots.c. * sysdeps/unix/sysv/linux/Dist: Add kernel_sigaction.h. * sysdeps/unix/sysv/linux/alpha/Dist: Add sys/procfs.h. * sysdeps/unix/sysv/linux/sparc/Dist: Add clone.S. * new-malloc/Makefile (distribute): Add mcheck-init.c and mcheck.h. Mon Jan 20 17:54:28 1997 Sven Verdoolaege <skimo@breughel.ufsia.ac.be> * manual/filesys.texi: Fix little problem (reentrant->readdir). Fri Jan 17 19:07:07 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * configure.in [$elf=yes]: Check for support of .previous and .popsection in the assembler. * config.h.in: Add HAVE_ASM_PREVIOUS_DIRECTIVE and HAVE_ASM_POPSECTION_DIRECTIVE. * libc-symbols.h (__make_section_unallocated) [HAVE_ELF]: Define appropriate if either .previous or .popsection is supported. (libc_warning) [HAVE_ELF]: Use it here. Sat Jan 18 22:15:26 1997 Richard Henderson <rth@tamu.edu> * Makeconfig (CFLAGS-.so): Add -fno-common to prevent odd sorts of errors that can occur when linking libc.so. Mon Jan 20 05:20:49 1997 Ulrich Drepper <drepper@cygnus.com> * elf/dl-load.c (open_path): When running setuid don't try a directory if it is not given with the full name. * elf/Makefile (before-compile): New variable. Mention trusted-dirs.h. (trusted-dirs.h): Construct file from $(default-rpath) and $(user-defined-trusted-dirs) variables. * elf/dl-load.c (_dl_map_object): Pass additional argument to open_path which is NULL except for the LD_LIBRARY_PATH pass in which case it is a pointer to the list of directories from the trusted-dirs.h file. (open_path): Accept additional argument with list of trusted dirs. When running setuid and a list of trusted dirs is given only use those which are mentioned in the list. * elf/rtld.c (dl_main): Don't reject whole LD_LIBRARY_PATH when running setuid. Instead accept entries which do not contain a '/'. * Makeconfig: Correct comment about +(default_cflags). Mon Jan 20 05:11:14 1997 Hrvoje Niksic <hniksic@srce.hr> * time/strptime.c (recursive): Use && not || to test for valid argument. Mon Jan 20 05:06:50 1997 Ulrich Drepper <drepper@cygnus.com> * elf/ldd.sh.in: Exit with value 1 if an error occured. * elf/ldd.bash.in: Likewise. * elf/rtld.c (dl_main): Do not always ignore LD_PRELOAD when the binary runs setuid. It is save to use those entries which do not contain a '/'. This is compatible with Solaris-2.
1997-01-21 06:10:42 +00:00
This file is part of the GNU C Library.
update from main archive 970120 Tue Jan 21 04:05:20 1997 Ulrich Drepper <drepper@cygnus.com> * version.h (VERSION): Bump to 1.101. Implement -d and -r option to `ldd' to check relocations. * elf/dl-error.c: Add another method to intercept errors. (_dl_receive_error): New function. Install user defined handler. (receiver): New variable. Contains pointer to user provided handler. (_dl_signal_error): If user provided handler is installed call this. * elf/dl-load.c (_dl_map_object): When shared object is not found in trace mode initialize a few more fields so that lookup can actually happen but always fails. * elf/ldd.sh.in: Rewrite argument handling. Recognize new arguments to trigger reloation test. Return with appropriate error code if a file wasn't found. Print warning if object is not executable. * elf/ldd.bash.in: Likewise. * elf/link.h (receiver_fct): New type. Used in _dl_receive_error. (_dl_sysdep_error): New prototype. (_dl_receive_error): New prototype. (_dl_signal_error): Remove __attribute__ ((__noreturn__)). * elf/rtld.c (dl_main): Rewrite argument handling. More than one argument allowed. Recognize --data-relocs and --function-relocs arguments. Don't determine `lazy' mode from LD_BIND_NOW environment variable when in trace mode. If in trace mode and either --data-relocs or --function-relocs is given perform relocation. Report errors using print_unresolved function. (print_unresolved): New function. Print information about missing symbol on stderr. * sysdeps/generic/dl-sysdep.c (_dl_sysdep_error): New function. Like _dl_sysdep_message but print to stderr. * sysdeps/mach/hurd/dl-sysdep.c: Likewise. * sysdeps/generic/sockaddrcom.h: Add definition of sa_family_t. Reported by Andreas Schwab. (__SOCKADDR_COMMON): Use sa_family_t for family member. * sysdeps/unix/bsd/bsd4.4/sockaddrcom.h: Likewise. Linux/Sparc support by Miguel de Icaza. * sysdeps/sparc/fpu_control.h: New file. * sysdeps/unix/sysv/linux/sparc/__sigtrampoline.S: New file. * sysdeps/unix/sysv/linux/sparc/brk.c: New file. * sysdeps/unix/sysv/linux/sparc/profil-counter.h: New file. * sysdeps/unix/sysv/linux/sparc/sigaction.c: New file. * sysdeps/unix/sysv/linux/sparc/socket.S: New file. * sysdeps/unix/sysv/linux/sparc/syscall.S: New file. * sysdeps/unix/sysv/linux/sparc/sysdep.h: New file. * sysdeps/unix/sysv/linux/sparc/Dist: New file. * sysdeps/unix/sysv/linux/sparc/Makefile: New file. * sysdeps/unix/sysv/linux/net/if_arp.h: Don't use kernel header. Provide own definition based on 4.4BSD and Linux. * sysdeps/unix/sysv/linux/net/ppp_defs.h: Define __u32 before including <linux/ppp_defs.h>. * sysdeps/unix/sysv/linux/sys/msq_buf.h (struct msqid_ds): Don't use __pid_t since the kernel might have a different size. * sysdeps/unix/sysv/linux/sys/shm_buf.h (struct shmid_ds): Likewise. Reported by Andreas Schwab. * time/asctime.c: Update copyright. * time/dysize.c: Likewise. * time/gmtime.c: Likewise. * time/timegm.c: Likewise. * time/offtime.c: Likewise. De-ANSI-declfy. * time/tzset.c (__tzset_internal): When TZ envvar does not name a DST timezone don't default to offset -1. * sysdeps/unix/sysv/linux/net/route.h: Don't use kernel header. Reported by a sun <asun@zoology.washington.edu>. * resolv/Makefile: Correct spelling: subdirs-dirs -> subdir-dirs. * sysdeps/stub/sysv_signal.c: New file. Stub implementation. * Makefile (distribute): Add mcheck.h. * nis/Makefile (distribute): Add nss-nis.h. * libio/Makefile (routines): Change vdprintf to iovdprintf to prevent dist problem. * nss/Makefile (distribute): Add digits_dots.c. * sysdeps/unix/sysv/linux/Dist: Add kernel_sigaction.h. * sysdeps/unix/sysv/linux/alpha/Dist: Add sys/procfs.h. * sysdeps/unix/sysv/linux/sparc/Dist: Add clone.S. * new-malloc/Makefile (distribute): Add mcheck-init.c and mcheck.h. Mon Jan 20 17:54:28 1997 Sven Verdoolaege <skimo@breughel.ufsia.ac.be> * manual/filesys.texi: Fix little problem (reentrant->readdir). Fri Jan 17 19:07:07 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * configure.in [$elf=yes]: Check for support of .previous and .popsection in the assembler. * config.h.in: Add HAVE_ASM_PREVIOUS_DIRECTIVE and HAVE_ASM_POPSECTION_DIRECTIVE. * libc-symbols.h (__make_section_unallocated) [HAVE_ELF]: Define appropriate if either .previous or .popsection is supported. (libc_warning) [HAVE_ELF]: Use it here. Sat Jan 18 22:15:26 1997 Richard Henderson <rth@tamu.edu> * Makeconfig (CFLAGS-.so): Add -fno-common to prevent odd sorts of errors that can occur when linking libc.so. Mon Jan 20 05:20:49 1997 Ulrich Drepper <drepper@cygnus.com> * elf/dl-load.c (open_path): When running setuid don't try a directory if it is not given with the full name. * elf/Makefile (before-compile): New variable. Mention trusted-dirs.h. (trusted-dirs.h): Construct file from $(default-rpath) and $(user-defined-trusted-dirs) variables. * elf/dl-load.c (_dl_map_object): Pass additional argument to open_path which is NULL except for the LD_LIBRARY_PATH pass in which case it is a pointer to the list of directories from the trusted-dirs.h file. (open_path): Accept additional argument with list of trusted dirs. When running setuid and a list of trusted dirs is given only use those which are mentioned in the list. * elf/rtld.c (dl_main): Don't reject whole LD_LIBRARY_PATH when running setuid. Instead accept entries which do not contain a '/'. * Makeconfig: Correct comment about +(default_cflags). Mon Jan 20 05:11:14 1997 Hrvoje Niksic <hniksic@srce.hr> * time/strptime.c (recursive): Use && not || to test for valid argument. Mon Jan 20 05:06:50 1997 Ulrich Drepper <drepper@cygnus.com> * elf/ldd.sh.in: Exit with value 1 if an error occured. * elf/ldd.bash.in: Likewise. * elf/rtld.c (dl_main): Do not always ignore LD_PRELOAD when the binary runs setuid. It is save to use those entries which do not contain a '/'. This is compatible with Solaris-2.
1997-01-21 06:10:42 +00:00
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.
update from main archive 970120 Tue Jan 21 04:05:20 1997 Ulrich Drepper <drepper@cygnus.com> * version.h (VERSION): Bump to 1.101. Implement -d and -r option to `ldd' to check relocations. * elf/dl-error.c: Add another method to intercept errors. (_dl_receive_error): New function. Install user defined handler. (receiver): New variable. Contains pointer to user provided handler. (_dl_signal_error): If user provided handler is installed call this. * elf/dl-load.c (_dl_map_object): When shared object is not found in trace mode initialize a few more fields so that lookup can actually happen but always fails. * elf/ldd.sh.in: Rewrite argument handling. Recognize new arguments to trigger reloation test. Return with appropriate error code if a file wasn't found. Print warning if object is not executable. * elf/ldd.bash.in: Likewise. * elf/link.h (receiver_fct): New type. Used in _dl_receive_error. (_dl_sysdep_error): New prototype. (_dl_receive_error): New prototype. (_dl_signal_error): Remove __attribute__ ((__noreturn__)). * elf/rtld.c (dl_main): Rewrite argument handling. More than one argument allowed. Recognize --data-relocs and --function-relocs arguments. Don't determine `lazy' mode from LD_BIND_NOW environment variable when in trace mode. If in trace mode and either --data-relocs or --function-relocs is given perform relocation. Report errors using print_unresolved function. (print_unresolved): New function. Print information about missing symbol on stderr. * sysdeps/generic/dl-sysdep.c (_dl_sysdep_error): New function. Like _dl_sysdep_message but print to stderr. * sysdeps/mach/hurd/dl-sysdep.c: Likewise. * sysdeps/generic/sockaddrcom.h: Add definition of sa_family_t. Reported by Andreas Schwab. (__SOCKADDR_COMMON): Use sa_family_t for family member. * sysdeps/unix/bsd/bsd4.4/sockaddrcom.h: Likewise. Linux/Sparc support by Miguel de Icaza. * sysdeps/sparc/fpu_control.h: New file. * sysdeps/unix/sysv/linux/sparc/__sigtrampoline.S: New file. * sysdeps/unix/sysv/linux/sparc/brk.c: New file. * sysdeps/unix/sysv/linux/sparc/profil-counter.h: New file. * sysdeps/unix/sysv/linux/sparc/sigaction.c: New file. * sysdeps/unix/sysv/linux/sparc/socket.S: New file. * sysdeps/unix/sysv/linux/sparc/syscall.S: New file. * sysdeps/unix/sysv/linux/sparc/sysdep.h: New file. * sysdeps/unix/sysv/linux/sparc/Dist: New file. * sysdeps/unix/sysv/linux/sparc/Makefile: New file. * sysdeps/unix/sysv/linux/net/if_arp.h: Don't use kernel header. Provide own definition based on 4.4BSD and Linux. * sysdeps/unix/sysv/linux/net/ppp_defs.h: Define __u32 before including <linux/ppp_defs.h>. * sysdeps/unix/sysv/linux/sys/msq_buf.h (struct msqid_ds): Don't use __pid_t since the kernel might have a different size. * sysdeps/unix/sysv/linux/sys/shm_buf.h (struct shmid_ds): Likewise. Reported by Andreas Schwab. * time/asctime.c: Update copyright. * time/dysize.c: Likewise. * time/gmtime.c: Likewise. * time/timegm.c: Likewise. * time/offtime.c: Likewise. De-ANSI-declfy. * time/tzset.c (__tzset_internal): When TZ envvar does not name a DST timezone don't default to offset -1. * sysdeps/unix/sysv/linux/net/route.h: Don't use kernel header. Reported by a sun <asun@zoology.washington.edu>. * resolv/Makefile: Correct spelling: subdirs-dirs -> subdir-dirs. * sysdeps/stub/sysv_signal.c: New file. Stub implementation. * Makefile (distribute): Add mcheck.h. * nis/Makefile (distribute): Add nss-nis.h. * libio/Makefile (routines): Change vdprintf to iovdprintf to prevent dist problem. * nss/Makefile (distribute): Add digits_dots.c. * sysdeps/unix/sysv/linux/Dist: Add kernel_sigaction.h. * sysdeps/unix/sysv/linux/alpha/Dist: Add sys/procfs.h. * sysdeps/unix/sysv/linux/sparc/Dist: Add clone.S. * new-malloc/Makefile (distribute): Add mcheck-init.c and mcheck.h. Mon Jan 20 17:54:28 1997 Sven Verdoolaege <skimo@breughel.ufsia.ac.be> * manual/filesys.texi: Fix little problem (reentrant->readdir). Fri Jan 17 19:07:07 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * configure.in [$elf=yes]: Check for support of .previous and .popsection in the assembler. * config.h.in: Add HAVE_ASM_PREVIOUS_DIRECTIVE and HAVE_ASM_POPSECTION_DIRECTIVE. * libc-symbols.h (__make_section_unallocated) [HAVE_ELF]: Define appropriate if either .previous or .popsection is supported. (libc_warning) [HAVE_ELF]: Use it here. Sat Jan 18 22:15:26 1997 Richard Henderson <rth@tamu.edu> * Makeconfig (CFLAGS-.so): Add -fno-common to prevent odd sorts of errors that can occur when linking libc.so. Mon Jan 20 05:20:49 1997 Ulrich Drepper <drepper@cygnus.com> * elf/dl-load.c (open_path): When running setuid don't try a directory if it is not given with the full name. * elf/Makefile (before-compile): New variable. Mention trusted-dirs.h. (trusted-dirs.h): Construct file from $(default-rpath) and $(user-defined-trusted-dirs) variables. * elf/dl-load.c (_dl_map_object): Pass additional argument to open_path which is NULL except for the LD_LIBRARY_PATH pass in which case it is a pointer to the list of directories from the trusted-dirs.h file. (open_path): Accept additional argument with list of trusted dirs. When running setuid and a list of trusted dirs is given only use those which are mentioned in the list. * elf/rtld.c (dl_main): Don't reject whole LD_LIBRARY_PATH when running setuid. Instead accept entries which do not contain a '/'. * Makeconfig: Correct comment about +(default_cflags). Mon Jan 20 05:11:14 1997 Hrvoje Niksic <hniksic@srce.hr> * time/strptime.c (recursive): Use && not || to test for valid argument. Mon Jan 20 05:06:50 1997 Ulrich Drepper <drepper@cygnus.com> * elf/ldd.sh.in: Exit with value 1 if an error occured. * elf/ldd.bash.in: Likewise. * elf/rtld.c (dl_main): Do not always ignore LD_PRELOAD when the binary runs setuid. It is save to use those entries which do not contain a '/'. This is compatible with Solaris-2.
1997-01-21 06:10:42 +00:00
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. */
#include <assert.h>
#include <elf.h>
#include <errno.h>
#include <fcntl.h>
#include <libintl.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/mman.h>
Update. 2000-03-23 Andreas Jaeger <aj@suse.de> * elf/dl-addr.c: Adjust include paths for ldsodefs location change. * elf/dl-debug.c: Likewise. * elf/dl-deps.c: Likewise. * elf/dl-error.c: Likewise. * elf/dl-fini.c: Likewise. * elf/dl-init.c: Likewise. * elf/dl-load.c: Likewise. * elf/dl-lookup.c: Likewise. * elf/dl-minimal.c: Likewise. * elf/dl-object.c: Likewise. * elf/dl-open.c: Likewise. * elf/dl-preinit.c: Likewise. * elf/dl-profile.c: Likewise. * elf/dl-profstub.c: Likewise. * elf/dl-reloc.c: Likewise. * elf/dl-runtime.c: Likewise. * elf/dl-support.c: Likewise. * elf/dl-symbol.c: Likewise. * elf/dl-version.c: Likewise. * elf/rtld.c: Likewise. * elf/sprof.c: Likewise. * sysdeps/generic/dl-cache.c: Likewise. * sysdeps/generic/dl-origin.c: Likewise. * sysdeps/generic/dl-sysdep.c: Likewise. * sysdeps/generic/elf/backtracesyms.c: Likewise. * sysdeps/generic/elf/backtracesymsfd.c: Likewise. * sysdeps/generic/libc-start.c: Likewise. * sysdeps/mach/hurd/dl-sysdep.c: Likewise. * sysdeps/powerpc/dl-machine.c: Likewise. * sysdeps/powerpc/elf/libc-start.c: Likewise. * sysdeps/sparc/sparc32/dl-machine.h: Likewise. * sysdeps/sparc/sparc64/dl-machine.h: Likewise. * sysdeps/unix/sysv/linux/dl-origin.c: Likewise. * elf/ldsodefs.h: Move file to ... * sysdeps/generic/ldsodefs.h: ... here. * sysdeps/generic/ldsodefs.h: Add definition for D_PTR. * sysdeps/mips/elf/ldsodefs.h: New file. * elf/dl-version.c (match_symbol): Use D_PTR to access relocated entries in l_info. (_dl_check_map_versions): Likewise. * elf/dl-reloc.c (_dl_relocate_object): Likewise. * elf/dl-load.c (_dl_init_paths): Likewise. (_dl_map_object): Likewise. * elf/dynamic-link.h (_ELF_DYNAMIC_DO_RELOC): Likewise. (elf_get_dynamic_info): Likewise. * elf/do-lookup.h (FCT): Likewise. * elf/do-rel.h (elf_dynamic_do_rel): Likewise. * elf/dl-deps.c (_dl_map_object_deps): Likewise. * elf/dl-addr.c (_dl_addr): Likewise. * elf/dl-runtime.c (profile_fixup): Likewise. (fixup): Likewise. * elf/dl-init.c (_dl_init_next): Likewise. * sysdeps/generic/dl-machine.h (elf_machine_runtime_setup): Likewise. * sysdeps/unix/sysv/linux/i386/dl-librecon.h (DISTINGUISH_LIB_VERSIONS): Likewise. * sysdeps/i386/dl-machine.h (elf_machine_runtime_setup): Likewise. (elf_machine_rel): Likewise. * elf/dynamic-link.h (elf_get_dynamic_info): Only change l_info for writable dynamic section.
2000-03-23 20:31:46 +00:00
#include <ldsodefs.h>
Update. 1997-08-14 03:14 Ulrich Drepper <drepper@cygnus.com> * elf/dl-minimal.c: Don't use relative #include paths. (malloc): Don't try to initialize _dl_pagesize, it already is. (__sigjmp_save, longjmp): Reformat. * sysdeps/generic/dl-sysdep.c: Implement _dl_show_auxv function to show content of auxiliary array. (_dl_sysdep_start): Remember start of auxiliary vector. * sysdeps/mach/hurd/dl-sysdep.c: (_dl_show_auxv): New dummy function. * elf/link.h: Add prototype for _dl_show_auxv. * elf/rtld.c (dl_main): Call _dl_show_auxv if LD_SHOW_AUXV envvar is present. * libio/iofdopen.c: Better prepare for use in libstdc++. * libio/iofflush.c: Likewise. * libio/iofgetpos.c: Likewise. * libio/iofgets.c: Likewise. * libio/iofopen.c: Likewise. * libio/iofputs.c: Likewise. * libio/iofread.c: Likewise. * libio/iofsetpos.c: Likewise. * libio/ioftell.c: Likewise. * libio/iofwrite.c: Likewise. * libio/iogetdelim.c: Likewise. * libio/iogets.c: Likewise. * libio/iopopen.c: Likewise. * libio/ioputs.c: Likewise. * libio/iosetbuffer.c: Likewise. * libio/iosetvbuf.c: Likewise. * libio/ioungetc.c: Likewise. * libio/iovsprintf.c: Likewise. * libio/iovsscanf.c: Likewise. * manual/creature.texi: Mention _XOPEN_SOURCE_EXTENDED in correct place. * manual/math.texi: Add comment to sincos decsription to say it's a GNU extension. Fix description of random function. * posix/fnmatch.h: Recognize Windog by _WINDOWS32 not WIN32. * posix/glob.c: Likewise. Handle stupid system headers on SunOS. Add casts for all __alloca calls. * posix/glob.h: Recognize Windog by _WINDOWS32 not WIN32. Declare additional GLOB_* constants also if _GNU_SOURCE is defined. Patches by Paul D. Smith <psmith@BayNetworks.COM>. * stdio-common/_itoa.c: Don't use relateive #include paths. * sysdeps/i386/fpu/bits/mathinline.h: Enable optimizations even for gcc 2.7. (atan): Loading 1.0 from memory does not pay off. (asinh): Fix typo. 1997-08-13 09:44 Philip Blundell <Philip.Blundell@pobox.com> * sysdeps/stub/accept.c: Use socklen_t where necessary. * sysdeps/stub/bind.c: Likewise. * sysdeps/stub/connect.c: Likewise. * sysdeps/stub/getsockname.c: Likewise. * sysdeps/stub/getsockopt.c: Likewise. * sysdeps/stub/recvfrom.c: Likewise. * sysdeps/stub/sendto.c: Likewise. * sysdeps/stub/setsockopt.c: Likewise. 1997-08-11 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * io/ftw.c (object_compare): Avoid memcmp when comparing scalar types. 1997-08-12 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * math/libm-test.c (cbrt_test): Add epsilon for long double to `cbrt (-0.001)'. 1997-08-11 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/stub/bits/string.h: Fix comment. 1997-08-01 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * elf/Makefile (routines): Remove dl-version. (dl-routines): Add it here instead. This removes dead code from libc.so. 1997-08-12 17:17 Wolfram Gloger <wmglo@dent.med.uni-muenchen.de> * malloc/thread-m.h (thread_atfork, thread_atfork_static): New macros to encapsulate pthread_atfork's functionality. * malloc/malloc.c (ptmalloc_lock_all, ptmalloc_unlock_all): New functions, registered via thread_atfork in the initialization routine or via thread_atfork_static in global scope. This ensures a consistent state of all locks across fork(). 1997-08-11 23:00:32 1997 Mark Kettenis <kettenis@phys.uva.nl> * login/programs/xtmp.c (compare_entry): Partially undo patch made by Klaus Espenlaub. There was no xtmp/utmp typo. Added comment to cclarify this. * login/programs/xtmp.h: Likewise. * posix/getopt.c: Recognize Windog by _WINDOWS32 not WIN32. Patch by Paul D. Smith <psmith@BayNetworks.COM>. 1997-08-12 13:51 Ulrich Drepper <drepper@cygnus.com> * login/getutid.c: Rename to __getutid and make getutid and getutxid weak aliases. Patch by ir. Mark M._Kettenis <kettenis@phys.uva.nl>. 1997-08-11 23:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/unix/sysv/linux/Makefile [subdir=misc] (sysdep_headers): Add bits/mman.h. 1997-08-11 08:51:21 1997 H.J. Lu <hjl@gnu.ai.mit.edu> * stdlib/fmtmsg.c (fmtmsg): Add static to __libc_once_define macro. * libc.map (__progname_full, __progname): Added. 1997-08-04 08:31 H.J. Lu <hjl@gnu.ai.mit.edu> * sysdeps/unix/sysv/linux/if_index.c (if_nametoindex): Return 0 if SIOGIFINDEX is not defined. (if_indextoname): Initialize "result" to NULL. (if_nametoindex, if_nameindex): Fix ENOSYS setting. 1997-08-11 11:58 Richard Henderson <rth@cygnus.com> Sparc ISO C 9x exception handling: * sysdeps/sparc/fpu/bits/mathdef.h: New file. * sysdeps/sparc/fpu/fclrexcpt.c: New file. * sysdeps/sparc/fpu/fegetenv.c: New file. * sysdeps/sparc/fpu/fegetround.c: New file. * sysdeps/sparc/fpu/feholdexcpt.c: New file. * sysdeps/sparc/fpu/fesetenv.c: New file. * sysdeps/sparc/fpu/fesetround.c: New file. * sysdeps/sparc/fpu/feupdateenv.c: New file. * sysdeps/sparc/fpu/fgetexcptflg.c: New file. * sysdeps/sparc/fpu/fraiseexcpt.c: New file. * sysdeps/sparc/fpu/fsetexcptflg.c: New file. * sysdeps/sparc/fpu/ftestexcept.c: New file. * sysdeps/sparc/sparc32/fpu/bits/fenv.h: New file. * sysdeps/sparc/sparc64/fpu/bits/fenv.h: New file. 1997-08-11 11:58 Richard Henderson <rth@cygnus.com> Sparc64 merge: * configure.in: Change up subdirectories, rename sparc8->sparcv8. * csu/Makefile: Nuke need-nopic-initfini bits. The problem was that sparc64 ld did not recognize pic relocs at all. * elf/dl-deps.c: Include <string.h>. * elf/do-rel.h (elf_dynamic_do_rel): Take reloc address and size directly instead of the DT names to get them from. * elf/dynamic-link.h (_ELF_DYNAMIC_DO_RELOC): New macro distilled from ELF_DYNAMIC_DO_REL{,A}. Define a second version that accounts for the possibility that DT_RELA and DT_JMPPLT overlap, as such is the case on the Sparc. * elf/elf.h: Stub out Elf64_Ver*, and make them the same as the Elf32_Ver* bits. The linker does not even know to differentiate between the word sizes. Someone should examine this and figure out what the proper sizes of things should be for 64-bit hosts before the sparc64 libraries are distributed. * shlib-versions: Rename sparc64 ld.so to not conflict with sparc32 on the same machine. Move old sysdeps/sparc contents to sysdeps/sparc/sparc32, rename sparc8 subdir to sparcv8, move sysdeps/sparc64 content to sysdeps/sparc/sparc64. Same for sysdeps/unix/sysv/linux/sparc. * sysdeps/sparc/Implies: Do ieee754 here. * sysdeps/sparc/configure.in: Move from sparc32/. * sysdeps/sparc/sparc32/Implies: Do wordsize here. * sysdeps/sparc/sparc64/Implies: Likewise. * sysdeps/sparc/sparc32/dl-machine.h (elf_machine_load_address): Use uninitialized .got to find load address instead of AT_BASE, as the later does not exist when running ld.so directly. * sysdeps/sparc/sparc32/fpu/fpu_control.h: Move from ../. * sysdeps/sparc/sparc64/fpu/fpu_control.h: Likewise. * sysdeps/sparc/sparc32/udiv_qrnnd.S: Clean up PIC support. * sysdeps/sparc/sparc64/Makefile (sysdep_routines): Add s_finitel and s_signbitl for stdio. * sysdeps/sparc/sparc64/configure.in: Remove, we no longer need nopic_initfini. * sysdeps/sparc/sparc64/bsd-_setjmp.S: Remove. * sysdeps/sparc/sparc64/bsd-setjmp.S: Remove. * sysdeps/unix/sysv/linux/sparc/sparc64/bsd-_setjmp.S: New empty file. * sysdeps/unix/sysv/linux/sparc/sparc64/bsd-setjmp.S: New empty file. * sysdeps/unix/sysv/linux/sparc/sparc64/longjmp.S: Add __longjmp alias. * sysdeps/unix/sysv/linux/sparc/sparc64/setjmp.S: Add weak _setjmp and setjmp entry points. * sysdeps/sparc/sparc64/dl-machine.h: Finish real implementation. * sysdeps/sparc/sparc64/elf/crtbegin.S: Add copyright, fix PIC. * sysdeps/sparc/sparc64/elf/crtend.S: Likewise. * sysdeps/unix/sysv/linux/sparc/bits/sigaction.h (struct sigaction): Fix sa_flags size for sparc64; add sa_restorer for kernel. * sysdeps/unix/sysv/linux/sparc/sparc64/brk.S: Fix PIC. * sysdeps/unix/sysv/linux/sparc/sparc64/clone.S: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/init-first.h: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/syscall.S: New file. 1997-08-10 18:29:08 1997 Mark Kettenis <kettenis@phys.uva.nl> * login/login.c (login): Check for correct return value of utmpname. 1997-08-11 16:49 Ulrich Drepper <drepper@cygnus.com> * time/tzset.c (__tzset_internal): Correctly handle TZ strings following incorrect old POSIX specs. Patch by Paul Eggert <eggert@twinsun.com>. * sysdeps/generic/bits/sigaction.h: Correct comment for SA_RESTART. * sysdeps/unix/bsd/osf/bits/sigaction.h: Likewise. * sysdeps/unix/sysv/linux/alpha/bits/sigaction.h: Likewise. * sysdeps/unix/sysv/linux/bits/sigaction.h: Likewise. * sysdeps/unix/sysv/linux/mips/bits/sigaction.h: Likewise. * sysdeps/unix/sysv/linux/sparc/bits/sigaction.h: Likewise. * sysdeps/unix/sysv/minix/bits/sigaction.h: Likewise. * sysdeps/unix/sysv/sysv4/bits/sigaction.h: Likewise. Reported by NIIBE Yutaka <gniibe@mri.co.jp>. 1997-08-09 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * manual/math.texi: Define the macros @mul and @infinity and use them to format the multiplication and infinity signs. (FP Comparison Functions): Use @code, not @math, for C code examples. * elf/dl-profile.c: Add descriptions and implement reading of
1997-08-14 01:54:13 +00:00
#include <stdio-common/_itoa.h>
#include <fpu_control.h>
#include <entry.h>
Update. 1997-07-26 04:14 Ulrich Drepper <drepper@cygnus.com> * elf/Makefile (distribute): Add genrtldtbl.awk. (before-compile): Add rtldtbl.h. (GAWK): New variable. (generated): Add trusted-dirs.h and rtldtbl.h. ($(objpfx)rtldtbl.h): New rule. File is needed by dl-load.c. * elf/dl-load.c: Rewrite. Now use cache and look for shared objects in machine dependent directories. * elf/dl-object.c (_dl_new_object): Initialize l_rpath_dirs member. * elf/dl-support.c: Rename function to non_dynamic_init and add initialization for _dl_platform, _dl_platformlen, _dl_pagesize and call to initializer for search path. * elf/elf.h: Add AT_PLATFORM and AT_HWCAP. * elf/genrtldtbl.awk: New file. * elf/link.h: Add type definitions and declarations for search path cache. * elf/rtld.c: Add definitions of variables used for search path cache. * sysdeps/generic/dl-sysdep.c: Let auxiliary vector initialize _dl_platform. Initialize _dl_pagesize early and use this value. * sysdeps/i386/dl-machine.h: Add code for _dl_platform handling. * sysdeps/mach/hurd/dl-sysdep.c: Initialize _dl_pagesize. * sysdeps/unix/sysv/linux/dl-sysdep.c: Use _dl_pagesize instead of calling getpagesize. * elf/dl-error.c (_dl_signal_error): Make message nicer. * nss/libnss_files.map: Fix typo. Reported by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>. * sysdeps/generic/strsep.c: Optimize case where separator set contains only one character. * sysdeps/libm-ieee754/s_ccosh.c: Correct sign of result for real == +-Inf. * sysdeps/libm-ieee754/s_ccoshf.c: Likewise. * sysdeps/libm-ieee754/s_ccoshl.c: Likewise. 1997-07-25 09:15 H.J. Lu <hjl@gnu.ai.mit.edu> * sysdeps/sparc/udiv_qrnnd.S: Check PIC instead of __PIC__. * sysdeps/unix/sysv/linux/sparc/__sigtrampoline.S: Likewise. * sysdeps/unix/mips/sysdep.S: Likewise. * sysdeps/unix/sysv/linux/mips/clone.S: Likewise. * sysdeps/mips/bsd-_setjmp.S: Remove __PIC__ comment. * sysdeps/mips/bsd-setjmp.S: Likewise. * sysdeps/mips/dl-machine.h: Remove extra stuff. * sysdeps/mips/mips64/dl-machine.h: Likewise. 1997-07-25 18:55 Philip Blundell <Philip.Blundell@pobox.com> * sysdeps/standalone/arm/sysdep.c: New file. 1997-07-25 13:25 Philip Blundell <Philip.Blundell@pobox.com> * aout/Makefile: New file. * Makeconfig (binfmt-subdir): Assume a.out when not ELF. * sysdeps/generic/machine-gmon.h: Add warning about limitations of __builtin_return_address(). * sysdeps/arm/machine-gmon.h: New file, use assembly to avoid above problem. 1997-07-25 16:24 H.J. Lu <hjl@gnu.ai.mit.edu> * elf/dl-deps.c (_dl_map_object_deps): Fix a typo. 1997-07-22 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * math/libm-test.c (ccos_test, ccosh_test): Fix sign in some tests. 1997-07-24 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sunrpc/clnt_udp.c (clntudp_call): Rename cu_wait from timeout to not shadow the variable in the outer scope.
1997-07-26 02:33:30 +00:00
#include <dl-machine.h>
#include <dl-procinfo.h>
#include <dl-osinfo.h>
#include <hp-timing.h>
#include <tls.h>
Sat Jul 22 01:56:03 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> * sysdeps/unix/i386/sysdep.h (JUMPTARGET): New macro; use name@PLT #ifdef PIC. (PSEUDO): Use JUMPTARGET(syscall_error) in jump insn. * sysdeps/unix/i386/syscall.S: Use JUMPTARGET(syscall_error) in jump insn. * sysdeps/unix/sysv/sysv4/linux/i386/sysdep.h: Rewritten. * sysdeps/unix/sysv/sysv4/linux/i386/syscall.S: New file. * sysdeps/unix/sysv/sysv4/linux/i386/socket.S: Include <sys/socketcall.h>. Save %ebx in call-clobbered %edx instead of stack. Use JUMPTARGET(syscall_error) in jump insn. * Makeconfig (+gccwarn): Add -Wbad-function-cast -Wconversion. * sysdeps/unix/i386/sysdep.h (ENTRY): Use ASM_GLOBAL_DIRECTIVE and ASM_TYPE_DIRECTIVE. (ASM_TYPE_DIRECTIVE): New macro; defined using `.type' #ifdef ELF. * sysdeps/unix/sysv/sysv4/linux/i386/sysdep.S (__syscall_error): Rewritten, #include'ing unix/i386/sysdep.S for most of the code. * sysdeps/unix/i386/sysdep.S [PIC]: Store into `errno' through the GOT. Fixes to help Linux, inspired by drepper's work: * configure.in (os=linux*): Use unix/sysv/sysv4 for $base_os, instead of unix/sysv. * sysdeps/posix/utimes.c: New file. * sysdeps/generic/getdomain.c: New file. * sysdeps/i386/init-first.c: Removed gratuitous #include <hurd.h>. * sysdeps/generic/dl-sysdep.c: Include <unistd.h> and declare externals _dl_argc, _dl_argc, and _environ. * sysdeps/unix/sysv/linux/{accept,connect,getsockname,rename, socketpair,waitpid,bind,getpeername,listen,setsid,wait4}.S: Moved to new directory sysdeps/unix/sysv/sysv4/linux. * sysdeps/unix/sysv/linux: Directory removed. * sysdeps/unix/sysv/i386/linux/{socket.S,sysdep.h,sysdep.S}: Moved to new directory sysdeps/unix/sysv/sysv4/linux/i386. * sysdeps/unix/sysv/linux/i386: Directory removed.
1995-07-22 10:48:43 +00:00
extern char **_environ attribute_hidden;
extern void _end attribute_hidden;
Sun Jul 28 23:46:14 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> * time/strftime.c (strftime: do_number): Initialize PRINTED to MAXDIGITS in case P is null and so sprintf is never actually called. Mon Jul 29 02:46:23 1996 Ulrich Drepper <drepper@cygnus.com> Add support for the to-be-written internationalized regexp. This code must be able to use collation symbols and collation equivalent classes. * locale/C-collate.c (_nl_C_LC_COLLATE_symbol_hash, _nl_C_LC_COLLATE_symbol_strings, _nl_C_LC_COLLATE_symbol_classes): New global variables for collation classes. * locale/categories.def: Add new descriptions for collation symbols and collation classes. * locale/langinfo.h: Add constants for collation symbols and collation classes. * locale/lc-collate.c: Add new global variables for collation symbols and collation classes. (_nl_postload_collate): Initialize new variables. * locale/programs/ld-collate.c: Add code to emit tables for collation symbols and collation classes. * locale/programs/locales.h: Change prototype for `collate_output'. * locale/programs/locfile.c (write_all_categories): Call `collate_output' with new argument. * locale/localeinfo.h: Add declaration for new global vars. (union locale_data_value): New member wstr for `wchar_t' strings. * locale/programs/locale-spec.c: Handle `collate-classes' keyword and print information about available collation classes. * locale/strlen-hash.h: New file. Simple hashing function which takes a string with known length. * locale/Makefile (distribute): Add strlen-hash.h. (locale-modules): New var. Additional files for `locale' program. * locale/C-ctype.c: Rewrite to avoid using string for giving values which are of type `u_int32_t'. Correct entry for EOF in toupper and tolower tables. * locale/loadlocale.c (_nl_load_locale): Add cast to prevent warning. * locale/programs/ld-ctype.c (ctype_output): Add code to make sure that all tables in binary file are words aligned. * locale/programs/locfile.c (write_locale_data): Correct handling of LC_MESSAGES locale. Create directory if necessary. * locale/setlocale.c (setlocale): Add cast to avoid warning. * string/string.h: Add prototype for `__strndup'. Wed Jul 24 19:10:00 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * wcsmbs/mbrtowc.c: Remove unused variable. Sun Jul 28 22:40:25 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> * sysdeps/unix/sysv/linux/configure.in (LIBC_LINUX_VERSION): Update to 2.0.10; some problems were reported with an earlier version, and this one is known to work. * sysdeps/generic/dl-sysdep.c (__libc_enable_secure): New variable. * sysdeps/mach/hurd/dl-sysdep.c: Likewise.
1996-07-29 03:49:00 +00:00
/* Protect SUID program against misuse of file descriptors. */
extern void __libc_check_standard_fds (void);
#ifdef NEED_DL_BASE_ADDR
Update. 1997-08-24 12:24 Ulrich Drepper <drepper@cygnus.com> * configure.in (INSTALL): Quote `$'. * libc.map: Add __xpg_basename. * csu/Makefile (initfini.s): Disable optimization. * elf/dl-deps.c: Implement handling of DL_FILTER. * elf/dl-load.c (_dl_init_paths): Add error check. * intl/finddomain.c (_nl_find_domain): Correct comment. * intl/localealias.c: Include <bits/libc-lock.h> not <libc-lock.h>. * libio/stdio.h: Make {,v}snprintf available if __USE_BSD. Change extern inline functions to work correctly in C++. * locale/iso-4217.def: Update for more recent ISO 4217 version. * locale/loadlocale.c (_nl_load_locale): Add cast. * manual/message.texi: Finish gettext section. * posix/getopt_init.c: Don't use relative #include path. (__getopt_clean_environment): Change function to take pointer to environment as argument. Optimize generation of test string a bit. * sysdeps/unix/sysv/linux/init-first.c: Call __getopt_clean_environment with additional argument. * poisx/glob.c: Add prototype for next_brace_sub. * sysdeps/generic/dl-sysdep.c: Recognize AT_BASE value on auxiliary vector. * sysdeps/i386/dl-machine.h (elf_machine_load_address): Rewrite to not generate relocation entry. Suggested by Richard Henderson. (ELF_MACHINE_BEFORE_RTLD_RELOC): Removed. (elf_machine_runtime_setup): Add .aligns. * sysdeps/i386/fpu/fraiseexcpt.c: Add volatile to asms. * sysdeps/i386/fpu/bits/mathinline.h: Partially undo change of 1997-08-14 03:14. gcc 2.7.2* is really broken in some aspects. * sysdeps/standalone/i386/i386.h: Clean up asm statements a bit. * sysdeps/standalone/i960/i960ca.h: Likewise. 1997-08-22 19:04 Richard Henderson <rth@cygnus.com> * elf/rtld.c (_dl_start): Init _dl_rtld_map.l_opencount due to undocumented test addition in _dl_map_object. Support ET_EXEC versions of ld.so, for debugging at least: * elf/dl-load.c (_dl_map_object): Add_name_to_object could get called despite the DT_SONAME != NULL test, segfaulting. Simplify the code here as well. * elf/dl-lookup.c (do_lookup): Skip objects with no symtab. (_dl_setup_hash): Likewise for hash tables. * elf/dl-version.c (_dl_check_map_versions): Likewise for strtabs. * elf/rtld.c (_dl_start): Likewise for rpath. (_dl_rtld_libname2): New variable. (dl_main): Use it to add an soname for ourselves when we don't have one of our own. Base it on the target's .interp. (dl_main): Again, skip printing of objects that don't have strtabs. Sparc 32 merge: * elf/dl-runtime.c (ELF_FIXUP_RETURN_VALUE): Provide default value. (fixup): Simplify code. Use ELF_FIXUP_RETURN_VALUE. (profile_fixup): Likewise, though this still needs fixing for Sparc32 and PPC. * sysdeps/powerpc/dl-machine.h: Transmute ELF_FIXUP_RETURNS_ADDRESS to ELF_FIXUP_RETURN_VALUE. * sysdeps/sparc/sparc32/dl-machine.h: Implement lazy relocation. Fix up _dl_start_user to handle _dl_skip_args properly. Use _dl_hwcap to determine if "flush" is available/needed. * sysdeps/sparc/configure.in: Remove. It doesn't actually do anything anymore, and what it did do is done somewhere else. * sysdeps/sparc/configure: Likewise. * sysdeps/sparc/fpu/bits/mathdef.h (FP_ILOGB0, FP_ILOGBNAN): New. * sysdeps/sparc/fpu/fraiseexcpt.c: Rearrange for smaller code. * sysdeps/sparc/sparc32/Makefile: Fix sparc->sparc/sparc32 bits in divrem expansions. * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h (END, LOC): New definitions for assembly syntax differences. * sysdeps/sparc/sparc32/__longjmp.S: %g6,%g7 are reserved to the "system". Use %g2,%g3 instead. Use new local label macro. * sysdeps/sparc/sparc32/add_n.S: Use <sysdep.h> and ENTRY, END, and LOC for proper assembly headers/footers. * sysdeps/sparc/sparc32/addmul_1.S: Likewise. * sysdeps/sparc/sparc32/alloca.S: Likewise. * sysdeps/sparc/sparc32/dotmul.S: Likewise. * sysdeps/sparc/sparc32/lshift.S: Likewise. * sysdeps/sparc/sparc32/mul_1.S: Likewise. * sysdeps/sparc/sparc32/rshift.S: Likewise. * sysdeps/sparc/sparc32/sparcv8/addmul_1.S: Likewise. * sysdeps/sparc/sparc32/sparcv8/mul_1.S: Likewise. * sysdeps/sparc/sparc32/sparcv8/submul_1.S: Likewise. * sysdeps/sparc/sparc32/sparcv8/udiv_qrnnd.S: Likewise. * sysdeps/sparc/sparc32/sub_n.S: Likewise. * sysdeps/sparc/sparc32/submul_1.S: Likewise. * sysdeps/sparc/sparc32/udiv_qrnnd.S: Likewise. * sysdeps/sparc/sparc32/umul.S: Likewise. * sysdeps/sparc/sparc32/divrem.m4: Likewise. * sysdeps/sparc/sparc32/rem.S: Regenerate. * sysdeps/sparc/sparc32/sdiv.S: Regenerate. * sysdeps/sparc/sparc32/udiv.S: Regenerate. * sysdeps/sparc/sparc32/urem.S: Regenerate. * sysdeps/sparc/sparc32/sparcv8/dotmul.S: New file. * sysdeps/sparc/sparc32/sparcv8/rem.S: New file. * sysdeps/sparc/sparc32/sparcv8/sdiv.S: New file. * sysdeps/sparc/sparc32/sparcv8/udiv.S: New file. * sysdeps/sparc/sparc32/sparcv8/umul.S: New file. * sysdeps/sparc/sparc32/sparcv8/urem.S: New file. * sysdeps/sparc/sparc32/bsd-_setjmp.S: Dike out. * sysdeps/sparc/sparc32/bsd-setjmp.S: Likewise. * sysdeps/sparc/sparc32/setjmp.S: Add _setjmp and setjmp entry points. * sysdeps/unix/sysv/linux/sparc/sparc32/__sigtrampoline.S: Clean up PIC code. * sysdeps/sparc/sparc32/elf/start.S: New file, slightly modified from the sparc64 version. * sysdeps/sparc/sparc32/elf/start.c: Removed. * sysdeps/unix/sysv/linux/sparc/sparc32/init-first.h: Rewrite in assembly based on the sparc64 version. * sysdeps/sparc/sparc32/fpu/bits/fenv.h: Duh. Use proper syntax for manipulating %fsr. * sysdeps/sparc/sparc32/fpu/fpu_control.h: Make IEEE conformance be the default. * elf/elf.h (HWCAP_SPARC_*): New definitions. * elf/rtld.c (_dl_hwcap): New variable. * sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Record AT_HWCAP. * sysdeps/unix/sysv/linux/sparc/sparc32/getpagesize.c: New file. Attempt to get hold of the page size based on what we might have been told at startup time in _dl_pagesize. This will be obsolete when I finish the kernel hooks for a proper sysconf(), stay tuned. Sparc 64 merge: * sysdeps/sparc/sparc64/dl-machine.h (ELF_FIXUP_RETURN_VALUE): New. Figure out the right thing to return based on the .plt format. * sysdeps/sparc/sparc64/fpu/fpu_control.h: Update comment. * sysdeps/unix/sysv/linux/sparc/sparc64/bits/types.h (__dev_t): Should have been 64-bits wide. * sysdeps/unix/sysv/linux/sparc/sparc64/init-first.h: sll->sllx, optimize for branch delay slot usage. 1997-08-22 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * csu/Makefile ($(objpfx)crt%.o): Fix a missing *.so -> *.os change. 1997-08-20 Andreas Jaeger <aj@arthur.rhein-neckar.de> * math/libm-test.c (identities): Change epsilon. * sysdeps/i386/fpu/bits/mathinline.h: Correct arguments to fabs, fabsf, fabsl, __fabsl. * sysdeps/libm-i387/e_remainderl.S: Pop extra value from FPU stack. * sysdeps/libm-ieee754/s_csinhl.c: Include <fenv.h>.
1997-08-24 10:55:18 +00:00
ElfW(Addr) _dl_base_addr;
#endif
Update. 2002-03-01 Ulrich Drepper <drepper@redhat.com> * elf/Makefile (dl-routines): Add dl-origin. (elide-routines.os): Add dl-origin. * elf/Versions [ld] (GLIBC_PRIVATE): Add _dl_get_origin. * elf/dl-debug.c (_dl_debug_initialize): Add missing INTUSE around _dl_debug_state. * include/libc-symbols.c: Define attribute_hidden depending on HAVE_VISIBILITY_ATTRIBUTE. Add definition of INTVARDEF. * elf/dl-deps.c: Use INTUSE with __libc_enable_secure. * elf/dl-load.c: Likewise. * elf/rtld.c: Likewise. * include/unistd.h: Declare __libc_enable_secure_internal. * sysdeps/generic/dl-sysdep.c: Use INTVARDEF with __libc_enable_secure. Use INTUSE with __libc_enable_secure. * sysdeps/mach/hurd/dl-sysdep.c: Likewise. * elf/dl-deps.c: Use INTUSE with _dl_out_of_memory. * elf/dl-error.c: Likewise, * sysdeps/generic/ldsodefs.h: Declare _dl_out_of_memory_internal. * elf/dl-dst.h [_RTLD_GLOBAL]: Define _dl_get_origin to use INTUSE. * sysdeps/generic/dl-origin.c: Undefine _dl_get_origin macro before function definition. Use INTDEF with _dl_get_origin. * sysdeps/unix/sysv/linux/dl-origin.c: Likewise. * elf/dl-init.c: Use INTUSE with _dl_starting_up. * elf/rtld.c: Likewise. Use INTVARDEF for _dl_starting_up. * elf/dl-profile.c: Use INTDEF for _dl_mcount. * elf/dl-runtime.c: Use INTUSE with _dl_mcount. * sysdeps/generic/ldsodefs.h: Declare _dl_mcount_internal. * elf/dl-conflict.c: Use rtld_progrname instead of _dl_argv[0]. * elf/dl-deps.c: Likewise. * elf/dl-error.c: Likewise. * elf/dl-fini.c: Likewise. * elf/dl-init.c: Likewise. * elf/dl-load.c: Likewise. * elf/dl-lookup.c: Likewise. * elf/dl-reloc.c: Likewise. * elf/dl-version.c: Likewise. * elf/do-lookup.h: Likewise. * sysdeps/arm/dl-machine.h: Likewise. * sysdeps/cris/dl-machine.h: Likewise. * sysdeps/hppa/dl-machine.h: Likewise. * sysdeps/i386/dl-machine.h: Likewise. * sysdeps/m68k/dl-machine.h: Likewise. * sysdeps/powerpc/dl-machine.h: Likewise. * sysdeps/s390/s390-32/dl-machine.h: Likewise. * sysdeps/s390/s390-64/dl-machine.h: Likewise. * sysdeps/sh/dl-machine.h: Likewise. * sysdeps/sparc/sparc-32/dl-machine.h: Likewise. * sysdeps/sparc/sparc-64/dl-machine.h: Likewise. * sysdeps/x86_64/dl-machine.h: Likewise. * elf/rtld.c: Use INTDEF for _dl_argv. Use rtld_progrname instead of _dl_argv[0]. Use INTUSE with _dl_argv. * sysdeps/generic/dl-sysdep.c: Use INTUSE with _dl_argv. * sysdeps/generic/ldsodefs.h: Define rtld_progname macro.
2002-03-01 09:44:29 +00:00
int __libc_enable_secure = 0;
INTVARDEF(__libc_enable_secure)
int __libc_multiple_libcs = 0; /* Defining this here avoids the inclusion
update from main archive 960828 Thu Aug 29 00:28:08 1996 Ulrich Drepper <drepper@cygnus.com> * stdio-common/printf_fp.c (__printf_fp): Use default value `.` if `decimal' char is 0. * C-numeric.c (not_available): New constant. (_nl_C_LC_NUMERIC): Use `not_available' for grouping value. * nss/nsswitch.conf: Example configuration file. * nss/db-Makefile: Example Makefile for generation of databases for nss_db. * nss/Makefile (distribute): Add nsswitch.conf and db-Makefile. 1996-08-28 Paul Eggert <eggert@twinsun.com> * C-messages.c (_nl_C_LC_MESSAGES): Set yesexpr to "^[yY]" and noexpr to "^[nN]"; this conforms to POSIX.2. * C-time.c (_nl_C_LC_TIME): Change %d to %e in d_t_format, to conform to POSIX.2. 1996-08-28 Paul Eggert <eggert@twinsun.com> * C-monetary.c (not_available): New constant. (_nl_C_LC_MONETARY): Set mon_decimal_point to "", and set mon_grouping, int_frac_digits, frac_digits, p_cs_precedes, p_sep_by_space, n_cs_precedes, n_sep_by_space, p_sign_posn, and n_sign_posn to CHAR_MAX, as required by the POSIX Standard. Wed Aug 28 23:12:28 1996 Ulrich Drepper <drepper@cygnus.com> * nss/nss_db/db-XXX.c: Correct function names. They must be `_nss_db_*' instead of `_nss_files_*'. (lookup): `parse_line' returns 1 if succesful. * nss/nss_files/files-service.c (servbyname): Key for database must also contain protocol names. (servbypt): Likewise. Test must also check for protocol. Add `proto' argument. Tue Aug 27 09:56:13 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * MakeTAGS ($P/subdirs.pot): Prefix all file names, not only the first one. Fri Aug 16 16:11:25 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu> * nss/nss_dns/dns-host.c (_nss_dns_gethostbyname2_r): Treat EPFNOSUPPORT and EAFNOSUPPORT as implying NSS_STATUS_UNAVAIL just like ECONNREFUSED already does. (_nss_dns_gethostbyaddr_r): Likewise. * nss/nss_dns/dns-network.c (_nss_dns_getnetbyname_r): Likewise. (_nss_dns_getnetbyaddr_r): Likewise. * sysdeps/mach/hurd/socket.c (socket): For message transmission and RPC errors that indicate that the socket server is not really present and able to do its job, turn the error into EPFNOSUPPORT. * sysdeps/generic/sbrk.c (__sbrk): Get kernel brk address always only if in static libc or if statically linked program uses libc.so.
1996-08-29 00:31:18 +00:00
of init-first. */
Update. 1998-06-09 Ulrich Drepper <drepper@cygnus.com> * sysdeps/unix/sysv/linux/netinet/ip.h (struct ip_options): Define __data member only for gcc. Reported by ak@muc.de. * misc/mntent.h: Undo last patch. * sysdeps/unix/sysv/linux/fstatvfs.c (fstatvfs): Undo last patch. * misc/tst/mntent.c: Adjust code for this change. * io/fts.c: Updated from a slightly more recent BSD version. * io/fts.h: Likewise. * libc.map: Add __libc_stack_end. * db2/Makefile (routines): Add lock_region. * db2/config.h: Update from db-2.4.14. * db2/db.h: Likewise. * db2/db_185.h: Likewise. * db2/db_int.h: Likewise. * db2/bt_close.c: Likewise. * db2/bt_compare.c: Likewise. * db2/bt_conv.c: Likewise. * db2/bt_cursor.c: Likewise. * db2/bt_delete.c: Likewise. * db2/bt_open.c: Likewise. * db2/bt_page.c: Likewise. * db2/bt_put.c: Likewise. * db2/bt_rec.c: Likewise. * db2/bt_recno.c: Likewise. * db2/bt_rsearch.c: Likewise. * db2/bt_search.c: Likewise. * db2/bt_split.c: Likewise. * db2/bt_stat.c: Likewise. * db2/btree.src: Likewise. * db2/btree_auto.c: Likewise. * db2/getlong.c: Likewise. * db2/db_appinit.c: Likewise. * db2/db_apprec.c: Likewise. * db2/db_byteorder.c: Likewise. * db2/db_err.c: Likewise. * db2/db_log2.c: Likewise. * db2/db_region.c: Likewise. * db2/db_salloc.c: Likewise. * db2/db_shash.c: Likewise. * db2/db.c: Likewise. * db2/db.src: Likewise. * db2/db_auto.c: Likewise. * db2/db_conv.c: Likewise. * db2/db_dispatch.c: Likewise. * db2/db_dup.c: Likewise. * db2/db_overflow.c: Likewise. * db2/db_pr.c: Likewise. * db2/db_rec.c: Likewise. * db2/db_ret.c: Likewise. * db2/db_thread.c: Likewise. * db2/db185.c: Likewise. * db2/db185_int.h: Likewise. * db2/dbm.c: Likewise. * db2/hash.c: Likewise. * db2/hash.src: Likewise. * db2/hash_auto.c: Likewise. * db2/hash_conv.c: Likewise. * db2/hash_debug.c: Likewise. * db2/hash_dup.c: Likewise. * db2/hash_func.c: Likewise. * db2/hash_page.c: Likewise. * db2/hash_rec.c: Likewise. * db2/hash_stat.c: Likewise. * db2/btree.h: Likewise. * db2/btree_ext.h: Likewise. * db2/clib_ext.h: Likewise. * db2/common_ext.h: Likewise. * db2/cxx_int.h: Likewise. * db2/db.h.src: Likewise. * db2/db_185.h.src: Likewise. * db2/db_am.h: Likewise. * db2/db_auto.h: Likewise. * db2/db_cxx.h: Likewise. * db2/db_dispatch.h: Likewise. * db2/db_ext.h: Likewise. * db2/db_int.h.src: Likewise. * db2/db_page.h: Likewise. * db2/db_shash.h: Likewise. * db2/db_swap.h: Likewise. * db2/hash.h: Likewise. * db2/hash_ext.h: Likewise. * db2/lock.h: Likewise. * db2/lock_ext.h: Likewise. * db2/log.h: Likewise. * db2/log_ext.h: Likewise. * db2/mp.h: Likewise. * db2/mp_ext.h: Likewise. * db2/mutex_ext.h: Likewise. * db2/os_ext.h: Likewise. * db2/os_func.h: Likewise. * db2/queue.h: Likewise. * db2/shqueue.h: Likewise. * db2/txn.h: Likewise. * db2/lock.c: Likewise. * db2/lock_conflict.c: Likewise. * db2/lock_deadlock.c: Likewise. * db2/lock_region.c: Likewise. * db2/lock_util.c: Likewise. * db2/log.c: Likewise. * db2/log.src: Likewise. * db2/log_archive.c: Likewise. * db2/log_auto.c: Likewise. * db2/log_compare.c: Likewise. * db2/log_findckp.c: Likewise. * db2/log_get.c: Likewise. * db2/log_put.c: Likewise. * db2/log_rec.c: Likewise. * db2/log_register.c: Likewise. * db2/mp_bh.c: Likewise. * db2/mp_fget.c: Likewise. * db2/mp_fopen.c: Likewise. * db2/mp_fput.c: Likewise. * db2/mp_fset.c: Likewise. * db2/mp_open.c: Likewise. * db2/mp_pr.c: Likewise. * db2/mp_region.c: Likewise. * db2/mp_sync.c: Likewise. * db2/68020.gcc: Likewise. * db2/mutex.c: Likewise. * db2/parisc.gcc: Likewise. * db2/parisc.hp: Likewise. * db2/sco.cc: Likewise. * db2/os_abs.c: Likewise. * db2/os_alloc.c: Likewise. * db2/os_config.c: Likewise. * db2/os_dir.c: Likewise. * db2/os_fid.c: Likewise. * db2/os_fsync.c: Likewise. * db2/os_map.c: Likewise. * db2/os_oflags.c: Likewise. * db2/os_open.c: Likewise. * db2/os_rpath.c: Likewise. * db2/os_rw.c: Likewise. * db2/os_seek.c: Likewise. * db2/os_sleep.c: Likewise. * db2/os_spin.c: Likewise. * db2/os_stat.c: Likewise. * db2/os_unlink.c: Likewise. * db2/db_archive.c: Likewise. * db2/db_checkpoint.c: Likewise. * db2/db_deadlock.c: Likewise. * db2/db_dump.c: Likewise. * db2/db_dump185.c: Likewise. * db2/db_load.c: Likewise. * db2/db_printlog.c: Likewise. * db2/db_recover.c: Likewise. * db2/db_stat.c: Likewise. * db2/txn.c: Likewise. * db2/txn.src: Likewise. * db2/txn_auto.c: Likewise. * db2/txn_rec.c: Likewise. * elf/rtld.c: Move definition of __libc_stack_end to ... * sysdeps/generic/dl-sysdep.h: ...here. * sysdeps/unix/sysv/linux/fstatvfs.c: Handle nodiratime option. * sysdeps/unix/sysv/linux/bits/statvfs.h: Define ST_NODIRATIME. * sysdeps/unix/sysv/linux/sys/mount.h: Define MS_NODIRATIME. 1998-06-08 21:44 Ulrich Drepper <drepper@cygnus.com> * sysdeps/unix/sysv/linux/fstatvfs.c: Handle constant option string from mntent correctly. 1998-06-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * sunrpc/Makefile (generated): Correct typo. 1998-06-04 Philip Blundell <philb@gnu.org> * elf/elf.h (EM_ARM, et al.): New definitions. * sysdeps/arm/dl-machine.h: Update for new draft ARM ELF ABI.
1998-06-09 15:16:55 +00:00
/* This variable contains the lowest stack address ever used. */
void *__libc_stack_end;
Update. 1997-08-14 03:14 Ulrich Drepper <drepper@cygnus.com> * elf/dl-minimal.c: Don't use relative #include paths. (malloc): Don't try to initialize _dl_pagesize, it already is. (__sigjmp_save, longjmp): Reformat. * sysdeps/generic/dl-sysdep.c: Implement _dl_show_auxv function to show content of auxiliary array. (_dl_sysdep_start): Remember start of auxiliary vector. * sysdeps/mach/hurd/dl-sysdep.c: (_dl_show_auxv): New dummy function. * elf/link.h: Add prototype for _dl_show_auxv. * elf/rtld.c (dl_main): Call _dl_show_auxv if LD_SHOW_AUXV envvar is present. * libio/iofdopen.c: Better prepare for use in libstdc++. * libio/iofflush.c: Likewise. * libio/iofgetpos.c: Likewise. * libio/iofgets.c: Likewise. * libio/iofopen.c: Likewise. * libio/iofputs.c: Likewise. * libio/iofread.c: Likewise. * libio/iofsetpos.c: Likewise. * libio/ioftell.c: Likewise. * libio/iofwrite.c: Likewise. * libio/iogetdelim.c: Likewise. * libio/iogets.c: Likewise. * libio/iopopen.c: Likewise. * libio/ioputs.c: Likewise. * libio/iosetbuffer.c: Likewise. * libio/iosetvbuf.c: Likewise. * libio/ioungetc.c: Likewise. * libio/iovsprintf.c: Likewise. * libio/iovsscanf.c: Likewise. * manual/creature.texi: Mention _XOPEN_SOURCE_EXTENDED in correct place. * manual/math.texi: Add comment to sincos decsription to say it's a GNU extension. Fix description of random function. * posix/fnmatch.h: Recognize Windog by _WINDOWS32 not WIN32. * posix/glob.c: Likewise. Handle stupid system headers on SunOS. Add casts for all __alloca calls. * posix/glob.h: Recognize Windog by _WINDOWS32 not WIN32. Declare additional GLOB_* constants also if _GNU_SOURCE is defined. Patches by Paul D. Smith <psmith@BayNetworks.COM>. * stdio-common/_itoa.c: Don't use relateive #include paths. * sysdeps/i386/fpu/bits/mathinline.h: Enable optimizations even for gcc 2.7. (atan): Loading 1.0 from memory does not pay off. (asinh): Fix typo. 1997-08-13 09:44 Philip Blundell <Philip.Blundell@pobox.com> * sysdeps/stub/accept.c: Use socklen_t where necessary. * sysdeps/stub/bind.c: Likewise. * sysdeps/stub/connect.c: Likewise. * sysdeps/stub/getsockname.c: Likewise. * sysdeps/stub/getsockopt.c: Likewise. * sysdeps/stub/recvfrom.c: Likewise. * sysdeps/stub/sendto.c: Likewise. * sysdeps/stub/setsockopt.c: Likewise. 1997-08-11 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * io/ftw.c (object_compare): Avoid memcmp when comparing scalar types. 1997-08-12 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * math/libm-test.c (cbrt_test): Add epsilon for long double to `cbrt (-0.001)'. 1997-08-11 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/stub/bits/string.h: Fix comment. 1997-08-01 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * elf/Makefile (routines): Remove dl-version. (dl-routines): Add it here instead. This removes dead code from libc.so. 1997-08-12 17:17 Wolfram Gloger <wmglo@dent.med.uni-muenchen.de> * malloc/thread-m.h (thread_atfork, thread_atfork_static): New macros to encapsulate pthread_atfork's functionality. * malloc/malloc.c (ptmalloc_lock_all, ptmalloc_unlock_all): New functions, registered via thread_atfork in the initialization routine or via thread_atfork_static in global scope. This ensures a consistent state of all locks across fork(). 1997-08-11 23:00:32 1997 Mark Kettenis <kettenis@phys.uva.nl> * login/programs/xtmp.c (compare_entry): Partially undo patch made by Klaus Espenlaub. There was no xtmp/utmp typo. Added comment to cclarify this. * login/programs/xtmp.h: Likewise. * posix/getopt.c: Recognize Windog by _WINDOWS32 not WIN32. Patch by Paul D. Smith <psmith@BayNetworks.COM>. 1997-08-12 13:51 Ulrich Drepper <drepper@cygnus.com> * login/getutid.c: Rename to __getutid and make getutid and getutxid weak aliases. Patch by ir. Mark M._Kettenis <kettenis@phys.uva.nl>. 1997-08-11 23:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/unix/sysv/linux/Makefile [subdir=misc] (sysdep_headers): Add bits/mman.h. 1997-08-11 08:51:21 1997 H.J. Lu <hjl@gnu.ai.mit.edu> * stdlib/fmtmsg.c (fmtmsg): Add static to __libc_once_define macro. * libc.map (__progname_full, __progname): Added. 1997-08-04 08:31 H.J. Lu <hjl@gnu.ai.mit.edu> * sysdeps/unix/sysv/linux/if_index.c (if_nametoindex): Return 0 if SIOGIFINDEX is not defined. (if_indextoname): Initialize "result" to NULL. (if_nametoindex, if_nameindex): Fix ENOSYS setting. 1997-08-11 11:58 Richard Henderson <rth@cygnus.com> Sparc ISO C 9x exception handling: * sysdeps/sparc/fpu/bits/mathdef.h: New file. * sysdeps/sparc/fpu/fclrexcpt.c: New file. * sysdeps/sparc/fpu/fegetenv.c: New file. * sysdeps/sparc/fpu/fegetround.c: New file. * sysdeps/sparc/fpu/feholdexcpt.c: New file. * sysdeps/sparc/fpu/fesetenv.c: New file. * sysdeps/sparc/fpu/fesetround.c: New file. * sysdeps/sparc/fpu/feupdateenv.c: New file. * sysdeps/sparc/fpu/fgetexcptflg.c: New file. * sysdeps/sparc/fpu/fraiseexcpt.c: New file. * sysdeps/sparc/fpu/fsetexcptflg.c: New file. * sysdeps/sparc/fpu/ftestexcept.c: New file. * sysdeps/sparc/sparc32/fpu/bits/fenv.h: New file. * sysdeps/sparc/sparc64/fpu/bits/fenv.h: New file. 1997-08-11 11:58 Richard Henderson <rth@cygnus.com> Sparc64 merge: * configure.in: Change up subdirectories, rename sparc8->sparcv8. * csu/Makefile: Nuke need-nopic-initfini bits. The problem was that sparc64 ld did not recognize pic relocs at all. * elf/dl-deps.c: Include <string.h>. * elf/do-rel.h (elf_dynamic_do_rel): Take reloc address and size directly instead of the DT names to get them from. * elf/dynamic-link.h (_ELF_DYNAMIC_DO_RELOC): New macro distilled from ELF_DYNAMIC_DO_REL{,A}. Define a second version that accounts for the possibility that DT_RELA and DT_JMPPLT overlap, as such is the case on the Sparc. * elf/elf.h: Stub out Elf64_Ver*, and make them the same as the Elf32_Ver* bits. The linker does not even know to differentiate between the word sizes. Someone should examine this and figure out what the proper sizes of things should be for 64-bit hosts before the sparc64 libraries are distributed. * shlib-versions: Rename sparc64 ld.so to not conflict with sparc32 on the same machine. Move old sysdeps/sparc contents to sysdeps/sparc/sparc32, rename sparc8 subdir to sparcv8, move sysdeps/sparc64 content to sysdeps/sparc/sparc64. Same for sysdeps/unix/sysv/linux/sparc. * sysdeps/sparc/Implies: Do ieee754 here. * sysdeps/sparc/configure.in: Move from sparc32/. * sysdeps/sparc/sparc32/Implies: Do wordsize here. * sysdeps/sparc/sparc64/Implies: Likewise. * sysdeps/sparc/sparc32/dl-machine.h (elf_machine_load_address): Use uninitialized .got to find load address instead of AT_BASE, as the later does not exist when running ld.so directly. * sysdeps/sparc/sparc32/fpu/fpu_control.h: Move from ../. * sysdeps/sparc/sparc64/fpu/fpu_control.h: Likewise. * sysdeps/sparc/sparc32/udiv_qrnnd.S: Clean up PIC support. * sysdeps/sparc/sparc64/Makefile (sysdep_routines): Add s_finitel and s_signbitl for stdio. * sysdeps/sparc/sparc64/configure.in: Remove, we no longer need nopic_initfini. * sysdeps/sparc/sparc64/bsd-_setjmp.S: Remove. * sysdeps/sparc/sparc64/bsd-setjmp.S: Remove. * sysdeps/unix/sysv/linux/sparc/sparc64/bsd-_setjmp.S: New empty file. * sysdeps/unix/sysv/linux/sparc/sparc64/bsd-setjmp.S: New empty file. * sysdeps/unix/sysv/linux/sparc/sparc64/longjmp.S: Add __longjmp alias. * sysdeps/unix/sysv/linux/sparc/sparc64/setjmp.S: Add weak _setjmp and setjmp entry points. * sysdeps/sparc/sparc64/dl-machine.h: Finish real implementation. * sysdeps/sparc/sparc64/elf/crtbegin.S: Add copyright, fix PIC. * sysdeps/sparc/sparc64/elf/crtend.S: Likewise. * sysdeps/unix/sysv/linux/sparc/bits/sigaction.h (struct sigaction): Fix sa_flags size for sparc64; add sa_restorer for kernel. * sysdeps/unix/sysv/linux/sparc/sparc64/brk.S: Fix PIC. * sysdeps/unix/sysv/linux/sparc/sparc64/clone.S: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/init-first.h: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/syscall.S: New file. 1997-08-10 18:29:08 1997 Mark Kettenis <kettenis@phys.uva.nl> * login/login.c (login): Check for correct return value of utmpname. 1997-08-11 16:49 Ulrich Drepper <drepper@cygnus.com> * time/tzset.c (__tzset_internal): Correctly handle TZ strings following incorrect old POSIX specs. Patch by Paul Eggert <eggert@twinsun.com>. * sysdeps/generic/bits/sigaction.h: Correct comment for SA_RESTART. * sysdeps/unix/bsd/osf/bits/sigaction.h: Likewise. * sysdeps/unix/sysv/linux/alpha/bits/sigaction.h: Likewise. * sysdeps/unix/sysv/linux/bits/sigaction.h: Likewise. * sysdeps/unix/sysv/linux/mips/bits/sigaction.h: Likewise. * sysdeps/unix/sysv/linux/sparc/bits/sigaction.h: Likewise. * sysdeps/unix/sysv/minix/bits/sigaction.h: Likewise. * sysdeps/unix/sysv/sysv4/bits/sigaction.h: Likewise. Reported by NIIBE Yutaka <gniibe@mri.co.jp>. 1997-08-09 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * manual/math.texi: Define the macros @mul and @infinity and use them to format the multiplication and infinity signs. (FP Comparison Functions): Use @code, not @math, for C code examples. * elf/dl-profile.c: Add descriptions and implement reading of
1997-08-14 01:54:13 +00:00
static ElfW(auxv_t) *_dl_auxv;
Update. 1997-08-29 02:36 Ulrich Drepper <drepper@cygnus.com> * Makefile (version-info.h): Use ISO form for the date. * catgets/catgetsinfo.h: Include <bits/libc-lock.h>. (struct catalog_obj): Add lock field. (__open_catalog): Remove second parameter from prototype. * catgets/catgets.c (catopen): Initialize lock field. (catgets): Don't pass second parameter to __open_catalog. * catgets/gencat.c: Initialize lock field and don't pass second parameter to __open_catalog. * catgets/open_catalog.c (__open_catalog): Decide about use of path by examining path in struct, not based on extra argument. Acquire a the lock before trying to load the catalog and release it before returning. * csu/Makefile (abi-tag.h): Make sure target directory exists. * io/Makefile (headers): Add bits/poll.h. * io/sys/poll.h: Remove definitions of POLL* constants. Include <bits/poll.h>. * sysdeps/generic/bits/poll.h: New file. * sysdeps/unix/sysv/linux/bits/poll.h: New file. * sysdeps/unix/sysv/linux/m68k/bits/poll.h: New file. * sysdeps/unix/sysv/linux/mips/bits/poll.h: New file. * sysdeps/unix/sysv/linux/sparc/bits/poll.h: New file. * libio/fileops.c (_IO_file_read, _IO_file_write): Remove dead code. * malloc/obstack.c: Add casts to keep very verbose compilers on 64bit machine quiet. * nss/Makefile (libnss_db.so): Find libdb.so in db2 directory. 1997-08-28 17:30 Ulrich Drepper <drepper@cygnus.com> * catgets/catgets.c (catopen): Correctly determine length of string in NLSPATH evironment variable. Patch by HJ Lu <hjl@gnu.ai.mit.edu>. 1997-08-27 23:19 Richard Henderson <rth@cygnus.com> * sysdeps/generic/dl-sysdep.c (DL_FIND_ARG_COMPONENTS): Provide default macro to track down arguments from stack start. (_dl_sysdep_start): Use it. * sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c: Truncate to simply providing a special DL_FIND_ARG_COMPONENTS and including the next file up the line. * sysdeps/powerpc/e_sqrt.c: Move contents to w_sqrt.c and provide stub. * sysdeps/powerpc/e_sqrtf.c: Likewise. * sysdeps/powerpc/s_copysignf.S: Provide empty file; symbol is with the double precision version. * sysdeps/powerpc/s_fabsf.S: Likewise. * sysdeps/powerpc/s_isnanf.S: Likewise.
1997-08-29 01:19:12 +00:00
#ifndef DL_FIND_ARG_COMPONENTS
# define DL_FIND_ARG_COMPONENTS(cookie, argc, argv, envp, auxp) \
do { \
void **_tmp; \
(argc) = *(long int *) cookie; \
(argv) = (char **) ((long int *) cookie + 1); \
(envp) = (argv) + (argc) + 1; \
for (_tmp = (void **) (envp); *_tmp; ++_tmp) \
continue; \
(auxp) = (void *) ++_tmp; \
Update. 1997-08-29 02:36 Ulrich Drepper <drepper@cygnus.com> * Makefile (version-info.h): Use ISO form for the date. * catgets/catgetsinfo.h: Include <bits/libc-lock.h>. (struct catalog_obj): Add lock field. (__open_catalog): Remove second parameter from prototype. * catgets/catgets.c (catopen): Initialize lock field. (catgets): Don't pass second parameter to __open_catalog. * catgets/gencat.c: Initialize lock field and don't pass second parameter to __open_catalog. * catgets/open_catalog.c (__open_catalog): Decide about use of path by examining path in struct, not based on extra argument. Acquire a the lock before trying to load the catalog and release it before returning. * csu/Makefile (abi-tag.h): Make sure target directory exists. * io/Makefile (headers): Add bits/poll.h. * io/sys/poll.h: Remove definitions of POLL* constants. Include <bits/poll.h>. * sysdeps/generic/bits/poll.h: New file. * sysdeps/unix/sysv/linux/bits/poll.h: New file. * sysdeps/unix/sysv/linux/m68k/bits/poll.h: New file. * sysdeps/unix/sysv/linux/mips/bits/poll.h: New file. * sysdeps/unix/sysv/linux/sparc/bits/poll.h: New file. * libio/fileops.c (_IO_file_read, _IO_file_write): Remove dead code. * malloc/obstack.c: Add casts to keep very verbose compilers on 64bit machine quiet. * nss/Makefile (libnss_db.so): Find libdb.so in db2 directory. 1997-08-28 17:30 Ulrich Drepper <drepper@cygnus.com> * catgets/catgets.c (catopen): Correctly determine length of string in NLSPATH evironment variable. Patch by HJ Lu <hjl@gnu.ai.mit.edu>. 1997-08-27 23:19 Richard Henderson <rth@cygnus.com> * sysdeps/generic/dl-sysdep.c (DL_FIND_ARG_COMPONENTS): Provide default macro to track down arguments from stack start. (_dl_sysdep_start): Use it. * sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c: Truncate to simply providing a special DL_FIND_ARG_COMPONENTS and including the next file up the line. * sysdeps/powerpc/e_sqrt.c: Move contents to w_sqrt.c and provide stub. * sysdeps/powerpc/e_sqrtf.c: Likewise. * sysdeps/powerpc/s_copysignf.S: Provide empty file; symbol is with the double precision version. * sysdeps/powerpc/s_fabsf.S: Likewise. * sysdeps/powerpc/s_isnanf.S: Likewise.
1997-08-29 01:19:12 +00:00
} while (0)
#endif
ElfW(Addr)
_dl_sysdep_start (void **start_argptr,
void (*dl_main) (const ElfW(Phdr) *phdr, ElfW(Word) phnum,
ElfW(Addr) *user_entry))
{
update from main archive 960828 Thu Aug 29 00:28:08 1996 Ulrich Drepper <drepper@cygnus.com> * stdio-common/printf_fp.c (__printf_fp): Use default value `.` if `decimal' char is 0. * C-numeric.c (not_available): New constant. (_nl_C_LC_NUMERIC): Use `not_available' for grouping value. * nss/nsswitch.conf: Example configuration file. * nss/db-Makefile: Example Makefile for generation of databases for nss_db. * nss/Makefile (distribute): Add nsswitch.conf and db-Makefile. 1996-08-28 Paul Eggert <eggert@twinsun.com> * C-messages.c (_nl_C_LC_MESSAGES): Set yesexpr to "^[yY]" and noexpr to "^[nN]"; this conforms to POSIX.2. * C-time.c (_nl_C_LC_TIME): Change %d to %e in d_t_format, to conform to POSIX.2. 1996-08-28 Paul Eggert <eggert@twinsun.com> * C-monetary.c (not_available): New constant. (_nl_C_LC_MONETARY): Set mon_decimal_point to "", and set mon_grouping, int_frac_digits, frac_digits, p_cs_precedes, p_sep_by_space, n_cs_precedes, n_sep_by_space, p_sign_posn, and n_sign_posn to CHAR_MAX, as required by the POSIX Standard. Wed Aug 28 23:12:28 1996 Ulrich Drepper <drepper@cygnus.com> * nss/nss_db/db-XXX.c: Correct function names. They must be `_nss_db_*' instead of `_nss_files_*'. (lookup): `parse_line' returns 1 if succesful. * nss/nss_files/files-service.c (servbyname): Key for database must also contain protocol names. (servbypt): Likewise. Test must also check for protocol. Add `proto' argument. Tue Aug 27 09:56:13 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * MakeTAGS ($P/subdirs.pot): Prefix all file names, not only the first one. Fri Aug 16 16:11:25 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu> * nss/nss_dns/dns-host.c (_nss_dns_gethostbyname2_r): Treat EPFNOSUPPORT and EAFNOSUPPORT as implying NSS_STATUS_UNAVAIL just like ECONNREFUSED already does. (_nss_dns_gethostbyaddr_r): Likewise. * nss/nss_dns/dns-network.c (_nss_dns_getnetbyname_r): Likewise. (_nss_dns_getnetbyaddr_r): Likewise. * sysdeps/mach/hurd/socket.c (socket): For message transmission and RPC errors that indicate that the socket server is not really present and able to do its job, turn the error into EPFNOSUPPORT. * sysdeps/generic/sbrk.c (__sbrk): Get kernel brk address always only if in static libc or if statically linked program uses libc.so.
1996-08-29 00:31:18 +00:00
const ElfW(Phdr) *phdr = NULL;
ElfW(Word) phnum = 0;
ElfW(Addr) user_entry;
ElfW(auxv_t) *av;
update from main archive 960828 Thu Aug 29 00:28:08 1996 Ulrich Drepper <drepper@cygnus.com> * stdio-common/printf_fp.c (__printf_fp): Use default value `.` if `decimal' char is 0. * C-numeric.c (not_available): New constant. (_nl_C_LC_NUMERIC): Use `not_available' for grouping value. * nss/nsswitch.conf: Example configuration file. * nss/db-Makefile: Example Makefile for generation of databases for nss_db. * nss/Makefile (distribute): Add nsswitch.conf and db-Makefile. 1996-08-28 Paul Eggert <eggert@twinsun.com> * C-messages.c (_nl_C_LC_MESSAGES): Set yesexpr to "^[yY]" and noexpr to "^[nN]"; this conforms to POSIX.2. * C-time.c (_nl_C_LC_TIME): Change %d to %e in d_t_format, to conform to POSIX.2. 1996-08-28 Paul Eggert <eggert@twinsun.com> * C-monetary.c (not_available): New constant. (_nl_C_LC_MONETARY): Set mon_decimal_point to "", and set mon_grouping, int_frac_digits, frac_digits, p_cs_precedes, p_sep_by_space, n_cs_precedes, n_sep_by_space, p_sign_posn, and n_sign_posn to CHAR_MAX, as required by the POSIX Standard. Wed Aug 28 23:12:28 1996 Ulrich Drepper <drepper@cygnus.com> * nss/nss_db/db-XXX.c: Correct function names. They must be `_nss_db_*' instead of `_nss_files_*'. (lookup): `parse_line' returns 1 if succesful. * nss/nss_files/files-service.c (servbyname): Key for database must also contain protocol names. (servbypt): Likewise. Test must also check for protocol. Add `proto' argument. Tue Aug 27 09:56:13 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * MakeTAGS ($P/subdirs.pot): Prefix all file names, not only the first one. Fri Aug 16 16:11:25 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu> * nss/nss_dns/dns-host.c (_nss_dns_gethostbyname2_r): Treat EPFNOSUPPORT and EAFNOSUPPORT as implying NSS_STATUS_UNAVAIL just like ECONNREFUSED already does. (_nss_dns_gethostbyaddr_r): Likewise. * nss/nss_dns/dns-network.c (_nss_dns_getnetbyname_r): Likewise. (_nss_dns_getnetbyaddr_r): Likewise. * sysdeps/mach/hurd/socket.c (socket): For message transmission and RPC errors that indicate that the socket server is not really present and able to do its job, turn the error into EPFNOSUPPORT. * sysdeps/generic/sbrk.c (__sbrk): Get kernel brk address always only if in static libc or if statically linked program uses libc.so.
1996-08-29 00:31:18 +00:00
uid_t uid = 0;
gid_t gid = 0;
#ifdef HAVE_AUX_XID
# define set_seen(tag) (tag) /* Evaluate for the side effects. */
#else
unsigned int seen = 0;
# define M(type) (1 << (type))
# define set_seen(tag) seen |= M ((tag)->a_type)
#endif
Update. 2002-03-01 Ulrich Drepper <drepper@redhat.com> * elf/Makefile (dl-routines): Add dl-origin. (elide-routines.os): Add dl-origin. * elf/Versions [ld] (GLIBC_PRIVATE): Add _dl_get_origin. * elf/dl-debug.c (_dl_debug_initialize): Add missing INTUSE around _dl_debug_state. * include/libc-symbols.c: Define attribute_hidden depending on HAVE_VISIBILITY_ATTRIBUTE. Add definition of INTVARDEF. * elf/dl-deps.c: Use INTUSE with __libc_enable_secure. * elf/dl-load.c: Likewise. * elf/rtld.c: Likewise. * include/unistd.h: Declare __libc_enable_secure_internal. * sysdeps/generic/dl-sysdep.c: Use INTVARDEF with __libc_enable_secure. Use INTUSE with __libc_enable_secure. * sysdeps/mach/hurd/dl-sysdep.c: Likewise. * elf/dl-deps.c: Use INTUSE with _dl_out_of_memory. * elf/dl-error.c: Likewise, * sysdeps/generic/ldsodefs.h: Declare _dl_out_of_memory_internal. * elf/dl-dst.h [_RTLD_GLOBAL]: Define _dl_get_origin to use INTUSE. * sysdeps/generic/dl-origin.c: Undefine _dl_get_origin macro before function definition. Use INTDEF with _dl_get_origin. * sysdeps/unix/sysv/linux/dl-origin.c: Likewise. * elf/dl-init.c: Use INTUSE with _dl_starting_up. * elf/rtld.c: Likewise. Use INTVARDEF for _dl_starting_up. * elf/dl-profile.c: Use INTDEF for _dl_mcount. * elf/dl-runtime.c: Use INTUSE with _dl_mcount. * sysdeps/generic/ldsodefs.h: Declare _dl_mcount_internal. * elf/dl-conflict.c: Use rtld_progrname instead of _dl_argv[0]. * elf/dl-deps.c: Likewise. * elf/dl-error.c: Likewise. * elf/dl-fini.c: Likewise. * elf/dl-init.c: Likewise. * elf/dl-load.c: Likewise. * elf/dl-lookup.c: Likewise. * elf/dl-reloc.c: Likewise. * elf/dl-version.c: Likewise. * elf/do-lookup.h: Likewise. * sysdeps/arm/dl-machine.h: Likewise. * sysdeps/cris/dl-machine.h: Likewise. * sysdeps/hppa/dl-machine.h: Likewise. * sysdeps/i386/dl-machine.h: Likewise. * sysdeps/m68k/dl-machine.h: Likewise. * sysdeps/powerpc/dl-machine.h: Likewise. * sysdeps/s390/s390-32/dl-machine.h: Likewise. * sysdeps/s390/s390-64/dl-machine.h: Likewise. * sysdeps/sh/dl-machine.h: Likewise. * sysdeps/sparc/sparc-32/dl-machine.h: Likewise. * sysdeps/sparc/sparc-64/dl-machine.h: Likewise. * sysdeps/x86_64/dl-machine.h: Likewise. * elf/rtld.c: Use INTDEF for _dl_argv. Use rtld_progrname instead of _dl_argv[0]. Use INTUSE with _dl_argv. * sysdeps/generic/dl-sysdep.c: Use INTUSE with _dl_argv. * sysdeps/generic/ldsodefs.h: Define rtld_progname macro.
2002-03-01 09:44:29 +00:00
DL_FIND_ARG_COMPONENTS (start_argptr, _dl_argc, INTUSE(_dl_argv), _environ,
_dl_auxv);
Update. 1997-08-29 02:36 Ulrich Drepper <drepper@cygnus.com> * Makefile (version-info.h): Use ISO form for the date. * catgets/catgetsinfo.h: Include <bits/libc-lock.h>. (struct catalog_obj): Add lock field. (__open_catalog): Remove second parameter from prototype. * catgets/catgets.c (catopen): Initialize lock field. (catgets): Don't pass second parameter to __open_catalog. * catgets/gencat.c: Initialize lock field and don't pass second parameter to __open_catalog. * catgets/open_catalog.c (__open_catalog): Decide about use of path by examining path in struct, not based on extra argument. Acquire a the lock before trying to load the catalog and release it before returning. * csu/Makefile (abi-tag.h): Make sure target directory exists. * io/Makefile (headers): Add bits/poll.h. * io/sys/poll.h: Remove definitions of POLL* constants. Include <bits/poll.h>. * sysdeps/generic/bits/poll.h: New file. * sysdeps/unix/sysv/linux/bits/poll.h: New file. * sysdeps/unix/sysv/linux/m68k/bits/poll.h: New file. * sysdeps/unix/sysv/linux/mips/bits/poll.h: New file. * sysdeps/unix/sysv/linux/sparc/bits/poll.h: New file. * libio/fileops.c (_IO_file_read, _IO_file_write): Remove dead code. * malloc/obstack.c: Add casts to keep very verbose compilers on 64bit machine quiet. * nss/Makefile (libnss_db.so): Find libdb.so in db2 directory. 1997-08-28 17:30 Ulrich Drepper <drepper@cygnus.com> * catgets/catgets.c (catopen): Correctly determine length of string in NLSPATH evironment variable. Patch by HJ Lu <hjl@gnu.ai.mit.edu>. 1997-08-27 23:19 Richard Henderson <rth@cygnus.com> * sysdeps/generic/dl-sysdep.c (DL_FIND_ARG_COMPONENTS): Provide default macro to track down arguments from stack start. (_dl_sysdep_start): Use it. * sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c: Truncate to simply providing a special DL_FIND_ARG_COMPONENTS and including the next file up the line. * sysdeps/powerpc/e_sqrt.c: Move contents to w_sqrt.c and provide stub. * sysdeps/powerpc/e_sqrtf.c: Likewise. * sysdeps/powerpc/s_copysignf.S: Provide empty file; symbol is with the double precision version. * sysdeps/powerpc/s_fabsf.S: Likewise. * sysdeps/powerpc/s_isnanf.S: Likewise.
1997-08-29 01:19:12 +00:00
user_entry = (ElfW(Addr)) ENTRY_POINT;
Update. 2002-01-30 Ulrich Drepper <drepper@redhat.com> * Versions.def [ld]: Add GLIBC_2.3. * elf/dl-addr.c: Move global variables for SHARED code in struct _rtld_global. Export this struct, remove all exports for the signal variables. * elf/dl-close.c: Likewise. * elf/dl-conflict.c: Likewise. * elf/dl-debug.c: Likewise. * elf/dl-deps.c: Likewise. * elf/dl-dst.h: Likewise. * elf/dl-error.c: Likewise. * elf/dl-fini.c: Likewise. * elf/dl-init.c: Likewise. * elf/dl-iteratephdr.c: Likewise. * elf/dl-libc.c: Likewise. * elf/dl-load.c: Likewise. * elf/dl-lookup.c: Likewise. * elf/dl-minimal.c: Likewise. * elf/dl-object.c: Likewise. * elf/dl-open.c: Likewise. * elf/dl-profile.c: Likewise. * elf/dl-profstub.c: Likewise. * elf/dl-reloc.c: Likewise. * elf/dl-runtime.c: Likewise. * elf/dl-support.c: Likewise. * elf/dl-sym.c: Likewise. * elf/dl-version.c: Likewise. * elf/do-lookup.h: Likewise. * elf/do-rel.h: Likewise. * elf/dynamic-link.h: Likewise. * elf/rtld.c: Likewise. * sysdeps/generic/dl-cache.c: Likewise. * sysdeps/generic/dl-sysdep.c: Likewise. * sysdeps/generic/ldsodefs.h: Likewise. * sysdeps/generic/libc-start.c: Likewise. * sysdeps/i386/dl-machine.h: Likewise. * sysdeps/ia64/dl-fptr.c: Likewise. * sysdeps/ia64/dl-machine.h: Likewise. * sysdeps/unix/sysv/linux/dl-librecon.h: Likewise. * sysdeps/unix/sysv/linux/dl-origin.c: Likewise. * sysdeps/unix/sysv/linux/dl-osinfo.h: Likewise. * sysdeps/unix/sysv/linux/getclktck.c: Likewise. * sysdeps/unix/sysv/linux/getpagesize.c: Likewise. * sysdeps/unix/sysv/linux/i386/dl-librecon.h: Likewise. * sysdeps/unix/sysv/linux/ia64/dl-static.c: Likewise. * sysdeps/unix/sysv/linux/ia64/getpagesize.c: Likewise. * malloc/thread-m.h: Spinlock definitions for x86/x86_64.
2002-01-31 03:41:25 +00:00
GL(dl_platform) = NULL; /* Default to nothing known about the platform. */
for (av = _dl_auxv; av->a_type != AT_NULL; set_seen (av++))
switch (av->a_type)
{
case AT_PHDR:
phdr = av->a_un.a_ptr;
break;
case AT_PHNUM:
phnum = av->a_un.a_val;
break;
update from main archive 970209 1997-02-09 02:59 Ulrich Drepper <drepper@cygnus.com> * version.h (VERSION): Bump to 2.0.2. * posix/Makefile (routines): Add getopt_init. * posix/getopt.c: Don't get environment variable with nonoption flags here. Depend on __getopt_nonoption_flags variable filled somewhere else. This is necessary since the variable must be removed even when getopt isn't used in case exec(2) gets called. * posix/getopt_init.c: New file. Initialize __getopt_nonoption_flags and remove environment variable. * sysdeps/i386/init-first.c: Call __getopt_clean_environment. * sysdeps/mach/hurd/i386/init-first.c: Likewise. * sysdeps/stub/init-first.c: Likewise. * sysdeps/unix/sysv/linux/init-first.c: Likewise. * sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Recognize AT_PAGESZ entry in auxiliary vector and store value in _dl_pagesize. * sysdeps/generic/crypt-entry.h: Return EOPNOTSUPP when DES encryption is wanted. * libio/vsnprintf.c: If MAXLEN is 0 return 0. * stdio/vsnprintf.c: Likewise. Reported by Philip Blundell <pjb27@cam.ac.uk>. 1997-02-07 17:43 Ulrich Drepper <drepper@cygnus.com> * sysdeps/generic/sysd-stdio.c: Include <errno.h>. Change PTR to void *. * sysdeps/posix/vdprintf.c: Change PTR to void *. Reported by Brian Oxley <boxley%dev.cm.ssb.com@clipper.ssb.com>. 1997-02-07 17:41 Philip Blundell <pjb27@cam.ac.uk> * sysdeps/unix/sysv/linux/socketbits.h: Fix typo. 1997-02-06 13:49 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * rellns-sh: No need to check for existance of first parameter. 1997-02-06 14:50 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/posix/getcwd.c (__getcwd): Fix resource leaks. Reported by David Holland <dholland@eecs.harvard.edu>. 1997-02-06 14:38 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sunrpc/clnt_tcp.c (readtcp): Pass copy of timeout value to select, in case it is modified by the latter. * sunrpc/clnt_udp.c (clntudp_call): Likewise. * sunrpc/pmap_rmt.c (clnt_broadcast): Likewise. * sunrpc/svc_tcp.c (readtcp): Likewise. * sunrpc/svc_authux.c (_svcauth_unix): Fix type of area_gids array. * sunrpc/authuxprot.c (xdr_authunix_parms): Check size of uid_t and gid_t. * sunrpc/auth_unix.c (authunix_validate): Fix type of second argument. 1997-02-06 14:29 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * elf/Makefile (extra-objs): Don't zap previous value. * Makefile (before-compile): Likewise. Don't add gnu/lib-names.h twice. 1997-02-06 14:19 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/sysv/linux/m68k/brk.c: Add workaround for braindamage (sigh!). 1997-02-06 17:10 Jim Meyering <meyering@asic.sc.ti.com> * manual/memory.texi: Correct `copystring' example for obstacks. 1997-02-06 14:10 Ulrich Drepper <drepper@cygnus.com> * Makeconfig: Don't use [:lower:] and [:upper:] in tr since old GNU tr don't grok it. 1997-02-03 21:13 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/sysv/linux/socketbits.h [__GNUC__<2] (struct cmsghdr): Don't use GNU C extensions. (CMSG_DATA): Use portable definition. 1997-02-05 05:58 Ulrich Drepper <drepper@cygnus.com> * elf/ldd.bash.in: Add test for read permission and print appropriate message. Change warning and error messages to print "ldd: " at start. * elf/ldd.sh.in: Likewise. * stdlib/Makefile (routines): Add atoll. * stdlib/atoll.c: New file. * stdlib/stdlib.h: Add prototype and optimization for atoll. * stdlib/a64l.c: Update copyright. * stdlib/abs.c: Likewise. * stdlib/atof.c: Likewise. * stdlib/atoi.c: Likewise. * stdlib/atol.c: Likewise. * stdlib/bsearch.c: Likewise. * stdlib/exit.c: Likewise. * stdlib/fpioconst.c: Likewise. * stdlib/fpioconst.h: Likewise. * stdlib/jrand48.c: Likewise. * stdlib/jrand48_r.c: Likewise. * stdlib/labs.c: Likewise. * stdlib/lcong48.c: Likewise. * stdlib/lcong48_r.c: Likewise. * stdlib/llabs.c: Likewise. * stdlib/lrand48.c: Likewise. * stdlib/lrand48_r.c: Likewise. * stdlib/mblen.c: Likewise. * stdlib/mbstowcs.c: Likewise. * stdlib/mbtowc.c: Likewise. * stdlib/mp_clz_tab.c: Likewise. * stdlib/mrand48.c: Likewise. * stdlib/mrand48_r.c: Likewise. * stdlib/msort.c: Likewise. * stdlib/nrand48.c: Likewise. * stdlib/nrand48_r.c: Likewise. * stdlib/qsort.c: Likewise. * stdlib/rpmatch.c: Likewise. * stdlib/seed48.c: Likewise. * stdlib/seed48_r.c: Likewise. * stdlib/srand48.c: Likewise. * stdlib/srand48_r.c: Likewise. * stdlib/strtod.c: Likewise. * stdlib/wcstombs.c: Likewise. * stdlib/wctomb.c: Likewise. 1997-02-05 05:08 Ulrich Drepper <drepper@cygnus.com> * stdlib/mp_clz_tab.c (__clz_tab): Follow change in GMP and define as const. 1997-02-04 23:57 Fila Kolodny <fila@ibi.com> * sysdeps/unix/sysv/linux/socketbits.h: Define __need_NULL before including <stddef.h>. 1997-02-03 20:01 H.J. Lu <hjl@gnu.ai.mit.edu> * time/Makefile (tzbases, tzlinks): New. (tzfiles): Changed to $(tzbases) $(tzlinks). ($(tzfiles:%=$(objpfx)z.%): Make $(tzlinks) depend on $(tzbases). 1997-02-02 12:13 H.J. Lu <hjl@gnu.ai.mit.edu> * Makefile (install): Ignore error from ldconfig. * time/zic.c (mkdirs): Double check the error return of mkdir (). 1997-02-04 22:01 Ulrich Drepper <drepper@cygnus.com> * stdio-common/vfprintf.c: Prepare to use __va_copy for architectures like PPC where va_list is no integral type. 1997-02-04 15:27 Roma Ekzhanov <ekzhanov@paragraph.com> * posix/getopt.c (exchange): Don't allocate nonoption_flags array if nonoption_flags_len == -1.
1997-02-10 03:19:57 +00:00
case AT_PAGESZ:
Update. 2002-01-30 Ulrich Drepper <drepper@redhat.com> * Versions.def [ld]: Add GLIBC_2.3. * elf/dl-addr.c: Move global variables for SHARED code in struct _rtld_global. Export this struct, remove all exports for the signal variables. * elf/dl-close.c: Likewise. * elf/dl-conflict.c: Likewise. * elf/dl-debug.c: Likewise. * elf/dl-deps.c: Likewise. * elf/dl-dst.h: Likewise. * elf/dl-error.c: Likewise. * elf/dl-fini.c: Likewise. * elf/dl-init.c: Likewise. * elf/dl-iteratephdr.c: Likewise. * elf/dl-libc.c: Likewise. * elf/dl-load.c: Likewise. * elf/dl-lookup.c: Likewise. * elf/dl-minimal.c: Likewise. * elf/dl-object.c: Likewise. * elf/dl-open.c: Likewise. * elf/dl-profile.c: Likewise. * elf/dl-profstub.c: Likewise. * elf/dl-reloc.c: Likewise. * elf/dl-runtime.c: Likewise. * elf/dl-support.c: Likewise. * elf/dl-sym.c: Likewise. * elf/dl-version.c: Likewise. * elf/do-lookup.h: Likewise. * elf/do-rel.h: Likewise. * elf/dynamic-link.h: Likewise. * elf/rtld.c: Likewise. * sysdeps/generic/dl-cache.c: Likewise. * sysdeps/generic/dl-sysdep.c: Likewise. * sysdeps/generic/ldsodefs.h: Likewise. * sysdeps/generic/libc-start.c: Likewise. * sysdeps/i386/dl-machine.h: Likewise. * sysdeps/ia64/dl-fptr.c: Likewise. * sysdeps/ia64/dl-machine.h: Likewise. * sysdeps/unix/sysv/linux/dl-librecon.h: Likewise. * sysdeps/unix/sysv/linux/dl-origin.c: Likewise. * sysdeps/unix/sysv/linux/dl-osinfo.h: Likewise. * sysdeps/unix/sysv/linux/getclktck.c: Likewise. * sysdeps/unix/sysv/linux/getpagesize.c: Likewise. * sysdeps/unix/sysv/linux/i386/dl-librecon.h: Likewise. * sysdeps/unix/sysv/linux/ia64/dl-static.c: Likewise. * sysdeps/unix/sysv/linux/ia64/getpagesize.c: Likewise. * malloc/thread-m.h: Spinlock definitions for x86/x86_64.
2002-01-31 03:41:25 +00:00
GL(dl_pagesize) = av->a_un.a_val;
update from main archive 970209 1997-02-09 02:59 Ulrich Drepper <drepper@cygnus.com> * version.h (VERSION): Bump to 2.0.2. * posix/Makefile (routines): Add getopt_init. * posix/getopt.c: Don't get environment variable with nonoption flags here. Depend on __getopt_nonoption_flags variable filled somewhere else. This is necessary since the variable must be removed even when getopt isn't used in case exec(2) gets called. * posix/getopt_init.c: New file. Initialize __getopt_nonoption_flags and remove environment variable. * sysdeps/i386/init-first.c: Call __getopt_clean_environment. * sysdeps/mach/hurd/i386/init-first.c: Likewise. * sysdeps/stub/init-first.c: Likewise. * sysdeps/unix/sysv/linux/init-first.c: Likewise. * sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Recognize AT_PAGESZ entry in auxiliary vector and store value in _dl_pagesize. * sysdeps/generic/crypt-entry.h: Return EOPNOTSUPP when DES encryption is wanted. * libio/vsnprintf.c: If MAXLEN is 0 return 0. * stdio/vsnprintf.c: Likewise. Reported by Philip Blundell <pjb27@cam.ac.uk>. 1997-02-07 17:43 Ulrich Drepper <drepper@cygnus.com> * sysdeps/generic/sysd-stdio.c: Include <errno.h>. Change PTR to void *. * sysdeps/posix/vdprintf.c: Change PTR to void *. Reported by Brian Oxley <boxley%dev.cm.ssb.com@clipper.ssb.com>. 1997-02-07 17:41 Philip Blundell <pjb27@cam.ac.uk> * sysdeps/unix/sysv/linux/socketbits.h: Fix typo. 1997-02-06 13:49 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * rellns-sh: No need to check for existance of first parameter. 1997-02-06 14:50 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/posix/getcwd.c (__getcwd): Fix resource leaks. Reported by David Holland <dholland@eecs.harvard.edu>. 1997-02-06 14:38 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sunrpc/clnt_tcp.c (readtcp): Pass copy of timeout value to select, in case it is modified by the latter. * sunrpc/clnt_udp.c (clntudp_call): Likewise. * sunrpc/pmap_rmt.c (clnt_broadcast): Likewise. * sunrpc/svc_tcp.c (readtcp): Likewise. * sunrpc/svc_authux.c (_svcauth_unix): Fix type of area_gids array. * sunrpc/authuxprot.c (xdr_authunix_parms): Check size of uid_t and gid_t. * sunrpc/auth_unix.c (authunix_validate): Fix type of second argument. 1997-02-06 14:29 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * elf/Makefile (extra-objs): Don't zap previous value. * Makefile (before-compile): Likewise. Don't add gnu/lib-names.h twice. 1997-02-06 14:19 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/sysv/linux/m68k/brk.c: Add workaround for braindamage (sigh!). 1997-02-06 17:10 Jim Meyering <meyering@asic.sc.ti.com> * manual/memory.texi: Correct `copystring' example for obstacks. 1997-02-06 14:10 Ulrich Drepper <drepper@cygnus.com> * Makeconfig: Don't use [:lower:] and [:upper:] in tr since old GNU tr don't grok it. 1997-02-03 21:13 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/sysv/linux/socketbits.h [__GNUC__<2] (struct cmsghdr): Don't use GNU C extensions. (CMSG_DATA): Use portable definition. 1997-02-05 05:58 Ulrich Drepper <drepper@cygnus.com> * elf/ldd.bash.in: Add test for read permission and print appropriate message. Change warning and error messages to print "ldd: " at start. * elf/ldd.sh.in: Likewise. * stdlib/Makefile (routines): Add atoll. * stdlib/atoll.c: New file. * stdlib/stdlib.h: Add prototype and optimization for atoll. * stdlib/a64l.c: Update copyright. * stdlib/abs.c: Likewise. * stdlib/atof.c: Likewise. * stdlib/atoi.c: Likewise. * stdlib/atol.c: Likewise. * stdlib/bsearch.c: Likewise. * stdlib/exit.c: Likewise. * stdlib/fpioconst.c: Likewise. * stdlib/fpioconst.h: Likewise. * stdlib/jrand48.c: Likewise. * stdlib/jrand48_r.c: Likewise. * stdlib/labs.c: Likewise. * stdlib/lcong48.c: Likewise. * stdlib/lcong48_r.c: Likewise. * stdlib/llabs.c: Likewise. * stdlib/lrand48.c: Likewise. * stdlib/lrand48_r.c: Likewise. * stdlib/mblen.c: Likewise. * stdlib/mbstowcs.c: Likewise. * stdlib/mbtowc.c: Likewise. * stdlib/mp_clz_tab.c: Likewise. * stdlib/mrand48.c: Likewise. * stdlib/mrand48_r.c: Likewise. * stdlib/msort.c: Likewise. * stdlib/nrand48.c: Likewise. * stdlib/nrand48_r.c: Likewise. * stdlib/qsort.c: Likewise. * stdlib/rpmatch.c: Likewise. * stdlib/seed48.c: Likewise. * stdlib/seed48_r.c: Likewise. * stdlib/srand48.c: Likewise. * stdlib/srand48_r.c: Likewise. * stdlib/strtod.c: Likewise. * stdlib/wcstombs.c: Likewise. * stdlib/wctomb.c: Likewise. 1997-02-05 05:08 Ulrich Drepper <drepper@cygnus.com> * stdlib/mp_clz_tab.c (__clz_tab): Follow change in GMP and define as const. 1997-02-04 23:57 Fila Kolodny <fila@ibi.com> * sysdeps/unix/sysv/linux/socketbits.h: Define __need_NULL before including <stddef.h>. 1997-02-03 20:01 H.J. Lu <hjl@gnu.ai.mit.edu> * time/Makefile (tzbases, tzlinks): New. (tzfiles): Changed to $(tzbases) $(tzlinks). ($(tzfiles:%=$(objpfx)z.%): Make $(tzlinks) depend on $(tzbases). 1997-02-02 12:13 H.J. Lu <hjl@gnu.ai.mit.edu> * Makefile (install): Ignore error from ldconfig. * time/zic.c (mkdirs): Double check the error return of mkdir (). 1997-02-04 22:01 Ulrich Drepper <drepper@cygnus.com> * stdio-common/vfprintf.c: Prepare to use __va_copy for architectures like PPC where va_list is no integral type. 1997-02-04 15:27 Roma Ekzhanov <ekzhanov@paragraph.com> * posix/getopt.c (exchange): Don't allocate nonoption_flags array if nonoption_flags_len == -1.
1997-02-10 03:19:57 +00:00
break;
case AT_ENTRY:
user_entry = av->a_un.a_val;
Sat Sep 16 17:47:19 1995 Ulrich Drepper <drepper@ipd.info.uni-karlsruhe.de> * elf/elf.h (AT_GID): Fix typo: Read -> Real. * misc/efgvt_r.c: New file. Reentrant version of [efg]cvt functions. * misc/efgcvt.c: Rewrite to use reentrant functions. * misc/hsearch_r.c: New file. Reentrant version of functions from hsearch family. * misc/hsearch.c, misc/tsearch.c: New files. * misc/Makefile (routines): Add efgcvt_r, hsearch_r, hsearch, tsearch. * posix/unistd.h (ttyname_r): Add prototype for new function. * stdlib/drand48_r.c, stdlib/erand48_r.c, stdlib/jrand48_r.c, stdlib/lrand48_r.c, stdlib/mrand48_r.c, stdlib/nrand48_r.c, stdlib/seed48_r.c, stdlib/srand48_r.c, stdlib/lcong48_r.c, stdlib/drand48-iter.c: New files implementing reentrant versions of functions from drand48 family. * stdlib/seed48.c, stdlib/drand48.c, stdlib/erand48.c, stdlib/jrand48.c, stdlib/lrand48.c, stdlib/mrand48.c, stdlib/nrand48.c, stdlib/srand48.c, stdlib/lcong48.c: Rewrite to use reentrant versions. * stdlib/a64l.c, stdlib/l64a.c: New files. Implement a64l() and l64a() functions from SysV library. * stdlib/Makefile (routines): Add drand48_r, erand48_r, lrand48_r, nrand48_r, mrand48_r, jrand48_r, srand48_r, seed48_r, lcong48_r, drand48-iter, a64l, l64a. * stdlib/stdlib.h: Declare them. * stdlib/random_r.c: New file. Reentrant version of functions from random family. * stdlib/stdlib.h: Declare them. * stdlib/random.c: Rewrite to use reentrant functions. * string/strerror_r.c: New file. Reentrant version. * string/strerror.c: Change for new _strerror_internal form. * string/Makefile (routines): Add strerror_r. * sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Set default value of user_entry to `_start'. Close AT_ENTRY case with `break'. * sysdeps/generic/strstr.c: New and much faster implementation by Stephen R. van den Berg. * sysdeps/generic/_strerror.c: _strerror_internal now takes three argument and has and explicit buffer length. * sysdeps/mach/_strerror.c: Change for new interface with three arguments. * stdio/perror.c, stdio/vfprintf.c: Callers changed. * sysdeps/mach/hurd/ttyname_r.c: New file. Reentrant version. * sysdeps/posix/ttyname_r.c: New file. Reentrant version. * sysdeps/stub/ttyname_r: New file. Define as dummy function. * sysdeps/posix/utimes.c: Include <utime.h> for prototype. (utimes): First parameter to utime must be file, not path. * sysdeps/posix/sysconf.c (__sysconf): Test for CLK_TCK in case _SC_CLK_TCK and return it when available. Test for STREAM_MAX in case _SC_STREAM_MAX and return it when available. Add case for _SC_2_LOCALEDEF which is now available. * posix/sys/types.h [__USE_SVID] (key_t): New type. * sysvipc/Makefile, sysvipc/ftok.c, sysvipc/sys/ipc.h, sysvipc/sys/msg.h, sysvipc/sys/sem.h, sysvipc/sys/shm.h, sysdeps/stub/sys/msq_buf.h, sysdeps/stub/sys/sem_buf.h, sysdeps/stub/sys/shm_buf.h, sysdeps/stub/sys/ipc_buf.h, sysdeps/stub/semctl.c, sysdeps/stub/semget.c, sysdeps/stub/semop.c, sysdeps/stub/shmat.c, sysdeps/stub/shmctl.c, sysdeps/stub/shmdt.c, sysdeps/stub/shmget.c, sysdeps/stub/msgctl.c, sysdeps/stub/msgget.c, sysdeps/stub/msgrcv.c, sysdeps/stub/msgsnd.c: New files. Add implementation of System V IPC.
1995-09-17 20:23:15 +00:00
break;
#ifdef NEED_DL_BASE_ADDR
Update. 1997-08-24 12:24 Ulrich Drepper <drepper@cygnus.com> * configure.in (INSTALL): Quote `$'. * libc.map: Add __xpg_basename. * csu/Makefile (initfini.s): Disable optimization. * elf/dl-deps.c: Implement handling of DL_FILTER. * elf/dl-load.c (_dl_init_paths): Add error check. * intl/finddomain.c (_nl_find_domain): Correct comment. * intl/localealias.c: Include <bits/libc-lock.h> not <libc-lock.h>. * libio/stdio.h: Make {,v}snprintf available if __USE_BSD. Change extern inline functions to work correctly in C++. * locale/iso-4217.def: Update for more recent ISO 4217 version. * locale/loadlocale.c (_nl_load_locale): Add cast. * manual/message.texi: Finish gettext section. * posix/getopt_init.c: Don't use relative #include path. (__getopt_clean_environment): Change function to take pointer to environment as argument. Optimize generation of test string a bit. * sysdeps/unix/sysv/linux/init-first.c: Call __getopt_clean_environment with additional argument. * poisx/glob.c: Add prototype for next_brace_sub. * sysdeps/generic/dl-sysdep.c: Recognize AT_BASE value on auxiliary vector. * sysdeps/i386/dl-machine.h (elf_machine_load_address): Rewrite to not generate relocation entry. Suggested by Richard Henderson. (ELF_MACHINE_BEFORE_RTLD_RELOC): Removed. (elf_machine_runtime_setup): Add .aligns. * sysdeps/i386/fpu/fraiseexcpt.c: Add volatile to asms. * sysdeps/i386/fpu/bits/mathinline.h: Partially undo change of 1997-08-14 03:14. gcc 2.7.2* is really broken in some aspects. * sysdeps/standalone/i386/i386.h: Clean up asm statements a bit. * sysdeps/standalone/i960/i960ca.h: Likewise. 1997-08-22 19:04 Richard Henderson <rth@cygnus.com> * elf/rtld.c (_dl_start): Init _dl_rtld_map.l_opencount due to undocumented test addition in _dl_map_object. Support ET_EXEC versions of ld.so, for debugging at least: * elf/dl-load.c (_dl_map_object): Add_name_to_object could get called despite the DT_SONAME != NULL test, segfaulting. Simplify the code here as well. * elf/dl-lookup.c (do_lookup): Skip objects with no symtab. (_dl_setup_hash): Likewise for hash tables. * elf/dl-version.c (_dl_check_map_versions): Likewise for strtabs. * elf/rtld.c (_dl_start): Likewise for rpath. (_dl_rtld_libname2): New variable. (dl_main): Use it to add an soname for ourselves when we don't have one of our own. Base it on the target's .interp. (dl_main): Again, skip printing of objects that don't have strtabs. Sparc 32 merge: * elf/dl-runtime.c (ELF_FIXUP_RETURN_VALUE): Provide default value. (fixup): Simplify code. Use ELF_FIXUP_RETURN_VALUE. (profile_fixup): Likewise, though this still needs fixing for Sparc32 and PPC. * sysdeps/powerpc/dl-machine.h: Transmute ELF_FIXUP_RETURNS_ADDRESS to ELF_FIXUP_RETURN_VALUE. * sysdeps/sparc/sparc32/dl-machine.h: Implement lazy relocation. Fix up _dl_start_user to handle _dl_skip_args properly. Use _dl_hwcap to determine if "flush" is available/needed. * sysdeps/sparc/configure.in: Remove. It doesn't actually do anything anymore, and what it did do is done somewhere else. * sysdeps/sparc/configure: Likewise. * sysdeps/sparc/fpu/bits/mathdef.h (FP_ILOGB0, FP_ILOGBNAN): New. * sysdeps/sparc/fpu/fraiseexcpt.c: Rearrange for smaller code. * sysdeps/sparc/sparc32/Makefile: Fix sparc->sparc/sparc32 bits in divrem expansions. * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h (END, LOC): New definitions for assembly syntax differences. * sysdeps/sparc/sparc32/__longjmp.S: %g6,%g7 are reserved to the "system". Use %g2,%g3 instead. Use new local label macro. * sysdeps/sparc/sparc32/add_n.S: Use <sysdep.h> and ENTRY, END, and LOC for proper assembly headers/footers. * sysdeps/sparc/sparc32/addmul_1.S: Likewise. * sysdeps/sparc/sparc32/alloca.S: Likewise. * sysdeps/sparc/sparc32/dotmul.S: Likewise. * sysdeps/sparc/sparc32/lshift.S: Likewise. * sysdeps/sparc/sparc32/mul_1.S: Likewise. * sysdeps/sparc/sparc32/rshift.S: Likewise. * sysdeps/sparc/sparc32/sparcv8/addmul_1.S: Likewise. * sysdeps/sparc/sparc32/sparcv8/mul_1.S: Likewise. * sysdeps/sparc/sparc32/sparcv8/submul_1.S: Likewise. * sysdeps/sparc/sparc32/sparcv8/udiv_qrnnd.S: Likewise. * sysdeps/sparc/sparc32/sub_n.S: Likewise. * sysdeps/sparc/sparc32/submul_1.S: Likewise. * sysdeps/sparc/sparc32/udiv_qrnnd.S: Likewise. * sysdeps/sparc/sparc32/umul.S: Likewise. * sysdeps/sparc/sparc32/divrem.m4: Likewise. * sysdeps/sparc/sparc32/rem.S: Regenerate. * sysdeps/sparc/sparc32/sdiv.S: Regenerate. * sysdeps/sparc/sparc32/udiv.S: Regenerate. * sysdeps/sparc/sparc32/urem.S: Regenerate. * sysdeps/sparc/sparc32/sparcv8/dotmul.S: New file. * sysdeps/sparc/sparc32/sparcv8/rem.S: New file. * sysdeps/sparc/sparc32/sparcv8/sdiv.S: New file. * sysdeps/sparc/sparc32/sparcv8/udiv.S: New file. * sysdeps/sparc/sparc32/sparcv8/umul.S: New file. * sysdeps/sparc/sparc32/sparcv8/urem.S: New file. * sysdeps/sparc/sparc32/bsd-_setjmp.S: Dike out. * sysdeps/sparc/sparc32/bsd-setjmp.S: Likewise. * sysdeps/sparc/sparc32/setjmp.S: Add _setjmp and setjmp entry points. * sysdeps/unix/sysv/linux/sparc/sparc32/__sigtrampoline.S: Clean up PIC code. * sysdeps/sparc/sparc32/elf/start.S: New file, slightly modified from the sparc64 version. * sysdeps/sparc/sparc32/elf/start.c: Removed. * sysdeps/unix/sysv/linux/sparc/sparc32/init-first.h: Rewrite in assembly based on the sparc64 version. * sysdeps/sparc/sparc32/fpu/bits/fenv.h: Duh. Use proper syntax for manipulating %fsr. * sysdeps/sparc/sparc32/fpu/fpu_control.h: Make IEEE conformance be the default. * elf/elf.h (HWCAP_SPARC_*): New definitions. * elf/rtld.c (_dl_hwcap): New variable. * sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Record AT_HWCAP. * sysdeps/unix/sysv/linux/sparc/sparc32/getpagesize.c: New file. Attempt to get hold of the page size based on what we might have been told at startup time in _dl_pagesize. This will be obsolete when I finish the kernel hooks for a proper sysconf(), stay tuned. Sparc 64 merge: * sysdeps/sparc/sparc64/dl-machine.h (ELF_FIXUP_RETURN_VALUE): New. Figure out the right thing to return based on the .plt format. * sysdeps/sparc/sparc64/fpu/fpu_control.h: Update comment. * sysdeps/unix/sysv/linux/sparc/sparc64/bits/types.h (__dev_t): Should have been 64-bits wide. * sysdeps/unix/sysv/linux/sparc/sparc64/init-first.h: sll->sllx, optimize for branch delay slot usage. 1997-08-22 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * csu/Makefile ($(objpfx)crt%.o): Fix a missing *.so -> *.os change. 1997-08-20 Andreas Jaeger <aj@arthur.rhein-neckar.de> * math/libm-test.c (identities): Change epsilon. * sysdeps/i386/fpu/bits/mathinline.h: Correct arguments to fabs, fabsf, fabsl, __fabsl. * sysdeps/libm-i387/e_remainderl.S: Pop extra value from FPU stack. * sysdeps/libm-ieee754/s_csinhl.c: Include <fenv.h>.
1997-08-24 10:55:18 +00:00
case AT_BASE:
_dl_base_addr = av->a_un.a_val;
break;
#endif
case AT_UID:
case AT_EUID:
uid ^= av->a_un.a_val;
break;
case AT_GID:
case AT_EGID:
gid ^= av->a_un.a_val;
break;
Update. 1997-07-26 04:14 Ulrich Drepper <drepper@cygnus.com> * elf/Makefile (distribute): Add genrtldtbl.awk. (before-compile): Add rtldtbl.h. (GAWK): New variable. (generated): Add trusted-dirs.h and rtldtbl.h. ($(objpfx)rtldtbl.h): New rule. File is needed by dl-load.c. * elf/dl-load.c: Rewrite. Now use cache and look for shared objects in machine dependent directories. * elf/dl-object.c (_dl_new_object): Initialize l_rpath_dirs member. * elf/dl-support.c: Rename function to non_dynamic_init and add initialization for _dl_platform, _dl_platformlen, _dl_pagesize and call to initializer for search path. * elf/elf.h: Add AT_PLATFORM and AT_HWCAP. * elf/genrtldtbl.awk: New file. * elf/link.h: Add type definitions and declarations for search path cache. * elf/rtld.c: Add definitions of variables used for search path cache. * sysdeps/generic/dl-sysdep.c: Let auxiliary vector initialize _dl_platform. Initialize _dl_pagesize early and use this value. * sysdeps/i386/dl-machine.h: Add code for _dl_platform handling. * sysdeps/mach/hurd/dl-sysdep.c: Initialize _dl_pagesize. * sysdeps/unix/sysv/linux/dl-sysdep.c: Use _dl_pagesize instead of calling getpagesize. * elf/dl-error.c (_dl_signal_error): Make message nicer. * nss/libnss_files.map: Fix typo. Reported by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>. * sysdeps/generic/strsep.c: Optimize case where separator set contains only one character. * sysdeps/libm-ieee754/s_ccosh.c: Correct sign of result for real == +-Inf. * sysdeps/libm-ieee754/s_ccoshf.c: Likewise. * sysdeps/libm-ieee754/s_ccoshl.c: Likewise. 1997-07-25 09:15 H.J. Lu <hjl@gnu.ai.mit.edu> * sysdeps/sparc/udiv_qrnnd.S: Check PIC instead of __PIC__. * sysdeps/unix/sysv/linux/sparc/__sigtrampoline.S: Likewise. * sysdeps/unix/mips/sysdep.S: Likewise. * sysdeps/unix/sysv/linux/mips/clone.S: Likewise. * sysdeps/mips/bsd-_setjmp.S: Remove __PIC__ comment. * sysdeps/mips/bsd-setjmp.S: Likewise. * sysdeps/mips/dl-machine.h: Remove extra stuff. * sysdeps/mips/mips64/dl-machine.h: Likewise. 1997-07-25 18:55 Philip Blundell <Philip.Blundell@pobox.com> * sysdeps/standalone/arm/sysdep.c: New file. 1997-07-25 13:25 Philip Blundell <Philip.Blundell@pobox.com> * aout/Makefile: New file. * Makeconfig (binfmt-subdir): Assume a.out when not ELF. * sysdeps/generic/machine-gmon.h: Add warning about limitations of __builtin_return_address(). * sysdeps/arm/machine-gmon.h: New file, use assembly to avoid above problem. 1997-07-25 16:24 H.J. Lu <hjl@gnu.ai.mit.edu> * elf/dl-deps.c (_dl_map_object_deps): Fix a typo. 1997-07-22 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * math/libm-test.c (ccos_test, ccosh_test): Fix sign in some tests. 1997-07-24 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sunrpc/clnt_udp.c (clntudp_call): Rename cu_wait from timeout to not shadow the variable in the outer scope.
1997-07-26 02:33:30 +00:00
case AT_PLATFORM:
Update. 2002-01-30 Ulrich Drepper <drepper@redhat.com> * Versions.def [ld]: Add GLIBC_2.3. * elf/dl-addr.c: Move global variables for SHARED code in struct _rtld_global. Export this struct, remove all exports for the signal variables. * elf/dl-close.c: Likewise. * elf/dl-conflict.c: Likewise. * elf/dl-debug.c: Likewise. * elf/dl-deps.c: Likewise. * elf/dl-dst.h: Likewise. * elf/dl-error.c: Likewise. * elf/dl-fini.c: Likewise. * elf/dl-init.c: Likewise. * elf/dl-iteratephdr.c: Likewise. * elf/dl-libc.c: Likewise. * elf/dl-load.c: Likewise. * elf/dl-lookup.c: Likewise. * elf/dl-minimal.c: Likewise. * elf/dl-object.c: Likewise. * elf/dl-open.c: Likewise. * elf/dl-profile.c: Likewise. * elf/dl-profstub.c: Likewise. * elf/dl-reloc.c: Likewise. * elf/dl-runtime.c: Likewise. * elf/dl-support.c: Likewise. * elf/dl-sym.c: Likewise. * elf/dl-version.c: Likewise. * elf/do-lookup.h: Likewise. * elf/do-rel.h: Likewise. * elf/dynamic-link.h: Likewise. * elf/rtld.c: Likewise. * sysdeps/generic/dl-cache.c: Likewise. * sysdeps/generic/dl-sysdep.c: Likewise. * sysdeps/generic/ldsodefs.h: Likewise. * sysdeps/generic/libc-start.c: Likewise. * sysdeps/i386/dl-machine.h: Likewise. * sysdeps/ia64/dl-fptr.c: Likewise. * sysdeps/ia64/dl-machine.h: Likewise. * sysdeps/unix/sysv/linux/dl-librecon.h: Likewise. * sysdeps/unix/sysv/linux/dl-origin.c: Likewise. * sysdeps/unix/sysv/linux/dl-osinfo.h: Likewise. * sysdeps/unix/sysv/linux/getclktck.c: Likewise. * sysdeps/unix/sysv/linux/getpagesize.c: Likewise. * sysdeps/unix/sysv/linux/i386/dl-librecon.h: Likewise. * sysdeps/unix/sysv/linux/ia64/dl-static.c: Likewise. * sysdeps/unix/sysv/linux/ia64/getpagesize.c: Likewise. * malloc/thread-m.h: Spinlock definitions for x86/x86_64.
2002-01-31 03:41:25 +00:00
GL(dl_platform) = av->a_un.a_ptr;
Update. 1997-07-26 04:14 Ulrich Drepper <drepper@cygnus.com> * elf/Makefile (distribute): Add genrtldtbl.awk. (before-compile): Add rtldtbl.h. (GAWK): New variable. (generated): Add trusted-dirs.h and rtldtbl.h. ($(objpfx)rtldtbl.h): New rule. File is needed by dl-load.c. * elf/dl-load.c: Rewrite. Now use cache and look for shared objects in machine dependent directories. * elf/dl-object.c (_dl_new_object): Initialize l_rpath_dirs member. * elf/dl-support.c: Rename function to non_dynamic_init and add initialization for _dl_platform, _dl_platformlen, _dl_pagesize and call to initializer for search path. * elf/elf.h: Add AT_PLATFORM and AT_HWCAP. * elf/genrtldtbl.awk: New file. * elf/link.h: Add type definitions and declarations for search path cache. * elf/rtld.c: Add definitions of variables used for search path cache. * sysdeps/generic/dl-sysdep.c: Let auxiliary vector initialize _dl_platform. Initialize _dl_pagesize early and use this value. * sysdeps/i386/dl-machine.h: Add code for _dl_platform handling. * sysdeps/mach/hurd/dl-sysdep.c: Initialize _dl_pagesize. * sysdeps/unix/sysv/linux/dl-sysdep.c: Use _dl_pagesize instead of calling getpagesize. * elf/dl-error.c (_dl_signal_error): Make message nicer. * nss/libnss_files.map: Fix typo. Reported by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>. * sysdeps/generic/strsep.c: Optimize case where separator set contains only one character. * sysdeps/libm-ieee754/s_ccosh.c: Correct sign of result for real == +-Inf. * sysdeps/libm-ieee754/s_ccoshf.c: Likewise. * sysdeps/libm-ieee754/s_ccoshl.c: Likewise. 1997-07-25 09:15 H.J. Lu <hjl@gnu.ai.mit.edu> * sysdeps/sparc/udiv_qrnnd.S: Check PIC instead of __PIC__. * sysdeps/unix/sysv/linux/sparc/__sigtrampoline.S: Likewise. * sysdeps/unix/mips/sysdep.S: Likewise. * sysdeps/unix/sysv/linux/mips/clone.S: Likewise. * sysdeps/mips/bsd-_setjmp.S: Remove __PIC__ comment. * sysdeps/mips/bsd-setjmp.S: Likewise. * sysdeps/mips/dl-machine.h: Remove extra stuff. * sysdeps/mips/mips64/dl-machine.h: Likewise. 1997-07-25 18:55 Philip Blundell <Philip.Blundell@pobox.com> * sysdeps/standalone/arm/sysdep.c: New file. 1997-07-25 13:25 Philip Blundell <Philip.Blundell@pobox.com> * aout/Makefile: New file. * Makeconfig (binfmt-subdir): Assume a.out when not ELF. * sysdeps/generic/machine-gmon.h: Add warning about limitations of __builtin_return_address(). * sysdeps/arm/machine-gmon.h: New file, use assembly to avoid above problem. 1997-07-25 16:24 H.J. Lu <hjl@gnu.ai.mit.edu> * elf/dl-deps.c (_dl_map_object_deps): Fix a typo. 1997-07-22 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * math/libm-test.c (ccos_test, ccosh_test): Fix sign in some tests. 1997-07-24 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sunrpc/clnt_udp.c (clntudp_call): Rename cu_wait from timeout to not shadow the variable in the outer scope.
1997-07-26 02:33:30 +00:00
break;
case AT_HWCAP:
Update. 2002-01-30 Ulrich Drepper <drepper@redhat.com> * Versions.def [ld]: Add GLIBC_2.3. * elf/dl-addr.c: Move global variables for SHARED code in struct _rtld_global. Export this struct, remove all exports for the signal variables. * elf/dl-close.c: Likewise. * elf/dl-conflict.c: Likewise. * elf/dl-debug.c: Likewise. * elf/dl-deps.c: Likewise. * elf/dl-dst.h: Likewise. * elf/dl-error.c: Likewise. * elf/dl-fini.c: Likewise. * elf/dl-init.c: Likewise. * elf/dl-iteratephdr.c: Likewise. * elf/dl-libc.c: Likewise. * elf/dl-load.c: Likewise. * elf/dl-lookup.c: Likewise. * elf/dl-minimal.c: Likewise. * elf/dl-object.c: Likewise. * elf/dl-open.c: Likewise. * elf/dl-profile.c: Likewise. * elf/dl-profstub.c: Likewise. * elf/dl-reloc.c: Likewise. * elf/dl-runtime.c: Likewise. * elf/dl-support.c: Likewise. * elf/dl-sym.c: Likewise. * elf/dl-version.c: Likewise. * elf/do-lookup.h: Likewise. * elf/do-rel.h: Likewise. * elf/dynamic-link.h: Likewise. * elf/rtld.c: Likewise. * sysdeps/generic/dl-cache.c: Likewise. * sysdeps/generic/dl-sysdep.c: Likewise. * sysdeps/generic/ldsodefs.h: Likewise. * sysdeps/generic/libc-start.c: Likewise. * sysdeps/i386/dl-machine.h: Likewise. * sysdeps/ia64/dl-fptr.c: Likewise. * sysdeps/ia64/dl-machine.h: Likewise. * sysdeps/unix/sysv/linux/dl-librecon.h: Likewise. * sysdeps/unix/sysv/linux/dl-origin.c: Likewise. * sysdeps/unix/sysv/linux/dl-osinfo.h: Likewise. * sysdeps/unix/sysv/linux/getclktck.c: Likewise. * sysdeps/unix/sysv/linux/getpagesize.c: Likewise. * sysdeps/unix/sysv/linux/i386/dl-librecon.h: Likewise. * sysdeps/unix/sysv/linux/ia64/dl-static.c: Likewise. * sysdeps/unix/sysv/linux/ia64/getpagesize.c: Likewise. * malloc/thread-m.h: Spinlock definitions for x86/x86_64.
2002-01-31 03:41:25 +00:00
GL(dl_hwcap) = av->a_un.a_val;
Update. 1997-07-26 04:14 Ulrich Drepper <drepper@cygnus.com> * elf/Makefile (distribute): Add genrtldtbl.awk. (before-compile): Add rtldtbl.h. (GAWK): New variable. (generated): Add trusted-dirs.h and rtldtbl.h. ($(objpfx)rtldtbl.h): New rule. File is needed by dl-load.c. * elf/dl-load.c: Rewrite. Now use cache and look for shared objects in machine dependent directories. * elf/dl-object.c (_dl_new_object): Initialize l_rpath_dirs member. * elf/dl-support.c: Rename function to non_dynamic_init and add initialization for _dl_platform, _dl_platformlen, _dl_pagesize and call to initializer for search path. * elf/elf.h: Add AT_PLATFORM and AT_HWCAP. * elf/genrtldtbl.awk: New file. * elf/link.h: Add type definitions and declarations for search path cache. * elf/rtld.c: Add definitions of variables used for search path cache. * sysdeps/generic/dl-sysdep.c: Let auxiliary vector initialize _dl_platform. Initialize _dl_pagesize early and use this value. * sysdeps/i386/dl-machine.h: Add code for _dl_platform handling. * sysdeps/mach/hurd/dl-sysdep.c: Initialize _dl_pagesize. * sysdeps/unix/sysv/linux/dl-sysdep.c: Use _dl_pagesize instead of calling getpagesize. * elf/dl-error.c (_dl_signal_error): Make message nicer. * nss/libnss_files.map: Fix typo. Reported by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>. * sysdeps/generic/strsep.c: Optimize case where separator set contains only one character. * sysdeps/libm-ieee754/s_ccosh.c: Correct sign of result for real == +-Inf. * sysdeps/libm-ieee754/s_ccoshf.c: Likewise. * sysdeps/libm-ieee754/s_ccoshl.c: Likewise. 1997-07-25 09:15 H.J. Lu <hjl@gnu.ai.mit.edu> * sysdeps/sparc/udiv_qrnnd.S: Check PIC instead of __PIC__. * sysdeps/unix/sysv/linux/sparc/__sigtrampoline.S: Likewise. * sysdeps/unix/mips/sysdep.S: Likewise. * sysdeps/unix/sysv/linux/mips/clone.S: Likewise. * sysdeps/mips/bsd-_setjmp.S: Remove __PIC__ comment. * sysdeps/mips/bsd-setjmp.S: Likewise. * sysdeps/mips/dl-machine.h: Remove extra stuff. * sysdeps/mips/mips64/dl-machine.h: Likewise. 1997-07-25 18:55 Philip Blundell <Philip.Blundell@pobox.com> * sysdeps/standalone/arm/sysdep.c: New file. 1997-07-25 13:25 Philip Blundell <Philip.Blundell@pobox.com> * aout/Makefile: New file. * Makeconfig (binfmt-subdir): Assume a.out when not ELF. * sysdeps/generic/machine-gmon.h: Add warning about limitations of __builtin_return_address(). * sysdeps/arm/machine-gmon.h: New file, use assembly to avoid above problem. 1997-07-25 16:24 H.J. Lu <hjl@gnu.ai.mit.edu> * elf/dl-deps.c (_dl_map_object_deps): Fix a typo. 1997-07-22 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * math/libm-test.c (ccos_test, ccosh_test): Fix sign in some tests. 1997-07-24 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sunrpc/clnt_udp.c (clntudp_call): Rename cu_wait from timeout to not shadow the variable in the outer scope.
1997-07-26 02:33:30 +00:00
break;
case AT_CLKTCK:
Update. 2002-01-30 Ulrich Drepper <drepper@redhat.com> * Versions.def [ld]: Add GLIBC_2.3. * elf/dl-addr.c: Move global variables for SHARED code in struct _rtld_global. Export this struct, remove all exports for the signal variables. * elf/dl-close.c: Likewise. * elf/dl-conflict.c: Likewise. * elf/dl-debug.c: Likewise. * elf/dl-deps.c: Likewise. * elf/dl-dst.h: Likewise. * elf/dl-error.c: Likewise. * elf/dl-fini.c: Likewise. * elf/dl-init.c: Likewise. * elf/dl-iteratephdr.c: Likewise. * elf/dl-libc.c: Likewise. * elf/dl-load.c: Likewise. * elf/dl-lookup.c: Likewise. * elf/dl-minimal.c: Likewise. * elf/dl-object.c: Likewise. * elf/dl-open.c: Likewise. * elf/dl-profile.c: Likewise. * elf/dl-profstub.c: Likewise. * elf/dl-reloc.c: Likewise. * elf/dl-runtime.c: Likewise. * elf/dl-support.c: Likewise. * elf/dl-sym.c: Likewise. * elf/dl-version.c: Likewise. * elf/do-lookup.h: Likewise. * elf/do-rel.h: Likewise. * elf/dynamic-link.h: Likewise. * elf/rtld.c: Likewise. * sysdeps/generic/dl-cache.c: Likewise. * sysdeps/generic/dl-sysdep.c: Likewise. * sysdeps/generic/ldsodefs.h: Likewise. * sysdeps/generic/libc-start.c: Likewise. * sysdeps/i386/dl-machine.h: Likewise. * sysdeps/ia64/dl-fptr.c: Likewise. * sysdeps/ia64/dl-machine.h: Likewise. * sysdeps/unix/sysv/linux/dl-librecon.h: Likewise. * sysdeps/unix/sysv/linux/dl-origin.c: Likewise. * sysdeps/unix/sysv/linux/dl-osinfo.h: Likewise. * sysdeps/unix/sysv/linux/getclktck.c: Likewise. * sysdeps/unix/sysv/linux/getpagesize.c: Likewise. * sysdeps/unix/sysv/linux/i386/dl-librecon.h: Likewise. * sysdeps/unix/sysv/linux/ia64/dl-static.c: Likewise. * sysdeps/unix/sysv/linux/ia64/getpagesize.c: Likewise. * malloc/thread-m.h: Spinlock definitions for x86/x86_64.
2002-01-31 03:41:25 +00:00
GL(dl_clktck) = av->a_un.a_val;
break;
case AT_FPUCW:
Update. * sysdeps/generic/ldsodefs.h: Add _dl_load_lock, _dl_lazy, _dl_dynamic_weak, _dl_fpu_control, _dl_cpuclock_offset, and _dl_debug_fd to rtld_global. * elf/Versions: Likewise. * elf/dl-close.c: Likewise. * elf/dl-iteratephdr.c: Likewise. * elf/dl-lookup.c: Likewise. * elf/dl-misc.c: Likewise. * elf/dl-open.c: Likewise. * elf/dl-support.c: Likewise. * elf/do-lookup.h: Likewise. * elf/rtld.c: Likewise. * sysdeps/generic/dl-cache.c: Likewise. * sysdeps/generic/dl-sysdep.c: Likewise. * sysdeps/ia64/Versions: Likewise. * sysdeps/unix/clock_gettime.c: Likewise. * sysdeps/unix/clock_settime.c: Likewise. * sysdeps/unix/sysv/linux/init-first.c: Likewise. * sysdeps/sparc/Versions: Removed. * sysdeps/i386/i686/Versions : Removed. * sysdeps/x86_64/Versions: Removed. * configure.in: Define HAVE_PROTECTED if .protected is available. * config.h.in: Add entry for HAVE_PROTECTED. 2002-01-31 Jakub Jelinek <jakub@redhat.com. * sysdeps/alpha/dl-machine.h: Move global variables for SHARED code in struct _rtld_global. Export this struct, remove all exports for the signal variables. * sysdeps/arm/dl-machine: Likewise. * sysdeps/generic/dl-origin: Likewise. * sysdeps/generic/dl-sysdep: Likewise. * sysdeps/generic/dl-cache: Likewise. * sysdeps/hppa/dl-fptr: Likewise. * sysdeps/hppa/dl-machine: Likewise. * sysdeps/cris/dl-machine: Likewise. * sysdeps/i386/dl-machine: Likewise. * sysdeps/ia64/dl-machine: Likewise. * sysdeps/m68k/dl-machine: Likewise. * sysdeps/mach/hurd/dl-sysdep: Likewise. * sysdeps/mips/mips64/dl-machine: Likewise. * sysdeps/mips/dl-machine: Likewise. * sysdeps/powerpc/elf/libc-start: Likewise. * sysdeps/powerpc/dl-machine: Likewise. * sysdeps/powerpc/dl-start: Likewise. * sysdeps/sparc/sparc32/dl-machine: Likewise. * sysdeps/sparc/sparc64/dl-machine: Likewise. * sysdeps/sh/dl-machine: Likewise. * sysdeps/s390/s390-32/dl-machine: Likewise. * sysdeps/s390/s390-64/dl-machine: Likewise. * sysdeps/unix/sysv/aix/libc-start: Likewise. * sysdeps/unix/sysv/aix/start-libc: Likewise. * sysdeps/unix/sysv/linux/ia64/dl-static: Likewise. * sysdeps/unix/sysv/linux/m68k/getpagesize: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/getpagesize: Likewise. * sysdeps/x86_64/dl-machine: Likewise. 2002-01-31 Ulrich Drepper <drepper@redhat.com>
2002-02-01 01:33:04 +00:00
GL(dl_fpu_control) = av->a_un.a_val;
break;
#ifdef NEED_DL_SYSINFO
case AT_SYSINFO:
GL(dl_sysinfo) = av->a_un.a_val;
break;
case AT_SYSINFO_EHDR:
GL(dl_sysinfo_dso) = av->a_un.a_ptr;
break;
#endif
#ifdef DL_PLATFORM_AUXV
DL_PLATFORM_AUXV
#endif
}
#ifdef DL_SYSDEP_OSCHECK
DL_SYSDEP_OSCHECK (dl_fatal);
#endif
/* Fill in the values we have not gotten from the kernel through the
auxiliary vector. */
#ifndef HAVE_AUX_XID
# define SEE(UID, var, uid) \
if ((seen & M (AT_##UID)) == 0) var ^= __get##uid ()
SEE (UID, uid, uid);
SEE (EUID, uid, euid);
SEE (GID, gid, gid);
SEE (EGID, gid, egid);
#endif
/* If one of the two pairs of IDs does not match this is a setuid
or setgid run. */
INTUSE(__libc_enable_secure) = uid | gid;
#ifndef HAVE_AUX_PAGESIZE
if (GL(dl_pagesize) == 0)
GL(dl_pagesize) = __getpagesize ();
#endif
Update. 1997-07-26 04:14 Ulrich Drepper <drepper@cygnus.com> * elf/Makefile (distribute): Add genrtldtbl.awk. (before-compile): Add rtldtbl.h. (GAWK): New variable. (generated): Add trusted-dirs.h and rtldtbl.h. ($(objpfx)rtldtbl.h): New rule. File is needed by dl-load.c. * elf/dl-load.c: Rewrite. Now use cache and look for shared objects in machine dependent directories. * elf/dl-object.c (_dl_new_object): Initialize l_rpath_dirs member. * elf/dl-support.c: Rename function to non_dynamic_init and add initialization for _dl_platform, _dl_platformlen, _dl_pagesize and call to initializer for search path. * elf/elf.h: Add AT_PLATFORM and AT_HWCAP. * elf/genrtldtbl.awk: New file. * elf/link.h: Add type definitions and declarations for search path cache. * elf/rtld.c: Add definitions of variables used for search path cache. * sysdeps/generic/dl-sysdep.c: Let auxiliary vector initialize _dl_platform. Initialize _dl_pagesize early and use this value. * sysdeps/i386/dl-machine.h: Add code for _dl_platform handling. * sysdeps/mach/hurd/dl-sysdep.c: Initialize _dl_pagesize. * sysdeps/unix/sysv/linux/dl-sysdep.c: Use _dl_pagesize instead of calling getpagesize. * elf/dl-error.c (_dl_signal_error): Make message nicer. * nss/libnss_files.map: Fix typo. Reported by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>. * sysdeps/generic/strsep.c: Optimize case where separator set contains only one character. * sysdeps/libm-ieee754/s_ccosh.c: Correct sign of result for real == +-Inf. * sysdeps/libm-ieee754/s_ccoshf.c: Likewise. * sysdeps/libm-ieee754/s_ccoshl.c: Likewise. 1997-07-25 09:15 H.J. Lu <hjl@gnu.ai.mit.edu> * sysdeps/sparc/udiv_qrnnd.S: Check PIC instead of __PIC__. * sysdeps/unix/sysv/linux/sparc/__sigtrampoline.S: Likewise. * sysdeps/unix/mips/sysdep.S: Likewise. * sysdeps/unix/sysv/linux/mips/clone.S: Likewise. * sysdeps/mips/bsd-_setjmp.S: Remove __PIC__ comment. * sysdeps/mips/bsd-setjmp.S: Likewise. * sysdeps/mips/dl-machine.h: Remove extra stuff. * sysdeps/mips/mips64/dl-machine.h: Likewise. 1997-07-25 18:55 Philip Blundell <Philip.Blundell@pobox.com> * sysdeps/standalone/arm/sysdep.c: New file. 1997-07-25 13:25 Philip Blundell <Philip.Blundell@pobox.com> * aout/Makefile: New file. * Makeconfig (binfmt-subdir): Assume a.out when not ELF. * sysdeps/generic/machine-gmon.h: Add warning about limitations of __builtin_return_address(). * sysdeps/arm/machine-gmon.h: New file, use assembly to avoid above problem. 1997-07-25 16:24 H.J. Lu <hjl@gnu.ai.mit.edu> * elf/dl-deps.c (_dl_map_object_deps): Fix a typo. 1997-07-22 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * math/libm-test.c (ccos_test, ccosh_test): Fix sign in some tests. 1997-07-24 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sunrpc/clnt_udp.c (clntudp_call): Rename cu_wait from timeout to not shadow the variable in the outer scope.
1997-07-26 02:33:30 +00:00
#ifdef DL_SYSDEP_INIT
DL_SYSDEP_INIT;
#endif
Update. 1997-07-26 04:14 Ulrich Drepper <drepper@cygnus.com> * elf/Makefile (distribute): Add genrtldtbl.awk. (before-compile): Add rtldtbl.h. (GAWK): New variable. (generated): Add trusted-dirs.h and rtldtbl.h. ($(objpfx)rtldtbl.h): New rule. File is needed by dl-load.c. * elf/dl-load.c: Rewrite. Now use cache and look for shared objects in machine dependent directories. * elf/dl-object.c (_dl_new_object): Initialize l_rpath_dirs member. * elf/dl-support.c: Rename function to non_dynamic_init and add initialization for _dl_platform, _dl_platformlen, _dl_pagesize and call to initializer for search path. * elf/elf.h: Add AT_PLATFORM and AT_HWCAP. * elf/genrtldtbl.awk: New file. * elf/link.h: Add type definitions and declarations for search path cache. * elf/rtld.c: Add definitions of variables used for search path cache. * sysdeps/generic/dl-sysdep.c: Let auxiliary vector initialize _dl_platform. Initialize _dl_pagesize early and use this value. * sysdeps/i386/dl-machine.h: Add code for _dl_platform handling. * sysdeps/mach/hurd/dl-sysdep.c: Initialize _dl_pagesize. * sysdeps/unix/sysv/linux/dl-sysdep.c: Use _dl_pagesize instead of calling getpagesize. * elf/dl-error.c (_dl_signal_error): Make message nicer. * nss/libnss_files.map: Fix typo. Reported by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>. * sysdeps/generic/strsep.c: Optimize case where separator set contains only one character. * sysdeps/libm-ieee754/s_ccosh.c: Correct sign of result for real == +-Inf. * sysdeps/libm-ieee754/s_ccoshf.c: Likewise. * sysdeps/libm-ieee754/s_ccoshl.c: Likewise. 1997-07-25 09:15 H.J. Lu <hjl@gnu.ai.mit.edu> * sysdeps/sparc/udiv_qrnnd.S: Check PIC instead of __PIC__. * sysdeps/unix/sysv/linux/sparc/__sigtrampoline.S: Likewise. * sysdeps/unix/mips/sysdep.S: Likewise. * sysdeps/unix/sysv/linux/mips/clone.S: Likewise. * sysdeps/mips/bsd-_setjmp.S: Remove __PIC__ comment. * sysdeps/mips/bsd-setjmp.S: Likewise. * sysdeps/mips/dl-machine.h: Remove extra stuff. * sysdeps/mips/mips64/dl-machine.h: Likewise. 1997-07-25 18:55 Philip Blundell <Philip.Blundell@pobox.com> * sysdeps/standalone/arm/sysdep.c: New file. 1997-07-25 13:25 Philip Blundell <Philip.Blundell@pobox.com> * aout/Makefile: New file. * Makeconfig (binfmt-subdir): Assume a.out when not ELF. * sysdeps/generic/machine-gmon.h: Add warning about limitations of __builtin_return_address(). * sysdeps/arm/machine-gmon.h: New file, use assembly to avoid above problem. 1997-07-25 16:24 H.J. Lu <hjl@gnu.ai.mit.edu> * elf/dl-deps.c (_dl_map_object_deps): Fix a typo. 1997-07-22 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * math/libm-test.c (ccos_test, ccosh_test): Fix sign in some tests. 1997-07-24 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sunrpc/clnt_udp.c (clntudp_call): Rename cu_wait from timeout to not shadow the variable in the outer scope.
1997-07-26 02:33:30 +00:00
#ifdef DL_PLATFORM_INIT
DL_PLATFORM_INIT;
#endif
/* Determine the length of the platform name. */
Update. 2002-01-30 Ulrich Drepper <drepper@redhat.com> * Versions.def [ld]: Add GLIBC_2.3. * elf/dl-addr.c: Move global variables for SHARED code in struct _rtld_global. Export this struct, remove all exports for the signal variables. * elf/dl-close.c: Likewise. * elf/dl-conflict.c: Likewise. * elf/dl-debug.c: Likewise. * elf/dl-deps.c: Likewise. * elf/dl-dst.h: Likewise. * elf/dl-error.c: Likewise. * elf/dl-fini.c: Likewise. * elf/dl-init.c: Likewise. * elf/dl-iteratephdr.c: Likewise. * elf/dl-libc.c: Likewise. * elf/dl-load.c: Likewise. * elf/dl-lookup.c: Likewise. * elf/dl-minimal.c: Likewise. * elf/dl-object.c: Likewise. * elf/dl-open.c: Likewise. * elf/dl-profile.c: Likewise. * elf/dl-profstub.c: Likewise. * elf/dl-reloc.c: Likewise. * elf/dl-runtime.c: Likewise. * elf/dl-support.c: Likewise. * elf/dl-sym.c: Likewise. * elf/dl-version.c: Likewise. * elf/do-lookup.h: Likewise. * elf/do-rel.h: Likewise. * elf/dynamic-link.h: Likewise. * elf/rtld.c: Likewise. * sysdeps/generic/dl-cache.c: Likewise. * sysdeps/generic/dl-sysdep.c: Likewise. * sysdeps/generic/ldsodefs.h: Likewise. * sysdeps/generic/libc-start.c: Likewise. * sysdeps/i386/dl-machine.h: Likewise. * sysdeps/ia64/dl-fptr.c: Likewise. * sysdeps/ia64/dl-machine.h: Likewise. * sysdeps/unix/sysv/linux/dl-librecon.h: Likewise. * sysdeps/unix/sysv/linux/dl-origin.c: Likewise. * sysdeps/unix/sysv/linux/dl-osinfo.h: Likewise. * sysdeps/unix/sysv/linux/getclktck.c: Likewise. * sysdeps/unix/sysv/linux/getpagesize.c: Likewise. * sysdeps/unix/sysv/linux/i386/dl-librecon.h: Likewise. * sysdeps/unix/sysv/linux/ia64/dl-static.c: Likewise. * sysdeps/unix/sysv/linux/ia64/getpagesize.c: Likewise. * malloc/thread-m.h: Spinlock definitions for x86/x86_64.
2002-01-31 03:41:25 +00:00
if (GL(dl_platform) != NULL)
GL(dl_platformlen) = strlen (GL(dl_platform));
Update. 1997-07-26 04:14 Ulrich Drepper <drepper@cygnus.com> * elf/Makefile (distribute): Add genrtldtbl.awk. (before-compile): Add rtldtbl.h. (GAWK): New variable. (generated): Add trusted-dirs.h and rtldtbl.h. ($(objpfx)rtldtbl.h): New rule. File is needed by dl-load.c. * elf/dl-load.c: Rewrite. Now use cache and look for shared objects in machine dependent directories. * elf/dl-object.c (_dl_new_object): Initialize l_rpath_dirs member. * elf/dl-support.c: Rename function to non_dynamic_init and add initialization for _dl_platform, _dl_platformlen, _dl_pagesize and call to initializer for search path. * elf/elf.h: Add AT_PLATFORM and AT_HWCAP. * elf/genrtldtbl.awk: New file. * elf/link.h: Add type definitions and declarations for search path cache. * elf/rtld.c: Add definitions of variables used for search path cache. * sysdeps/generic/dl-sysdep.c: Let auxiliary vector initialize _dl_platform. Initialize _dl_pagesize early and use this value. * sysdeps/i386/dl-machine.h: Add code for _dl_platform handling. * sysdeps/mach/hurd/dl-sysdep.c: Initialize _dl_pagesize. * sysdeps/unix/sysv/linux/dl-sysdep.c: Use _dl_pagesize instead of calling getpagesize. * elf/dl-error.c (_dl_signal_error): Make message nicer. * nss/libnss_files.map: Fix typo. Reported by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>. * sysdeps/generic/strsep.c: Optimize case where separator set contains only one character. * sysdeps/libm-ieee754/s_ccosh.c: Correct sign of result for real == +-Inf. * sysdeps/libm-ieee754/s_ccoshf.c: Likewise. * sysdeps/libm-ieee754/s_ccoshl.c: Likewise. 1997-07-25 09:15 H.J. Lu <hjl@gnu.ai.mit.edu> * sysdeps/sparc/udiv_qrnnd.S: Check PIC instead of __PIC__. * sysdeps/unix/sysv/linux/sparc/__sigtrampoline.S: Likewise. * sysdeps/unix/mips/sysdep.S: Likewise. * sysdeps/unix/sysv/linux/mips/clone.S: Likewise. * sysdeps/mips/bsd-_setjmp.S: Remove __PIC__ comment. * sysdeps/mips/bsd-setjmp.S: Likewise. * sysdeps/mips/dl-machine.h: Remove extra stuff. * sysdeps/mips/mips64/dl-machine.h: Likewise. 1997-07-25 18:55 Philip Blundell <Philip.Blundell@pobox.com> * sysdeps/standalone/arm/sysdep.c: New file. 1997-07-25 13:25 Philip Blundell <Philip.Blundell@pobox.com> * aout/Makefile: New file. * Makeconfig (binfmt-subdir): Assume a.out when not ELF. * sysdeps/generic/machine-gmon.h: Add warning about limitations of __builtin_return_address(). * sysdeps/arm/machine-gmon.h: New file, use assembly to avoid above problem. 1997-07-25 16:24 H.J. Lu <hjl@gnu.ai.mit.edu> * elf/dl-deps.c (_dl_map_object_deps): Fix a typo. 1997-07-22 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * math/libm-test.c (ccos_test, ccosh_test): Fix sign in some tests. 1997-07-24 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sunrpc/clnt_udp.c (clntudp_call): Rename cu_wait from timeout to not shadow the variable in the outer scope.
1997-07-26 02:33:30 +00:00
update from main archive 960828 Thu Aug 29 00:28:08 1996 Ulrich Drepper <drepper@cygnus.com> * stdio-common/printf_fp.c (__printf_fp): Use default value `.` if `decimal' char is 0. * C-numeric.c (not_available): New constant. (_nl_C_LC_NUMERIC): Use `not_available' for grouping value. * nss/nsswitch.conf: Example configuration file. * nss/db-Makefile: Example Makefile for generation of databases for nss_db. * nss/Makefile (distribute): Add nsswitch.conf and db-Makefile. 1996-08-28 Paul Eggert <eggert@twinsun.com> * C-messages.c (_nl_C_LC_MESSAGES): Set yesexpr to "^[yY]" and noexpr to "^[nN]"; this conforms to POSIX.2. * C-time.c (_nl_C_LC_TIME): Change %d to %e in d_t_format, to conform to POSIX.2. 1996-08-28 Paul Eggert <eggert@twinsun.com> * C-monetary.c (not_available): New constant. (_nl_C_LC_MONETARY): Set mon_decimal_point to "", and set mon_grouping, int_frac_digits, frac_digits, p_cs_precedes, p_sep_by_space, n_cs_precedes, n_sep_by_space, p_sign_posn, and n_sign_posn to CHAR_MAX, as required by the POSIX Standard. Wed Aug 28 23:12:28 1996 Ulrich Drepper <drepper@cygnus.com> * nss/nss_db/db-XXX.c: Correct function names. They must be `_nss_db_*' instead of `_nss_files_*'. (lookup): `parse_line' returns 1 if succesful. * nss/nss_files/files-service.c (servbyname): Key for database must also contain protocol names. (servbypt): Likewise. Test must also check for protocol. Add `proto' argument. Tue Aug 27 09:56:13 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * MakeTAGS ($P/subdirs.pot): Prefix all file names, not only the first one. Fri Aug 16 16:11:25 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu> * nss/nss_dns/dns-host.c (_nss_dns_gethostbyname2_r): Treat EPFNOSUPPORT and EAFNOSUPPORT as implying NSS_STATUS_UNAVAIL just like ECONNREFUSED already does. (_nss_dns_gethostbyaddr_r): Likewise. * nss/nss_dns/dns-network.c (_nss_dns_getnetbyname_r): Likewise. (_nss_dns_getnetbyaddr_r): Likewise. * sysdeps/mach/hurd/socket.c (socket): For message transmission and RPC errors that indicate that the socket server is not really present and able to do its job, turn the error into EPFNOSUPPORT. * sysdeps/generic/sbrk.c (__sbrk): Get kernel brk address always only if in static libc or if statically linked program uses libc.so.
1996-08-29 00:31:18 +00:00
if (__sbrk (0) == &_end)
Update. 1997-07-26 04:14 Ulrich Drepper <drepper@cygnus.com> * elf/Makefile (distribute): Add genrtldtbl.awk. (before-compile): Add rtldtbl.h. (GAWK): New variable. (generated): Add trusted-dirs.h and rtldtbl.h. ($(objpfx)rtldtbl.h): New rule. File is needed by dl-load.c. * elf/dl-load.c: Rewrite. Now use cache and look for shared objects in machine dependent directories. * elf/dl-object.c (_dl_new_object): Initialize l_rpath_dirs member. * elf/dl-support.c: Rename function to non_dynamic_init and add initialization for _dl_platform, _dl_platformlen, _dl_pagesize and call to initializer for search path. * elf/elf.h: Add AT_PLATFORM and AT_HWCAP. * elf/genrtldtbl.awk: New file. * elf/link.h: Add type definitions and declarations for search path cache. * elf/rtld.c: Add definitions of variables used for search path cache. * sysdeps/generic/dl-sysdep.c: Let auxiliary vector initialize _dl_platform. Initialize _dl_pagesize early and use this value. * sysdeps/i386/dl-machine.h: Add code for _dl_platform handling. * sysdeps/mach/hurd/dl-sysdep.c: Initialize _dl_pagesize. * sysdeps/unix/sysv/linux/dl-sysdep.c: Use _dl_pagesize instead of calling getpagesize. * elf/dl-error.c (_dl_signal_error): Make message nicer. * nss/libnss_files.map: Fix typo. Reported by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>. * sysdeps/generic/strsep.c: Optimize case where separator set contains only one character. * sysdeps/libm-ieee754/s_ccosh.c: Correct sign of result for real == +-Inf. * sysdeps/libm-ieee754/s_ccoshf.c: Likewise. * sysdeps/libm-ieee754/s_ccoshl.c: Likewise. 1997-07-25 09:15 H.J. Lu <hjl@gnu.ai.mit.edu> * sysdeps/sparc/udiv_qrnnd.S: Check PIC instead of __PIC__. * sysdeps/unix/sysv/linux/sparc/__sigtrampoline.S: Likewise. * sysdeps/unix/mips/sysdep.S: Likewise. * sysdeps/unix/sysv/linux/mips/clone.S: Likewise. * sysdeps/mips/bsd-_setjmp.S: Remove __PIC__ comment. * sysdeps/mips/bsd-setjmp.S: Likewise. * sysdeps/mips/dl-machine.h: Remove extra stuff. * sysdeps/mips/mips64/dl-machine.h: Likewise. 1997-07-25 18:55 Philip Blundell <Philip.Blundell@pobox.com> * sysdeps/standalone/arm/sysdep.c: New file. 1997-07-25 13:25 Philip Blundell <Philip.Blundell@pobox.com> * aout/Makefile: New file. * Makeconfig (binfmt-subdir): Assume a.out when not ELF. * sysdeps/generic/machine-gmon.h: Add warning about limitations of __builtin_return_address(). * sysdeps/arm/machine-gmon.h: New file, use assembly to avoid above problem. 1997-07-25 16:24 H.J. Lu <hjl@gnu.ai.mit.edu> * elf/dl-deps.c (_dl_map_object_deps): Fix a typo. 1997-07-22 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * math/libm-test.c (ccos_test, ccosh_test): Fix sign in some tests. 1997-07-24 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sunrpc/clnt_udp.c (clntudp_call): Rename cu_wait from timeout to not shadow the variable in the outer scope.
1997-07-26 02:33:30 +00:00
/* The dynamic linker was run as a program, and so the initial break
starts just after our bss, at &_end. The malloc in dl-minimal.c
will consume the rest of this page, so tell the kernel to move the
break up that far. When the user program examines its break, it
will see this new value and not clobber our data. */
Update. 2002-01-30 Ulrich Drepper <drepper@redhat.com> * Versions.def [ld]: Add GLIBC_2.3. * elf/dl-addr.c: Move global variables for SHARED code in struct _rtld_global. Export this struct, remove all exports for the signal variables. * elf/dl-close.c: Likewise. * elf/dl-conflict.c: Likewise. * elf/dl-debug.c: Likewise. * elf/dl-deps.c: Likewise. * elf/dl-dst.h: Likewise. * elf/dl-error.c: Likewise. * elf/dl-fini.c: Likewise. * elf/dl-init.c: Likewise. * elf/dl-iteratephdr.c: Likewise. * elf/dl-libc.c: Likewise. * elf/dl-load.c: Likewise. * elf/dl-lookup.c: Likewise. * elf/dl-minimal.c: Likewise. * elf/dl-object.c: Likewise. * elf/dl-open.c: Likewise. * elf/dl-profile.c: Likewise. * elf/dl-profstub.c: Likewise. * elf/dl-reloc.c: Likewise. * elf/dl-runtime.c: Likewise. * elf/dl-support.c: Likewise. * elf/dl-sym.c: Likewise. * elf/dl-version.c: Likewise. * elf/do-lookup.h: Likewise. * elf/do-rel.h: Likewise. * elf/dynamic-link.h: Likewise. * elf/rtld.c: Likewise. * sysdeps/generic/dl-cache.c: Likewise. * sysdeps/generic/dl-sysdep.c: Likewise. * sysdeps/generic/ldsodefs.h: Likewise. * sysdeps/generic/libc-start.c: Likewise. * sysdeps/i386/dl-machine.h: Likewise. * sysdeps/ia64/dl-fptr.c: Likewise. * sysdeps/ia64/dl-machine.h: Likewise. * sysdeps/unix/sysv/linux/dl-librecon.h: Likewise. * sysdeps/unix/sysv/linux/dl-origin.c: Likewise. * sysdeps/unix/sysv/linux/dl-osinfo.h: Likewise. * sysdeps/unix/sysv/linux/getclktck.c: Likewise. * sysdeps/unix/sysv/linux/getpagesize.c: Likewise. * sysdeps/unix/sysv/linux/i386/dl-librecon.h: Likewise. * sysdeps/unix/sysv/linux/ia64/dl-static.c: Likewise. * sysdeps/unix/sysv/linux/ia64/getpagesize.c: Likewise. * malloc/thread-m.h: Spinlock definitions for x86/x86_64.
2002-01-31 03:41:25 +00:00
__sbrk (GL(dl_pagesize) - ((&_end - (void *) 0) & (GL(dl_pagesize) - 1)));
update from main archive 960828 Thu Aug 29 00:28:08 1996 Ulrich Drepper <drepper@cygnus.com> * stdio-common/printf_fp.c (__printf_fp): Use default value `.` if `decimal' char is 0. * C-numeric.c (not_available): New constant. (_nl_C_LC_NUMERIC): Use `not_available' for grouping value. * nss/nsswitch.conf: Example configuration file. * nss/db-Makefile: Example Makefile for generation of databases for nss_db. * nss/Makefile (distribute): Add nsswitch.conf and db-Makefile. 1996-08-28 Paul Eggert <eggert@twinsun.com> * C-messages.c (_nl_C_LC_MESSAGES): Set yesexpr to "^[yY]" and noexpr to "^[nN]"; this conforms to POSIX.2. * C-time.c (_nl_C_LC_TIME): Change %d to %e in d_t_format, to conform to POSIX.2. 1996-08-28 Paul Eggert <eggert@twinsun.com> * C-monetary.c (not_available): New constant. (_nl_C_LC_MONETARY): Set mon_decimal_point to "", and set mon_grouping, int_frac_digits, frac_digits, p_cs_precedes, p_sep_by_space, n_cs_precedes, n_sep_by_space, p_sign_posn, and n_sign_posn to CHAR_MAX, as required by the POSIX Standard. Wed Aug 28 23:12:28 1996 Ulrich Drepper <drepper@cygnus.com> * nss/nss_db/db-XXX.c: Correct function names. They must be `_nss_db_*' instead of `_nss_files_*'. (lookup): `parse_line' returns 1 if succesful. * nss/nss_files/files-service.c (servbyname): Key for database must also contain protocol names. (servbypt): Likewise. Test must also check for protocol. Add `proto' argument. Tue Aug 27 09:56:13 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * MakeTAGS ($P/subdirs.pot): Prefix all file names, not only the first one. Fri Aug 16 16:11:25 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu> * nss/nss_dns/dns-host.c (_nss_dns_gethostbyname2_r): Treat EPFNOSUPPORT and EAFNOSUPPORT as implying NSS_STATUS_UNAVAIL just like ECONNREFUSED already does. (_nss_dns_gethostbyaddr_r): Likewise. * nss/nss_dns/dns-network.c (_nss_dns_getnetbyname_r): Likewise. (_nss_dns_getnetbyaddr_r): Likewise. * sysdeps/mach/hurd/socket.c (socket): For message transmission and RPC errors that indicate that the socket server is not really present and able to do its job, turn the error into EPFNOSUPPORT. * sysdeps/generic/sbrk.c (__sbrk): Get kernel brk address always only if in static libc or if statically linked program uses libc.so.
1996-08-29 00:31:18 +00:00
/* If this is a SUID program we make sure that FDs 0, 1, and 2 are
allocated. If necessary we are doing it ourself. If it is not
possible we stop the program. */
Update. 2002-03-01 Ulrich Drepper <drepper@redhat.com> * elf/Makefile (dl-routines): Add dl-origin. (elide-routines.os): Add dl-origin. * elf/Versions [ld] (GLIBC_PRIVATE): Add _dl_get_origin. * elf/dl-debug.c (_dl_debug_initialize): Add missing INTUSE around _dl_debug_state. * include/libc-symbols.c: Define attribute_hidden depending on HAVE_VISIBILITY_ATTRIBUTE. Add definition of INTVARDEF. * elf/dl-deps.c: Use INTUSE with __libc_enable_secure. * elf/dl-load.c: Likewise. * elf/rtld.c: Likewise. * include/unistd.h: Declare __libc_enable_secure_internal. * sysdeps/generic/dl-sysdep.c: Use INTVARDEF with __libc_enable_secure. Use INTUSE with __libc_enable_secure. * sysdeps/mach/hurd/dl-sysdep.c: Likewise. * elf/dl-deps.c: Use INTUSE with _dl_out_of_memory. * elf/dl-error.c: Likewise, * sysdeps/generic/ldsodefs.h: Declare _dl_out_of_memory_internal. * elf/dl-dst.h [_RTLD_GLOBAL]: Define _dl_get_origin to use INTUSE. * sysdeps/generic/dl-origin.c: Undefine _dl_get_origin macro before function definition. Use INTDEF with _dl_get_origin. * sysdeps/unix/sysv/linux/dl-origin.c: Likewise. * elf/dl-init.c: Use INTUSE with _dl_starting_up. * elf/rtld.c: Likewise. Use INTVARDEF for _dl_starting_up. * elf/dl-profile.c: Use INTDEF for _dl_mcount. * elf/dl-runtime.c: Use INTUSE with _dl_mcount. * sysdeps/generic/ldsodefs.h: Declare _dl_mcount_internal. * elf/dl-conflict.c: Use rtld_progrname instead of _dl_argv[0]. * elf/dl-deps.c: Likewise. * elf/dl-error.c: Likewise. * elf/dl-fini.c: Likewise. * elf/dl-init.c: Likewise. * elf/dl-load.c: Likewise. * elf/dl-lookup.c: Likewise. * elf/dl-reloc.c: Likewise. * elf/dl-version.c: Likewise. * elf/do-lookup.h: Likewise. * sysdeps/arm/dl-machine.h: Likewise. * sysdeps/cris/dl-machine.h: Likewise. * sysdeps/hppa/dl-machine.h: Likewise. * sysdeps/i386/dl-machine.h: Likewise. * sysdeps/m68k/dl-machine.h: Likewise. * sysdeps/powerpc/dl-machine.h: Likewise. * sysdeps/s390/s390-32/dl-machine.h: Likewise. * sysdeps/s390/s390-64/dl-machine.h: Likewise. * sysdeps/sh/dl-machine.h: Likewise. * sysdeps/sparc/sparc-32/dl-machine.h: Likewise. * sysdeps/sparc/sparc-64/dl-machine.h: Likewise. * sysdeps/x86_64/dl-machine.h: Likewise. * elf/rtld.c: Use INTDEF for _dl_argv. Use rtld_progrname instead of _dl_argv[0]. Use INTUSE with _dl_argv. * sysdeps/generic/dl-sysdep.c: Use INTUSE with _dl_argv. * sysdeps/generic/ldsodefs.h: Define rtld_progname macro.
2002-03-01 09:44:29 +00:00
if (__builtin_expect (INTUSE(__libc_enable_secure), 0))
__libc_check_standard_fds ();
(*dl_main) (phdr, phnum, &user_entry);
return user_entry;
}
void
internal_function
_dl_sysdep_start_cleanup (void)
{
}
Update. 1997-08-14 03:14 Ulrich Drepper <drepper@cygnus.com> * elf/dl-minimal.c: Don't use relative #include paths. (malloc): Don't try to initialize _dl_pagesize, it already is. (__sigjmp_save, longjmp): Reformat. * sysdeps/generic/dl-sysdep.c: Implement _dl_show_auxv function to show content of auxiliary array. (_dl_sysdep_start): Remember start of auxiliary vector. * sysdeps/mach/hurd/dl-sysdep.c: (_dl_show_auxv): New dummy function. * elf/link.h: Add prototype for _dl_show_auxv. * elf/rtld.c (dl_main): Call _dl_show_auxv if LD_SHOW_AUXV envvar is present. * libio/iofdopen.c: Better prepare for use in libstdc++. * libio/iofflush.c: Likewise. * libio/iofgetpos.c: Likewise. * libio/iofgets.c: Likewise. * libio/iofopen.c: Likewise. * libio/iofputs.c: Likewise. * libio/iofread.c: Likewise. * libio/iofsetpos.c: Likewise. * libio/ioftell.c: Likewise. * libio/iofwrite.c: Likewise. * libio/iogetdelim.c: Likewise. * libio/iogets.c: Likewise. * libio/iopopen.c: Likewise. * libio/ioputs.c: Likewise. * libio/iosetbuffer.c: Likewise. * libio/iosetvbuf.c: Likewise. * libio/ioungetc.c: Likewise. * libio/iovsprintf.c: Likewise. * libio/iovsscanf.c: Likewise. * manual/creature.texi: Mention _XOPEN_SOURCE_EXTENDED in correct place. * manual/math.texi: Add comment to sincos decsription to say it's a GNU extension. Fix description of random function. * posix/fnmatch.h: Recognize Windog by _WINDOWS32 not WIN32. * posix/glob.c: Likewise. Handle stupid system headers on SunOS. Add casts for all __alloca calls. * posix/glob.h: Recognize Windog by _WINDOWS32 not WIN32. Declare additional GLOB_* constants also if _GNU_SOURCE is defined. Patches by Paul D. Smith <psmith@BayNetworks.COM>. * stdio-common/_itoa.c: Don't use relateive #include paths. * sysdeps/i386/fpu/bits/mathinline.h: Enable optimizations even for gcc 2.7. (atan): Loading 1.0 from memory does not pay off. (asinh): Fix typo. 1997-08-13 09:44 Philip Blundell <Philip.Blundell@pobox.com> * sysdeps/stub/accept.c: Use socklen_t where necessary. * sysdeps/stub/bind.c: Likewise. * sysdeps/stub/connect.c: Likewise. * sysdeps/stub/getsockname.c: Likewise. * sysdeps/stub/getsockopt.c: Likewise. * sysdeps/stub/recvfrom.c: Likewise. * sysdeps/stub/sendto.c: Likewise. * sysdeps/stub/setsockopt.c: Likewise. 1997-08-11 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * io/ftw.c (object_compare): Avoid memcmp when comparing scalar types. 1997-08-12 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * math/libm-test.c (cbrt_test): Add epsilon for long double to `cbrt (-0.001)'. 1997-08-11 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/stub/bits/string.h: Fix comment. 1997-08-01 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * elf/Makefile (routines): Remove dl-version. (dl-routines): Add it here instead. This removes dead code from libc.so. 1997-08-12 17:17 Wolfram Gloger <wmglo@dent.med.uni-muenchen.de> * malloc/thread-m.h (thread_atfork, thread_atfork_static): New macros to encapsulate pthread_atfork's functionality. * malloc/malloc.c (ptmalloc_lock_all, ptmalloc_unlock_all): New functions, registered via thread_atfork in the initialization routine or via thread_atfork_static in global scope. This ensures a consistent state of all locks across fork(). 1997-08-11 23:00:32 1997 Mark Kettenis <kettenis@phys.uva.nl> * login/programs/xtmp.c (compare_entry): Partially undo patch made by Klaus Espenlaub. There was no xtmp/utmp typo. Added comment to cclarify this. * login/programs/xtmp.h: Likewise. * posix/getopt.c: Recognize Windog by _WINDOWS32 not WIN32. Patch by Paul D. Smith <psmith@BayNetworks.COM>. 1997-08-12 13:51 Ulrich Drepper <drepper@cygnus.com> * login/getutid.c: Rename to __getutid and make getutid and getutxid weak aliases. Patch by ir. Mark M._Kettenis <kettenis@phys.uva.nl>. 1997-08-11 23:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/unix/sysv/linux/Makefile [subdir=misc] (sysdep_headers): Add bits/mman.h. 1997-08-11 08:51:21 1997 H.J. Lu <hjl@gnu.ai.mit.edu> * stdlib/fmtmsg.c (fmtmsg): Add static to __libc_once_define macro. * libc.map (__progname_full, __progname): Added. 1997-08-04 08:31 H.J. Lu <hjl@gnu.ai.mit.edu> * sysdeps/unix/sysv/linux/if_index.c (if_nametoindex): Return 0 if SIOGIFINDEX is not defined. (if_indextoname): Initialize "result" to NULL. (if_nametoindex, if_nameindex): Fix ENOSYS setting. 1997-08-11 11:58 Richard Henderson <rth@cygnus.com> Sparc ISO C 9x exception handling: * sysdeps/sparc/fpu/bits/mathdef.h: New file. * sysdeps/sparc/fpu/fclrexcpt.c: New file. * sysdeps/sparc/fpu/fegetenv.c: New file. * sysdeps/sparc/fpu/fegetround.c: New file. * sysdeps/sparc/fpu/feholdexcpt.c: New file. * sysdeps/sparc/fpu/fesetenv.c: New file. * sysdeps/sparc/fpu/fesetround.c: New file. * sysdeps/sparc/fpu/feupdateenv.c: New file. * sysdeps/sparc/fpu/fgetexcptflg.c: New file. * sysdeps/sparc/fpu/fraiseexcpt.c: New file. * sysdeps/sparc/fpu/fsetexcptflg.c: New file. * sysdeps/sparc/fpu/ftestexcept.c: New file. * sysdeps/sparc/sparc32/fpu/bits/fenv.h: New file. * sysdeps/sparc/sparc64/fpu/bits/fenv.h: New file. 1997-08-11 11:58 Richard Henderson <rth@cygnus.com> Sparc64 merge: * configure.in: Change up subdirectories, rename sparc8->sparcv8. * csu/Makefile: Nuke need-nopic-initfini bits. The problem was that sparc64 ld did not recognize pic relocs at all. * elf/dl-deps.c: Include <string.h>. * elf/do-rel.h (elf_dynamic_do_rel): Take reloc address and size directly instead of the DT names to get them from. * elf/dynamic-link.h (_ELF_DYNAMIC_DO_RELOC): New macro distilled from ELF_DYNAMIC_DO_REL{,A}. Define a second version that accounts for the possibility that DT_RELA and DT_JMPPLT overlap, as such is the case on the Sparc. * elf/elf.h: Stub out Elf64_Ver*, and make them the same as the Elf32_Ver* bits. The linker does not even know to differentiate between the word sizes. Someone should examine this and figure out what the proper sizes of things should be for 64-bit hosts before the sparc64 libraries are distributed. * shlib-versions: Rename sparc64 ld.so to not conflict with sparc32 on the same machine. Move old sysdeps/sparc contents to sysdeps/sparc/sparc32, rename sparc8 subdir to sparcv8, move sysdeps/sparc64 content to sysdeps/sparc/sparc64. Same for sysdeps/unix/sysv/linux/sparc. * sysdeps/sparc/Implies: Do ieee754 here. * sysdeps/sparc/configure.in: Move from sparc32/. * sysdeps/sparc/sparc32/Implies: Do wordsize here. * sysdeps/sparc/sparc64/Implies: Likewise. * sysdeps/sparc/sparc32/dl-machine.h (elf_machine_load_address): Use uninitialized .got to find load address instead of AT_BASE, as the later does not exist when running ld.so directly. * sysdeps/sparc/sparc32/fpu/fpu_control.h: Move from ../. * sysdeps/sparc/sparc64/fpu/fpu_control.h: Likewise. * sysdeps/sparc/sparc32/udiv_qrnnd.S: Clean up PIC support. * sysdeps/sparc/sparc64/Makefile (sysdep_routines): Add s_finitel and s_signbitl for stdio. * sysdeps/sparc/sparc64/configure.in: Remove, we no longer need nopic_initfini. * sysdeps/sparc/sparc64/bsd-_setjmp.S: Remove. * sysdeps/sparc/sparc64/bsd-setjmp.S: Remove. * sysdeps/unix/sysv/linux/sparc/sparc64/bsd-_setjmp.S: New empty file. * sysdeps/unix/sysv/linux/sparc/sparc64/bsd-setjmp.S: New empty file. * sysdeps/unix/sysv/linux/sparc/sparc64/longjmp.S: Add __longjmp alias. * sysdeps/unix/sysv/linux/sparc/sparc64/setjmp.S: Add weak _setjmp and setjmp entry points. * sysdeps/sparc/sparc64/dl-machine.h: Finish real implementation. * sysdeps/sparc/sparc64/elf/crtbegin.S: Add copyright, fix PIC. * sysdeps/sparc/sparc64/elf/crtend.S: Likewise. * sysdeps/unix/sysv/linux/sparc/bits/sigaction.h (struct sigaction): Fix sa_flags size for sparc64; add sa_restorer for kernel. * sysdeps/unix/sysv/linux/sparc/sparc64/brk.S: Fix PIC. * sysdeps/unix/sysv/linux/sparc/sparc64/clone.S: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/init-first.h: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/syscall.S: New file. 1997-08-10 18:29:08 1997 Mark Kettenis <kettenis@phys.uva.nl> * login/login.c (login): Check for correct return value of utmpname. 1997-08-11 16:49 Ulrich Drepper <drepper@cygnus.com> * time/tzset.c (__tzset_internal): Correctly handle TZ strings following incorrect old POSIX specs. Patch by Paul Eggert <eggert@twinsun.com>. * sysdeps/generic/bits/sigaction.h: Correct comment for SA_RESTART. * sysdeps/unix/bsd/osf/bits/sigaction.h: Likewise. * sysdeps/unix/sysv/linux/alpha/bits/sigaction.h: Likewise. * sysdeps/unix/sysv/linux/bits/sigaction.h: Likewise. * sysdeps/unix/sysv/linux/mips/bits/sigaction.h: Likewise. * sysdeps/unix/sysv/linux/sparc/bits/sigaction.h: Likewise. * sysdeps/unix/sysv/minix/bits/sigaction.h: Likewise. * sysdeps/unix/sysv/sysv4/bits/sigaction.h: Likewise. Reported by NIIBE Yutaka <gniibe@mri.co.jp>. 1997-08-09 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * manual/math.texi: Define the macros @mul and @infinity and use them to format the multiplication and infinity signs. (FP Comparison Functions): Use @code, not @math, for C code examples. * elf/dl-profile.c: Add descriptions and implement reading of
1997-08-14 01:54:13 +00:00
void
internal_function
Update. 1997-08-14 03:14 Ulrich Drepper <drepper@cygnus.com> * elf/dl-minimal.c: Don't use relative #include paths. (malloc): Don't try to initialize _dl_pagesize, it already is. (__sigjmp_save, longjmp): Reformat. * sysdeps/generic/dl-sysdep.c: Implement _dl_show_auxv function to show content of auxiliary array. (_dl_sysdep_start): Remember start of auxiliary vector. * sysdeps/mach/hurd/dl-sysdep.c: (_dl_show_auxv): New dummy function. * elf/link.h: Add prototype for _dl_show_auxv. * elf/rtld.c (dl_main): Call _dl_show_auxv if LD_SHOW_AUXV envvar is present. * libio/iofdopen.c: Better prepare for use in libstdc++. * libio/iofflush.c: Likewise. * libio/iofgetpos.c: Likewise. * libio/iofgets.c: Likewise. * libio/iofopen.c: Likewise. * libio/iofputs.c: Likewise. * libio/iofread.c: Likewise. * libio/iofsetpos.c: Likewise. * libio/ioftell.c: Likewise. * libio/iofwrite.c: Likewise. * libio/iogetdelim.c: Likewise. * libio/iogets.c: Likewise. * libio/iopopen.c: Likewise. * libio/ioputs.c: Likewise. * libio/iosetbuffer.c: Likewise. * libio/iosetvbuf.c: Likewise. * libio/ioungetc.c: Likewise. * libio/iovsprintf.c: Likewise. * libio/iovsscanf.c: Likewise. * manual/creature.texi: Mention _XOPEN_SOURCE_EXTENDED in correct place. * manual/math.texi: Add comment to sincos decsription to say it's a GNU extension. Fix description of random function. * posix/fnmatch.h: Recognize Windog by _WINDOWS32 not WIN32. * posix/glob.c: Likewise. Handle stupid system headers on SunOS. Add casts for all __alloca calls. * posix/glob.h: Recognize Windog by _WINDOWS32 not WIN32. Declare additional GLOB_* constants also if _GNU_SOURCE is defined. Patches by Paul D. Smith <psmith@BayNetworks.COM>. * stdio-common/_itoa.c: Don't use relateive #include paths. * sysdeps/i386/fpu/bits/mathinline.h: Enable optimizations even for gcc 2.7. (atan): Loading 1.0 from memory does not pay off. (asinh): Fix typo. 1997-08-13 09:44 Philip Blundell <Philip.Blundell@pobox.com> * sysdeps/stub/accept.c: Use socklen_t where necessary. * sysdeps/stub/bind.c: Likewise. * sysdeps/stub/connect.c: Likewise. * sysdeps/stub/getsockname.c: Likewise. * sysdeps/stub/getsockopt.c: Likewise. * sysdeps/stub/recvfrom.c: Likewise. * sysdeps/stub/sendto.c: Likewise. * sysdeps/stub/setsockopt.c: Likewise. 1997-08-11 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * io/ftw.c (object_compare): Avoid memcmp when comparing scalar types. 1997-08-12 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * math/libm-test.c (cbrt_test): Add epsilon for long double to `cbrt (-0.001)'. 1997-08-11 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/stub/bits/string.h: Fix comment. 1997-08-01 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * elf/Makefile (routines): Remove dl-version. (dl-routines): Add it here instead. This removes dead code from libc.so. 1997-08-12 17:17 Wolfram Gloger <wmglo@dent.med.uni-muenchen.de> * malloc/thread-m.h (thread_atfork, thread_atfork_static): New macros to encapsulate pthread_atfork's functionality. * malloc/malloc.c (ptmalloc_lock_all, ptmalloc_unlock_all): New functions, registered via thread_atfork in the initialization routine or via thread_atfork_static in global scope. This ensures a consistent state of all locks across fork(). 1997-08-11 23:00:32 1997 Mark Kettenis <kettenis@phys.uva.nl> * login/programs/xtmp.c (compare_entry): Partially undo patch made by Klaus Espenlaub. There was no xtmp/utmp typo. Added comment to cclarify this. * login/programs/xtmp.h: Likewise. * posix/getopt.c: Recognize Windog by _WINDOWS32 not WIN32. Patch by Paul D. Smith <psmith@BayNetworks.COM>. 1997-08-12 13:51 Ulrich Drepper <drepper@cygnus.com> * login/getutid.c: Rename to __getutid and make getutid and getutxid weak aliases. Patch by ir. Mark M._Kettenis <kettenis@phys.uva.nl>. 1997-08-11 23:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/unix/sysv/linux/Makefile [subdir=misc] (sysdep_headers): Add bits/mman.h. 1997-08-11 08:51:21 1997 H.J. Lu <hjl@gnu.ai.mit.edu> * stdlib/fmtmsg.c (fmtmsg): Add static to __libc_once_define macro. * libc.map (__progname_full, __progname): Added. 1997-08-04 08:31 H.J. Lu <hjl@gnu.ai.mit.edu> * sysdeps/unix/sysv/linux/if_index.c (if_nametoindex): Return 0 if SIOGIFINDEX is not defined. (if_indextoname): Initialize "result" to NULL. (if_nametoindex, if_nameindex): Fix ENOSYS setting. 1997-08-11 11:58 Richard Henderson <rth@cygnus.com> Sparc ISO C 9x exception handling: * sysdeps/sparc/fpu/bits/mathdef.h: New file. * sysdeps/sparc/fpu/fclrexcpt.c: New file. * sysdeps/sparc/fpu/fegetenv.c: New file. * sysdeps/sparc/fpu/fegetround.c: New file. * sysdeps/sparc/fpu/feholdexcpt.c: New file. * sysdeps/sparc/fpu/fesetenv.c: New file. * sysdeps/sparc/fpu/fesetround.c: New file. * sysdeps/sparc/fpu/feupdateenv.c: New file. * sysdeps/sparc/fpu/fgetexcptflg.c: New file. * sysdeps/sparc/fpu/fraiseexcpt.c: New file. * sysdeps/sparc/fpu/fsetexcptflg.c: New file. * sysdeps/sparc/fpu/ftestexcept.c: New file. * sysdeps/sparc/sparc32/fpu/bits/fenv.h: New file. * sysdeps/sparc/sparc64/fpu/bits/fenv.h: New file. 1997-08-11 11:58 Richard Henderson <rth@cygnus.com> Sparc64 merge: * configure.in: Change up subdirectories, rename sparc8->sparcv8. * csu/Makefile: Nuke need-nopic-initfini bits. The problem was that sparc64 ld did not recognize pic relocs at all. * elf/dl-deps.c: Include <string.h>. * elf/do-rel.h (elf_dynamic_do_rel): Take reloc address and size directly instead of the DT names to get them from. * elf/dynamic-link.h (_ELF_DYNAMIC_DO_RELOC): New macro distilled from ELF_DYNAMIC_DO_REL{,A}. Define a second version that accounts for the possibility that DT_RELA and DT_JMPPLT overlap, as such is the case on the Sparc. * elf/elf.h: Stub out Elf64_Ver*, and make them the same as the Elf32_Ver* bits. The linker does not even know to differentiate between the word sizes. Someone should examine this and figure out what the proper sizes of things should be for 64-bit hosts before the sparc64 libraries are distributed. * shlib-versions: Rename sparc64 ld.so to not conflict with sparc32 on the same machine. Move old sysdeps/sparc contents to sysdeps/sparc/sparc32, rename sparc8 subdir to sparcv8, move sysdeps/sparc64 content to sysdeps/sparc/sparc64. Same for sysdeps/unix/sysv/linux/sparc. * sysdeps/sparc/Implies: Do ieee754 here. * sysdeps/sparc/configure.in: Move from sparc32/. * sysdeps/sparc/sparc32/Implies: Do wordsize here. * sysdeps/sparc/sparc64/Implies: Likewise. * sysdeps/sparc/sparc32/dl-machine.h (elf_machine_load_address): Use uninitialized .got to find load address instead of AT_BASE, as the later does not exist when running ld.so directly. * sysdeps/sparc/sparc32/fpu/fpu_control.h: Move from ../. * sysdeps/sparc/sparc64/fpu/fpu_control.h: Likewise. * sysdeps/sparc/sparc32/udiv_qrnnd.S: Clean up PIC support. * sysdeps/sparc/sparc64/Makefile (sysdep_routines): Add s_finitel and s_signbitl for stdio. * sysdeps/sparc/sparc64/configure.in: Remove, we no longer need nopic_initfini. * sysdeps/sparc/sparc64/bsd-_setjmp.S: Remove. * sysdeps/sparc/sparc64/bsd-setjmp.S: Remove. * sysdeps/unix/sysv/linux/sparc/sparc64/bsd-_setjmp.S: New empty file. * sysdeps/unix/sysv/linux/sparc/sparc64/bsd-setjmp.S: New empty file. * sysdeps/unix/sysv/linux/sparc/sparc64/longjmp.S: Add __longjmp alias. * sysdeps/unix/sysv/linux/sparc/sparc64/setjmp.S: Add weak _setjmp and setjmp entry points. * sysdeps/sparc/sparc64/dl-machine.h: Finish real implementation. * sysdeps/sparc/sparc64/elf/crtbegin.S: Add copyright, fix PIC. * sysdeps/sparc/sparc64/elf/crtend.S: Likewise. * sysdeps/unix/sysv/linux/sparc/bits/sigaction.h (struct sigaction): Fix sa_flags size for sparc64; add sa_restorer for kernel. * sysdeps/unix/sysv/linux/sparc/sparc64/brk.S: Fix PIC. * sysdeps/unix/sysv/linux/sparc/sparc64/clone.S: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/init-first.h: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/syscall.S: New file. 1997-08-10 18:29:08 1997 Mark Kettenis <kettenis@phys.uva.nl> * login/login.c (login): Check for correct return value of utmpname. 1997-08-11 16:49 Ulrich Drepper <drepper@cygnus.com> * time/tzset.c (__tzset_internal): Correctly handle TZ strings following incorrect old POSIX specs. Patch by Paul Eggert <eggert@twinsun.com>. * sysdeps/generic/bits/sigaction.h: Correct comment for SA_RESTART. * sysdeps/unix/bsd/osf/bits/sigaction.h: Likewise. * sysdeps/unix/sysv/linux/alpha/bits/sigaction.h: Likewise. * sysdeps/unix/sysv/linux/bits/sigaction.h: Likewise. * sysdeps/unix/sysv/linux/mips/bits/sigaction.h: Likewise. * sysdeps/unix/sysv/linux/sparc/bits/sigaction.h: Likewise. * sysdeps/unix/sysv/minix/bits/sigaction.h: Likewise. * sysdeps/unix/sysv/sysv4/bits/sigaction.h: Likewise. Reported by NIIBE Yutaka <gniibe@mri.co.jp>. 1997-08-09 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * manual/math.texi: Define the macros @mul and @infinity and use them to format the multiplication and infinity signs. (FP Comparison Functions): Use @code, not @math, for C code examples. * elf/dl-profile.c: Add descriptions and implement reading of
1997-08-14 01:54:13 +00:00
_dl_show_auxv (void)
{
char buf[64];
ElfW(auxv_t) *av;
/* Terminate string. */
buf[63] = '\0';
/* The following code assumes that the AT_* values are encoded
starting from 0 with AT_NULL, 1 for AT_IGNORE, and all other values
close by (otherwise the array will be too large). In case we have
to support a platform where these requirements are not fulfilled
some alternative implementation has to be used. */
Update. 1997-08-14 03:14 Ulrich Drepper <drepper@cygnus.com> * elf/dl-minimal.c: Don't use relative #include paths. (malloc): Don't try to initialize _dl_pagesize, it already is. (__sigjmp_save, longjmp): Reformat. * sysdeps/generic/dl-sysdep.c: Implement _dl_show_auxv function to show content of auxiliary array. (_dl_sysdep_start): Remember start of auxiliary vector. * sysdeps/mach/hurd/dl-sysdep.c: (_dl_show_auxv): New dummy function. * elf/link.h: Add prototype for _dl_show_auxv. * elf/rtld.c (dl_main): Call _dl_show_auxv if LD_SHOW_AUXV envvar is present. * libio/iofdopen.c: Better prepare for use in libstdc++. * libio/iofflush.c: Likewise. * libio/iofgetpos.c: Likewise. * libio/iofgets.c: Likewise. * libio/iofopen.c: Likewise. * libio/iofputs.c: Likewise. * libio/iofread.c: Likewise. * libio/iofsetpos.c: Likewise. * libio/ioftell.c: Likewise. * libio/iofwrite.c: Likewise. * libio/iogetdelim.c: Likewise. * libio/iogets.c: Likewise. * libio/iopopen.c: Likewise. * libio/ioputs.c: Likewise. * libio/iosetbuffer.c: Likewise. * libio/iosetvbuf.c: Likewise. * libio/ioungetc.c: Likewise. * libio/iovsprintf.c: Likewise. * libio/iovsscanf.c: Likewise. * manual/creature.texi: Mention _XOPEN_SOURCE_EXTENDED in correct place. * manual/math.texi: Add comment to sincos decsription to say it's a GNU extension. Fix description of random function. * posix/fnmatch.h: Recognize Windog by _WINDOWS32 not WIN32. * posix/glob.c: Likewise. Handle stupid system headers on SunOS. Add casts for all __alloca calls. * posix/glob.h: Recognize Windog by _WINDOWS32 not WIN32. Declare additional GLOB_* constants also if _GNU_SOURCE is defined. Patches by Paul D. Smith <psmith@BayNetworks.COM>. * stdio-common/_itoa.c: Don't use relateive #include paths. * sysdeps/i386/fpu/bits/mathinline.h: Enable optimizations even for gcc 2.7. (atan): Loading 1.0 from memory does not pay off. (asinh): Fix typo. 1997-08-13 09:44 Philip Blundell <Philip.Blundell@pobox.com> * sysdeps/stub/accept.c: Use socklen_t where necessary. * sysdeps/stub/bind.c: Likewise. * sysdeps/stub/connect.c: Likewise. * sysdeps/stub/getsockname.c: Likewise. * sysdeps/stub/getsockopt.c: Likewise. * sysdeps/stub/recvfrom.c: Likewise. * sysdeps/stub/sendto.c: Likewise. * sysdeps/stub/setsockopt.c: Likewise. 1997-08-11 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * io/ftw.c (object_compare): Avoid memcmp when comparing scalar types. 1997-08-12 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * math/libm-test.c (cbrt_test): Add epsilon for long double to `cbrt (-0.001)'. 1997-08-11 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/stub/bits/string.h: Fix comment. 1997-08-01 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * elf/Makefile (routines): Remove dl-version. (dl-routines): Add it here instead. This removes dead code from libc.so. 1997-08-12 17:17 Wolfram Gloger <wmglo@dent.med.uni-muenchen.de> * malloc/thread-m.h (thread_atfork, thread_atfork_static): New macros to encapsulate pthread_atfork's functionality. * malloc/malloc.c (ptmalloc_lock_all, ptmalloc_unlock_all): New functions, registered via thread_atfork in the initialization routine or via thread_atfork_static in global scope. This ensures a consistent state of all locks across fork(). 1997-08-11 23:00:32 1997 Mark Kettenis <kettenis@phys.uva.nl> * login/programs/xtmp.c (compare_entry): Partially undo patch made by Klaus Espenlaub. There was no xtmp/utmp typo. Added comment to cclarify this. * login/programs/xtmp.h: Likewise. * posix/getopt.c: Recognize Windog by _WINDOWS32 not WIN32. Patch by Paul D. Smith <psmith@BayNetworks.COM>. 1997-08-12 13:51 Ulrich Drepper <drepper@cygnus.com> * login/getutid.c: Rename to __getutid and make getutid and getutxid weak aliases. Patch by ir. Mark M._Kettenis <kettenis@phys.uva.nl>. 1997-08-11 23:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/unix/sysv/linux/Makefile [subdir=misc] (sysdep_headers): Add bits/mman.h. 1997-08-11 08:51:21 1997 H.J. Lu <hjl@gnu.ai.mit.edu> * stdlib/fmtmsg.c (fmtmsg): Add static to __libc_once_define macro. * libc.map (__progname_full, __progname): Added. 1997-08-04 08:31 H.J. Lu <hjl@gnu.ai.mit.edu> * sysdeps/unix/sysv/linux/if_index.c (if_nametoindex): Return 0 if SIOGIFINDEX is not defined. (if_indextoname): Initialize "result" to NULL. (if_nametoindex, if_nameindex): Fix ENOSYS setting. 1997-08-11 11:58 Richard Henderson <rth@cygnus.com> Sparc ISO C 9x exception handling: * sysdeps/sparc/fpu/bits/mathdef.h: New file. * sysdeps/sparc/fpu/fclrexcpt.c: New file. * sysdeps/sparc/fpu/fegetenv.c: New file. * sysdeps/sparc/fpu/fegetround.c: New file. * sysdeps/sparc/fpu/feholdexcpt.c: New file. * sysdeps/sparc/fpu/fesetenv.c: New file. * sysdeps/sparc/fpu/fesetround.c: New file. * sysdeps/sparc/fpu/feupdateenv.c: New file. * sysdeps/sparc/fpu/fgetexcptflg.c: New file. * sysdeps/sparc/fpu/fraiseexcpt.c: New file. * sysdeps/sparc/fpu/fsetexcptflg.c: New file. * sysdeps/sparc/fpu/ftestexcept.c: New file. * sysdeps/sparc/sparc32/fpu/bits/fenv.h: New file. * sysdeps/sparc/sparc64/fpu/bits/fenv.h: New file. 1997-08-11 11:58 Richard Henderson <rth@cygnus.com> Sparc64 merge: * configure.in: Change up subdirectories, rename sparc8->sparcv8. * csu/Makefile: Nuke need-nopic-initfini bits. The problem was that sparc64 ld did not recognize pic relocs at all. * elf/dl-deps.c: Include <string.h>. * elf/do-rel.h (elf_dynamic_do_rel): Take reloc address and size directly instead of the DT names to get them from. * elf/dynamic-link.h (_ELF_DYNAMIC_DO_RELOC): New macro distilled from ELF_DYNAMIC_DO_REL{,A}. Define a second version that accounts for the possibility that DT_RELA and DT_JMPPLT overlap, as such is the case on the Sparc. * elf/elf.h: Stub out Elf64_Ver*, and make them the same as the Elf32_Ver* bits. The linker does not even know to differentiate between the word sizes. Someone should examine this and figure out what the proper sizes of things should be for 64-bit hosts before the sparc64 libraries are distributed. * shlib-versions: Rename sparc64 ld.so to not conflict with sparc32 on the same machine. Move old sysdeps/sparc contents to sysdeps/sparc/sparc32, rename sparc8 subdir to sparcv8, move sysdeps/sparc64 content to sysdeps/sparc/sparc64. Same for sysdeps/unix/sysv/linux/sparc. * sysdeps/sparc/Implies: Do ieee754 here. * sysdeps/sparc/configure.in: Move from sparc32/. * sysdeps/sparc/sparc32/Implies: Do wordsize here. * sysdeps/sparc/sparc64/Implies: Likewise. * sysdeps/sparc/sparc32/dl-machine.h (elf_machine_load_address): Use uninitialized .got to find load address instead of AT_BASE, as the later does not exist when running ld.so directly. * sysdeps/sparc/sparc32/fpu/fpu_control.h: Move from ../. * sysdeps/sparc/sparc64/fpu/fpu_control.h: Likewise. * sysdeps/sparc/sparc32/udiv_qrnnd.S: Clean up PIC support. * sysdeps/sparc/sparc64/Makefile (sysdep_routines): Add s_finitel and s_signbitl for stdio. * sysdeps/sparc/sparc64/configure.in: Remove, we no longer need nopic_initfini. * sysdeps/sparc/sparc64/bsd-_setjmp.S: Remove. * sysdeps/sparc/sparc64/bsd-setjmp.S: Remove. * sysdeps/unix/sysv/linux/sparc/sparc64/bsd-_setjmp.S: New empty file. * sysdeps/unix/sysv/linux/sparc/sparc64/bsd-setjmp.S: New empty file. * sysdeps/unix/sysv/linux/sparc/sparc64/longjmp.S: Add __longjmp alias. * sysdeps/unix/sysv/linux/sparc/sparc64/setjmp.S: Add weak _setjmp and setjmp entry points. * sysdeps/sparc/sparc64/dl-machine.h: Finish real implementation. * sysdeps/sparc/sparc64/elf/crtbegin.S: Add copyright, fix PIC. * sysdeps/sparc/sparc64/elf/crtend.S: Likewise. * sysdeps/unix/sysv/linux/sparc/bits/sigaction.h (struct sigaction): Fix sa_flags size for sparc64; add sa_restorer for kernel. * sysdeps/unix/sysv/linux/sparc/sparc64/brk.S: Fix PIC. * sysdeps/unix/sysv/linux/sparc/sparc64/clone.S: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/init-first.h: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/syscall.S: New file. 1997-08-10 18:29:08 1997 Mark Kettenis <kettenis@phys.uva.nl> * login/login.c (login): Check for correct return value of utmpname. 1997-08-11 16:49 Ulrich Drepper <drepper@cygnus.com> * time/tzset.c (__tzset_internal): Correctly handle TZ strings following incorrect old POSIX specs. Patch by Paul Eggert <eggert@twinsun.com>. * sysdeps/generic/bits/sigaction.h: Correct comment for SA_RESTART. * sysdeps/unix/bsd/osf/bits/sigaction.h: Likewise. * sysdeps/unix/sysv/linux/alpha/bits/sigaction.h: Likewise. * sysdeps/unix/sysv/linux/bits/sigaction.h: Likewise. * sysdeps/unix/sysv/linux/mips/bits/sigaction.h: Likewise. * sysdeps/unix/sysv/linux/sparc/bits/sigaction.h: Likewise. * sysdeps/unix/sysv/minix/bits/sigaction.h: Likewise. * sysdeps/unix/sysv/sysv4/bits/sigaction.h: Likewise. Reported by NIIBE Yutaka <gniibe@mri.co.jp>. 1997-08-09 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * manual/math.texi: Define the macros @mul and @infinity and use them to format the multiplication and infinity signs. (FP Comparison Functions): Use @code, not @math, for C code examples. * elf/dl-profile.c: Add descriptions and implement reading of
1997-08-14 01:54:13 +00:00
for (av = _dl_auxv; av->a_type != AT_NULL; ++av)
{
static const struct
Update. 1997-08-14 03:14 Ulrich Drepper <drepper@cygnus.com> * elf/dl-minimal.c: Don't use relative #include paths. (malloc): Don't try to initialize _dl_pagesize, it already is. (__sigjmp_save, longjmp): Reformat. * sysdeps/generic/dl-sysdep.c: Implement _dl_show_auxv function to show content of auxiliary array. (_dl_sysdep_start): Remember start of auxiliary vector. * sysdeps/mach/hurd/dl-sysdep.c: (_dl_show_auxv): New dummy function. * elf/link.h: Add prototype for _dl_show_auxv. * elf/rtld.c (dl_main): Call _dl_show_auxv if LD_SHOW_AUXV envvar is present. * libio/iofdopen.c: Better prepare for use in libstdc++. * libio/iofflush.c: Likewise. * libio/iofgetpos.c: Likewise. * libio/iofgets.c: Likewise. * libio/iofopen.c: Likewise. * libio/iofputs.c: Likewise. * libio/iofread.c: Likewise. * libio/iofsetpos.c: Likewise. * libio/ioftell.c: Likewise. * libio/iofwrite.c: Likewise. * libio/iogetdelim.c: Likewise. * libio/iogets.c: Likewise. * libio/iopopen.c: Likewise. * libio/ioputs.c: Likewise. * libio/iosetbuffer.c: Likewise. * libio/iosetvbuf.c: Likewise. * libio/ioungetc.c: Likewise. * libio/iovsprintf.c: Likewise. * libio/iovsscanf.c: Likewise. * manual/creature.texi: Mention _XOPEN_SOURCE_EXTENDED in correct place. * manual/math.texi: Add comment to sincos decsription to say it's a GNU extension. Fix description of random function. * posix/fnmatch.h: Recognize Windog by _WINDOWS32 not WIN32. * posix/glob.c: Likewise. Handle stupid system headers on SunOS. Add casts for all __alloca calls. * posix/glob.h: Recognize Windog by _WINDOWS32 not WIN32. Declare additional GLOB_* constants also if _GNU_SOURCE is defined. Patches by Paul D. Smith <psmith@BayNetworks.COM>. * stdio-common/_itoa.c: Don't use relateive #include paths. * sysdeps/i386/fpu/bits/mathinline.h: Enable optimizations even for gcc 2.7. (atan): Loading 1.0 from memory does not pay off. (asinh): Fix typo. 1997-08-13 09:44 Philip Blundell <Philip.Blundell@pobox.com> * sysdeps/stub/accept.c: Use socklen_t where necessary. * sysdeps/stub/bind.c: Likewise. * sysdeps/stub/connect.c: Likewise. * sysdeps/stub/getsockname.c: Likewise. * sysdeps/stub/getsockopt.c: Likewise. * sysdeps/stub/recvfrom.c: Likewise. * sysdeps/stub/sendto.c: Likewise. * sysdeps/stub/setsockopt.c: Likewise. 1997-08-11 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * io/ftw.c (object_compare): Avoid memcmp when comparing scalar types. 1997-08-12 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * math/libm-test.c (cbrt_test): Add epsilon for long double to `cbrt (-0.001)'. 1997-08-11 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/stub/bits/string.h: Fix comment. 1997-08-01 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * elf/Makefile (routines): Remove dl-version. (dl-routines): Add it here instead. This removes dead code from libc.so. 1997-08-12 17:17 Wolfram Gloger <wmglo@dent.med.uni-muenchen.de> * malloc/thread-m.h (thread_atfork, thread_atfork_static): New macros to encapsulate pthread_atfork's functionality. * malloc/malloc.c (ptmalloc_lock_all, ptmalloc_unlock_all): New functions, registered via thread_atfork in the initialization routine or via thread_atfork_static in global scope. This ensures a consistent state of all locks across fork(). 1997-08-11 23:00:32 1997 Mark Kettenis <kettenis@phys.uva.nl> * login/programs/xtmp.c (compare_entry): Partially undo patch made by Klaus Espenlaub. There was no xtmp/utmp typo. Added comment to cclarify this. * login/programs/xtmp.h: Likewise. * posix/getopt.c: Recognize Windog by _WINDOWS32 not WIN32. Patch by Paul D. Smith <psmith@BayNetworks.COM>. 1997-08-12 13:51 Ulrich Drepper <drepper@cygnus.com> * login/getutid.c: Rename to __getutid and make getutid and getutxid weak aliases. Patch by ir. Mark M._Kettenis <kettenis@phys.uva.nl>. 1997-08-11 23:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/unix/sysv/linux/Makefile [subdir=misc] (sysdep_headers): Add bits/mman.h. 1997-08-11 08:51:21 1997 H.J. Lu <hjl@gnu.ai.mit.edu> * stdlib/fmtmsg.c (fmtmsg): Add static to __libc_once_define macro. * libc.map (__progname_full, __progname): Added. 1997-08-04 08:31 H.J. Lu <hjl@gnu.ai.mit.edu> * sysdeps/unix/sysv/linux/if_index.c (if_nametoindex): Return 0 if SIOGIFINDEX is not defined. (if_indextoname): Initialize "result" to NULL. (if_nametoindex, if_nameindex): Fix ENOSYS setting. 1997-08-11 11:58 Richard Henderson <rth@cygnus.com> Sparc ISO C 9x exception handling: * sysdeps/sparc/fpu/bits/mathdef.h: New file. * sysdeps/sparc/fpu/fclrexcpt.c: New file. * sysdeps/sparc/fpu/fegetenv.c: New file. * sysdeps/sparc/fpu/fegetround.c: New file. * sysdeps/sparc/fpu/feholdexcpt.c: New file. * sysdeps/sparc/fpu/fesetenv.c: New file. * sysdeps/sparc/fpu/fesetround.c: New file. * sysdeps/sparc/fpu/feupdateenv.c: New file. * sysdeps/sparc/fpu/fgetexcptflg.c: New file. * sysdeps/sparc/fpu/fraiseexcpt.c: New file. * sysdeps/sparc/fpu/fsetexcptflg.c: New file. * sysdeps/sparc/fpu/ftestexcept.c: New file. * sysdeps/sparc/sparc32/fpu/bits/fenv.h: New file. * sysdeps/sparc/sparc64/fpu/bits/fenv.h: New file. 1997-08-11 11:58 Richard Henderson <rth@cygnus.com> Sparc64 merge: * configure.in: Change up subdirectories, rename sparc8->sparcv8. * csu/Makefile: Nuke need-nopic-initfini bits. The problem was that sparc64 ld did not recognize pic relocs at all. * elf/dl-deps.c: Include <string.h>. * elf/do-rel.h (elf_dynamic_do_rel): Take reloc address and size directly instead of the DT names to get them from. * elf/dynamic-link.h (_ELF_DYNAMIC_DO_RELOC): New macro distilled from ELF_DYNAMIC_DO_REL{,A}. Define a second version that accounts for the possibility that DT_RELA and DT_JMPPLT overlap, as such is the case on the Sparc. * elf/elf.h: Stub out Elf64_Ver*, and make them the same as the Elf32_Ver* bits. The linker does not even know to differentiate between the word sizes. Someone should examine this and figure out what the proper sizes of things should be for 64-bit hosts before the sparc64 libraries are distributed. * shlib-versions: Rename sparc64 ld.so to not conflict with sparc32 on the same machine. Move old sysdeps/sparc contents to sysdeps/sparc/sparc32, rename sparc8 subdir to sparcv8, move sysdeps/sparc64 content to sysdeps/sparc/sparc64. Same for sysdeps/unix/sysv/linux/sparc. * sysdeps/sparc/Implies: Do ieee754 here. * sysdeps/sparc/configure.in: Move from sparc32/. * sysdeps/sparc/sparc32/Implies: Do wordsize here. * sysdeps/sparc/sparc64/Implies: Likewise. * sysdeps/sparc/sparc32/dl-machine.h (elf_machine_load_address): Use uninitialized .got to find load address instead of AT_BASE, as the later does not exist when running ld.so directly. * sysdeps/sparc/sparc32/fpu/fpu_control.h: Move from ../. * sysdeps/sparc/sparc64/fpu/fpu_control.h: Likewise. * sysdeps/sparc/sparc32/udiv_qrnnd.S: Clean up PIC support. * sysdeps/sparc/sparc64/Makefile (sysdep_routines): Add s_finitel and s_signbitl for stdio. * sysdeps/sparc/sparc64/configure.in: Remove, we no longer need nopic_initfini. * sysdeps/sparc/sparc64/bsd-_setjmp.S: Remove. * sysdeps/sparc/sparc64/bsd-setjmp.S: Remove. * sysdeps/unix/sysv/linux/sparc/sparc64/bsd-_setjmp.S: New empty file. * sysdeps/unix/sysv/linux/sparc/sparc64/bsd-setjmp.S: New empty file. * sysdeps/unix/sysv/linux/sparc/sparc64/longjmp.S: Add __longjmp alias. * sysdeps/unix/sysv/linux/sparc/sparc64/setjmp.S: Add weak _setjmp and setjmp entry points. * sysdeps/sparc/sparc64/dl-machine.h: Finish real implementation. * sysdeps/sparc/sparc64/elf/crtbegin.S: Add copyright, fix PIC. * sysdeps/sparc/sparc64/elf/crtend.S: Likewise. * sysdeps/unix/sysv/linux/sparc/bits/sigaction.h (struct sigaction): Fix sa_flags size for sparc64; add sa_restorer for kernel. * sysdeps/unix/sysv/linux/sparc/sparc64/brk.S: Fix PIC. * sysdeps/unix/sysv/linux/sparc/sparc64/clone.S: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/init-first.h: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/syscall.S: New file. 1997-08-10 18:29:08 1997 Mark Kettenis <kettenis@phys.uva.nl> * login/login.c (login): Check for correct return value of utmpname. 1997-08-11 16:49 Ulrich Drepper <drepper@cygnus.com> * time/tzset.c (__tzset_internal): Correctly handle TZ strings following incorrect old POSIX specs. Patch by Paul Eggert <eggert@twinsun.com>. * sysdeps/generic/bits/sigaction.h: Correct comment for SA_RESTART. * sysdeps/unix/bsd/osf/bits/sigaction.h: Likewise. * sysdeps/unix/sysv/linux/alpha/bits/sigaction.h: Likewise. * sysdeps/unix/sysv/linux/bits/sigaction.h: Likewise. * sysdeps/unix/sysv/linux/mips/bits/sigaction.h: Likewise. * sysdeps/unix/sysv/linux/sparc/bits/sigaction.h: Likewise. * sysdeps/unix/sysv/minix/bits/sigaction.h: Likewise. * sysdeps/unix/sysv/sysv4/bits/sigaction.h: Likewise. Reported by NIIBE Yutaka <gniibe@mri.co.jp>. 1997-08-09 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * manual/math.texi: Define the macros @mul and @infinity and use them to format the multiplication and infinity signs. (FP Comparison Functions): Use @code, not @math, for C code examples. * elf/dl-profile.c: Add descriptions and implement reading of
1997-08-14 01:54:13 +00:00
{
const char label[20];
enum { dec, hex, str } form;
} auxvars[] =
{
[AT_EXECFD - 2] = { "AT_EXECFD: ", dec },
[AT_PHDR - 2] = { "AT_PHDR: 0x", hex },
[AT_PHENT - 2] = { "AT_PHENT: ", dec },
[AT_PHNUM - 2] = { "AT_PHNUM: ", dec },
[AT_PAGESZ - 2] = { "AT_PAGESZ: ", dec },
[AT_BASE - 2] = { "AT_BASE: 0x", hex },
[AT_FLAGS - 2] = { "AT_FLAGS: 0x", hex },
[AT_ENTRY - 2] = { "AT_ENTRY: 0x", hex },
[AT_NOTELF - 2] = { "AT_NOTELF: ", hex },
[AT_UID - 2] = { "AT_UID: ", dec },
[AT_EUID - 2] = { "AT_EUID: ", dec },
[AT_GID - 2] = { "AT_GID: ", dec },
[AT_EGID - 2] = { "AT_EGID: ", dec },
[AT_PLATFORM - 2] = { "AT_PLATFORM: ", str },
[AT_HWCAP - 2] = { "AT_HWCAP: ", hex },
[AT_CLKTCK - 2] = { "AT_CLKTCK: ", dec },
[AT_FPUCW - 2] = { "AT_FPUCW: ", hex },
[AT_DCACHEBSIZE - 2] = { "AT_DCACHEBSIZE: 0x", hex },
[AT_ICACHEBSIZE - 2] = { "AT_ICACHEBSIZE: 0x", hex },
[AT_UCACHEBSIZE - 2] = { "AT_UCACHEBSIZE: 0x", hex },
#ifdef NEED_DL_SYSINFO
[AT_SYSINFO - 2] = { "AT_SYSINFO: 0x", hex },
[AT_SYSINFO_EHDR - 2] = { "AT_SYSINFO_EHDR: 0x", hex }
#endif
};
unsigned int idx = (unsigned int) (av->a_type - 2);
assert (AT_NULL == 0);
assert (AT_IGNORE == 1);
if (av->a_type == AT_HWCAP)
{
/* This is handled special. */
if (_dl_procinfo (av->a_un.a_val) == 0)
continue;
}
if (idx < sizeof (auxvars) / sizeof (auxvars[0]))
{
const char *val = av->a_un.a_ptr;
if (__builtin_expect (auxvars[idx].form, dec) == dec)
val = _itoa ((unsigned long int) av->a_un.a_val,
buf + sizeof buf - 1, 10, 0);
else if (__builtin_expect (auxvars[idx].form, hex) == hex)
val = _itoa ((unsigned long int) av->a_un.a_val,
buf + sizeof buf - 1, 16, 0);
_dl_printf ("%s%s\n", auxvars[idx].label, val);
continue;
}
/* Unknown value: print a generic line. */
char buf2[17];
buf[sizeof (buf2) - 1] = '\0';
const char *val2 = _itoa ((unsigned long int) av->a_un.a_val,
buf2 + sizeof buf2 - 1, 16, 0);
const char *val = _itoa ((unsigned long int) av->a_type,
buf + sizeof buf - 1, 16, 0);
_dl_printf ("AT_??? (0x%s): 0x%s\n", val, val2);
}
Update. 1997-08-14 03:14 Ulrich Drepper <drepper@cygnus.com> * elf/dl-minimal.c: Don't use relative #include paths. (malloc): Don't try to initialize _dl_pagesize, it already is. (__sigjmp_save, longjmp): Reformat. * sysdeps/generic/dl-sysdep.c: Implement _dl_show_auxv function to show content of auxiliary array. (_dl_sysdep_start): Remember start of auxiliary vector. * sysdeps/mach/hurd/dl-sysdep.c: (_dl_show_auxv): New dummy function. * elf/link.h: Add prototype for _dl_show_auxv. * elf/rtld.c (dl_main): Call _dl_show_auxv if LD_SHOW_AUXV envvar is present. * libio/iofdopen.c: Better prepare for use in libstdc++. * libio/iofflush.c: Likewise. * libio/iofgetpos.c: Likewise. * libio/iofgets.c: Likewise. * libio/iofopen.c: Likewise. * libio/iofputs.c: Likewise. * libio/iofread.c: Likewise. * libio/iofsetpos.c: Likewise. * libio/ioftell.c: Likewise. * libio/iofwrite.c: Likewise. * libio/iogetdelim.c: Likewise. * libio/iogets.c: Likewise. * libio/iopopen.c: Likewise. * libio/ioputs.c: Likewise. * libio/iosetbuffer.c: Likewise. * libio/iosetvbuf.c: Likewise. * libio/ioungetc.c: Likewise. * libio/iovsprintf.c: Likewise. * libio/iovsscanf.c: Likewise. * manual/creature.texi: Mention _XOPEN_SOURCE_EXTENDED in correct place. * manual/math.texi: Add comment to sincos decsription to say it's a GNU extension. Fix description of random function. * posix/fnmatch.h: Recognize Windog by _WINDOWS32 not WIN32. * posix/glob.c: Likewise. Handle stupid system headers on SunOS. Add casts for all __alloca calls. * posix/glob.h: Recognize Windog by _WINDOWS32 not WIN32. Declare additional GLOB_* constants also if _GNU_SOURCE is defined. Patches by Paul D. Smith <psmith@BayNetworks.COM>. * stdio-common/_itoa.c: Don't use relateive #include paths. * sysdeps/i386/fpu/bits/mathinline.h: Enable optimizations even for gcc 2.7. (atan): Loading 1.0 from memory does not pay off. (asinh): Fix typo. 1997-08-13 09:44 Philip Blundell <Philip.Blundell@pobox.com> * sysdeps/stub/accept.c: Use socklen_t where necessary. * sysdeps/stub/bind.c: Likewise. * sysdeps/stub/connect.c: Likewise. * sysdeps/stub/getsockname.c: Likewise. * sysdeps/stub/getsockopt.c: Likewise. * sysdeps/stub/recvfrom.c: Likewise. * sysdeps/stub/sendto.c: Likewise. * sysdeps/stub/setsockopt.c: Likewise. 1997-08-11 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * io/ftw.c (object_compare): Avoid memcmp when comparing scalar types. 1997-08-12 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * math/libm-test.c (cbrt_test): Add epsilon for long double to `cbrt (-0.001)'. 1997-08-11 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/stub/bits/string.h: Fix comment. 1997-08-01 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * elf/Makefile (routines): Remove dl-version. (dl-routines): Add it here instead. This removes dead code from libc.so. 1997-08-12 17:17 Wolfram Gloger <wmglo@dent.med.uni-muenchen.de> * malloc/thread-m.h (thread_atfork, thread_atfork_static): New macros to encapsulate pthread_atfork's functionality. * malloc/malloc.c (ptmalloc_lock_all, ptmalloc_unlock_all): New functions, registered via thread_atfork in the initialization routine or via thread_atfork_static in global scope. This ensures a consistent state of all locks across fork(). 1997-08-11 23:00:32 1997 Mark Kettenis <kettenis@phys.uva.nl> * login/programs/xtmp.c (compare_entry): Partially undo patch made by Klaus Espenlaub. There was no xtmp/utmp typo. Added comment to cclarify this. * login/programs/xtmp.h: Likewise. * posix/getopt.c: Recognize Windog by _WINDOWS32 not WIN32. Patch by Paul D. Smith <psmith@BayNetworks.COM>. 1997-08-12 13:51 Ulrich Drepper <drepper@cygnus.com> * login/getutid.c: Rename to __getutid and make getutid and getutxid weak aliases. Patch by ir. Mark M._Kettenis <kettenis@phys.uva.nl>. 1997-08-11 23:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/unix/sysv/linux/Makefile [subdir=misc] (sysdep_headers): Add bits/mman.h. 1997-08-11 08:51:21 1997 H.J. Lu <hjl@gnu.ai.mit.edu> * stdlib/fmtmsg.c (fmtmsg): Add static to __libc_once_define macro. * libc.map (__progname_full, __progname): Added. 1997-08-04 08:31 H.J. Lu <hjl@gnu.ai.mit.edu> * sysdeps/unix/sysv/linux/if_index.c (if_nametoindex): Return 0 if SIOGIFINDEX is not defined. (if_indextoname): Initialize "result" to NULL. (if_nametoindex, if_nameindex): Fix ENOSYS setting. 1997-08-11 11:58 Richard Henderson <rth@cygnus.com> Sparc ISO C 9x exception handling: * sysdeps/sparc/fpu/bits/mathdef.h: New file. * sysdeps/sparc/fpu/fclrexcpt.c: New file. * sysdeps/sparc/fpu/fegetenv.c: New file. * sysdeps/sparc/fpu/fegetround.c: New file. * sysdeps/sparc/fpu/feholdexcpt.c: New file. * sysdeps/sparc/fpu/fesetenv.c: New file. * sysdeps/sparc/fpu/fesetround.c: New file. * sysdeps/sparc/fpu/feupdateenv.c: New file. * sysdeps/sparc/fpu/fgetexcptflg.c: New file. * sysdeps/sparc/fpu/fraiseexcpt.c: New file. * sysdeps/sparc/fpu/fsetexcptflg.c: New file. * sysdeps/sparc/fpu/ftestexcept.c: New file. * sysdeps/sparc/sparc32/fpu/bits/fenv.h: New file. * sysdeps/sparc/sparc64/fpu/bits/fenv.h: New file. 1997-08-11 11:58 Richard Henderson <rth@cygnus.com> Sparc64 merge: * configure.in: Change up subdirectories, rename sparc8->sparcv8. * csu/Makefile: Nuke need-nopic-initfini bits. The problem was that sparc64 ld did not recognize pic relocs at all. * elf/dl-deps.c: Include <string.h>. * elf/do-rel.h (elf_dynamic_do_rel): Take reloc address and size directly instead of the DT names to get them from. * elf/dynamic-link.h (_ELF_DYNAMIC_DO_RELOC): New macro distilled from ELF_DYNAMIC_DO_REL{,A}. Define a second version that accounts for the possibility that DT_RELA and DT_JMPPLT overlap, as such is the case on the Sparc. * elf/elf.h: Stub out Elf64_Ver*, and make them the same as the Elf32_Ver* bits. The linker does not even know to differentiate between the word sizes. Someone should examine this and figure out what the proper sizes of things should be for 64-bit hosts before the sparc64 libraries are distributed. * shlib-versions: Rename sparc64 ld.so to not conflict with sparc32 on the same machine. Move old sysdeps/sparc contents to sysdeps/sparc/sparc32, rename sparc8 subdir to sparcv8, move sysdeps/sparc64 content to sysdeps/sparc/sparc64. Same for sysdeps/unix/sysv/linux/sparc. * sysdeps/sparc/Implies: Do ieee754 here. * sysdeps/sparc/configure.in: Move from sparc32/. * sysdeps/sparc/sparc32/Implies: Do wordsize here. * sysdeps/sparc/sparc64/Implies: Likewise. * sysdeps/sparc/sparc32/dl-machine.h (elf_machine_load_address): Use uninitialized .got to find load address instead of AT_BASE, as the later does not exist when running ld.so directly. * sysdeps/sparc/sparc32/fpu/fpu_control.h: Move from ../. * sysdeps/sparc/sparc64/fpu/fpu_control.h: Likewise. * sysdeps/sparc/sparc32/udiv_qrnnd.S: Clean up PIC support. * sysdeps/sparc/sparc64/Makefile (sysdep_routines): Add s_finitel and s_signbitl for stdio. * sysdeps/sparc/sparc64/configure.in: Remove, we no longer need nopic_initfini. * sysdeps/sparc/sparc64/bsd-_setjmp.S: Remove. * sysdeps/sparc/sparc64/bsd-setjmp.S: Remove. * sysdeps/unix/sysv/linux/sparc/sparc64/bsd-_setjmp.S: New empty file. * sysdeps/unix/sysv/linux/sparc/sparc64/bsd-setjmp.S: New empty file. * sysdeps/unix/sysv/linux/sparc/sparc64/longjmp.S: Add __longjmp alias. * sysdeps/unix/sysv/linux/sparc/sparc64/setjmp.S: Add weak _setjmp and setjmp entry points. * sysdeps/sparc/sparc64/dl-machine.h: Finish real implementation. * sysdeps/sparc/sparc64/elf/crtbegin.S: Add copyright, fix PIC. * sysdeps/sparc/sparc64/elf/crtend.S: Likewise. * sysdeps/unix/sysv/linux/sparc/bits/sigaction.h (struct sigaction): Fix sa_flags size for sparc64; add sa_restorer for kernel. * sysdeps/unix/sysv/linux/sparc/sparc64/brk.S: Fix PIC. * sysdeps/unix/sysv/linux/sparc/sparc64/clone.S: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/init-first.h: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/syscall.S: New file. 1997-08-10 18:29:08 1997 Mark Kettenis <kettenis@phys.uva.nl> * login/login.c (login): Check for correct return value of utmpname. 1997-08-11 16:49 Ulrich Drepper <drepper@cygnus.com> * time/tzset.c (__tzset_internal): Correctly handle TZ strings following incorrect old POSIX specs. Patch by Paul Eggert <eggert@twinsun.com>. * sysdeps/generic/bits/sigaction.h: Correct comment for SA_RESTART. * sysdeps/unix/bsd/osf/bits/sigaction.h: Likewise. * sysdeps/unix/sysv/linux/alpha/bits/sigaction.h: Likewise. * sysdeps/unix/sysv/linux/bits/sigaction.h: Likewise. * sysdeps/unix/sysv/linux/mips/bits/sigaction.h: Likewise. * sysdeps/unix/sysv/linux/sparc/bits/sigaction.h: Likewise. * sysdeps/unix/sysv/minix/bits/sigaction.h: Likewise. * sysdeps/unix/sysv/sysv4/bits/sigaction.h: Likewise. Reported by NIIBE Yutaka <gniibe@mri.co.jp>. 1997-08-09 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * manual/math.texi: Define the macros @mul and @infinity and use them to format the multiplication and infinity signs. (FP Comparison Functions): Use @code, not @math, for C code examples. * elf/dl-profile.c: Add descriptions and implement reading of
1997-08-14 01:54:13 +00:00
}
Update. 1998-07-08 22:18 Ulrich Drepper <drepper@cygnus.com> * elf/Versions: Add _dl_mcount_wrapper_check. * elf/dlfcn.h (DL_CALL_FCT): Don't test _dl_profile_map, simply use _dl_mcount_wrapper_check. * iconv/skeleton.c: Use DL_CALL_FCT, not _CALL_DL_FCT. * elf/dl-reloc.c (_dl_relocate_object): Don't declare using internal_function. * elf/ldsodefs.h: Likewise. * io/fcntl.h: Define SEEK_SET, SEEK_CUR, and SEEK_END. * libio/stdio.h: Make sure va_list is defined for X/Open. Define P_tmpdir for X/Open. * posix/regex.h: Fix typo. * posix/unistd.h: Define intptr_t if not already happened. Add pthread_atfork prototype. * sysdeps/generic/bits/types.h: Define __intptr_t. * sysdeps/unix/sysv/linux/alpha/bits/types.h: Likewise. * sysdeps/unix/sysv/linux/bits/types.h: Likewise. * sysdeps/unix/sysv/linux/bits/mips/types.h: Likewise. * sysdeps/unix/sysv/linux/bits/sparc/sparc64/types.h: Likewise. * sysdeps/unix/sysv/sysv4/solaris2/bits/types.h: Likewise. * sysdeps/wordsize-32/stdint.h: Don't define intptr_t if already done. * sysdeps/wordsize-64/stdint.h: Likewise. * posix/bits/posix1_lim.h: Define _POSIX_CLOCKRES_MIN. * signal/Makefile (headers): Add bits/sigthread.h. * signal/signal.h: Include bits/sigthread.h. * sysdeps/generic/bits/sigthread.h: New file. * stdlib/stdlib.h: Declare rand_r use __USE_POSIX. * sysdeps/generic/bits/confname.h: Define _PC_FILESIZEBITS. * sysdeps/posix/pathconf.c: Handle _PC_FILESIZEBITS. * sysdeps/unix/sysv/linux/alpha/fpathconf.c: New file. * sysdeps/unix/sysv/linux/alpha/pathconf.c: New file. * sysdeps/generic/bits/dlfcn.h: Define RTLD_LOCAL. * elf/rtld.c: Remove preloading and loadpath variables in SUID programs. * sysdeps/generic/dl-sysdep.c: Define unsetenv. * sysdeps/unix/sysv/linux/i386/dl-librecon.h: Define other envvar names. * sysdeps/unix/sysv/linux/bits/errno.h: Define ECANCELED. * sysdeps/unix/sysv/linux/bits/fcntl.h: Define O_RSYNC and O_DSYNC. Remove O_READ and O_WRITE definition. * sysdeps/unix/sysv/linux/bits/resource.h: Define RLIM_SAVED_MAX and RLIM_SAVED_CUR. * sysdeps/unix/sysv/linux/fstatvfs.h: Handle UFS filesystem. 1998-07-06 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * Makerules ($(common-objpfx)sysd-versions): Expect awk script in scripts directory. Pass move-if-change to awk. (common-generated): Add $(version-maps) and sysd-versions. * versions.awk: Moved to... * scripts/versions.awk: ... here. Use move-if-change to void touching unchanged files. Print "version-maps = ..." instead of "all-version-maps = ..." and without $(common-objpfx). Explain expected variable names. * Makefile (distribute): Updated. 1998-07-06 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * misc/getttyent.c (getttyent): Don't return with locked stream. * misc/mntent_r.c (__getmntent_r): Likewise. 1998-07-07 18:24 Ulrich Drepper <drepper@cygnus.com> * libio/fileops.c (_IO_do_write): Don't shrink wwrite buffer to zero if stream is line buffered. (_io_file_overflow): Likewise. * libio/libio.h (_IO_putc_unlocked): Make sure that for line-buffered streams writing '\n' flushes the string.
1998-07-08 22:53:56 +00:00
/* Return an array of useful/necessary hardware capability names. */
const struct r_strlenpair *
internal_function
_dl_important_hwcaps (const char *platform, size_t platform_len, size_t *sz,
size_t *max_capstrlen)
{
/* Determine how many important bits are set. */
Update. 2002-01-30 Ulrich Drepper <drepper@redhat.com> * Versions.def [ld]: Add GLIBC_2.3. * elf/dl-addr.c: Move global variables for SHARED code in struct _rtld_global. Export this struct, remove all exports for the signal variables. * elf/dl-close.c: Likewise. * elf/dl-conflict.c: Likewise. * elf/dl-debug.c: Likewise. * elf/dl-deps.c: Likewise. * elf/dl-dst.h: Likewise. * elf/dl-error.c: Likewise. * elf/dl-fini.c: Likewise. * elf/dl-init.c: Likewise. * elf/dl-iteratephdr.c: Likewise. * elf/dl-libc.c: Likewise. * elf/dl-load.c: Likewise. * elf/dl-lookup.c: Likewise. * elf/dl-minimal.c: Likewise. * elf/dl-object.c: Likewise. * elf/dl-open.c: Likewise. * elf/dl-profile.c: Likewise. * elf/dl-profstub.c: Likewise. * elf/dl-reloc.c: Likewise. * elf/dl-runtime.c: Likewise. * elf/dl-support.c: Likewise. * elf/dl-sym.c: Likewise. * elf/dl-version.c: Likewise. * elf/do-lookup.h: Likewise. * elf/do-rel.h: Likewise. * elf/dynamic-link.h: Likewise. * elf/rtld.c: Likewise. * sysdeps/generic/dl-cache.c: Likewise. * sysdeps/generic/dl-sysdep.c: Likewise. * sysdeps/generic/ldsodefs.h: Likewise. * sysdeps/generic/libc-start.c: Likewise. * sysdeps/i386/dl-machine.h: Likewise. * sysdeps/ia64/dl-fptr.c: Likewise. * sysdeps/ia64/dl-machine.h: Likewise. * sysdeps/unix/sysv/linux/dl-librecon.h: Likewise. * sysdeps/unix/sysv/linux/dl-origin.c: Likewise. * sysdeps/unix/sysv/linux/dl-osinfo.h: Likewise. * sysdeps/unix/sysv/linux/getclktck.c: Likewise. * sysdeps/unix/sysv/linux/getpagesize.c: Likewise. * sysdeps/unix/sysv/linux/i386/dl-librecon.h: Likewise. * sysdeps/unix/sysv/linux/ia64/dl-static.c: Likewise. * sysdeps/unix/sysv/linux/ia64/getpagesize.c: Likewise. * malloc/thread-m.h: Spinlock definitions for x86/x86_64.
2002-01-31 03:41:25 +00:00
unsigned long int masked = GL(dl_hwcap) & GL(dl_hwcap_mask);
size_t cnt = platform != NULL;
size_t n, m;
size_t total;
struct r_strlenpair *temp;
struct r_strlenpair *result;
struct r_strlenpair *rp;
char *cp;
Update. 1998-04-21 18:00 Ulrich Drepper <drepper@cygnus.com> * iconv/gconv.c (__gconv): Remove bogus input buffer size computation. * iconv/gconv_open.c (__gconv_open): Initialize outbufend element. * iconv/gconv_simple.c (__gconv_transform_internal_ascii): Don't use character in comparison with uint32_t. (__gconv_transform_internal_utf8): Specify MAX_NEEDED_TO. (__gconv_transform_utf8_internal): Specify MAX_NEEDED_FROM. Optimize BODY a bit. * iconv/loop.c: Require MIN_NEEDED_INPUT and MIN_NEEDED_OUTPUT to be defined. * iconv/skeleton.c: Also reset converted counter in case of an error. Call reset function using correct value for output buffer start. * iconvdata/Makefile: Re-enable tests. * iconvdata/iso8859-1.c: Swap MIN_NEEDED_INPUT and MIN_NEEDED_OUTPUT value for to-conversion. * iconvdata/TESTS: Add new third column. * iconvdata/run-iconv-test.sh: Add support for charsets which are not ASCII based. * iconvdata/testdata/suntzus: New file. * elf/dl-minimal.c (__strtol_internal): Increment pointer to string while reading. Correctly used base. Little optimization. (__strtoul_internal): Likewise. * elf/rtld.c (dl_main): Test to avoid duplicate call of _dl_init_paths was wrong. Use explicit variable. 1998-04-20 23:49 Zack Weinberg <zack@rabi.phys.columbia.edu> * configure.in: Check for awk. * config.make.in: Add AWK to be substituted. * manual/xtract-typefun.awk: Rewrite to eliminate gawk extensions. * manual/users.texi: Fix typo exposed by above rewrite. * Makefile: Invoke awk using AWK variable. * csu/Makefile: Likewise. * elf/Makefile: Likewise. * mach/Makefile: Likewise. * manual/Makefile: Likewise. * sysdeps/gnu/Makefile: Likewise. * sysdeps/mach/hurd/Makefile: Likewise. * sysdeps/unix/Makefile: Likewise. * timezone/Makefile: Likewise. 1998-04-10 Gordon Matzigkeit <gord@profitpress.com> * sysdeps/gnu/errlist.awk (ERR_REMAP): Implement error code to array index translation. (SYS_ERRLIST_ALIAS, SYS_NERR_ALIAS): Make weak aliases only if these are defined. * sysdeps/mach/hurd/Dist: Add errlist.c to distribution. * sysdeps/mach/hurd/errlist.c: New file. (ERR_TRANSLATE): Map Hurd error codes into errlist indices. (_hurd_errlist): The Hurd error list doesn't have Unix sys_errlist semantics, so rename it. 1998-04-16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * iconvdata/run-iconv-test.sh: Make portable. Always test all conversions. 1998-04-21 12:30 H.J. Lu <hjl@gnu.org> * wcsmbs/wcsrtombs.c (__wcsrtombs): Initialize result to 0. * wcsmbs/wcsnrtombs.c: Likewise. 1998-04-21 Ulrich Drepper <drepper@cygnus.com> * sysdeps/generic/dl-sysdep.c: Handle _dl_hwcap correctly. * wcsmbs/btowc.c (__btowc): Declare inptr as const char *. * time/strftime.c (my_strftime): Initialize pad variable in declaration. * iconvdata/big5.c: Don't use character constants in comparisons with unsigned value. * sysdeps/generic/setutxent.c: New file. * sysdeps/generic/getutxent.c: New file. * sysdeps/generic/endutxent.c: New file. * sysdeps/generic/getutxid.c: New file. * sysdeps/generic/getutxline.c: New file. * sysdeps/generic/pututxline.c: New file. * sysdeps/generic/utmpxname.c: New file. * sysdeps/generic/updwtmpx.c: New file.
1998-04-21 18:15:51 +00:00
/* Count the number of bits set in the masked value. */
for (n = 0; (~((1UL << n) - 1) & masked) != 0; ++n)
if ((masked & (1UL << n)) != 0)
++cnt;
#ifdef USE_TLS
/* For TLS enabled builds always add 'tls'. */
++cnt;
#else
if (cnt == 0)
{
/* If we have platform name and no important capability we only have
the base directory to search. */
result = (struct r_strlenpair *) malloc (sizeof (*result));
if (result == NULL)
goto no_memory;
result[0].str = (char *) result; /* Does not really matter. */
result[0].len = 0;
*sz = 1;
return result;
}
#endif
/* Create temporary data structure to generate result table. */
temp = (struct r_strlenpair *) alloca (cnt * sizeof (*temp));
m = 0;
Update. 1998-04-21 18:00 Ulrich Drepper <drepper@cygnus.com> * iconv/gconv.c (__gconv): Remove bogus input buffer size computation. * iconv/gconv_open.c (__gconv_open): Initialize outbufend element. * iconv/gconv_simple.c (__gconv_transform_internal_ascii): Don't use character in comparison with uint32_t. (__gconv_transform_internal_utf8): Specify MAX_NEEDED_TO. (__gconv_transform_utf8_internal): Specify MAX_NEEDED_FROM. Optimize BODY a bit. * iconv/loop.c: Require MIN_NEEDED_INPUT and MIN_NEEDED_OUTPUT to be defined. * iconv/skeleton.c: Also reset converted counter in case of an error. Call reset function using correct value for output buffer start. * iconvdata/Makefile: Re-enable tests. * iconvdata/iso8859-1.c: Swap MIN_NEEDED_INPUT and MIN_NEEDED_OUTPUT value for to-conversion. * iconvdata/TESTS: Add new third column. * iconvdata/run-iconv-test.sh: Add support for charsets which are not ASCII based. * iconvdata/testdata/suntzus: New file. * elf/dl-minimal.c (__strtol_internal): Increment pointer to string while reading. Correctly used base. Little optimization. (__strtoul_internal): Likewise. * elf/rtld.c (dl_main): Test to avoid duplicate call of _dl_init_paths was wrong. Use explicit variable. 1998-04-20 23:49 Zack Weinberg <zack@rabi.phys.columbia.edu> * configure.in: Check for awk. * config.make.in: Add AWK to be substituted. * manual/xtract-typefun.awk: Rewrite to eliminate gawk extensions. * manual/users.texi: Fix typo exposed by above rewrite. * Makefile: Invoke awk using AWK variable. * csu/Makefile: Likewise. * elf/Makefile: Likewise. * mach/Makefile: Likewise. * manual/Makefile: Likewise. * sysdeps/gnu/Makefile: Likewise. * sysdeps/mach/hurd/Makefile: Likewise. * sysdeps/unix/Makefile: Likewise. * timezone/Makefile: Likewise. 1998-04-10 Gordon Matzigkeit <gord@profitpress.com> * sysdeps/gnu/errlist.awk (ERR_REMAP): Implement error code to array index translation. (SYS_ERRLIST_ALIAS, SYS_NERR_ALIAS): Make weak aliases only if these are defined. * sysdeps/mach/hurd/Dist: Add errlist.c to distribution. * sysdeps/mach/hurd/errlist.c: New file. (ERR_TRANSLATE): Map Hurd error codes into errlist indices. (_hurd_errlist): The Hurd error list doesn't have Unix sys_errlist semantics, so rename it. 1998-04-16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * iconvdata/run-iconv-test.sh: Make portable. Always test all conversions. 1998-04-21 12:30 H.J. Lu <hjl@gnu.org> * wcsmbs/wcsrtombs.c (__wcsrtombs): Initialize result to 0. * wcsmbs/wcsnrtombs.c: Likewise. 1998-04-21 Ulrich Drepper <drepper@cygnus.com> * sysdeps/generic/dl-sysdep.c: Handle _dl_hwcap correctly. * wcsmbs/btowc.c (__btowc): Declare inptr as const char *. * time/strftime.c (my_strftime): Initialize pad variable in declaration. * iconvdata/big5.c: Don't use character constants in comparisons with unsigned value. * sysdeps/generic/setutxent.c: New file. * sysdeps/generic/getutxent.c: New file. * sysdeps/generic/endutxent.c: New file. * sysdeps/generic/getutxid.c: New file. * sysdeps/generic/getutxline.c: New file. * sysdeps/generic/pututxline.c: New file. * sysdeps/generic/utmpxname.c: New file. * sysdeps/generic/updwtmpx.c: New file.
1998-04-21 18:15:51 +00:00
for (n = 0; masked != 0; ++n)
if ((masked & (1UL << n)) != 0)
{
temp[m].str = _dl_hwcap_string (n);
temp[m].len = strlen (temp[m].str);
Update. 1998-04-21 18:00 Ulrich Drepper <drepper@cygnus.com> * iconv/gconv.c (__gconv): Remove bogus input buffer size computation. * iconv/gconv_open.c (__gconv_open): Initialize outbufend element. * iconv/gconv_simple.c (__gconv_transform_internal_ascii): Don't use character in comparison with uint32_t. (__gconv_transform_internal_utf8): Specify MAX_NEEDED_TO. (__gconv_transform_utf8_internal): Specify MAX_NEEDED_FROM. Optimize BODY a bit. * iconv/loop.c: Require MIN_NEEDED_INPUT and MIN_NEEDED_OUTPUT to be defined. * iconv/skeleton.c: Also reset converted counter in case of an error. Call reset function using correct value for output buffer start. * iconvdata/Makefile: Re-enable tests. * iconvdata/iso8859-1.c: Swap MIN_NEEDED_INPUT and MIN_NEEDED_OUTPUT value for to-conversion. * iconvdata/TESTS: Add new third column. * iconvdata/run-iconv-test.sh: Add support for charsets which are not ASCII based. * iconvdata/testdata/suntzus: New file. * elf/dl-minimal.c (__strtol_internal): Increment pointer to string while reading. Correctly used base. Little optimization. (__strtoul_internal): Likewise. * elf/rtld.c (dl_main): Test to avoid duplicate call of _dl_init_paths was wrong. Use explicit variable. 1998-04-20 23:49 Zack Weinberg <zack@rabi.phys.columbia.edu> * configure.in: Check for awk. * config.make.in: Add AWK to be substituted. * manual/xtract-typefun.awk: Rewrite to eliminate gawk extensions. * manual/users.texi: Fix typo exposed by above rewrite. * Makefile: Invoke awk using AWK variable. * csu/Makefile: Likewise. * elf/Makefile: Likewise. * mach/Makefile: Likewise. * manual/Makefile: Likewise. * sysdeps/gnu/Makefile: Likewise. * sysdeps/mach/hurd/Makefile: Likewise. * sysdeps/unix/Makefile: Likewise. * timezone/Makefile: Likewise. 1998-04-10 Gordon Matzigkeit <gord@profitpress.com> * sysdeps/gnu/errlist.awk (ERR_REMAP): Implement error code to array index translation. (SYS_ERRLIST_ALIAS, SYS_NERR_ALIAS): Make weak aliases only if these are defined. * sysdeps/mach/hurd/Dist: Add errlist.c to distribution. * sysdeps/mach/hurd/errlist.c: New file. (ERR_TRANSLATE): Map Hurd error codes into errlist indices. (_hurd_errlist): The Hurd error list doesn't have Unix sys_errlist semantics, so rename it. 1998-04-16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * iconvdata/run-iconv-test.sh: Make portable. Always test all conversions. 1998-04-21 12:30 H.J. Lu <hjl@gnu.org> * wcsmbs/wcsrtombs.c (__wcsrtombs): Initialize result to 0. * wcsmbs/wcsnrtombs.c: Likewise. 1998-04-21 Ulrich Drepper <drepper@cygnus.com> * sysdeps/generic/dl-sysdep.c: Handle _dl_hwcap correctly. * wcsmbs/btowc.c (__btowc): Declare inptr as const char *. * time/strftime.c (my_strftime): Initialize pad variable in declaration. * iconvdata/big5.c: Don't use character constants in comparisons with unsigned value. * sysdeps/generic/setutxent.c: New file. * sysdeps/generic/getutxent.c: New file. * sysdeps/generic/endutxent.c: New file. * sysdeps/generic/getutxid.c: New file. * sysdeps/generic/getutxline.c: New file. * sysdeps/generic/pututxline.c: New file. * sysdeps/generic/utmpxname.c: New file. * sysdeps/generic/updwtmpx.c: New file.
1998-04-21 18:15:51 +00:00
masked ^= 1UL << n;
++m;
}
if (platform != NULL)
{
temp[m].str = platform;
temp[m].len = platform_len;
++m;
}
#ifdef USE_TLS
temp[m].str = "tls";
temp[m].len = 3;
++m;
#endif
assert (m == cnt);
/* Determine the total size of all strings together. */
if (cnt == 1)
total = temp[0].len + 1;
else
{
total = (1UL << (cnt - 2)) * (temp[0].len + temp[cnt - 1].len + 2);
for (n = 1; n + 1 < cnt; ++n)
total += (1UL << (cnt - 3)) * (temp[n].len + 1);
}
/* The result structure: we use a very compressed way to store the
various combinations of capability names. */
*sz = 1 << cnt;
result = (struct r_strlenpair *) malloc (*sz * sizeof (*result) + total);
if (result == NULL)
{
2003-02-23 05:05:02 +00:00
#ifndef USE_TLS
no_memory:
2003-02-23 05:05:02 +00:00
#endif
INTUSE(_dl_signal_error) (ENOMEM, NULL, NULL,
N_("cannot create capability list"));
}
if (cnt == 1)
{
result[0].str = (char *) (result + *sz);
result[0].len = temp[0].len + 1;
result[1].str = (char *) (result + *sz);
result[1].len = 0;
cp = __mempcpy ((char *) (result + *sz), temp[0].str, temp[0].len);
*cp = '/';
*sz = 2;
*max_capstrlen = result[0].len;
return result;
}
/* Fill in the information. This follows the following scheme
(indeces from TEMP for four strings):
entry #0: 0, 1, 2, 3 binary: 1111
#1: 0, 1, 3 1101
#2: 0, 2, 3 1011
#3: 0, 3 1001
This allows the representation of all possible combinations of
capability names in the string. First generate the strings. */
result[1].str = result[0].str = cp = (char *) (result + *sz);
#define add(idx) \
cp = __mempcpy (__mempcpy (cp, temp[idx].str, temp[idx].len), "/", 1);
if (cnt == 2)
{
add (1);
add (0);
}
else
{
n = 1 << cnt;
do
{
n -= 2;
/* We always add the last string. */
add (cnt - 1);
/* Add the strings which have the bit set in N. */
for (m = cnt - 2; m > 0; --m)
if ((n & (1 << m)) != 0)
add (m);
/* Always add the first string. */
add (0);
}
while (n != 0);
}
#undef add
/* Now we are ready to install the string pointers and length. */
for (n = 0; n < (1UL << cnt); ++n)
result[n].len = 0;
n = cnt;
do
{
size_t mask = 1 << --n;
rp = result;
for (m = 1 << cnt; m > 0; ++rp)
if ((--m & mask) != 0)
rp->len += temp[n].len + 1;
}
while (n != 0);
/* The first half of the strings all include the first string. */
n = (1 << cnt) - 2;
rp = &result[2];
while (n != (1UL << (cnt - 1)))
{
if ((--n & 1) != 0)
rp[0].str = rp[-2].str + rp[-2].len;
else
rp[0].str = rp[-1].str;
++rp;
}
/* The second have starts right after the first part of the string of
corresponding entry in the first half. */
do
{
rp[0].str = rp[-(1 << (cnt - 1))].str + temp[cnt - 1].len + 1;
++rp;
}
while (--n != 0);
/* The maximum string length. */
*max_capstrlen = result[0].len;
return result;
}