about summary refs log tree commit diff
path: root/elf
Commit message (Collapse)AuthorAgeFilesLines
* * sysdeps/mach/hurd/dl-sysdep.c (_dl_sysdep_start): If started byRoland McGrath1995-09-304-21/+24
| | | | | | | | | | | | | | | | | kernel with args on stack, point _dl_hurd_data at zero data instead of garbage. When ld.so run as program, grok args -LIB=MEMOBJ and pre-load shared object files found in memory objects loaded by the boot loader. * elf/link.h (struct link_map): New member `l_entry'. (_dl_map_object, _dl_map_object_from_fd): Remove last arg ENTRY_POINT. * elf/dl-load.c (_dl_map_object, _dl_map_object_from_fd): Remove last arg ENTRY_POINT. Store the entry point location in the `l_entry' member of the new map. * elf/rtld.c (dl_main): Don't pass USER_ENTRY arg to _dl_map_object. When run as program, set *USER_ENTRY to L->l_entry. * elf/dl-init.c (_dl_init_next): Don't pass ENTRY_POINT arg to _dl_map_object.
* (rtld_command): Variable removed. (_dl_skip_args): New variable. (dl_main): ↵Roland McGrath1995-09-281-3/+18
| | | | Increment _dl_skip_args instead of setting rtld_command. If the link_map for the executable itself is not first in the chain, make it so.
* Wed Sep 27 00:27:25 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>Roland McGrath1995-09-272-35/+54
| | | | | | | | | | | * config.make.in (AS): New variable; set to `$(CC) -c'. * posix/unistd.h [__USE_BSD]: Declare profil. * elf/dl-load.c (_dl_map_object_from_fd): New function, broken out of _dl_map_object. (_dl_map_object): Call it. * elf/link.h (_dl_map_object_from_fd): Declare it.
* Thu Sep 21 00:03:53 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>Roland McGrath1995-09-213-2/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * sysdeps/stub/sys/sem_buf.h (union semun): New type. * sysdeps/mach/hurd/i386/init-first.c (init1) [PIC]: Call __libc_global_ctors. * sysdeps/i386/init-first.c: Rewritten. * sysdeps/unix/sysv/linux/i386/init-first.S: File removed. * sysdeps/unix/sysv/linux/i386/init-first.c: New file. * sysdeps/unix/sysv/linux/i386/fpu_control.h: Fix name in decl of ___fpu_control. * Makerules (build-shlib): New canned sequence, broken out of lib%.so rule. Link in $^ instead of just $<. (lib%.so: lib%_pic.a): Use it. (libc.so): New target; use $(build-shlib) for cmds, but also depend on soinit.so first and sofini.so last. * elf/soinit.c: New file. * elf/sofini.c: New file. * elf/Makefile (distribute): Add soinit.c and sofini.c. (extra-objs): Add soinit.so and sofini.so. * sysvipc/sys/shm.h (shmat): Fix return type to char *. * sysdeps/stub/sys/ipc_buf.h (key_t): Type removed. * misc/syslog.c (vsyslog): Rewritten using open_memstream to dynamically allocate buffers. * Makerules (install-lib-nosubdir): Make this, rather than install-no-libc.a, depend on the installed shared libraries.
* Wed Sep 20 18:02:03 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>Roland McGrath1995-09-211-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * locale/locale.c: Include errno.h. * locale/localedef.c: Likewise. Tue Sep 19 00:02:06 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> * Makefile (distclean-1): Remove config.cache, config.log, config.h. (parent-mostlyclean): Remove all flavors of the parent library. * misc/mntent.c (getmntent): Skip multiple whitespace chars between fields. * hurd/hurdstartup.c (_hurd_startup): If RPC returns EXEC_STACK_ARGS flag, get args from stack. If args on stack but have info from RPC, relocate args on stack to make space for struct hurd_startup_data. * elf/dl-object.c: Include errno.h. * posix/execvp.c: Likewise. * dirent/scandir.c: Likewise. * sysdeps/posix/system.c: Likewise. * sysdeps/generic/setenv.c: Likewise. * stdlib/msort.c: Likewise. * stdio/memstream.c: Likewise. * stdio/fclose.c: Likewise. * stdio/getdelim.c: Likewise. * stdio/setvbuf.c: Likewise. * sysdeps/ieee754/ldexp.c: Likewise. * locale/locfile-parse.c: Likewise. * stdlib/lcong48_r.c: Don't check for null argument; let it fault. * stdlib/seed48_r.c: Likewise. * stdlib/srand48_r.c: Likewise. * stdlib/jrand48_r.c: Likewise. * stdlib/nrand48_r.c: Likewise. * misc/search.h: Many decls for hsearch functions.
* Sat Sep 16 17:47:19 1995 Ulrich Drepper <drepper@ipd.info.uni-karlsruhe.de>Roland McGrath1995-09-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * elf/elf.h (AT_GID): Fix typo: Read -> Real. * misc/efgvt_r.c: New file. Reentrant version of [efg]cvt functions. * misc/efgcvt.c: Rewrite to use reentrant functions. * misc/hsearch_r.c: New file. Reentrant version of functions from hsearch family. * misc/hsearch.c, misc/tsearch.c: New files. * misc/Makefile (routines): Add efgcvt_r, hsearch_r, hsearch, tsearch. * posix/unistd.h (ttyname_r): Add prototype for new function. * stdlib/drand48_r.c, stdlib/erand48_r.c, stdlib/jrand48_r.c, stdlib/lrand48_r.c, stdlib/mrand48_r.c, stdlib/nrand48_r.c, stdlib/seed48_r.c, stdlib/srand48_r.c, stdlib/lcong48_r.c, stdlib/drand48-iter.c: New files implementing reentrant versions of functions from drand48 family. * stdlib/seed48.c, stdlib/drand48.c, stdlib/erand48.c, stdlib/jrand48.c, stdlib/lrand48.c, stdlib/mrand48.c, stdlib/nrand48.c, stdlib/srand48.c, stdlib/lcong48.c: Rewrite to use reentrant versions. * stdlib/a64l.c, stdlib/l64a.c: New files. Implement a64l() and l64a() functions from SysV library. * stdlib/Makefile (routines): Add drand48_r, erand48_r, lrand48_r, nrand48_r, mrand48_r, jrand48_r, srand48_r, seed48_r, lcong48_r, drand48-iter, a64l, l64a. * stdlib/stdlib.h: Declare them. * stdlib/random_r.c: New file. Reentrant version of functions from random family. * stdlib/stdlib.h: Declare them. * stdlib/random.c: Rewrite to use reentrant functions. * string/strerror_r.c: New file. Reentrant version. * string/strerror.c: Change for new _strerror_internal form. * string/Makefile (routines): Add strerror_r. * sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Set default value of user_entry to `_start'. Close AT_ENTRY case with `break'. * sysdeps/generic/strstr.c: New and much faster implementation by Stephen R. van den Berg. * sysdeps/generic/_strerror.c: _strerror_internal now takes three argument and has and explicit buffer length. * sysdeps/mach/_strerror.c: Change for new interface with three arguments. * stdio/perror.c, stdio/vfprintf.c: Callers changed. * sysdeps/mach/hurd/ttyname_r.c: New file. Reentrant version. * sysdeps/posix/ttyname_r.c: New file. Reentrant version. * sysdeps/stub/ttyname_r: New file. Define as dummy function. * sysdeps/posix/utimes.c: Include <utime.h> for prototype. (utimes): First parameter to utime must be file, not path. * sysdeps/posix/sysconf.c (__sysconf): Test for CLK_TCK in case _SC_CLK_TCK and return it when available. Test for STREAM_MAX in case _SC_STREAM_MAX and return it when available. Add case for _SC_2_LOCALEDEF which is now available. * posix/sys/types.h [__USE_SVID] (key_t): New type. * sysvipc/Makefile, sysvipc/ftok.c, sysvipc/sys/ipc.h, sysvipc/sys/msg.h, sysvipc/sys/sem.h, sysvipc/sys/shm.h, sysdeps/stub/sys/msq_buf.h, sysdeps/stub/sys/sem_buf.h, sysdeps/stub/sys/shm_buf.h, sysdeps/stub/sys/ipc_buf.h, sysdeps/stub/semctl.c, sysdeps/stub/semget.c, sysdeps/stub/semop.c, sysdeps/stub/shmat.c, sysdeps/stub/shmctl.c, sysdeps/stub/shmdt.c, sysdeps/stub/shmget.c, sysdeps/stub/msgctl.c, sysdeps/stub/msgget.c, sysdeps/stub/msgrcv.c, sysdeps/stub/msgsnd.c: New files. Add implementation of System V IPC.
* Fri Sep 15 21:34:28 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>Roland McGrath1995-09-171-1/+1
| | | | | | | * hurd/hurdsig.c: Include <hurd/crash.h> in place of <hurd/core.h>. (write_corefile): Call __crash_dump_task instead of __core_dump_task. Use envariable CRASHSERVER instead of CORESERVER. * hurd/Makefile (user-interfaces): Replace hurd/core with hurd/crash.
* Wed Sep 6 19:41:10 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>Roland McGrath1995-09-071-1/+1
| | | | | | * elf/dl-lookup.c (_dl_lookup_symbol): Test WEAK_VALUE.s rather than WEAK_VALUE.a to see if a weak value has been set. A valid weak value may set WEAK_VALUE.a to 0.
* Mon Jul 10 05:39:21 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>Roland McGrath1995-07-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | * sysdeps/mach/hurd/i386/init-first.c (init): Take just one arg, DATA for the entry SP; DATA[-1] is always the return address location. In both cthreads and non-cthreads cases, use asm to force parameters into %eax and %ecx before return, and mutate DATA[-1] to return to specific asm code to set up the user from %eax and %ecx. [PIC] (_init): Caller changed. (__libc_init_first) [! PIC] (doinit): Use asm to effect call to init with SP unwound to argument data ptr. Thu Jul 6 14:28:56 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> * sysdeps/mach/hurd/dl-sysdep.c (fmh): Fixed this kludge to work when 0x08000000 and up are not mapped. * Makerules (stamp$o-$(subdir) rule): Remove the timestamp file before touching it. (lib%.so): Use -Wl to get -soname to ld. * elf/dlsym.c: Pass final arg to _dl_lookup_symbol. * elf/Makefile (libdl.so): Pass $(LDFLAGS.so).
* (libdl.so): Pass $(LDFLAGS.so).Roland McGrath1995-07-061-1/+2
|
* * elf/dl-load.c (_dl_map_object): Add MAP_INHERIT flag in mmapRoland McGrath1995-06-126-20/+22
| | | | | | | | | | | | | | | | | | | from zero fill. * elf/dl-lookup.c (_dl_lookup_symbol): Take new flag arg NOSELF; if nonzero, don't let *REF satisfy the reference itself. * elf/link.h (_dl_lookup_symbol): Add new arg NOSELF in decl. * sysdeps/i386/dl-runtime.c (_dl_runtime_resolve): Pass new arg to _dl_lookup_symbol. * elf/do-rel.h (elf_dynamic_do_rel): Pass new second arg of R->r_offset to RESOLVE callback. * elf/dl-reloc.c (_dl_relocate_object: resolve): Don't let *REF satisfy the reference itself if its value equals the reloc's offset. * elf/rtld.c (dl_main): Write a newline in fatal msg. * Makerules (lib%.so: lib%_pic.a): Pass $(LDFLAGS.so).
* Thu Jun 8 02:50:26 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>Roland McGrath1995-06-084-7/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * elf/rtld.c [! NDEBUG] (__assert_perror_fail): New function. * hurd/hurdstartup.c (_hurd_startup): Fancier kludge to guess phdr and user entry point addresses. * elf/dl-load.c (open_path): Don't do strlen on DIRPATH if it's null. (_dl_map_object): DT_RPATH value is relative to DT_STRTAB value. * Makerules (install-lib.so): Don't include libc.so. [$(build-shared)=yes] (install): Depend on the installed libc.so file. [$(build-shared)=yes] (install-no-libc.a): Make this, rather than install, depend on the installed $(install-lib.so) files. [$(build-shared)=yes] (install-lib.so): Append libc.so after that rule. * sysdeps/mach/hurd/dl-sysdep.c (_dl_sysdep_start): Add kludge to allocate high addresses to avoid random mappings appearing there. (mmap): Comment out mask; always pass zero. Tue Jun 6 13:34:53 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> * sysdeps/i386/dl-machine.h (ELF_MACHINE_USER_ADDRESS_MASK): New macro. * sysdeps/mach/hurd/dl-sysdep.c (mmap): Use it as mask in vm_map call. * elf/dl-error.c (_dl_catch_error): Clear *ERRSTRING and *OBJNAME when successful. * sysdeps/mach/hurd/dl-sysdep.c (threadvars): New static variable. (__hurd_threadvar_max, __hurd_threadvar_stack_offset): Define these variables, using the `threadvars' buffer. * elf/dl-reloc.c: Don't dereference L->l_prev when it's null. * sysdeps/i386/dl-runtime.c: Likewise. * elf/rtld.c (dl_main): Add missing NULL terminating argument in _dl_sysdep_fatal call. (__assert_fail): Likewise. * locale/Makefile (localedef-modules): Renamed ctype to locale-ctype so as not to conflict with the object file for ctype/ctype.c in the build directory. * sysdeps/i386/dl-machine.h (elf_machine_rel): If MAP->l_type is lt_interpreter, first undo relocation done during bootstrapping.
* Mon Jun 5 04:02:26 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>Roland McGrath1995-06-051-1/+1
| | | | | | * elf/elf.h (ELFMAG): Use \177 instead of \x7f. It seems GCC insists on seeing the following E as part of hex 7FE, and complaining that is wider than a byte.
* Sun Jun 4 22:14:11 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>Roland McGrath1995-06-052-0/+15
| | | | | | | | | | | | * hurd/Makefile (sig): Added thread-self. * hurd/hurd.h: Declare hurd_thread_self. * hurd/thread-self.c: New file. Thu Jun 1 12:17:52 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> * elf/rtld.c: Initialize RTLD_MAP.l_type. * elf/dl-reloc.c (_dl_relocate_object): Clear LAZY if relocating the dynamic linker itself.
* Tue May 30 15:52:32 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>Roland McGrath1995-05-319-54/+76
| | | | | | * mach/Makefile (server-interfaces): Removed notify and device_reply. For shlibs with eager binding, libmachuser.so must not refer to any functions not defined in libc.
* (ld.so): Use -nostartfiles in addition to -nostdlib.Roland McGrath1995-05-211-1/+1
|
* (os=gnu*): Always set elf=yes, not just for os=gnu*elf*.Roland McGrath1995-05-131-0/+4
|
* miscRoland McGrath1995-05-111-3/+6
|
* (__data_start): Define this symbol as the first thing in .data.Roland McGrath1995-05-094-2/+27
|
* Sat May 6 11:06:47 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>Roland McGrath1995-05-0812-274/+322
| | | | | | | | | | | | | | | | | | | | | | * Makeconfig (+gccwarn): Add -Winline. * hurd/hurdsig.c (_hurd_internal_post_signal): If SS->context is set, avoid abort_rpcs, and use reply and intr ports saved in SS->context. * sysdeps/mach/hurd/i386/trampoline.c: Don't set SS->intr_port from SS->context. Don't clear SS->context. * sysdeps/mach/hurd/i386/sigreturn.c: Don't set SS->intr_port when setting SS->context. If msg_sig_post returns, re-lock and clear SS->context. Fri May 5 10:37:09 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> * mach/Makefile (errsystems.c): Comment out generation rule. * sysdeps/mach/_strerror.c: Consider a system unknown if its bad_sub member is null. * mach/mig-alloc.c: Add weak alias to non-__ name.
* Wed May 3 11:56:35 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>Roland McGrath1995-05-041-0/+1
| | | | | | | | | | | | | | | | | | | | | | | * sysdeps/mach/hurd/dup2.c: Fixed broken test in last change. * elf/dl-error.c (_dl_catch_error): Actually call the OPERATE function. Duh. * hurd/Makefile (distribute): Added hurdstartup.h. * hurd/hurd.h: Remove _hurd_startup decl. * hurd/hurd/ioctl.h (_HURD_HANDLE_IOCTLS): Use __attribute__ ((__unused__)) instead of gratuitous self reference. * sysdeps/mach/hurd/dup2.c: Call _hurd_alloc_fd to expand the table if FD2 doesn't fit. * sysdeps/mach/hurd/getdtsz.c: Return the RLIM_NOFILE soft limit, not the current table size. * sysdeps/i386/init-first.c: New file. * sysdeps/stub/init-first.c: New file.
* * sysdeps/mach/i386/sysdep.h (SNARF_ARGS, CALL_WITH_SP): Rewritten.Roland McGrath1995-05-0215-2/+1734
| | | | | | | | | | * sysdeps/i386/dl-machine.h: New file. * sysdeps/stub/dl-machine.h: New file. * sysdeps/i386/dl-runtime.c: New file. * sysdeps/stub/dl-runtime.c: New file. * sysdeps/i386/elf/start.S: New file. * sysdeps/generic/dl-sysdep.c: New file. * sysdeps/mach/hurd/dl-sysdep.c: New file.
* Thu Apr 13 09:45:01 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>Roland McGrath1995-04-141-2/+6
| | | | | * elf/libelf.h (elf_hash): Use XOR instead of ANDN when the bits being cleared are already known to be set. Thanks Ulrich.
* Thu Mar 30 01:38:00 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>Roland McGrath1995-03-302-2/+59
| | | | | | | * elf/elf.h (STN_UNDEF): New macro (distinct from SHN_UNDEF, though both are zero). * elf/dlfcn.h: New file.
* * Make-dist (README): Commit it to CVS if there is a CVS directory.Roland McGrath1995-03-291-0/+5
|
* Thu Mar 9 22:29:03 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>Roland McGrath1995-03-101-1/+2
| | | | | | | | | | | | * elf/elf.h (STN_UNDEF): Renamed to SHN_UNDEF (typo). (DT_NUM): New macro. * locale/nl_langinfo.c: Include errno.h and stddef.h. Fix typos. * locale/lc-ctype.c (_nl_postload_ctype): Fix macro insanity. * locale/loadlocale.c (_nl_load_locale) [! MAP_COPY]: Define MAP_COPY to MAP_PRIVATE.
* Mon Mar 6 12:34:56 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> cvs/make-3-72-9 cvs/make-3-72-11 cvs/make-3-72-10Roland McGrath1995-03-061-4/+5
| | | | | * ctype/ctype.h (_ISbit): New macro, defined dependent on byte order. (_IS* enum): Use _ISbit to produce values.
* Mon Feb 27 07:00:57 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>Roland McGrath1995-02-272-0/+282
| | | | | * elf/libelf.h: New file. * elf/elf_hash.c: New file.
* * Makefile (subdirs): Add elf first.Roland McGrath1995-02-211-0/+23
| | | | | * elf/Makefile: New file. * elf/elf.h: New file.
* initial importRoland McGrath1995-02-181-0/+587