aboutsummaryrefslogtreecommitdiff
path: root/sysdeps
AgeCommit message (Collapse)Author
1996-07-09Regenerated from ../sysdeps/gnu/errlist.awk ../manual/errno.texicvs/libc-960709Thomas Bushnell, BSG
1996-07-09*** empty log message ***Thomas Bushnell, BSG
Tue Jul 9 00:14:52 1996 Michael I. Bushnell p/BSG <mib@gnu.ai.mit.edu> * sysdeps/mach/hurd/ioctls.h (MDMBUF, ECHO, TOSTOP, FLUSHO, PENDIN, NOFLSH): Undefine these at start if they are already defined to avoid collision with termbits.h. * sysdeps/generic/termbits.h (ECHO, TOSTOP, NOFLSH): Likewise. (MDMBUF, FLUSHO, PENDIN) [__USE_BSD]: Likewise. Mon Jul 8 13:10:50 1996 Michael I. Bushnell p/BSG <mib@gnu.ai.mit.edu> * sysdeps/mach/hurd/errnos.awk: Skip entries where the error is 0. The "placeholder" entries recently added to errno.texi convert to zero since `???/' is at the front of them. * sysdeps/gnu/errlist.awk (errnoh): Likewise. * sysdeps/stub/setdomain.c (setdomainname): Declare NAME parm __const to conform with unistd.h. * posix/regex.c (re_comp, re_exec): Use weak_function as keyword in function defns instead of weak_symbol (NAME) after the defn. * stdlib/stdlib.h (random): Declare return type to be int32_t.
1996-07-08Regenerated: autoconf sysdeps/generic/configure.inMiles Bader
1996-07-08Regenerated: autoconf sysdeps/unix/common/configure.inMiles Bader
1996-07-08Mon Jul 8 02:14:25 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>cvs/libc-960708Roland McGrath
* libc-symbols.h [GCC >= 2.7] (strong_alias, weak_alias): Use extern storage class. GCC gives an error for non-extern data defns with the alias attribute. Mon Jul 8 00:11:15 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> * libc-symbols.h (weak_function): New macro. For GCC 2.7+ define as __attribute__ ((weak)). * elf/dl-minimal.c: Use weak_function as keyword in function defns instead of weak_symbol (NAME) after the defn. * stdlib/strtol.c: Likewise. * sysdeps/mach/hurd/dl-sysdep.c: Likewise. * sysdeps/alpha/dl-machine.h (elf_machine_rela) [RTLD_BOOTSTRAP]: If this is defined, don't declare _dl_rtld_map as weak, and don't check for MAP pointing to it. RESOLVE is always null in this case, so test with #ifdef instead of if. * libc-symbols.h (symbol_set_declare): Use weak_extern instead of weak_symbol. * csu/initfini.c (_init): Likewise. * locale/setlocale.c (DEFINE_CATEGORY): Likewise. * misc/efgcvt_r.c: Likewise. * sysdeps/alpha/dl-machine.h (elf_machine_rela): Likewise. * sysdeps/i386/dl-machine.h (elf_machine_rel): Likewise. * libc-symbols.h [ASSEMBLER] (weak_symbol): Macro removed. It was not used in any assembler code. (weak_symbol_asm): Renamed to weak_extern_asm. (weak_extern): New macro replaces weak_symbol for weak extern refs; define to weak_extern_asm for [!ASSEMBLER]. * libc-symbols.h [! ASSEMBLER] [HAVE_WEAK_SYMBOLS] (weak_symbol_asm, weak_alias_asm): New macros, renamed from weak_symbol/weak_alias; define those now as aliases. Change conditional to use __attribute__ syntax for GCC 2.7+, not 2.8+ [GCC >= 2.7] [HAVE_WEAK_SYMBOLS] (weak_symbol): Do weak_symbol_asm after GCC weak attribute decl.
1996-07-08Mon Jul 8 00:11:15 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>Roland McGrath
* libc-symbols.h (symbol_set_declare): Use weak_extern instead of weak_symbol. * csu/initfini.c (_init): Likewise. * locale/setlocale.c (DEFINE_CATEGORY): Likewise. * misc/efgcvt_r.c: Likewise. * sysdeps/alpha/dl-machine.h (elf_machine_rela): Likewise. * sysdeps/i386/dl-machine.h (elf_machine_rel): Likewise.
1996-07-07* sysdeps/gnu/errlist.awk (BEGIN): Initialize associative array ALIAS,Roland McGrath
map EWOULDBLOCK->EAGAIN, EDEADLOCK->EDEADLK. (element printer): Check for elt in ALIAS, instead of special case for EWOULDBLOCK.
1996-07-07Sun Jul 7 18:42:06 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>Roland McGrath
* sysdeps/mach/hurd/jmp-unwind.c (_longjmp_unwind): Don't unlock the critical section lock before unlinking dying active resources. The unlock just before return is right (i.e. old code unlocked twice).
1996-07-05* sysdeps/unix/sysv/linux/sys/user.h: New file.Roland McGrath
* sysdeps/unix/sysv/linux/Dist: Add it. * sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Add sys/user.h.
1996-07-05Fri Jul 5 12:22:51 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>Roland McGrath
* elf/rtld.c: Define RTLD_BOOTSTRAP before #include "dynamic-link.h". * sysdeps/i386/dl-machine.h (elf_machine_rel): Remove weak decl for _dl_rtld_map. (RESOLVE): New macro, defined differently based on [RTLD_BOOTSTRAP]. (elf_machine_rel): Use it instead of testing fn ptr arg at runtime. (elf_machine_rel: case R_386_32) [! RTLD_BOOTSTRAP]: Declare _dl_rtld_map weak only here. * posix/unistd.h [__USE_BSD]: Declare getdomainname, setdomainname.
1996-07-04Wed Jul 3 16:29:41 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>cvs/libc-960705cvs/libc-960704Roland McGrath
* nss/getXXbyYY_r.c (REENTRANT_NAME): Cast FCT in __nss_next call. * sysdeps/generic/sbrk.c: Always call __brk (0) to update __curbrk. * malloc/malloc-size.c (malloc_usable_size): Renamed from malloc_object_allocation_size. * malloc/malloc.h: Fix decl. * sys/select.h: New file, wrapper header. * posix/sys/types.h [__USE_BSD]: Include <sys/select.h>; remove fd_set, associated macros, and select decl. * sysdeps/posix/isfdtype.c: New file. Tue Jul 2 23:45:14 1996 Ulrich Drepper <drepper@cygnus.com> The latest Japanese proposal for POSIX locales renames the CHARMAP keyword in locale definition files to CHARCONV. * locale/programs/ld-ctype.c, locale/programs/locales.h: Rename function ctype_is_charmap to ctype_is_charconv. * locale/programs/locfile-kw.gperf: Replace charmap keyword with charconv. * locale/programs/locfile-token.h: Add definition of token charconv. * locale/programs/locfile.c: Recognize charconv keyword. Rename lables according to this. * locale/weight.h (get_weight): Cast constants to prevent warnings. * stdlib/strtod.c, stdlib/strtol.c, string/strcoll.c, string/strxfrm.c: Add some more casts to prevent signed<->unsigned warnings. New stuff described in P1003.1g. * misc/Makefile (headers): Add sys/select.h. (routines): Add pselect. * misc/sys/select.h: New file. Declare select functions and needed data types and macros. * sysdeps/generic/pselect.c: New file. Add generic implementation of pselect() function which uses select(). * posix/getconf.c: Recognize new variables from P1003.1g. * posix/posix1_lim.h: Define _POSIX_FD_SETSIZE, _POSIX_QLIMIT, _POSIX_HIWAT, and _POSIX_UIO_MAXIOV. * posix/unistd.h: Add description of the P1003.1g variables. * sysdeps/generic/confname.h: Define _SC_* values for new variables. * sysdeps/posix/fpathconf.c (fpathconf): Add handling of _PC_SOCK_MAXBUF. * sysdeps/stub/fpathconf.c (fpathconf): Ditto. * sysdeps/posix/sysconf.c (sysconf): Add handling of new P1003.1g variables. * sysdeps/stub/sysconf.c (sysconf): Ditto. * sysdeps/unix/sysv/linux/posix_opt.h: Define _POSIX_POLL and _POSIX_SELECT since Linux has this. * socket/Makefile (routines): Add isfdtype. * sysdeps/generic/sys/socket.h: Add prototype for isfdtype. * sysdeps/stub/isfdtype.c: New file. Stub implementation of isfdtype. * wcsmbs/wcrtomb.c (wcrtomb): Fix typo.
1996-07-03Wed Jul 3 11:26:28 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>Roland McGrath
* time/strftime.c (strftime: do_number): Adjust P and I after sprintf in case it wrote fewer than MAXDIGITS chars. * stdio/fwrite.c (fwrite: fill_buffer): Separate flushing for last newline from flushing full buffer in loop, fix test so no fflush is done when last byte written exactly fills the buffer. * nss/Makefile ($(services:%=$(objpfx)libnss_%.so)): Depend on libc.so. * sysdeps/mach/hurd/Makefile (LDLIBS-c.so): Variable removed. (libc.so): Instead, give this deps on lib{mach,hurd}user.so. * elf/dl-debug.c (_dl_debug_initialize): Use LDBASE arg instead of extracting _dl_rtld_map.l_addr. * sysdeps/i386/dl-machine.h (elf_machine_rel): Declare _dl_rtld_map as weak. * sysdeps/alpha/dl-machine.h (elf_machine_rela): Likewise. * shlib-versions (*-*-*): Set libnss_db=1. * elf/rtld.c (dl_main): Set _dl_rtld_map's DT_DEBUG location too.
1996-07-02Tue Jul 2 10:44:37 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>Roland McGrath
* pwd/fgetpwent.c: Don't include ../nss/nss_files/files-parse.c to define parse_line function. (parse_line): #define to _nss_files_parse_pwent and add extern decl for that. * nss/nss_files/files-XXX.c (internal_getent): Return NSS_STATUS_TRYAGAIN for ERANGE error. * sysdeps/i386/strtok.S (LreturnNULL): Save current state ptr instead of null, so next round returns null again instead of bombing. Fix from drepper. * nss/nss_files/files-parse.c (LINE_PARSER): Take new first arg EOLSET. Remove ; after `ENTDATA_DECL (data)'. Truncate line at strpbrk (line, EOLSET "\n"). (ENTDATA_DECL): Put ; at end. (MIDLINE_COMMENTS): Macro removed. * nss/nss_files/files-ethers.c: Pass new argument. * nss/nss_files/files-hosts.c: Likewise. * nss/nss_files/files-network.c: Likewise. * nss/nss_files/files-parse.c: Likewise. * nss/nss_files/files-proto.c: Likewise. * nss/nss_files/files-rpc.c: Likewise. * nss/nss_files/files-service.c: Likewise. * grp/fgetgrent.c: Likewise. * pwd/fgetpwent.c: Likewise. * nss/nss_files/files-pwd.c: Get parse_line with extern decl, since fgetpwent.c already defines it. * nss/nss_files/files-grp.c: Likewise. * elf/dl-load.c (_dl_map_object): Use any object with matching l_name as well as any matching with l_libname. Fix DT_SONAME lookup to use string table properly. * elf/rtld.c (dl_main): Set _dl_rtld_map.l_name from _dl_argv[0] when invoked directly, and l_libname from that if PT_INTERP missing. Set l_name from l_libname only if not set from argv. * time/europe, time/northamerica: Updated from ADO 96i. * stdio-common/tst-ungetc.c: Include unistd.h.
1996-07-01Mon Jul 1 15:44:34 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>cvs/libc-960702Roland McGrath
* inet/Makefile (routines): Change getnetbypt to getnetbyad. Mon Jul 1 12:29:50 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> * nss/Makefile (databases): Change host to hosts. * nss/host-lookup.c: Renamed to nss/hosts-lookup.c. * nss/nsswitch.c (nss_parse_service_list): Use const for NAME. * nss/nss_files/files-parse.c (parse_list): Correct alignment fixup. * string/string.h (strndupa): Pass missing arg to strnlen. * inet/getnetbypt_r.c: Renamed to ... * inet/getnetbyad_r.c: this; fixed function name. * inet/getnetbypt.c: Renamed to ... * inet/getnetbyad.c: this; fixed function name. Sat Jun 29 01:08:35 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * grp/getgrgid_r.c (LOOKUP_TYPE): Define to struct group, not struct passwd. Fri Jun 28 16:53:01 1996 David Mosberger-Tang <davidm@azstarnet.com> * resolv/res_hconf.c (strndup): Remove function. * nss/nsswitch.c (nss_lookup_function): Declare loadbase and ref using ElfW() instead of Elf32_*. * sysdeps/unix/sysv/linux/alpha/init-first.h, sysdeps/unix/sysv/linux/m68k/init-first.h, sysdeps/unix/sysv/linux/i386/init-first.h: New files. * sysdeps/unix/sysv/linux/init-first.c: Use platform-dependent init-first.h to make abstract machine dependent parts of initialization. * sysdeps/unix/alpha/sysdep.h: Undo PIC-optimization of syscall error handling. It's safer that way. * sysdeps/unix/alpha/sysdep.S: Make ldgp part of the prologue. Fix by Richard Henderson. * sysdeps/alpha/dl-machine.h (elf_alpha_fix_plt): Fix typo/extraneous whitespace. * sunrpc/xdr.c (xdr_int, xdr_u_int): Use <limits.h> to test determine what integer sizes we're dealing with. * hurd/hurdsig.c (_hurd_internal_post_signal): In pending signal check for signal zero, repair logical sense of test by parenthesizing correctly. Thu Jun 27 04:04:27 1996 David Mosberger-Tang <davidm@azstarnet.com> * configure.in (config_machine): Make ELF the default even for Linux/Alpha unless a configuration of the form *-*-linux*ecoff is specified. * nss/nss_files/files-hosts.c (ENTDATA): Define it. * nss/nss_files/files-parse.c (struct parser_data): Define entdata member only #ifdef ENTDATA. (ENTDATA_DECL): New macro. (LINE_PARSER): Use it for entdata decl. (parse_list): Find the space for LIST from DATA->linebuffer instead of from the input LINE, which might not be writable buffer space. (LINE_PARSER): Use `parser_stclass' in place of `static inline'. [ENTDATA] (parser_stclass): #define to `static inline'. [!ENDATA] (parser_stclass): #define to empty. [!ENTDATA] (parse_line): #define to _nss_files_parse_ENTNAME; the function is exported to -lnss_files users. * string/strndup.c: Add missing arg. * string/strndup.c (strndup): Always terminate the string.
1996-07-01Mon Jul 1 12:29:50 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>Roland McGrath
* nss/Makefile (databases): Change host to hosts. * nss/host-lookup.c: Renamed to nss/hosts-lookup.c.
1996-06-28Fri Jun 28 02:41:08 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>cvs/libc-960628Roland McGrath
* nss/Makefile (databases): New variable. (routines, libnss_files-routines): Use it. (subdir-dirs): Compute from $(services). * sysdeps/unix/sysv/linux/syscalls.list (create_module, delete_module, init_module, klogctl): Use EXTRA in the "caller" column so these get added to unix-extra-syscalls and thus compiled in misc. * string/Makefile (routines): Add strndup. * string/strndup.c: New file. * string/string.h: Declare strndup. (strndupa): New macro. * string/string.h: Declare __strdup. * string/strdup.c: Deansideclized. Define __ name and weak alias. * string/string.h: Don't define memccpy as macro for [__OPTIMIZE__]. Thu Jun 27 23:43:22 1996 Richard Henderson <rth@tamu.edu> * sysdeps/alpha/dl-machine.h (elf_machine_rela): The Alpha's address-of operation and plt format conspire to require all dynamic relocs to be resolved to actual symbols not plt entries. Thu Jun 27 02:49:28 1996 Ulrich Drepper <drepper@cygnus.com> * catgets/gencat.c: Add casts to avoid signed<->unsigned warnings. * grp/initgroups.c (initgroups): De-ansi-fy. Move declaration of NGROUPS and GROUPS outside #if so that the code compiles for NGROUPS_MAX != 0. * inet/Makefile (headers): Add netinet/ether.h and netinet/if_ether.h. (routines): Add ether_aton, ether_aton_r, ether_hton, ether_line, ether_ntoa, ether_ntoa_r, and ether_ntoh. * inet/ether_aton.c, inet/ether_aton_r.c, inet/ether_hton.c, inet/ether_line.c, inet/ether_ntoa.c, inet/ether_ntoa_r.c, inet/ether_ntoh.c: New files. Implementation of functions to handle Ethernet address to host mapping. * inet/netinet/ether.h: New file. Declare ether_* functions. * netinet/ether.h: Wrapper around inet/netinet/ether.h for glibc compilation. * nss/ethers-lookup.c: New file. Lookup function for ethers database. * nss/Makefile (routines): Add ethers-lookup. (libnss_files-routines): Add files-ethers. * nss/getXXent_r.c: Don't define set*ent and end*ent function with _r suffix. * nss/nss_files/files-XXX.c (internal_endent): Don't reset KEEP_STREAM every time called. (_nss_files_end): Reset KEEP_STREAM here instead. (internal_getent): If STREAM == NULL try to open instead of signalling error. Use cast to prevent warning. Terminate read line in case the buffer is too small. * nss/nss_files/files-ethers.c: New file. Implementation of Ethernet adress<->hostname lookup through files interface. * stdlib/mbstowcs.c: Define based on mbsrtowcs(). * stdlib/mbtowc.c: Define based on mbrtowc(). * stdlib/wcstombs.c: Define based on wcsrtombs(). * stdlib/wctomb.c: Define based on wcrtomb(). * sunrpc/xdr.c (xdr_u_int): Avoid bogus call to unexpected_sizes_in_xdr_u_int. * sysdeps/generic/netinet/if_ether.h: New file. Generic declaration of `struct ether_addr'. * sysdeps/unix/sysv/linux/netinet/if_ether.h: New file. Linux specific declaration of `struct ether_addr'. * wcsmbs/mbrtowc.c: Handle case where argument PS is NULL. * wcsmbs/mbsrtowcs.c: Ditto. * wcsmbs/wcrtomb.c: Ditto. * wcsmbs/wcsrtombs.c: Ditto. * wcsmbs/mbsinit.c: Prepare for PS being NULL.
1996-06-28Thu Jun 27 23:43:22 1996 Richard Henderson <rth@tamu.edu>Roland McGrath
* sysdeps/alpha/dl-machine.h (elf_machine_rela): The Alpha's address-of operation and plt format conspire to require all dynamic relocs to be resolved to actual symbols not plt entries.
1996-06-26(_hurd_canonicalize_directory_name_internal): Don't deallocate DOTID & ↵Miles Bader
DOTDEVID until we're finished with them (we need to keep them at least until we've fetched the next level of id ports, so that mach will be able to use the same name if they're the same). Add inner_errlose: label, which deallocates DOTID & DOTDEVID and jumps to errlose, for those places where such cleanup is needed.
1996-06-26Wed Jun 26 01:58:49 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>Roland McGrath
* nss/nss_files/files-parse.c (parse_list): Count null in EOL calc. Move DB code into separate -ldb library. * db/Makefile (extra-libs): New variable, list libdb. (routines): Renamed to libdb-routines. * shlib-versions: Add libdb=2. * nss/network-lookup.c (DEFAULT_CONFIG): New macro. * nss/host-lookup.c (DEFAULT_CONFIG): New macro. * nss/nsswitch.c (nss_parse_service_list): Use __strncasecmp instead of strncasecmp. Extend syntax to grok [!foo=bar]. * sysdeps/generic/strncase.c: Define __strncasecmp with strncasecmp as weak alias. * string/string.h: Declare __strncasecmp. * nss/nsswitch.c (nss_parse_file): Call __getline, not getline. (service_alias): Variable removed. (nss_parse_service_list): New function, broken out of nss_getline. Remove alias conversion; we will just use symlinks. (__nss_database_lookup): Take new string arg DEFCONFIG. If no entry exists, make one with service list parsed from that. * nss/nsswitch.h: Update protocol for __nss_database_lookup. * nss/XXX-lookup.c (DEFAULT_CONFIG): New macro, set to 0 if undefined. (DB_LOOKUP_FCT): Pass it to _nss_database_lookup. * grp/initgroups.c: Rewritten using getgrent. Handle unlimited group list size. * sunrpc/xdr.c (xdr_int): #if 0 out unresolved references in dead code. Wed Jun 26 01:56:50 1996 Ulrich Drepper <drepper@cygnus.com> * locale/programs/locale.c (long_options): Short form of --version option is `-V'. (main): Recognize `-V' as option, not `-v'. Call `usage' instead of printing error message for illegal option. (usage): Document `-V'.
1996-06-25(_hurd_canonicalize_directory_name_internal): Initialize PARENT to ↵Miles Bader
THISDIR, and don't ever deallocate PARENT unless it != THISDIR.
1996-06-25* Makefile (headers): Add libc-lock.h.Roland McGrath
* sysdeps/stub/libc-lock.h: New file. * inet/getrpcbynumber.c: Remove _r typo. * elf/dl-load.c (_dl_map_object): Fix typo in last change.
1996-06-25Tue Jun 25 02:59:11 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>cvs/libc-960625Roland McGrath
* malloc/malloc.h: Declare malloc_object_allocated_size, malloc_walk. * malloc/Makefile (dist-routines): Add malloc-size, malloc-walk. * malloc/malloc-size.c: New file. * malloc/malloc-walk.c: New file. * malloc/malloc-find.c (malloc_find_object_address): Return null if PTR is outside the heap. * elf/dl-load.c (_dl_map_object): If the requested name matches the soname of a loaded object, use that object. Mon Jun 24 19:57:01 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> * Makefile (subdirs): Add nss. * inet/Makefile (routines): Add getrpcent, getrpcbyname, getrpcbynumber, getrpcent_r, getrpcbyname_r, getrpcbynumber_r. * inet/getrpcbynumber_r.c: New file. * inet/getrpcbynumber.c: New file. * inet/getrpcbyname.c: New file. * inet/getrpcbyname_r.c: New file. * inet/getrpcent_r.c: New file. * inet/getrpcent.c: New file. * nss/rpc-lookup.c: New file. * nss/nss_files/files-rpc.c: New file. * nss/Makefile (routines): Add rpc-lookup. (libnss_files-routines): Add files-rpc. * sunrpc/Makefile (routines): Remove getrpcent. * sunrpc/getrpcent.c: File removed. * nss/getXXent_r.c (REENTRANT_GETNAME): Clear NO_MORE when NIP is non-null on entry. * Makeconfig (rpath-link): Add $(nssobjdir). (nssobjdir): New variable. * Makerules: Move shared library building before objects rules, so versions are known before extra-lib.mk gets included. * extra-lib.mk (lib-noranlib): Depend on the shared object too. * pwd/getpwuid.c: Rewritten using nss. * pwd/getpwnam.c: Likewise. * pwd/getpwent.c: Likewise. * grp/getgrnam.c: Likewise. * grp/getgrgid.c: Likewise. * grp/getgrent.c: Likewise. * pwd/Makefile (routines): Add getpwent_r, getpwnam_r, getpwuid_r. * pwd/getpwent_r.c: New file. * pwd/getpwnam_r.c: New file. * pwd/getpwuid_r.c: New file. * grp/Makefile (routines): Add getgrent_r, getgrgid_r, getgrnam_r. * grp/getgrnam_r.c: New file. * grp/getgrgid_r.c: New file. * grp/getgrent_r.c: New file. * grp/Makefile (routines): Remove grpopen, grpread. * pwd/Makefile (routines): Remove pwdopen, pwdread. * grp/grpopen.c, grp/grpread.c, pwd/pwdopen.c, pwd/pwdread.c: Removed. * pwd/fgetpwent.c: Rewritten using files-parse.c. * grp/fgetgrent.c: Likewise. * nss/Makefile (routines): Add grp-lookup and pwd-lookup. * nss/pwd-lookup.c, nss/grp-lookup.c: New files. * nss/nss_files/files-grp.c: New file. * nss/nss_files/files-pwd.c: New file. * nss/Makefile (subdir-dirs): New variable; use it in vpath. * nss/nss_files/files-parse.c: New file. * nss/nss_files/files-XXX.c: New file. * nss/nss_files/files-hosts.c, nss/nss_files/files-proto.c, nss/nss_files/files-service.c, nss/nss_files/files-network.c: Rewritten using them. * nss/Makefile (libnss_files-routines): Remove files-host. Add files-hosts, files-grp, files-pwd. * nss/nss_dns/dns-network.c: Don't include <pthread.h>. Mon Jun 24 22:39:12 1996 Richard Henderson <rth@tamu.edu> * sysdeps/alpha/dl-machine.h (ELF_MACHINE_RUNTIME_TRAMPOLINE): A .plt entry now loads the .rela.plt offset directly rather than making us calculate it. Sun Jun 23 15:24:05 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> * time/Makefile ($(installed-localtime-file) rule): Do $(make-target-directory) first. * resolv.h: Fix wrapper for resolv/resolv.h. * configure.in (ld --no-whole-archive check): Use AC_TRY_COMMAND. Compile dummy file and pass -nostdlib -nostartfiles so as not to require installed libraries. * shlib-versions (*-*-*): Set libresolv=2, libnss_files=1, libnss_dns=1. Sun Jun 23 19:42:05 1996 Ulrich Drepper <drepper@cygnus.com> * resolv/netdb.h (_PATH_NSSWITCH_CONF): New macro. * inet/herrno.c: New file. * resolv/res_init.c: Remove res_hconf calls. * nss/Makefile, nss/XXX-lookup.c, nss/file-lookup.c, nss/getXXbyYY.c, nss/getXXbyYY_r.c, nss/getXXent.c, nss/getXXent_r.c, nss/host-lookup.c, nss/network-lookup.c, nss/nsswitch.c, nss/nsswitch.h, nss/proto-lookup.c, nss/service-lookup.c: New files. Implementation of name service switch, following the approach in Solaris. Interface specification and general structure inspired by Peter Eriksson <pen@lysator.liu.se>. * nss/nss_files/files-host.c, nss/nss_files/files-network.c, nss/nss_files/files-proto.c, nss/nss_files/files-service.c: Implementation of libnss_files.so module for file based databases in NSS service. * nss/nss_dns/dns-host.c, nss/nss_dns/dns-network.c: Implementation if libnss_dns.so module for DNS name lookup in NSS service. * inet/getproto.c, inet/getprtent.c, inet/getprtname.c, inet/getservent.c, inet/getsrvbynm.c, inet/getsrvbypt.c: Changed to serve as interface to NSS. * inet/gethstbyad.c, inet/gethstbyad_r.c, inet/gethstbynm.c, inet/gethstbynm2.c, inet/gethstbynm2_r.c, inet/gethstbynm_r.c, inet/gethstent.c, inet/gethstent_r.c, inet/getnetbynm.c, inet/getnetbynm_r.c, inet/getnetbypt.c, inet/getnetbypt_r.c, inet/getnetent.c, inet/getnetent_r.c, inet/getproto_r.c, inet/getprtent_r.c, inet/getprtname_r.c, inet/getservent_r.c, inet/getsrvbynm_r.c, inet/getsrvbypt_r.c: New files. Implement interfaces to NSS, including reentrant functions. * resolv/getnetbyaddr.c, resolv/getnetbyname.c, resolv/getnetent.c, resolv/sethostent.c: Removed: Obsoleted by NSS. * resolv/mapv4v6addr.h, resolv/mapv4v6hostent.h: Extracted from gethnamaddr.c. These private functions are now used in more than one file. * resolv/inet_pton.c, resolv/gethnamaddr.c: Updated to bind-4.9.4-T5B. Sat Jun 22 16:49:47 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * rpm/Makefile ($(config)): Make sure the word list in the for loop is syntactically non-empty.
1996-06-23Sat Jun 22 21:29:52 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>glibc-1.92cvs/libc-960624cvs/libc-960623cvs/libc-1-92Roland McGrath
* Version 1.92 test release. Sat Jun 22 23:30:07 1996 David Mosberger-Tang <davidm@azstarnet.com> * sysdeps/unix/sysv/linux/syscalls.list (ksyslog_ctl): Rename to klogctl to match prototype in sys/klog.h. * sysdeps/posix/libc_fatal.c: Add include of <string.h>. * sysdeps/unix/sysv/linux/gethostid.c: Ditto. * sysdeps/posix/getcwd.c (__canonicalize_directory_name_internal): Remove. Code is now part of __getcwd again. The old function never really worked for anything but THISDIR==".". * sysdeps/alpha/Makefile (CFLAGS-rtld.c): Add -mbuild-constants only when building ELF version of library. * libio/libioP.h (_IO_vscanf): Add prototype. * posix/unistd.h (syscall): Change sysno arg and return value to int long. * version.h (VERSION): Updated to 1.92.
1996-06-21* sysdeps/sparc/elf/start.S: New file.Roland McGrath
* sysdeps/sparc/dl-machine.h: New file. * posix/fnmatch.c (fnmatch): Fix \*[*?]+ case to increment name ptr only for ?s, not for *s. Fix from Chet Ramey. Fixes thanks to Raja R Harinath <harinath@cs.umn.edu>: * sysdeps/unix/sysv/utmpbits.h: Define _HAVE_UT_{TYPE,ID,TV,HOST}. Use __{BEGIN,END}_DECLS. (_PATH_WTMP, _PATH_UTMP, _PATH_LASTLOG): New macros. * login/utmp.h (UTMP_FILE, UTMP_FILENAME, WTMP_FILE, WTMP_FILENAME): New macros, moved here from sysdeps/gnu/utmpbits.h. * sysdeps/generic/utmpbits.h (_HAVE_UT_HOST): Define it. * sysdeps/gnu/utmpbits.h (_HAVE_UT_HOST): Likewise. * login/logout.c: Use ut_host only #if _HAVE_UT_HOST. Use sizeof instead of UT_*SIZE. * login/logwtmp.c: Likewise. * misc/tsearch.c (tdelete): Define as weak alias to __tdelete. * version.c (banner): Add trailing newline.
1996-06-21Thu Jun 20 21:19:07 1996 Richard Henderson <rth@tamu.edu>Roland McGrath
* sysdeps/alpha/dl-machine.h (elf_alpha_fix_plt): Changed to a 12-byte PLT entry to remove dependency on $gp. Take a new got_addr parameter. (elf_machine_rela): Pass the new parameter. (ELF_MACHINE_RUNTIME_TRAMPOLINE): Do arithmetic for 12-byte PLT. (RTLD_START): Do normal linkage with program entry.
1996-06-20Thu Jun 20 12:18:21 1996 Miles Bader <miles@gnu.ai.mit.edu>Miles Bader
* sysdeps/mach/hurd/brk.c (_hurd_brk): Initialize to 0. * hurd/getuids.c (getuids): New weak link to __getuids.
1996-06-20(___brk_addr): Now a variable, initialized to 0, instead of a weak link to ↵Miles Bader
_hurd_brk.
1996-06-19*** empty log message ***cvs/libc-960620Miles Bader
Wed Jun 19 10:21:24 1996 Miles Bader <miles@gnu.ai.mit.edu> * hurd/hurdlookup.c (__hurd_file_name_lookup_retry, __hurd_file_name_lookup, __hurd_file_name_split): Add & use LOOKUP argument. Rename nested function lookup to lookup_op. (__file_name_lookup, __file_name_lookup_under): Pass 0 for lookup arg to __hurd_file_name_lookup. (__file_name_split): Likewise for __hurd_file_name_split. * hurd/path-lookup.c (hurd_file_name_path_lookup): Add LOOKUP argument. Rename nested function lookup to scan_lookup. (file_name_path_lookup): Pass 0 for lookup arg to hurd_file_name_path_lookup. * hurd/hurd/lookup.h (__hurd_file_name_lookup, hurd_file_name_lookup, __hurd_file_name_lookup_retry, hurd_file_name_lookup_retry: __hurd_file_name_split, hurd_file_name_split, hurd_file_name_lookup): Add LOOKUP argument. * sysdeps/mach/hurd/access.c (__access): Pass 0 lookup arg to __hurd_file_name_lookup.
1996-06-19Thu Jun 13 17:25:11 1996 David Mosberger-Tang <davidm@azstarnet.com>cvs/libc-960619Roland McGrath
* sysdeps/generic/memcmp.c: Add prototype decls for internal fns. * locale/programs/locale.c: Include string.h. * sunrpc/xdr_stdio.c (xdrstdio_getlong), sunrpc/xdr_rec.c (xdrrec_getlong), sunrpc/xdr_mem.c (xdrmem_getlong): Make sure appropriate sign-extension is performed on machines with sizeof(long) > 4. * sunrpc/xdr.c (xdr_int, xdr_u_int): If sizeof(long)==8 and sizeof(int)<sizeof(long), we need to go through a temporary variable. * locale/programs/ld-numeric.c: Include <alloca.h> * libio/stdio.h (__libc_fatal): Add prototype. * libio/cleanup.c: Use __P() to declare prototype when __STDC__ is in efect. * libio/iopopen.c (read_or_write, parent_end, child_end): Declare volatile to avoid "might get clobbered by longjmp" warning. * features.h (__KERNEL_STRICT_NAMES): Define __KERNEL_STRICT_NAMES unless _LOOSE_KERNEL_NAMES is in effect (which, with high probability is a sure loser). * sysdeps/unix/sysv/linux/gnu/types.h (__KERNEL_STRICT_NAMES): Remove. * sysdeps/unix/bsd/osf/alpha/start.S (errno): Removed. * sysdeps/unix/sysv/linux/alpha/start.S: Ditto. * misc/paths.h (_PATH_MAN): Change from /usr/share/man to /usr/man to be Linux FSSTND compliant. Mon Jun 10 17:50:31 1996 David Mosberger-Tang <davidm@azstarnet.com> * sysdeps/unix/sysv/linux/alpha/pipe.S: Use PSEUDO. * sysdeps/unix/sysv/linux/alpha/sysdep.S, sysdeps/unix/sysv/linux/alpha/brk.S, sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S, sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S, sysdeps/unix/sysv/linux/alpha/llseek.S, sysdeps/unix/sysv/linux/alpha/sigsuspend.S, sysdeps/unix/sysv/linux/alpha/syscall.S: Rename syscall_error to __syscall_error to avoid intruding application name space. * sysdeps/unix/sysv/linux/alpha/sysdep.h: Rename __NR_get?id to SYS_get?id so that syscall stubs in sysdeps/unix define these syscalls in terms of getxpid/getxuid/getxgid. * sysdeps/unix/_exit.S, sysdeps/unix/getegid.S, sysdeps/unix/geteuid.S, sysdeps/unix/getppid.S, sysdeps/unix/execve.S, sysdeps/unix/fork.S, sysdeps/unix/syscall.S: Terminate syscall with PSEUDO_END. * sysdeps/unix/make-syscalls.sh, sysdeps/unix/sysdep.h (PSEUDO_END): Rename END() to PSEUDO_END(). * sysdeps/unix/alpha/sysdep.h: Move error-handling code in PSEUDO to PSEUDO_END to improve branch-prediction. Include .frame directive to make syscalls debugabble. (PSEUDO_END): New macro. * sysdeps/unix/alpha/sysdep.h, sysdeps/alpha/bb_init_func.S, sysdeps/unix/sysv/linux/alpha/brk.S: Use ldiq instead of ldi since latter is illegal under DEC Unix. * sysdeps/unix/alpha/sysdep.S: Renamed from sysdeps/unix/sysv/linux/alpha/sysdep.S. This file works for OSF/1 as well. * sysdeps/unix/bsd/osf/alpha/sysdep.S: Remove (note that the EWOULDBLOCK -> EAGAIN mapping was unnecessary since EWOULDBLOCK==EAGAIN under DEC Unix and Linux/Alpha). * sysdeps/alpha/divrem.h: Use retaddr instead of ra as the return address register in the .frame directive. * sysdeps/alpha/copysign.c: Remove. * sunrpc/rpc/types.h: Include <sys/param.h> and <netinet/in.h> to avoid RPC definitions of INADDR_LOOPBACK and/or MAXHOSTNAMELEN. * errno.h: Move __END_DECLS to correct place to make file compilable under c++. * dirent/dirent.h: Document _DIRENT_HAVE_D_OFF macro. Define d_ino only if <direntry.h> hasn't defined d_fileno. * configure.in (HAVE_ASM_WEAKEXT_DIRECTIVE): Reverse order of arguments to weakext to make .weakext detection work on ECOFF systems. * FAQ: Add Linux/Alpha to list of supported platforms. Mention that _validuser() has been replaced by __ivaliduser(). Thu Jun 6 21:39:38 1996 David Mosberger-Tang <davidm@azstarnet.com> * sysdeps/unix/bsd/sun/sunos4/tcsetattr.c (tcsetattr): Declare cmd as unsigned long, not as int (to avoid incorrect int->long promotion).
1996-06-18Sun Jun 16 03:22:49 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>cvs/libc-960618Roland McGrath
* Make-dist (subdir): Make empty value really empty.
1996-06-17Mon Jun 17 17:53:21 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>Roland McGrath
* sysdeps/mach/hurd/brk.c (___brk_addr): Define as weak alias for _hurd_brk. * libio/stdio.h [__USE_SVID]: Declare tempnam. Fri Jun 14 19:28:33 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/sysv/linux/syscalls.list: Add swapon with two parameters. Wed Jun 12 20:40:51 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/m68k/dl-machine.h (RTLD_START): Fix access to _dl_default_scope. * sysdeps/stub/elfclass.h: New file.
1996-06-16* hurd/hurdinit.c (map0): Remove [!PIC] conditional.cvs/libc-960616Roland McGrath
* shlib-versions (*-*-*): Add libutil=1. * rpm/Makefile (install-lib): Add libc.a et al. (install-others): Only add libc.so if $(build-shared) is yes. * math/Makefile (install-lib): New variable, list libieee.a. (non-lib.a): Likewise. (extra-objs): Likewise, and ieee-math.o. ($(objpfx)libieee.a): New target, link to ieee-math.o. * math/ieee-math.c: New file. * sysdeps/unix/sysv/linux/Makefile [$(subdir)=math]: Remove setfpucw and libieee.a stuff. * sysdeps/unix/sysv/linux/ieee-fpucw.c: File removed. * sysdeps/unix/sysv/linux/i386/ieee_fpu.c: File removed.
1996-06-16Sun Jun 16 03:22:49 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>Roland McGrath
* sysdeps/unix/sysv/Makefile (sysdep_headers): Make append of termio.h and rule for it conditional on termio.h not already being in sysdep_headers. * rpm/Makefile (install-others) [libc.so-version]: Get libc.so from $(libdir), only the versioned named from $(slibdir). (instfiles): New variable. (glibc-$(version).$(config).rpm): New target. Run rpm -bb. * rpm/rpmrc: New file. A third of the options controlling rpm can only be given here (another third is on the command line, and a third cannot be specified in any way shape or form).
1996-06-16Sun Jun 16 02:44:22 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>Roland McGrath
* rpm/template: New file. * rpm/Makefile: New file. * Makeconfig (sysdep-configures): Remove empty variable. * Makerules (distinfo-vars): Write defns for $(install-lib.so) and $(versioned). * manual/Makefile (subdir_%): Add new rule with no deps, secondary to to rule w/dep on %, with no-op commands. * Makerules (subdir_distinfo): New phony target; depend on distinfo. * Makefile (rpm/%): New rule. (+subdir_targets): Add subdir_distinfo. * sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Don't add fpu_control.h here.
1996-06-16* hurd/Makefile (routines): Add get-host, set-host.Roland McGrath
(distribute): Add hurdhost.h. * hurd/hurdhost.h: New file. * sysdeps/mach/hurd/gethostname.c: Use _hurd_get_host_config. * sysdeps/mach/hurd/gethostid.c: Likewise. * sysdeps/mach/hurd/sethostname.c: Use _hurd_set_host_config. * sysdeps/mach/hurd/sethostid.c: Likewise. * hurd/get-host.c: New file. * hurd/set-host.c: New file. * math/Makefile (headers): Add fpu_control.h. (aux): New variable, list fpu_control and setfpucw. * sysdeps/generic/fpu_control.c: New file. * sysdeps/stub/fpu_control.h: New file. * sysdeps/unix/sysv/linux/m68k/fpu_control.h: Moved to ... * sysdeps/m68k/fpu_control.h: here. * sysdeps/unix/sysv/linux/i386/fpu_control.h: Moved to ... * sysdeps/i386/fpu_control.h: here. * sysdeps/unix/sysv/linux/alpha/fpu_control.h: Moved to ... * sysdeps/alpha/fpu/fpu_control.h: here. Fixed copyright. * sysdeps/unix/sysv/linux/alpha/Makefile (sysdep_routines): Remove setfpucw, fpu_control. * sysdeps/unix/sysv/linux/alpha/fpu_control.c: File removed. * sysdeps/unix/sysv/linux/setfpucw.c: Moved to ... * sysdeps/generic/setfpucw.c: here. (__fpu_control): Variable removed. (__setfpucw): Use SET even if zero.
1996-06-16Sat Jun 15 18:13:43 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>Roland McGrath
* sysdeps/unix/sysv/linux/Dist: Add sys/klog.h. * elf/dl-open.c (_dl_open): Remove PARENT argument, pass null. * elf/link.h: Update prototype. * elf/dl-load.c (_dl_map_object): If dependents' DT_RPATHs don't find NAME, try the DT_RPATH of the executable itself if dynamic. * elf/dlopen.c (dlopen): Don't pass first arg to _dl_open. * elf/dl-load.c (_dl_map_object): Exit DT_RPATH checking loop when an open succeeds. * Makerules (build-shlib): Give -L opts for each elt of $(rpath-link). * sysdeps/mach/hurd/Makefile (sysdep-LDFLAGS): Variable removed. (rpath-link): Append to this instead.
1996-06-14Fri Jun 14 01:51:47 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>cvs/libc-960615Roland McGrath
* version.c (banner): New static const variable, complete version banner text. (__libc_print_version): Use it, and use __write instead of printf. * configure.in (sysnames): Don't cache the value, because it depends only on libc sources. Merge uniquifying third pass into Implies/parent expansion second pass. Report each unique name as it is added in partial report string, terminated when finished. * Makeconfig (sysdep_dir): Move defn before config.status rule that expands it. (sysdep-configures): Variable removed. (config.status): Use its contents directly, tighten up a bit, and include Implies files. * elf/dl-open.c (_dl_open) [PIC]: Set PARENT to _dl_loaded if null. * elf/Makefile ($(objpfx)$(rtld-installed-name)): Make a symlink. * sysdeps/mach/hurd/dl-sysdep.c (_dl_sysdep_open_zero_fill): Add comment. * elf/rtld.c (dl_main): Close _dl_zerofd after mapping deps. * sysdeps/generic/machine-gmon.h [NO_UNDERSCORES]: Define mcount as weak alias for _mcount. * sysdeps/alpha/_mcount.S (mcount): Define as weak alias.
1996-06-13Thu Jun 13 00:02:25 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>cvs/libc-960614Roland McGrath
* sysdeps/generic/machine-gmon.h [NO_UNDERSCORES]: Define mcount as weak alias for _mcount. * sysdeps/alpha/_mcount.S (mcount): Define as weak alias.
1996-06-13Thu Jun 13 00:02:25 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>Roland McGrath
* elf/dl-lookup.c (_dl_lookup_symbol): If no value and *REF is null, consider it a strong reference and give the error. Wed Jun 12 15:52:46 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> * elf/dl-open.c (_dl_open): Correctly terminate relocating loop after relocating NEW when it's the only new object. * elf/dl-init.c (_dl_init_next): When out of initializers, set _r_debug.r_state to RT_CONSISTENT and call _dl_debug_state just before return. * elf/rtld.c (dl_main): Move _dl_debug_initialize call after relocation. Call it unconditionally and only fill in DT_DEBUG if it's present. Then call _dl_debug_state with r_state RT_ADD before running initializers. * elf/dl-open.c (_dl_open): Call _dl_debug_initialize and then call _dl_debug_state with r_state RT_ADD before running initializers * elf/dl-close.c (_dl_close): Call _dl_debug_state with r_state RT_DELETE before running finalizers and with RT_CONSISTENT just before return. * elf/Makefile (dl-routines): Add dl-debug. * elf/dl-debug.c: New file. * elf/rtld.c (_dl_r_debug): Rename to _r_debug and move to dl-debug.c. (_dl_r_debug_state): Rename to _dl_debug_state and likewise move. (dl_main): Use _dl_debug_initialize. * elf/link.h: Fix name to _dl_debug_state in decl. (_dl_debug_initialize): Declare new function from dl-debug.c. (_r_debug): Declare it. * Makerules (distinfo-vars): Add install-{lib,data,bin,sbin,others}. In distinfo set $(subdir)-VAR and then set VAR to $($(subdir)-VAR). * Makeconfig (rpath-link): New variable; add $(elfobjdir). (default-rpath): Use it. (built-program-cmd): Use it in LD_LIBRARY_PATH. * Makeconfig (sysdep-configures): Prepend $(sysdep_dir) to names tried. * sysdeps/unix/Dist: Add make-syscalls.sh. * misc/Makefile (headers): Add sys/swap.h. * posix/unistd.h: Remove decls for swapon, swapoff. * sysdeps/generic/sys/swap.h: New file. * sysdeps/unix/sysv/linux/sys/swap.h: New file. * sysdeps/unix/sysv/linux/gnu/types.h: Remove temporary hack #define of __kernel_fsid_t. It is correctly defines in <linux/types.h> now.
1996-06-12* sysdeps/alpha/dl-machine.h: New file.cvs/libc-960612Roland McGrath
1996-06-12Tue Jun 11 19:13:04 1996 Richard Henderson <rth@tamu.edu>Roland McGrath
* elf/dl-close.c: Include <string.h> for memcpy. * elf/dl-lookup.c: Same. * elf/elf.h: Add Elfxx_Symndx for symbol indices. * elf/dl-lookup.c (_dl_lookup_symbol): Use it. (_dl_setup_hash): Use it. * elf/link.h (struct link_map): Use it. * elf/rtld.c (_dl_start): Don't rely on pointer-to-first-arg hack for getting the argc/argv/envp block. Instead, make it the argument. sysdeps/i386/dl-machine.h (RTLD_START): Do that. sysdeps/m68k/dl-machine.h (RTLD_START): Same. * shlib-versions: Add version numbers for alpha-linux. To avoid user confusion, make them the same as i386-linux. * sysdeps/alpha/Makefile [subdir elf]: Add -mno-fp-regs to sysdep-CFLAGS so that _dl_runtime_resolve doesn't have to save them. Add -mbuild-constants to CFLAGS-rtld.c to that we can bootstrap without using literal data. * sysdeps/generic/dl-sysdep.c: Include <string.h> for memcpy. Finish Elf32 -> ElfW migration.
1996-06-11* elf/Makefile ($(objpfx)$(rtld-installed-name)): New target to makeRoland McGrath
link to ld.so if that is not the installed name. (lib-noranlib): Depend on the installed name in the build directory instead of on ld.so. * Makeconfig (link-libc): Include $(elfobjdir)/$(rtld-installed-name) between libc.so and libc.a, because with libc.so's DT_NEEDED for ld.so ld searches libc.a before ld.so (is that an ld bug?). Add $(elfobjdir) to -rpath-link. * Makerules (elfobjdir): Define as . when $(subdir) is elf. * sysdeps/i386/dl-machine.h (elf_machine_rel): In R_386_32 case when relocating _dl_rtld_map, subtract SYM's value from final reloc value, but don't change *RELOC_ADDR before calling *RESOLVE, because it might call the function we are relocating!
1996-06-10* Makerules ($(common-objpfx)libc.so): Depend on $(elfobjdir)/ld.so.cvs/libc-960611Roland McGrath
* elf/dl-close.c: New file. * elf/link.h: Declare _dl_close. * elf/Makefile (routines): Add dl-close. * elf/dlclose.c (dlclose): Use _dl_close. * elf/Makefile ($(objpfx)librtld.so): Remove libelf from deps. * elf/dl-runtime.c (_dl_global_scope): New variable. (_dl_object_relocation_scope): New function. (fixup): Use it. * elf/rtld.c (dl_main): Use it. * elf/dl-open.c (_dl_open): Use it. If (MODE & RTLD_GLOBAL), set the l_global bit and append the new map to _dl_global_scope. * elf/link.h: Declare _dl_global_scope, _dl_global_scope_alloc, and _dl_object_relocation_scope. * elf/link.h (struct link_map): Add l_loader member. Remove _dl_map_object_from_fd decl. * elf/dl-load.c (_dl_map_object): Pass LOADER to ... (_dl_map_object_from_fd): Take new arg LOADER and set l_loader member. (_dl_map_object): Try DT_RPATH from all loaders up the chain. * elf/dl-object.c (_dl_loaded): Variable removed. (_dl_default_scope): New variable replaces it. * elf/link.h (_dl_loaded): Remove variable decl; instead define as macro for _dl_default_scope[2]. (_dl_default_scope): Declare it. * sysdeps/i386/dl-machine.h (RTLD_START): Use _dl_default_scope[2] instead of _dl_loaded. * sysdeps/m68k/dl-machine.h (RTLD_START): Likewise. * elf/rtld.c (dl_main): Use _dl_default_scope for symbol lookups. * elf/dl-reloc.c (_dl_relocate_object): Remove check for _dl_rtld_map. * elf/rtld.c (dl_main): Pass 0 for LAZY flag when re-relocating self. * elf/link.h (struct link_map.l_type): Remove lt_interpreter. (struct link_map): Add new flag member l_global. * elf/dl-reloc.c (_dl_relocate_object): Check for _dl_rtld_map directly instead of looking for lt_interpreter. * sysdeps/i386/dl-machine.h (elf_machine_rel): Likewise. * elf/rtld.c (_dl_start): Don't bother setting BOOTSTRAP_MAP.l_type. (dl_main): Set _dl_rtld_map.l_type to lt_library. * elf/dl-deps.c (_dl_map_object_deps): Propagate MAP->l_type to dependencies loaded, downgrading lt_executable -> lt_library. * elf/dl-load.c (_dl_map_object_from_fd): Take new arg TYPE and set l_type from that, translating lt_library->lt_executable based on the file's ELF type. (_dl_map_object): Likewise. * elf/link.h: Update prototypes. * elf/dl-open.c: Pass type lt_loaded. * elf/rtld.c: Pass type lt_library. * elf/dl-load.c (_dl_map_object_from_fd): Handle null return from _dl_new_object. (_dl_map_object_from_fd: lose): Unchain and free L if it's not null. Free REALNAME, and just use NAME in error message. * elf/dl-object.c (_dl_new_object): If malloc fails, return null instead of calling _dl_signal_error. * elf/dl-load.c (_dl_map_object_from_fd): Close FD before signalling error for _dl_zerofd setup failure. * elf/dl-object.c (_dl_startup_loaded): Variable removed. * elf/link.h: Remove its decl. * elf/dl-reloc.c (_dl_relocate_object): Take new SCOPE arg and pass it through to _dl_lookup_symbol. * elf/link.h (_dl_relocate_object): Update comment and prototype. * elf/rtld.c (dl_main): Pass scope vector to _dl_relocate_object. * elf/dl-lookup.c (_dl_lookup_symbol): Arg SYMBOL_SCOPE is now a null-terminated vector of pointers, no longer a vector of exactly two. * elf/link.h (_dl_lookup_symbol): Update comment and prototype. * elf/dl-runtime.c (fixup): Set up scope for symbol lookup properly as done in _dl_relocate_object. * elf/dlopen.c: Pass "" to _dl_open when FILE is null.
1996-06-10* elf/link.h: Include elfclass.h to define __ELF_NATIVE_CLASS.Roland McGrath
(ElfW, ELFW): Use it. * elf/Makefile (headers): Add elfclass.h. * sysdeps/wordsize-32/elfclass.h: New file. * sysdeps/wordsize-64/elfclass.h: New file. * sysdeps/alpha/Implies: Add wordsize-64. * sysdeps/i386/Implies: Add wordsize-32. * sysdeps/m68k/Implies: Add wordsize-32. * sysdeps/mips/Implies: Add wordsize-32. * sysdeps/sparc/Implies: Add wordsize-32.
1996-06-10Mon Jun 10 06:14:03 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>Roland McGrath
* sysdeps/mach/hurd/dl-sysdep.c (__open): Define this instead of open. (__close, __mmap): Likewise define with __ names now. Mon Jun 10 05:13:18 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> * elf/dl-support.c: New file. * elf/Makefile (CFLAGS-dl-support.c): New variable. (routines, elide-routines.so): Add dl-support. * elf/dl-minimal.c (_dl_pagesize): Remove common defn. * elf/dl-load.c (_dl_pagesize): Define it here. (_dl_map_object_from_fd): Initialize it if zero. * elf/link.h (_dl_pagesize): Remove const. Sun Jun 9 04:04:26 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> * elf/Makefile (routines): Add dl-symbol. * elf/dl-lookup.c (_dl_symbol_value): Moved to ... * elf/dl-symbol.c: New file. * elf/elf.h (Elf32_Xword, Elf32_Sxword): New types. (Elf32_Section, Elf64_Section): New types, 16 bits. (Elf32_Sym, Elf64_Sym): Use it. * elf/dl-deps.c (_dl_open): Moved to ... * elf/dl-open.c: New file. * Makefile (routines): Add dl-open. * elf/Makefile (dl-routines): New variable. (routines): Add $(dl-routines). (elide-routines.so): New variable, set to $(dl-routines). (libdl-inhibit-o): Variable removed; build all flavors of -ldl. (rtld-routines): All but rtld, dl-sysdep, and dl-minimal moved to $(dl-routines). * elf/dl-lookup.c (_dl_lookup_symbol): Remove magic symbol grokage. * elf/dladdr.c: Use ELFW(ST_BIND) in place of ELF32_ST_BIND. * elf/dl-load.c (open_path): Use __ names for open and close. Avoid using strdup. (_dl_map_object): Likewise. (_dl_map_object_from_fd): Use __ names for mmap, munmap, and mprotect. * elf/dl-minimal.c (malloc): Likewise. * elf/dl-reloc.c (_dl_relocate_object): Likewise. * elf/dl-minimal.c (_dl_pagesize): New variable. (malloc): Use that instead of a static variable. * elf/dl-reloc.c (_dl_relocate_object): Use _dl_pagesize instead of calling getpagesize. * elf/dl-load.c (_dl_map_object_from_fd): Likewise. * elf/link.h: Declare _dl_pagesize. * elf/rtld.c (dl_r_debug): Renamed to _dl_r_debug. * elf/link.h (struct link_map): Use Half for l_phnum instead of Word. * elf/rtld.c (dl_main): Use Half for phdr count arg. (_dl_sysdep_start): Update prototype of DL_MAIN function ptr arg. * elf/dl-load.c (_dl_map_object_from_fd): Use explicit Elf32_Word to extract 4-byte magic number, not ElfW(Word). Match EI_CLASS against native wordsize, either 32 or 64. * elf/elf.h (Elf64_Byte, Elf64_Section): Typedefs removed. In C a char is always a byte, no need for a typedef. Section indices are 16-bit quantities in elf64, which already have a typedef Elf64_Half. Remove partial -lelf implementation. There is now a separately-distributed `libelf' package that implements it. * elf/dl-lookup.c: Don't #include <libelf.h> any more. (_dl_elf_hash): New function, moved from libelf.h:elf_hash. (_dl_lookup_symbol): Use it instead of elf_hash. * elf/libelf.h: File removed. * elf/elf_hash.c: File removed. * elf/Makefile (headers): Remove libelf.h. (extra-libs): Remove libelf. (libelf-routines): Variable removed. * elf/Makefile (libdl.so): Remove commands from this target. The implicit rule commands are correct, this explicit rule just serves to add some dependencies. * elf/dl-lookup.c (_dl_lookup_symbol): Use ELFW(ST_TYPE) in place of ELF32_ST_TYPE. Likewise ST_BIND. * elf/do-rel.h (elf_dynamic_do_rel): Likewise R_SYM. * elf/link.h (ElfW): New macro for wordsize-independent ElfXX_* type naming. (ELFW): New macro, likewise for ELFXX_* macro naming. (_ElfW, _ElfW_1): New macros, subroutines of ElfW and ELF. Sat Jun 8 20:52:38 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> * elf/link.h, elf/do-rel.h, elf/dynamic-link.h, elf/dl-deps.c, elf/dl-init.c, elf/dl-load.c, elf/dl-lookup.c, elf/dl-reloc.c, elf/dl-runtime.c, elf/dladdr.c, elf/dlclose.c, elf/dlsym.c, elf/linux-compat.c, elf/rtld.c: Change all uses of `Elf32_XXX' to `ElfW(XXX)' for wordsize-independence. Sat Jun 8 20:50:42 1996 Richard Henderson <rth@tamu.edu> * elf/elf.h: Move Elf64_* types in parity with Elf32 counterparts. (Elf64_auxv_t): New type. (EM_ALPHA, R_ALPHA_*): New macros for elf64-alpha format.
1996-06-10Mon Jun 10 02:22:24 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>Roland McGrath
* sysdeps/unix/sysv/linux/configure.in: New file, start with configure. Add check for installed <linux/version.h> being v2.0 or later. * sysdeps/generic/dl-sysdep.c (_dl_sysdep_open_zero_fill): Call __open instead of open. (_dl_sysdep_fatal): Call __write instead of write. (_dl_sysdep_message): Likewise. Sun Jun 9 20:40:00 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/m68k/fpu/e_acosl.c: New file. * Makerules (o-objects): New variable. Use it in place of $(objects:.o=$o); it filters out $(elide-routines$o). Use o-iterator for ar and ranlib rules so they use the per-type object list. * sysdeps/unix/bsd/ultrix4/sys/mman.h: Likewise.
1996-06-09* elf/dl-load.c (_dl_map_object_from_fd): Close FD before return.cvs/libc-960610Roland McGrath
* sysdeps/mach/mprotect.c: Define with __ name and weak alias. * sysdeps/stub/mprotect.c: Likewise. * sysdeps/unix/mman/syscalls.list (mprotect): Likewise. * sysdeps/generic/sys/mman.h: Declare __mprotect. * sysdeps/unix/sysv/irix4/sys/mman.h: Likewise. * sysdeps/unix/sysv/linux/sys/mman.h: Likewise. * sysdeps/unix/bsd/sun/sunos4/sys/mman.h: Likewise. * sysdeps/unix/bsd/osf/sys/mman.h: Likewise.
1996-06-07(getpriority): Use new interface to __proc_getprocinfo.Miles Bader
1996-06-07Fri Jun 7 16:48:13 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>Roland McGrath
* sysdeps/unix/sysv/linux/i386/Dist: New file, list sys/perm.h and sys/vm86.h. Removed old math code no longer used since the fdlibm integration. * sysdeps/stub/acos.c: File removed. * sysdeps/stub/asin.c: File removed. * sysdeps/stub/atan2.c: File removed. * sysdeps/stub/cosh.c: File removed. * sysdeps/stub/exp.c: File removed. * sysdeps/stub/fmod.c: File removed. * sysdeps/stub/frexp.c: File removed. * sysdeps/stub/log.c: File removed. * sysdeps/stub/log10.c: File removed. * sysdeps/stub/sinh.c: File removed. * sysdeps/stub/tan.c: File removed. * sysdeps/stub/tanh.c: File removed. * sysdeps/generic/acos.c: File removed. * sysdeps/generic/acosh.c: File removed. * sysdeps/generic/asin.c: File removed. * sysdeps/generic/asinh.c: File removed. * sysdeps/generic/atan.c: File removed. * sysdeps/generic/atan2.c: File removed. * sysdeps/generic/atanh.c: File removed. * sysdeps/generic/cabs.c: File removed. * sysdeps/generic/ceil.c: File removed. * sysdeps/generic/copysign.c: File removed. * sysdeps/generic/cosh.c: File removed. * sysdeps/generic/exp.c: File removed. * sysdeps/generic/expm1.c: File removed. * sysdeps/generic/fabs.c: File removed. * sysdeps/generic/floor.c: File removed. * sysdeps/generic/fmod.c: File removed. * sysdeps/generic/frexp.c: File removed. * sysdeps/generic/hypot.c: File removed. * sysdeps/generic/infnan.c: File removed. * sysdeps/generic/isnan.c: File removed. * sysdeps/generic/ldexp.c: File removed. * sysdeps/generic/log.c: File removed. * sysdeps/generic/log10.c: File removed. * sysdeps/generic/log1p.c: File removed. * sysdeps/generic/modf.c: File removed. * sysdeps/generic/pow.c: File removed. * sysdeps/generic/rint.c: File removed. * sysdeps/generic/sinh.c: File removed. * sysdeps/generic/tan.c: File removed. * sysdeps/generic/tanh.c: File removed. * sysdeps/ieee754/cabs.c: File removed. * sysdeps/ieee754/copysign.c: File removed. * sysdeps/ieee754/frexp.c: File removed. * sysdeps/ieee754/hypot.c: File removed. * sysdeps/ieee754/infnan.c: File removed. * sysdeps/ieee754/ldexp.c: File removed. * sysdeps/ieee754/log10.c: File removed. * posix/Makefile (headers): Add schedbits.h. * math/Makefile (elided-routines): Add long double routines. Fri Jun 7 09:11:17 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> * sysdeps/unix/sysv/linux/Dist: Add sys/sysinfo.h, sys/mount.h, sys/kdaemon.h, sys/io.h, sys/mount.h, sysctl.c. * gmon/Makefile (distribute): Add profil-counter.h. * sysdeps/unix/sysv/linux/alpha/Dist: New file. * sysdeps/unix/Dist: Add s-proto.S. * sysdeps/unix/common/mk-local_lim.c: Obsolete file removed. * Make-dist (+sysdep-tsrcs): Get all syscalls.list files too. * csu/Makefile (distribute): Add start.c. * elf/Makefile (distribute): Add dl-machine.h. * sysdeps/alpha/Dist: Add _mcount.S. * sysdeps/alpha/Makefile (sysdep_routines): Append instead of resetting; don't add bb_init_func. * string/Makefile (routines): Add strerror_r. * string/string.h (strerror_r): Use int for BUFLEN arg. * Makefile (distribute): Add shlib-versions. * po/Makefile (distribute): Add SYS_libc.pot. * misc/Makefile (routines): Add lsearch. * manual/lang.texi (Consistency Checking): Merge in assert_perror defn and other changes inadvertently made to the obsolete assert.texi. * manual/assert.texi: File removed. * mach/mach_syscalls.c: Obsolete file removed. * mach/mach_syscalls.h: Likewise. * mach/mach_traps.S: Likewise. * mach/msg_destroy.c: Likewise. * mach/vm_page_size.c: Likewise. * locale/Makefile (distribute): Add weight.h, charset.h. * Makefile (distribute): Add version.h. * hurd/Makefile (headers): Add hurd/ioctl.h. (distribute): Add intr-rpc.d, intr-rpc.h, faultexc.defs. * csu/Makefile (distribute): Add gmon-start.c. * Makefile (distribute): Add config.h.in. sysdeps/m68k/fpu/e_atanhl.c, sysdeps/m68k/fpu/e_coshl.c: New files.
1996-06-07Tue Jun 4 22:03:02 1996 Andreas Schwab ↵Roland McGrath
<schwab@issan.informatik.uni-dortmund.de> * sysdeps/m68k/fpu/__math.h: Define long double versions of the inline functions. * sysdeps/m68k/fpu/e_asinl.c, sysdeps/m68k/fpu/e_atanl.c, sysdeps/m68k/fpu/e_acosl.c, sysdeps/m68k/fpu/e_expl.c, sysdeps/m68k/fpu/e_fmodl.c, sysdeps/m68k/fpu/e_log10l.c, sysdeps/m68k/fpu/e_logl.c, sysdeps/m68k/fpu/e_powl.c, sysdeps/m68k/fpu/e_remainderl.c, sysdeps/m68k/fpu/e_scalbl.c, sysdeps/m68k/fpu/e_sinhl.c, sysdeps/m68k/fpu/e_sqrtl.c, sysdeps/m68k/fpu/k_cosl.c, sysdeps/m68k/fpu/k_sinl.c, sysdeps/m68k/fpu/k_tanl.c, sysdeps/m68k/fpu/s_atanl.c, sysdeps/m68k/fpu/s_ceill.c, sysdeps/m68k/fpu/s_cosl.c, sysdeps/m68k/fpu/s_expm1l.c, sysdeps/m68k/fpu/s_fabsl.c, sysdeps/m68k/fpu/s_finitel.c, sysdeps/m68k/fpu/s_floorl.c, sysdeps/m68k/fpu/s_frexpl.c, sysdeps/m68k/fpu/s_ilogbl.c, sysdeps/m68k/fpu/s_isinfl.c, sysdeps/m68k/fpu/s_isnanl.c, sysdeps/m68k/fpu/s_ldexpl.c, sysdeps/m68k/fpu/s_log1pl.c, sysdeps/m68k/fpu/s_logbl.c, sysdeps/m68k/fpu/s_modfl.c, sysdeps/m68k/fpu/s_rintl.c, sysdeps/m68k/fpu/s_scalbnl.c, sysdeps/m68k/fpu/s_significandl.c, sysdeps/m68k/fpu/s_sinl.c, sysdeps/m68k/fpu/e_atanhl.c, sysdeps/m68k/fpu/e_coshl.c: New files.