aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
1996-06-22Sat Jun 22 10:44:09 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>Roland McGrath
* rpm/template (Source): New field. (%prep, %build, %install): New sections. (%files): Add %doc FAQ NEWS NOTES README. * rpm/rpmrc (builddir): Removed.
1996-06-21* elf/dl-load.c (_dl_map_object_from_fd): Fix mapping and l_phdrcvs/libc-960622Roland McGrath
guessing to not assume p_vaddr of first load cmd is zero.
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-21Fri Jun 21 00:27:51 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>cvs/libc-960621Roland McGrath
* login/utmp.h: Declare login_tty. Thu Jun 20 21:19:07 1996 Richard Henderson <rth@tamu.edu> * 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. __hurd_file_name_lookup, __hurd_file_name_split): Add & use LOOKUP argument. __hurd_file_name_lookup_retry, hurd_file_name_lookup_retry:
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-20Add support for PowerPC LinuxMichael Meissner
1996-06-20(getuids): New weak link to __getuids.Miles Bader
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-19(__hurd_file_name_lookup_retry, __hurd_file_name_lookup, ↵Miles Bader
__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.
1996-06-19Regenerated: autoconf configure.inRoland McGrath
1996-06-19Mon Jun 17 19:09:49 1996 Andreas Schwab ↵Roland McGrath
<schwab@issan.informatik.uni-dortmund.de> * Make-dist (+sysdeps): Move wildcard inside loop to avoid consing up a huge list just to discard most of it. * configure.in (sysnames): Avoid fgrep by using the case shell builtin. * Makeconfig (config.status): Fix dependency on Implies files.
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-19Wed Jun 19 01:27:57 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>Roland McGrath
* math/Makefile (distribute): Add ieee-math.c. Wed Jun 19 03:24:58 1996 Ulrich Drepper <drepper@cygnus.com> * locale/codeset_name.c: New file. Provide function for information about currently used character set. * locale/Makefile (routines): Add codeset_name. * locale/langinfo.h (_NL_CTYPE_CODESET_NAME): Add new constant. * locale/localeinfo.h: Change magic number because of incompatible change. * locale/C-ctype.c: Add initializer for new field `codeset_name'. * locale/programs/ld-ctype.c: Implement handling of `codeset_name'. * locale/programs/locfile.c: Don't depend in pre-2.0 Linux specific name `MAX_IOVEC'. Instead use standard name `UIO_MAXIOV'. * locale/setlocale.c (setlocale): Initialize local variables to prevent warnings.
1996-06-18* Version 1.91 test release.glibc-1.91cvs/libc-1-91Roland McGrath
1996-06-18* Makerules ($(common-objpfx)distinfo-$(subdir)): Change target fromRoland McGrath
distinfo to this. (distinfo): Make phony target depending on that. (TAGS, po/%.pot, dist): Change deps. (common-clean): Remove that file. * rpm/Makefile (distinfo): Change names.
1996-06-18Tue Jun 18 17:56:44 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>Roland McGrath
* rpm/Makefile (clean): New target. * stdlib/test-canon.c: New test program contributed by David Mosberger. * stdlib/Makefile (tests): Add test-canon. * stdlib/canonicalize.c: Rewritten by David Mosberger. * mach/Machrules (%_server.c %_server.h rule): Remove gratuitous mention of $< in mig cmd. Thanks to Shantanu Goel.
1996-06-18Tue Jun 18 17:56:44 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>Roland McGrath
* stdlib/test-canon.c: New test program contributed by David Mosberger. * stdlib/Makefile (tests): Add test-canon. * stdlib/canonicalize.c: Rewritten by David Mosberger.
1996-06-18Recognize -openvms.Ian
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* Make-dist (subdir): Make empty value really empty.cvs/libc-960617Roland McGrath
1996-06-16* version.h (VERSION): Update to 1.91.Roland McGrath
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-16Sun Jun 16 00:40:20 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>Roland McGrath
* time/Makefile ($(installed-localtime-file)): If target exists, do nothing but print a message; if not, make it an absolute symlink. * time/tzset.c (__tzset): After stripping leading :, call __tzfile_read on TZ even if it's empty or null. * time/tzfile.c (__tzfile_read): Use "Universal" if passed "".
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-16* elf/dl-deps.c (_dl_map_object_deps): Set MAP's mark bit before loop.Roland McGrath
Set mark bits of deps as opened, instead of as scanned. * elf/rtld.c (dl_main): Remove _dl_rtld_map from chain unconditionally. Then if it has a nonzero l_opencount, add it back in search order. * elf/dl-load.c (_dl_map_object): Don't use _dl_loaded's DT_RPATH if it ain't got one!
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-13*** empty log message ***Miles Bader
Thu Jun 13 14:29:56 1996 Miles Bader <miles@gnu.ai.mit.edu> * hurd/hurdsig.c (_hurd_internal_post_signal): Rename `deliver:' label to `deliver_pending:' to match goto.
1996-06-13(_hurd_internal_post_signal): Rename `deliver:' label to `deliver_pending:' ↵Miles Bader
to match goto.
1996-06-13Thu Jun 13 00:02:25 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>cvs/libc-960613Roland McGrath
* elf/dl-lookup.c (_dl_lookup_symbol): If no value and *REF is null, consider it a strong reference and give the error.
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 23:23:30 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>Roland McGrath
* Makerules (LDFLAGS-c.so): Use __libc_main instead of __libc_print_version as entry point for shared object. * version.c [HAVE_ELF] (__libc_main): New function. * elf/dl-load.c (_dl_map_object_from_fd): Relocate l_entry with the load address.
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-12* Makerules (elfobjdir): Use $(objdir) if set, even in elf subdir.Roland McGrath
* elf/Makefile (routines): Remove init-first. * csu/Makefile (routines): New variable; put it here instead. * config.make.in (CFLAGS): New variable. * io/sys/stat.h (S_ISLNK, S_ISSOCK): Make conditional on __USE_BSD, not __USE_GNU. * string/string.h (strncasecmp): Likewise.
1996-06-11* elf/Makefile (lib-noranlib): Move rule adding deps for ld.so et alRoland McGrath
to after `include ../Rules', so $(rtld-installed-name) is defined.
1996-06-11* string/basename.c (basename): Cast FILENAME to char * for return.Roland McGrath
* Makerules ($(libdir)/libc.so): Put $(rtld-installed) name between libc.so and libc.a in the deps.
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-11Tue Jun 11 15:09:15 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>Roland McGrath
* string/basename.c: New file. * string/Makefile (routines): Add basename.
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.