glibc/sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c

60 lines
1.6 KiB
C
Raw Normal View History

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
/* POSIX.1 sigaction call for Linux/SPARC.
Copyright (C) 1997-2018 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.
Contributed by Miguel de Icaza <miguel@nuclecu.unam.mx>, 1997.
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.
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
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
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
#include <string.h>
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
#include <syscall.h>
#include <sys/signal.h>
#include <errno.h>
* elf/dl-runtime.c (fixup, profile_fixup): The final arg to _dl_lookup_*symbol is DL_LOOKUP_NOPLT not ELF_MACHINE_JMP_SLOT. * elf/elf.h (EM_SPARC64): Remove. (EM_SPARC32PLUS, EM_SPARCV9): Add. (HWCAP_SPARC_V9): Add. * elf/ldsodefs.h (_dl_hwcap): Declare. * sysdeps/sparc/sparc32/dl-machine.h (_dl_hwcap, _dl_hwcap_mask): Weaken so dlopen from static progies works. (WEAKADDR): New macro. (elf_machine_matches_host): Accept EM_SPARC32PLUS on a v9 cpu. (LD_SO_PRELOAD): New macro. (elf_machine_fixup_plt): Cope with weak _dl_hwcap. (elf_machine_rela): Weaken _dl_rtld_map. * sysdeps/unix/sysv/linux/sparc/sparc32/clone.S: Rename __libc_clone to __clone, and remove the later's alias. * sysdeps/unix/sysv/linux/sparc/sparc64/clone.S: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c: Copy to/from the kernel's structure. 1998-04-06 Jakub Jelinek <jj@sunsite.ms.mff.cuni.cz> * elf/dl-runtime.c (fixup, profile_fixup): The final arg to _dl_lookup_*symbol is DL_LOOKUP_NOPLT not ELF_MACHINE_JMP_SLOT. * elf/elf.h (EM_SPARC64): Remove. (EM_SPARC32PLUS, EM_SPARCV9): Add. (HWCAP_SPARC_V9): Add. * elf/ldsodefs.h (_dl_hwcap): Declare. * sysdeps/sparc/sparc32/dl-machine.h (_dl_hwcap, _dl_hwcap_mask): Weaken so dlopen from static progies works. (WEAKADDR): New macro. (elf_machine_matches_host): Accept EM_SPARC32PLUS on a v9 cpu. (LD_SO_PRELOAD): New macro. (elf_machine_fixup_plt): Cope with weak _dl_hwcap. (elf_machine_rela): Weaken _dl_rtld_map. * sysdeps/unix/sysv/linux/sparc/sparc32/clone.S: Rename __libc_clone to __clone, and remove the later's alias. * sysdeps/unix/sysv/linux/sparc/sparc64/clone.S: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c: Copy to/from the kernel's structure. * sysdeps/generic/libc-start.c: Allow init and fini to be null.
1998-04-06 19:08:46 +00:00
#include <kernel_sigaction.h>
Update. 2003-08-30 Jakub Jelinek <jakub@redhat.com> * sysdeps/generic/sysdep.h (cfi_window_save, CFI_WINDOW_SAVE): Define. * sysdeps/unix/sysv/linux/sparc/bits/setjmp.h: Allow file to be included multiple times. * sysdeps/unix/sysv/linux/sparc/sparc32/clone.S (__clone): Pass ptid, tls, ctid arguments to the kernel. * sysdeps/unix/sysv/linux/sparc/sparc32/getpagesize.c (__getpagesize): Use INTERNAL_SYSCALL instead of __syscall_getpagesize. * sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c (__libc_sigaction): Use INLINE_SYSCALL instead of __syscall_rt_sigaction. * sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list (__syscall_getgroups, __syscall_getpagesize, __syscall__llseek, __syscall_setfsgid, __syscall_setfsuid, __syscall_setgid, __syscall_setgroups, __syscall_setregid, __syscall_setreuid, __syscall_ipc, __syscall_setuid, __syscall_rt_sigaction, __syscall_rt_sigpending, __syscall_rt_sigprocmask, __syscall_rt_sigqueueinfo, __syscall_rt_sigsuspend, __syscall_rt_sigtimedwait): Remove unneeded syscall stubs. * sysdeps/unix/sysv/linux/sparc/sparc32/Makefile (sysdep_routines): Remove rt_sigsuspend, rt_sigprocmask, rt_sigtimedwait, rt_sigqueueinfo, rt_sigaction and rt_sigpending. * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h (__CLONE_SYSCALL_STRING): Define. * sysdeps/unix/sysv/linux/sparc/sparc32/socket.S (__socket): Add CFI directives. * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h (__CLONE_SYSCALL_STRING): Define. * sysdeps/unix/sysv/linux/sparc/sysdep.h (INLINE_CLONE_SYSCALL): Define. * sysdeps/unix/sysv/linux/sparc/system.c: New file. * sunrpc/rpc/clnt.h: Remove a few __THROW. * sunrpc/Makefile (CFLAGS-auth_unix.c): Add -fexceptions. (CFLAGS-key_call.c): Likewise. (CFLAGS-pmap_rmt.c): Likewise. * sunrpc/rpc/auth.h: Remove serveral __THROW. (CFLAGS-rcmd.c): Likewise.
2003-08-31 17:24:25 +00:00
#include <sysdep.h>
Update. 1998-09-14 Andreas Jaeger <aj@arthur.rhein-neckar.de> * sysdeps/mach/hurd/dl-cache.c (_dl_unload_cache): New dummy function. Reported by okuji@kuicr.kyoto-u.ac.jp [PR libc/789]. 1998-09-15 David S. Miller <davem@pierdol.cobaltmicro.com> * sysdeps/sparc/sparc32/dl-machine.h (elf_machine_runtime_setup): Add profiling support. (TRAMPOLINE_TEMPLATE): New macro. (ELF_MACHINE_RUNTIME_TRAMPOLINE): Define in terms of that. (RTLD_START): Prettify, and set __libc_stack_end properly. (elf_machine_rela) [R_SPARC_COPY]: Remove RTLD_BOOTSTRAP ifndef and check for sym being NULL instead. * sysdeps/sparc/sparc64/addmul_1.S: Adjust to allocate 192 bytes of stack space. * sysdeps/sparc/sparc64/lshift.S: Likewise. * sysdeps/sparc/sparc64/mul_1.S: Likewise. * sysdeps/sparc/sparc64/rshift.S: Likewise. * sysdeps/sparc/sparc64/submul_1.S: Likewise. * sysdeps/sparc/sparc64/elf/crtbegin.S: Likewise and remove old MEDANY code model %g4 usage. * sysdeps/sparc/sparc64/elf/crtend.S: Likewise and remove old MEDANY code model %g4 usage. * sysdeps/sparc/sparc64/elf/start.S: Rework to not use old FULLANY code model address formation. * sysdeps/sparc/sparc64/dl-machine.h: Don't include link.h, do include elf/ldsodefs.h (DT_SPARC): Remove. (elf_machine_matches_host): It is now EM_SPARCV9. (elf_machine_dynamic): Clean up to remove ugly cast. (elf_machine_fixup_plt): Rework for new V9 ABI, add support for new PLT formats. (elf_machine_rela): Don't do anything at all for R_SPARC_NONE. Prettify rest of function. [R_SPARC_COPY]: Check for sym being NULL. [R_SPARC_32]: Handle it. [R_SPARC_H44, R_SPARC_M44, R_SPARC_L44]: Handle them for the MEDMID code model. [R_SPARC_HH22, R_SPARC_HM10, R_SPARC_LM22]: Handle them for the MEDANY code model. [R_SPARC_NONE]: Remove this case, as it is now checked earlier. (elf_machine_runtime_setup): Rewrite for new V9 ABI plt formats. Add profiling support. (TRAMPOLINE_TEMPLATE): New macro. (ELF_MACHINE_RUNTIME_TRAMPOLINE): Define in terms of that. (RTLD_START): Prettify and set __libc_stack_end. * sysdeps/unix/sysv/linux/sparc/bits/sigaction.h (SA_SIGINFO): Define. * sysdeps/unix/sysv/linux/sparc/bits/signum.h (_NSIG): Set to 64. (SIGRTMIN, SIGRTMAX, __SIGRTMIN, __SIGRTMAX): Define. * sysdeps/unix/sysv/linux/sparc/sparc32/brk.c (__brk): Remove unused variable scratch. * sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c (__syscall_rt_sigaction, __rt_sigreturn_stub, __sigreturn_stub): Declare. (__sigaction): Rewrite rt_sigaction case to pass correct sigreturn stub to rt_sigaction syscalls. Rewrite non-rt case to use correct old format kernel sigaction structures. * sysdeps/unix/sysv/linux/sparc/sparc64/ucontext.h: Move... * sysdeps/unix/sysv/linux/sparc/sparc64/sys/ucontext.h: to here. * sysdeps/unix/sysv/linux/sparc/sparc64/Dist: Remove ucontext.h * sysdeps/unix/sysv/linux/sparc/sparc64/bits/setjmp.h: Fix ucontext include. (_JMPBUF_UNWINDS): Define. * sysdeps/unix/sysv/linux/sparc/sparc64/bits/statfs.h: Declare statfs64 structure, which is exactly the same as the normal one. * sysdeps/unix/sysv/linux/sparc/sparc64/brk.S: Allocate 192 bytes of stack. Use correct syscall trap number. Add branch prediction settings to branch instructions. Remove old MEDANY code model %g4 referneces for non-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/pipe.S: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/syscall.S: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/longjmp.S: Add __libc_longjmp and __libc_siglongjmp strong aliases. * sysdeps/unix/sysv/linux/sparc/sparc64/readdir.c (__readdir64): Also define to __no__readdir64_decl around readdir.c inclusion. (__readdir64): Add strong alias. * sysdeps/unix/sysv/linux/sparc/sparc64/socket.S: New file. * sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list (getrlimit): Set strong and weak names properly. 1998-09-16 11:25 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * manual/Makefile (AWK): Default to gawk if standalone. 1998-09-15 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * Makefile (distribute): Undo last change. * Make-dist (+tsrc) [not subdir]: Also include indirection headers for sysdep headers. (+subdir-headers): Removed, unused. 1998-09-15 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * stdio-common/Makefile ($(inst_includedir)/bits/stdio_lim.h): Use $(do-install). 1998-09-15 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * Makerules ($(+sysdir_pfx)sysd-Makefile): Don't check for absolute name in $(config-sysdirs), can never happen. ($(+sysdir_pfx)sysd-rules): Likewise. * Makeconfig (full-config-sysdirs): Likewise. (all-Subdirs-files): Prepend $(..). * configure.in: Don't check for absolute name in $add_ons_pfx, can not happen. Let --enable-add-ons=yes work if no add-ons actually exist. 1998-09-15 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * Rules ($(common-objpfx)bits/stdio_%.h): Remove extra continuations in command. 1998-09-15 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * libio/oldstdfiles.c (_IO_stdin_used): Update declaration.
1998-09-16 17:54:34 +00:00
static void __rt_sigreturn_stub (void);
static void __sigreturn_stub (void);
alpha: Use Linux generic sigaction implementation Alpha rt_sigaction syscall uses a slight different kernel ABI than generic one: arch/alpha/kernel/signal.c 90 SYSCALL_DEFINE5(rt_sigaction, int, sig, const struct sigaction __user *, act, 91 struct sigaction __user *, oact, 92 size_t, sigsetsize, void __user *, restorer) Similar as sparc, the syscall expects a restorer function. However different than sparc, alpha defines the restorer as the 5th argument (sparc defines as the 4th). This patch removes the arch-specific alpha sigaction implementation, adapt the Linux generic one to different restore placements (through STUB macro), and make alpha use the Linux generic kernel_sigaction definition. Checked on alpha-linux-gnu and x86_64-linux-gnu (for sanity). * sysdeps/unix/sysv/linux/alpha/Makefile: Update comment about __syscall_rt_sigaction. * sysdeps/unix/sysv/linux/alpha/kernel_sigaction.h (kernel_sigaction): Use Linux generic defintion. (STUB): Define. (__syscall_rt_sigreturn, __syscall_sigreturn): Add prototype. * sysdeps/unix/sysv/linux/alpha/rt_sigaction.S (__syscall_rt_sigaction): Remove implementation. (__syscall_sigreturn, __syscall_rt_sigreturn): Define as global and hidden. * sysdeps/unix/sysv/linux/alpha/sigaction.c: Remove file. * sysdeps/unix/sysv/linux/alpha/sysdep.h (INLINE_SYSCALL, INTERNAL_SYSCALL): Remove definitions. * sysdeps/unix/sysv/linux/sigaction.c: Define STUB to accept both the action and signal set size. * sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c (STUB): Redefine. * sysdeps/unix/sysv/linux/sparc/sparc64/sigaction.c (STUB): Likewise.
2018-12-11 18:57:49 +00:00
#define STUB(act, sigsetsize) \
linux: Consolidate sigaction implementation This patch consolidates all Linux sigaction implementations on the default sysdeps/unix/sysv/linux/sigaction.c. The idea is remove redundant code and simplify new ports addition by following the current generic Linux User API (UAPI). The UAPI for new ports defines a generic extensible sigaction struct as: struct sigaction { __sighandler_t sa_handler; unsigned long sa_flags; #ifdef SA_RESTORER void (*sa_restorer) (void); #endif sigset_t sa_mask; }; Where SA_RESTORER is just placed for compatibility reasons (news ports should not add it). A similar definition is used on generic kernel_sigaction.h. The user exported sigaction definition is not changed, so for most architectures it requires an adjustment to kernel expected one for the syscall. The main changes are: - All architectures now define and use a kernel_sigaction struct meant for the syscall, even for the architectures where the user sigaction has the same layout of the kernel expected one (s390-64 and ia64). Although it requires more work for these architectures, it simplifies the generic implementation. Also, sigaction is hardly a hotspot where micro optimization would play an important role. - The generic kernel_sigaction definition is now aligned with expected UAPI one for newer ports, where SA_RESTORER and sa_restorer are not expected to be defined. This means adding kernel_sigaction for current architectures that does define it (m68k, nios2, powerpc, s390, sh, sparc, and tile) and which rely on previous generic definition. - Remove old MIPS usage of sa_restorer. This was removed since 2.6.27 (2957c9e61ee9c - "[MIPS] IRIX: Goodbye and thanks for all the fish"). - The remaining arch-specific sigaction.c are to handle ABI idiosyncrasies (like SPARC kernel ABI for rt_sigaction that requires an additional stub argument). So for new ports the generic implementation should work if its uses Linux UAPI. If SA_RESTORER is still required (due some architecture limitation), it should define its own kernel_sigaction.h, define it and include generic header (assuming it still uses the default generic kernel layout). Checked on x86_64-linux-gnu, i686-linux-gnu, arm-linux-gnueabihf, aarch64-linux-gnu, sparc64-linux-gnu, sparcv9-linux-gnu, powerpc-linux-gnu, powerpc64-linux-gnu, ia64-linux-gnu and alpha-linux-gnu. I also checked the build on all remaining affected ABIs. * sysdeps/unix/sysv/linux/aarch64/sigaction.c: Use default Linux version as base implementation. * sysdeps/unix/sysv/linux/arm/sigaction.c: Likewise. * sysdeps/unix/sysv/linux/i386/sigaction.c: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/sigaction.c: Likewise. * sysdeps/unix/sysv/linux/x86_64/sigaction.c: Likewise. * sysdeps/unix/sysv/linux/alpha/kernel_sigaction.h: Add include guards, remove unrequired definitions and update comments. * sysdeps/unix/sysv/linux/kernel_sigaction.h: Likewise. * sysdeps/unix/sysv/linux/mips/kernel_sigaction.h: Likewise. * sysdeps/unix/sysv/linux/ia64/kernel_sigaction.h: New file. * sysdeps/unix/sysv/linux/m68k/kernel_sigaction.h: Likewise. * sysdeps/unix/sysv/linux/nios2/kernel_sigaction.h: Likewise. * sysdeps/unix/sysv/linux/powerpc/kernel_sigaction: Likewise. * sysdeps/unix/sysv/linux/s390/kernel_sigaction.h: Likewise. * sysdeps/unix/sysv/linux/sh/kernel_sigaction.h: Likewise. * sysdeps/unix/sysv/linux/sparc/kernel_sigaction.h: Likewise. * sysdeps/unix/sysv/linux/tile/kernel_sigaction.h: Likewise. * sysdeps/unix/sysv/linux/ia64/sigaction.c: Remove file. * sysdeps/unix/sysv/linux/mips/sigaction.c: Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/sigaction.c: Likewise. * sysdeps/unix/sysv/linux/sigaction.c: Add STUB, SET_SA_RESTORER, and RESET_SA_RESTORER hooks.
2017-11-02 13:04:18 +00:00
(act) ? ((unsigned long)((act->sa_flags & SA_SIGINFO) \
? &__rt_sigreturn_stub \
: &__sigreturn_stub) - 8) \
alpha: Use Linux generic sigaction implementation Alpha rt_sigaction syscall uses a slight different kernel ABI than generic one: arch/alpha/kernel/signal.c 90 SYSCALL_DEFINE5(rt_sigaction, int, sig, const struct sigaction __user *, act, 91 struct sigaction __user *, oact, 92 size_t, sigsetsize, void __user *, restorer) Similar as sparc, the syscall expects a restorer function. However different than sparc, alpha defines the restorer as the 5th argument (sparc defines as the 4th). This patch removes the arch-specific alpha sigaction implementation, adapt the Linux generic one to different restore placements (through STUB macro), and make alpha use the Linux generic kernel_sigaction definition. Checked on alpha-linux-gnu and x86_64-linux-gnu (for sanity). * sysdeps/unix/sysv/linux/alpha/Makefile: Update comment about __syscall_rt_sigaction. * sysdeps/unix/sysv/linux/alpha/kernel_sigaction.h (kernel_sigaction): Use Linux generic defintion. (STUB): Define. (__syscall_rt_sigreturn, __syscall_sigreturn): Add prototype. * sysdeps/unix/sysv/linux/alpha/rt_sigaction.S (__syscall_rt_sigaction): Remove implementation. (__syscall_sigreturn, __syscall_rt_sigreturn): Define as global and hidden. * sysdeps/unix/sysv/linux/alpha/sigaction.c: Remove file. * sysdeps/unix/sysv/linux/alpha/sysdep.h (INLINE_SYSCALL, INTERNAL_SYSCALL): Remove definitions. * sysdeps/unix/sysv/linux/sigaction.c: Define STUB to accept both the action and signal set size. * sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c (STUB): Redefine. * sysdeps/unix/sysv/linux/sparc/sparc64/sigaction.c (STUB): Likewise.
2018-12-11 18:57:49 +00:00
: 0, \
(sigsetsize)
linux: Consolidate sigaction implementation This patch consolidates all Linux sigaction implementations on the default sysdeps/unix/sysv/linux/sigaction.c. The idea is remove redundant code and simplify new ports addition by following the current generic Linux User API (UAPI). The UAPI for new ports defines a generic extensible sigaction struct as: struct sigaction { __sighandler_t sa_handler; unsigned long sa_flags; #ifdef SA_RESTORER void (*sa_restorer) (void); #endif sigset_t sa_mask; }; Where SA_RESTORER is just placed for compatibility reasons (news ports should not add it). A similar definition is used on generic kernel_sigaction.h. The user exported sigaction definition is not changed, so for most architectures it requires an adjustment to kernel expected one for the syscall. The main changes are: - All architectures now define and use a kernel_sigaction struct meant for the syscall, even for the architectures where the user sigaction has the same layout of the kernel expected one (s390-64 and ia64). Although it requires more work for these architectures, it simplifies the generic implementation. Also, sigaction is hardly a hotspot where micro optimization would play an important role. - The generic kernel_sigaction definition is now aligned with expected UAPI one for newer ports, where SA_RESTORER and sa_restorer are not expected to be defined. This means adding kernel_sigaction for current architectures that does define it (m68k, nios2, powerpc, s390, sh, sparc, and tile) and which rely on previous generic definition. - Remove old MIPS usage of sa_restorer. This was removed since 2.6.27 (2957c9e61ee9c - "[MIPS] IRIX: Goodbye and thanks for all the fish"). - The remaining arch-specific sigaction.c are to handle ABI idiosyncrasies (like SPARC kernel ABI for rt_sigaction that requires an additional stub argument). So for new ports the generic implementation should work if its uses Linux UAPI. If SA_RESTORER is still required (due some architecture limitation), it should define its own kernel_sigaction.h, define it and include generic header (assuming it still uses the default generic kernel layout). Checked on x86_64-linux-gnu, i686-linux-gnu, arm-linux-gnueabihf, aarch64-linux-gnu, sparc64-linux-gnu, sparcv9-linux-gnu, powerpc-linux-gnu, powerpc64-linux-gnu, ia64-linux-gnu and alpha-linux-gnu. I also checked the build on all remaining affected ABIs. * sysdeps/unix/sysv/linux/aarch64/sigaction.c: Use default Linux version as base implementation. * sysdeps/unix/sysv/linux/arm/sigaction.c: Likewise. * sysdeps/unix/sysv/linux/i386/sigaction.c: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/sigaction.c: Likewise. * sysdeps/unix/sysv/linux/x86_64/sigaction.c: Likewise. * sysdeps/unix/sysv/linux/alpha/kernel_sigaction.h: Add include guards, remove unrequired definitions and update comments. * sysdeps/unix/sysv/linux/kernel_sigaction.h: Likewise. * sysdeps/unix/sysv/linux/mips/kernel_sigaction.h: Likewise. * sysdeps/unix/sysv/linux/ia64/kernel_sigaction.h: New file. * sysdeps/unix/sysv/linux/m68k/kernel_sigaction.h: Likewise. * sysdeps/unix/sysv/linux/nios2/kernel_sigaction.h: Likewise. * sysdeps/unix/sysv/linux/powerpc/kernel_sigaction: Likewise. * sysdeps/unix/sysv/linux/s390/kernel_sigaction.h: Likewise. * sysdeps/unix/sysv/linux/sh/kernel_sigaction.h: Likewise. * sysdeps/unix/sysv/linux/sparc/kernel_sigaction.h: Likewise. * sysdeps/unix/sysv/linux/tile/kernel_sigaction.h: Likewise. * sysdeps/unix/sysv/linux/ia64/sigaction.c: Remove file. * sysdeps/unix/sysv/linux/mips/sigaction.c: Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/sigaction.c: Likewise. * sysdeps/unix/sysv/linux/sigaction.c: Add STUB, SET_SA_RESTORER, and RESET_SA_RESTORER hooks.
2017-11-02 13:04:18 +00:00
#include <sysdeps/unix/sysv/linux/sigaction.c>
Update. 1998-09-14 Andreas Jaeger <aj@arthur.rhein-neckar.de> * sysdeps/mach/hurd/dl-cache.c (_dl_unload_cache): New dummy function. Reported by okuji@kuicr.kyoto-u.ac.jp [PR libc/789]. 1998-09-15 David S. Miller <davem@pierdol.cobaltmicro.com> * sysdeps/sparc/sparc32/dl-machine.h (elf_machine_runtime_setup): Add profiling support. (TRAMPOLINE_TEMPLATE): New macro. (ELF_MACHINE_RUNTIME_TRAMPOLINE): Define in terms of that. (RTLD_START): Prettify, and set __libc_stack_end properly. (elf_machine_rela) [R_SPARC_COPY]: Remove RTLD_BOOTSTRAP ifndef and check for sym being NULL instead. * sysdeps/sparc/sparc64/addmul_1.S: Adjust to allocate 192 bytes of stack space. * sysdeps/sparc/sparc64/lshift.S: Likewise. * sysdeps/sparc/sparc64/mul_1.S: Likewise. * sysdeps/sparc/sparc64/rshift.S: Likewise. * sysdeps/sparc/sparc64/submul_1.S: Likewise. * sysdeps/sparc/sparc64/elf/crtbegin.S: Likewise and remove old MEDANY code model %g4 usage. * sysdeps/sparc/sparc64/elf/crtend.S: Likewise and remove old MEDANY code model %g4 usage. * sysdeps/sparc/sparc64/elf/start.S: Rework to not use old FULLANY code model address formation. * sysdeps/sparc/sparc64/dl-machine.h: Don't include link.h, do include elf/ldsodefs.h (DT_SPARC): Remove. (elf_machine_matches_host): It is now EM_SPARCV9. (elf_machine_dynamic): Clean up to remove ugly cast. (elf_machine_fixup_plt): Rework for new V9 ABI, add support for new PLT formats. (elf_machine_rela): Don't do anything at all for R_SPARC_NONE. Prettify rest of function. [R_SPARC_COPY]: Check for sym being NULL. [R_SPARC_32]: Handle it. [R_SPARC_H44, R_SPARC_M44, R_SPARC_L44]: Handle them for the MEDMID code model. [R_SPARC_HH22, R_SPARC_HM10, R_SPARC_LM22]: Handle them for the MEDANY code model. [R_SPARC_NONE]: Remove this case, as it is now checked earlier. (elf_machine_runtime_setup): Rewrite for new V9 ABI plt formats. Add profiling support. (TRAMPOLINE_TEMPLATE): New macro. (ELF_MACHINE_RUNTIME_TRAMPOLINE): Define in terms of that. (RTLD_START): Prettify and set __libc_stack_end. * sysdeps/unix/sysv/linux/sparc/bits/sigaction.h (SA_SIGINFO): Define. * sysdeps/unix/sysv/linux/sparc/bits/signum.h (_NSIG): Set to 64. (SIGRTMIN, SIGRTMAX, __SIGRTMIN, __SIGRTMAX): Define. * sysdeps/unix/sysv/linux/sparc/sparc32/brk.c (__brk): Remove unused variable scratch. * sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c (__syscall_rt_sigaction, __rt_sigreturn_stub, __sigreturn_stub): Declare. (__sigaction): Rewrite rt_sigaction case to pass correct sigreturn stub to rt_sigaction syscalls. Rewrite non-rt case to use correct old format kernel sigaction structures. * sysdeps/unix/sysv/linux/sparc/sparc64/ucontext.h: Move... * sysdeps/unix/sysv/linux/sparc/sparc64/sys/ucontext.h: to here. * sysdeps/unix/sysv/linux/sparc/sparc64/Dist: Remove ucontext.h * sysdeps/unix/sysv/linux/sparc/sparc64/bits/setjmp.h: Fix ucontext include. (_JMPBUF_UNWINDS): Define. * sysdeps/unix/sysv/linux/sparc/sparc64/bits/statfs.h: Declare statfs64 structure, which is exactly the same as the normal one. * sysdeps/unix/sysv/linux/sparc/sparc64/brk.S: Allocate 192 bytes of stack. Use correct syscall trap number. Add branch prediction settings to branch instructions. Remove old MEDANY code model %g4 referneces for non-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/pipe.S: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/syscall.S: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/longjmp.S: Add __libc_longjmp and __libc_siglongjmp strong aliases. * sysdeps/unix/sysv/linux/sparc/sparc64/readdir.c (__readdir64): Also define to __no__readdir64_decl around readdir.c inclusion. (__readdir64): Add strong alias. * sysdeps/unix/sysv/linux/sparc/sparc64/socket.S: New file. * sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list (getrlimit): Set strong and weak names properly. 1998-09-16 11:25 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * manual/Makefile (AWK): Default to gawk if standalone. 1998-09-15 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * Makefile (distribute): Undo last change. * Make-dist (+tsrc) [not subdir]: Also include indirection headers for sysdep headers. (+subdir-headers): Removed, unused. 1998-09-15 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * stdio-common/Makefile ($(inst_includedir)/bits/stdio_lim.h): Use $(do-install). 1998-09-15 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * Makerules ($(+sysdir_pfx)sysd-Makefile): Don't check for absolute name in $(config-sysdirs), can never happen. ($(+sysdir_pfx)sysd-rules): Likewise. * Makeconfig (full-config-sysdirs): Likewise. (all-Subdirs-files): Prepend $(..). * configure.in: Don't check for absolute name in $add_ons_pfx, can not happen. Let --enable-add-ons=yes work if no add-ons actually exist. 1998-09-15 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * Rules ($(common-objpfx)bits/stdio_%.h): Remove extra continuations in command. 1998-09-15 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * libio/oldstdfiles.c (_IO_stdin_used): Update declaration.
1998-09-16 17:54:34 +00:00
static
inhibit_stack_protector
void
Update. 1998-09-14 Andreas Jaeger <aj@arthur.rhein-neckar.de> * sysdeps/mach/hurd/dl-cache.c (_dl_unload_cache): New dummy function. Reported by okuji@kuicr.kyoto-u.ac.jp [PR libc/789]. 1998-09-15 David S. Miller <davem@pierdol.cobaltmicro.com> * sysdeps/sparc/sparc32/dl-machine.h (elf_machine_runtime_setup): Add profiling support. (TRAMPOLINE_TEMPLATE): New macro. (ELF_MACHINE_RUNTIME_TRAMPOLINE): Define in terms of that. (RTLD_START): Prettify, and set __libc_stack_end properly. (elf_machine_rela) [R_SPARC_COPY]: Remove RTLD_BOOTSTRAP ifndef and check for sym being NULL instead. * sysdeps/sparc/sparc64/addmul_1.S: Adjust to allocate 192 bytes of stack space. * sysdeps/sparc/sparc64/lshift.S: Likewise. * sysdeps/sparc/sparc64/mul_1.S: Likewise. * sysdeps/sparc/sparc64/rshift.S: Likewise. * sysdeps/sparc/sparc64/submul_1.S: Likewise. * sysdeps/sparc/sparc64/elf/crtbegin.S: Likewise and remove old MEDANY code model %g4 usage. * sysdeps/sparc/sparc64/elf/crtend.S: Likewise and remove old MEDANY code model %g4 usage. * sysdeps/sparc/sparc64/elf/start.S: Rework to not use old FULLANY code model address formation. * sysdeps/sparc/sparc64/dl-machine.h: Don't include link.h, do include elf/ldsodefs.h (DT_SPARC): Remove. (elf_machine_matches_host): It is now EM_SPARCV9. (elf_machine_dynamic): Clean up to remove ugly cast. (elf_machine_fixup_plt): Rework for new V9 ABI, add support for new PLT formats. (elf_machine_rela): Don't do anything at all for R_SPARC_NONE. Prettify rest of function. [R_SPARC_COPY]: Check for sym being NULL. [R_SPARC_32]: Handle it. [R_SPARC_H44, R_SPARC_M44, R_SPARC_L44]: Handle them for the MEDMID code model. [R_SPARC_HH22, R_SPARC_HM10, R_SPARC_LM22]: Handle them for the MEDANY code model. [R_SPARC_NONE]: Remove this case, as it is now checked earlier. (elf_machine_runtime_setup): Rewrite for new V9 ABI plt formats. Add profiling support. (TRAMPOLINE_TEMPLATE): New macro. (ELF_MACHINE_RUNTIME_TRAMPOLINE): Define in terms of that. (RTLD_START): Prettify and set __libc_stack_end. * sysdeps/unix/sysv/linux/sparc/bits/sigaction.h (SA_SIGINFO): Define. * sysdeps/unix/sysv/linux/sparc/bits/signum.h (_NSIG): Set to 64. (SIGRTMIN, SIGRTMAX, __SIGRTMIN, __SIGRTMAX): Define. * sysdeps/unix/sysv/linux/sparc/sparc32/brk.c (__brk): Remove unused variable scratch. * sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c (__syscall_rt_sigaction, __rt_sigreturn_stub, __sigreturn_stub): Declare. (__sigaction): Rewrite rt_sigaction case to pass correct sigreturn stub to rt_sigaction syscalls. Rewrite non-rt case to use correct old format kernel sigaction structures. * sysdeps/unix/sysv/linux/sparc/sparc64/ucontext.h: Move... * sysdeps/unix/sysv/linux/sparc/sparc64/sys/ucontext.h: to here. * sysdeps/unix/sysv/linux/sparc/sparc64/Dist: Remove ucontext.h * sysdeps/unix/sysv/linux/sparc/sparc64/bits/setjmp.h: Fix ucontext include. (_JMPBUF_UNWINDS): Define. * sysdeps/unix/sysv/linux/sparc/sparc64/bits/statfs.h: Declare statfs64 structure, which is exactly the same as the normal one. * sysdeps/unix/sysv/linux/sparc/sparc64/brk.S: Allocate 192 bytes of stack. Use correct syscall trap number. Add branch prediction settings to branch instructions. Remove old MEDANY code model %g4 referneces for non-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/pipe.S: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/syscall.S: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/longjmp.S: Add __libc_longjmp and __libc_siglongjmp strong aliases. * sysdeps/unix/sysv/linux/sparc/sparc64/readdir.c (__readdir64): Also define to __no__readdir64_decl around readdir.c inclusion. (__readdir64): Add strong alias. * sysdeps/unix/sysv/linux/sparc/sparc64/socket.S: New file. * sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list (getrlimit): Set strong and weak names properly. 1998-09-16 11:25 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * manual/Makefile (AWK): Default to gawk if standalone. 1998-09-15 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * Makefile (distribute): Undo last change. * Make-dist (+tsrc) [not subdir]: Also include indirection headers for sysdep headers. (+subdir-headers): Removed, unused. 1998-09-15 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * stdio-common/Makefile ($(inst_includedir)/bits/stdio_lim.h): Use $(do-install). 1998-09-15 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * Makerules ($(+sysdir_pfx)sysd-Makefile): Don't check for absolute name in $(config-sysdirs), can never happen. ($(+sysdir_pfx)sysd-rules): Likewise. * Makeconfig (full-config-sysdirs): Likewise. (all-Subdirs-files): Prepend $(..). * configure.in: Don't check for absolute name in $add_ons_pfx, can not happen. Let --enable-add-ons=yes work if no add-ons actually exist. 1998-09-15 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * Rules ($(common-objpfx)bits/stdio_%.h): Remove extra continuations in command. 1998-09-15 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * libio/oldstdfiles.c (_IO_stdin_used): Update declaration.
1998-09-16 17:54:34 +00:00
__rt_sigreturn_stub (void)
{
__asm__ ("mov %0, %%g1\n\t"
"ta 0x10\n\t"
: /* no outputs */
: "i" (__NR_rt_sigreturn));
}
static
inhibit_stack_protector
void
Update. 1998-09-14 Andreas Jaeger <aj@arthur.rhein-neckar.de> * sysdeps/mach/hurd/dl-cache.c (_dl_unload_cache): New dummy function. Reported by okuji@kuicr.kyoto-u.ac.jp [PR libc/789]. 1998-09-15 David S. Miller <davem@pierdol.cobaltmicro.com> * sysdeps/sparc/sparc32/dl-machine.h (elf_machine_runtime_setup): Add profiling support. (TRAMPOLINE_TEMPLATE): New macro. (ELF_MACHINE_RUNTIME_TRAMPOLINE): Define in terms of that. (RTLD_START): Prettify, and set __libc_stack_end properly. (elf_machine_rela) [R_SPARC_COPY]: Remove RTLD_BOOTSTRAP ifndef and check for sym being NULL instead. * sysdeps/sparc/sparc64/addmul_1.S: Adjust to allocate 192 bytes of stack space. * sysdeps/sparc/sparc64/lshift.S: Likewise. * sysdeps/sparc/sparc64/mul_1.S: Likewise. * sysdeps/sparc/sparc64/rshift.S: Likewise. * sysdeps/sparc/sparc64/submul_1.S: Likewise. * sysdeps/sparc/sparc64/elf/crtbegin.S: Likewise and remove old MEDANY code model %g4 usage. * sysdeps/sparc/sparc64/elf/crtend.S: Likewise and remove old MEDANY code model %g4 usage. * sysdeps/sparc/sparc64/elf/start.S: Rework to not use old FULLANY code model address formation. * sysdeps/sparc/sparc64/dl-machine.h: Don't include link.h, do include elf/ldsodefs.h (DT_SPARC): Remove. (elf_machine_matches_host): It is now EM_SPARCV9. (elf_machine_dynamic): Clean up to remove ugly cast. (elf_machine_fixup_plt): Rework for new V9 ABI, add support for new PLT formats. (elf_machine_rela): Don't do anything at all for R_SPARC_NONE. Prettify rest of function. [R_SPARC_COPY]: Check for sym being NULL. [R_SPARC_32]: Handle it. [R_SPARC_H44, R_SPARC_M44, R_SPARC_L44]: Handle them for the MEDMID code model. [R_SPARC_HH22, R_SPARC_HM10, R_SPARC_LM22]: Handle them for the MEDANY code model. [R_SPARC_NONE]: Remove this case, as it is now checked earlier. (elf_machine_runtime_setup): Rewrite for new V9 ABI plt formats. Add profiling support. (TRAMPOLINE_TEMPLATE): New macro. (ELF_MACHINE_RUNTIME_TRAMPOLINE): Define in terms of that. (RTLD_START): Prettify and set __libc_stack_end. * sysdeps/unix/sysv/linux/sparc/bits/sigaction.h (SA_SIGINFO): Define. * sysdeps/unix/sysv/linux/sparc/bits/signum.h (_NSIG): Set to 64. (SIGRTMIN, SIGRTMAX, __SIGRTMIN, __SIGRTMAX): Define. * sysdeps/unix/sysv/linux/sparc/sparc32/brk.c (__brk): Remove unused variable scratch. * sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c (__syscall_rt_sigaction, __rt_sigreturn_stub, __sigreturn_stub): Declare. (__sigaction): Rewrite rt_sigaction case to pass correct sigreturn stub to rt_sigaction syscalls. Rewrite non-rt case to use correct old format kernel sigaction structures. * sysdeps/unix/sysv/linux/sparc/sparc64/ucontext.h: Move... * sysdeps/unix/sysv/linux/sparc/sparc64/sys/ucontext.h: to here. * sysdeps/unix/sysv/linux/sparc/sparc64/Dist: Remove ucontext.h * sysdeps/unix/sysv/linux/sparc/sparc64/bits/setjmp.h: Fix ucontext include. (_JMPBUF_UNWINDS): Define. * sysdeps/unix/sysv/linux/sparc/sparc64/bits/statfs.h: Declare statfs64 structure, which is exactly the same as the normal one. * sysdeps/unix/sysv/linux/sparc/sparc64/brk.S: Allocate 192 bytes of stack. Use correct syscall trap number. Add branch prediction settings to branch instructions. Remove old MEDANY code model %g4 referneces for non-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/pipe.S: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/syscall.S: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/longjmp.S: Add __libc_longjmp and __libc_siglongjmp strong aliases. * sysdeps/unix/sysv/linux/sparc/sparc64/readdir.c (__readdir64): Also define to __no__readdir64_decl around readdir.c inclusion. (__readdir64): Add strong alias. * sysdeps/unix/sysv/linux/sparc/sparc64/socket.S: New file. * sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list (getrlimit): Set strong and weak names properly. 1998-09-16 11:25 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * manual/Makefile (AWK): Default to gawk if standalone. 1998-09-15 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * Makefile (distribute): Undo last change. * Make-dist (+tsrc) [not subdir]: Also include indirection headers for sysdep headers. (+subdir-headers): Removed, unused. 1998-09-15 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * stdio-common/Makefile ($(inst_includedir)/bits/stdio_lim.h): Use $(do-install). 1998-09-15 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * Makerules ($(+sysdir_pfx)sysd-Makefile): Don't check for absolute name in $(config-sysdirs), can never happen. ($(+sysdir_pfx)sysd-rules): Likewise. * Makeconfig (full-config-sysdirs): Likewise. (all-Subdirs-files): Prepend $(..). * configure.in: Don't check for absolute name in $add_ons_pfx, can not happen. Let --enable-add-ons=yes work if no add-ons actually exist. 1998-09-15 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * Rules ($(common-objpfx)bits/stdio_%.h): Remove extra continuations in command. 1998-09-15 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * libio/oldstdfiles.c (_IO_stdin_used): Update declaration.
1998-09-16 17:54:34 +00:00
__sigreturn_stub (void)
{
__asm__ ("mov %0, %%g1\n\t"
"ta 0x10\n\t"
: /* no outputs */
: "i" (__NR_sigreturn));
}