Roland McGrath [Thu, 22 Jun 1995 09:00:11 +0000 (09:00 +0000)]
Tue Jun 20 02:18:19 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* Makerules (lib%.so: lib%_pic.a): Pass -soname switch giving the
library's name including $(libprefix) and major version number.
* locale/locale-ctype.c (allocate_arrays): Use xmalloc and bzero
in place of xcalloc.
* Makeconfig (prefix, exec_prefix, libprefix): Instead of
`ifndef', use the $(origin) function to only set these if they are
undefined, and not if they are defined to empty.
* gnu-versions.h: New file.
* features.h (__GNU_LIBRARY__): Increase value to 5.
* hurd/hurd/userlink.h (_hurd_userlink_link): Properly set
LINK->resource.next->resource.prevp when appropriate, not
LINK->resource.next->thread.prevp!!!
Roland McGrath [Mon, 12 Jun 1995 18:26:02 +0000 (18:26 +0000)]
Mon Jun 12 13:15:45 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* Makerules (lib%.so: lib%_pic.a): Moved this rule to after
installation rules.
* sysdeps/mach/sysdep.h [HAVE_ELF] (ENTRY): Redefine this macro so
it uses the `.type' directive, which is necessary for shared
libraries to work properly.
Roland McGrath [Mon, 12 Jun 1995 09:00:13 +0000 (09:00 +0000)]
* elf/dl-load.c (_dl_map_object): Add MAP_INHERIT flag in mmap
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.
Roland McGrath [Thu, 8 Jun 1995 09:00:23 +0000 (09:00 +0000)]
Thu Jun 8 02:50:26 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* 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.
* 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.
Roland McGrath [Mon, 5 Jun 1995 09:00:14 +0000 (09:00 +0000)]
Mon Jun 5 04:02:26 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* 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.
Roland McGrath [Wed, 31 May 1995 13:23:14 +0000 (13:23 +0000)]
Tue May 30 15:52:32 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* 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.
Roland McGrath [Tue, 30 May 1995 19:52:01 +0000 (19:52 +0000)]
(server-interfaces): Removed notify and device_reply. For shlibs with eager binding, libmachuser.so must not refer to any functions not defined in libc.
Roland McGrath [Sat, 27 May 1995 07:18:52 +0000 (07:18 +0000)]
Fri May 26 13:00:08 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* hurd/hurdsig.c (_hurd_internal_post_signal): Don't loop to check
pending signals if the thread is in a critical section. It will
send us a msg when it finishes.
* sysdeps/mach/hurd/pathconf.c: New file.
* sysdeps/mach/hurd/fpathconf.c: New file.
* sysdeps/mach/hurd/sigaction.c: Only notify the proc server for
SIGCHLD when the SA_NOCLDSTOP bit actually changes.
Jim Meyering [Sun, 21 May 1995 06:08:30 +0000 (06:08 +0000)]
Sun May 21 02:01:29 1995 Jim Meyering (meyering@comco.com)
* sysdeps/generic/memchr.c: Don't include <string.h> at all.
HPUX-9.01 and IRIX-4.0.5 vendor C compilers get conflicting dcls for
memchr unless one manually arranges for them to define __STDC__.
Jim Meyering [Sun, 21 May 1995 06:03:25 +0000 (06:03 +0000)]
Don't include <string.h> at all. HPUX-9.01 and IRIX-4.0.5 vendor C compilers get conflicting dcls for memchr unless one manually arranges for them to define __STDC__.
Roland McGrath [Sat, 20 May 1995 00:13:43 +0000 (00:13 +0000)]
Fri May 19 17:16:46 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* sysdeps/mach/hurd/i386/init-first.c: In cthreads case, handle
args on stack from kernel.
* posix/Makefile, sysdeps/alpha/Makefile,
* sysdeps/mach/hurd/Makefile, sysdeps/sparc/Makefile, Makefile,
* Makerules, Make-dist: Fix "cvs commit" cmds in rules to not fail
in the absence of CVS dirs.
* hurd/hurdstartup.c: Don't call __mach_init. Grok args from the
kernel on the stack properly.
* set-init.c: Never call _init/_fini; just run __libc_subinit.
Roland McGrath [Thu, 18 May 1995 09:00:09 +0000 (09:00 +0000)]
Wed May 17 16:50:21 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
Merged 1003.2 locale and localedef programs by Ulrich Drepper.
* locale/charmap.c: New file.
* locale/collate.c: New file.
* locale/config.h: New file.
* locale/ctype.c: New file.
* locale/ctypedump.c: New file.
* locale/hash.c: New file.
* locale/hash.h: New file.
* locale/iso-4217.def: New file.
* locale/keyword.gperf: New file.
* locale/keyword.h: New file.
* locale/libintl.h: New file.
* locale/locale.c: New file.
* locale/localedef.c: New file.
* locale/localedef.h: New file.
* locale/locfile-lex.c: New file.
* locale/locfile-parse.c: New file.
* locale/messages.c: New file.
* locale/monetary.c: New file.
* locale/numeric.c: New file.
* locale/token.h: New file.
* posix/regex.c, posix/regex.h: New files, incorporated from GNU regex.
* posix/Makefile (headers): Add regex.h.
(routines): Add regex.
(gpl2lgpl): Add regex.c and regex.h.
Tue May 16 17:35:07 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* locale/loadlocale.c: Expect macro LOCALE_PATH to be defined,
instead of hard-coding "/share/locale".
* sysdeps/i386/elf/start.S: Give two operands to `testl' when they
are the same. Use `jz' instead of `jeq'.
* Makeconfig (config.make): Depend on config.status, and run it to
update.
(config.status): New target; depend on configure.
If target (config.status) exists, run it with --recheck to update;
if not, give error msg saying to run confiugre by hand.
* Makerules [$(sysd-Makefile-sysdirs) != $(sysdirs)]
(sysd-Makefile-force): Set this variable to FORCE in this case, to
force a rebuild of sysd-Makefile.
(sysd-Makefile): Depend on $(sysd-Makefile-force).
Write into the file sysd-Makefile-sysdirs:=$(sysdirs).
[$(sysd-rules-sysdirs) != $(sysdirs)] (sysd-rules-force): Set this
variable to FORCE in this case, to force a rebuild of sysd-rules.
(sysd-rules): Depend on $(sysd-rules-force).
Write into the file sysd-rules-sysdirs:=$(sysdirs).
* Makerules (LDFLAGS-c.so): Change ld option -interp to
-dynamic-linker.
* Makerules (do-install-program): New canned sequence.
(install-bin, install-sbin): Use it.
(install for lib*.so): Use it instead of $(do-install).
Fix .so installation rules to handle lib*.so and *.so, deal with
$(libprefix) right, and install *.so as *.so$($(*.so)-version);
i.e. "libc.so-version = .1".
Mon May 8 05:10:25 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* elf/do-rel.h: New file, split out of dynamic-link.h.
* elf/Makefile (distribute): Add do-rel.h.
Roland McGrath [Mon, 8 May 1995 09:11:25 +0000 (09:11 +0000)]
Sat May 6 11:06:47 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* 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.
* 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.
Roland McGrath [Tue, 2 May 1995 05:56:40 +0000 (05:56 +0000)]
Tue May 2 01:52:58 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
Implemented runtime dynamic linker to support ELF shared libraries.
* elf/Makefile: Added rules to make ld.so and libdl.
* elf/dl-error.c: New file.
* elf/dl-fini.c: New file.
* elf/dl-init.c: New file.
* elf/dl-load.c: New file.
* elf/dl-lookup.c: New file.
* elf/dl-object.c: New file.
* elf/dl-reloc.c: New file.
* elf/dlclose.c: New file.
* elf/dlerror.c: New file.
* elf/dlopen.c: New file.
* elf/dlsym.c: New file.
* elf/dynamic-link.h: New file.
* elf/link.h: New file.
* elf/rtld.c: New file.
Mon May 1 18:48:30 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* Makerules (LDFLAGS-c.so): Add -interp and -e switches to make
libc.so runnable.
* version.c (__libc_print_version): Add "et al" and missing NL to
author credit.
Roland McGrath [Thu, 27 Apr 1995 16:42:52 +0000 (16:42 +0000)]
Regenerated
Tue Apr 25 17:17:19 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* posix/glob.c (glob): If GLOB_MARK set, stat names to find
directories and append slashes to them in final pass before
sorting.
(glob_in_dir): If GLOB_MARK set, just allocate the extra char for the
slash; never append it here.
Roland McGrath [Thu, 27 Apr 1995 05:47:52 +0000 (05:47 +0000)]
Thu Apr 27 01:24:09 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* configure.in: Unless --without-fp, prepend */fpu before each
machine dir in $mach; don't prepend FPU dirs at end. If
--with-elf, prepend MACHINE/elf directories at end; don't insert
them into $mach.
* Makerules (dist): Filter out *.[cSs] from $(distribute) in deps.
Wed Apr 26 16:06:42 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* locale/loadlocale.c (_nl_free_locale): Do nothing if DATA is null.
Tue Apr 25 17:17:19 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* posix/glob.c (glob): If GLOB_MARK set, stat names to find
directories and append slashes to them in final pass before
sorting.
(glob_in_dir): If GLOB_MARK set, just allocate the extra char for the
slash; never append it here.
Roland McGrath [Tue, 25 Apr 1995 21:16:39 +0000 (21:16 +0000)]
(glob): If GLOB_MARK set, stat names to find directories and append slashes to them in final pass before sorting. (glob_in_dir): If GLOB_MARK set, just allocate the extra char for the slash; never append it here.
Roland McGrath [Mon, 24 Apr 1995 09:00:07 +0000 (09:00 +0000)]
Sat Apr 22 14:48:03 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* mach/Machrules [interface-library]
(LDFLAGS-$(interface-library:lib%=%.so)): New variable, set to
-nostdlib.
* sysdeps/mach/hurd/fork.c: Subfunction `unlockss' removed. Lock
_hurd_siglock only around initial task creation in parent. Use
_hurd_critical_section_unlock at end. Handle dead name rights
properly, and deal with a send right dying while we try to copy
it. For the time being, use assert_perror for kernel and proc RPC
failures.
Fri Apr 21 01:10:15 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* extra-lib.mk: Don't include $(o-iterator); construct it by hand
using $(object-suffixes-$(lib)) instead.
* sysdeps/mach/hurd/Makefile (LDLIBS-c.so): New variable.
* Makerules (lib%.so: lib%_pic.a): Pass $(LDFLAGS-$(notdir $*).so).
(LDFLAGS-c.so): New variable.
* resolv/res_init.c (res_init): Don't clobber _res.options with
RES_DEFAULT. If RES_INIT is clear, OR in RES_DEFAULT.
Roland McGrath [Fri, 21 Apr 1995 02:24:35 +0000 (02:24 +0000)]
Thu Apr 20 22:23:58 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* sysdeps/mach/hurd/i386/trampoline.c (_hurd_setup_sighandler):
Point the return address for sigreturn's frame at a "hlt" insn so
it will definitely crash if sigreturn returns.
Roland McGrath [Wed, 19 Apr 1995 23:46:03 +0000 (23:46 +0000)]
Wed Apr 19 18:12:56 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* configure.in: Move $os tests to set $elf et al earlier, before
construction of $sysnames. Instead of prepending MACHINE/elf to
$sysnames, append &/elf after each elt appended to $mach.
Tue Apr 18 14:00:19 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
Roland McGrath [Wed, 19 Apr 1995 22:12:34 +0000 (22:12 +0000)]
Move $os tests to set $elf et al earlier, before construction of $sysnames. Instead of prepending MACHINE/elf to $sysnames, append &/elf after each elt appended to $mach.
Roland McGrath [Mon, 10 Apr 1995 09:00:08 +0000 (09:00 +0000)]
Sun Apr 9 01:24:33 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* Makerules (+depfiles): Translate %.so to %.o in $(extra-objs).
* malloc/free.c [emacs] (__malloc_safe_bcopy): Define to safe_bcopy.
* malloc/realloc.c (__malloc_safe_bcopy): Undefine before defining.
* malloc/free.c (memmove, __malloc_safe_bcopy): Do include these
#ifdef emacs, but only #ifndef memmove.
* malloc/realloc.c [emacs] (__malloc_safe_bcopy): Just #define to
safe_bcopy.
(memmove): Define only if undefined.
* stdio/_itoa.h (_EXTERN_INLINE): Define if undefined.
(_itoa): Use it in defn.
Roland McGrath [Sat, 8 Apr 1995 04:47:54 +0000 (04:47 +0000)]
Sat Apr 8 00:40:59 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* malloc/free.c: Remove use of `assert'.
* malloc/realloc.c [! emacs] (safe_bcopy): Renamed to
__malloc_safe_bcopy; #define safe_bcopy.
* malloc/free.c: Cope with systems lacking `memmove'.
(_free_internal): Cast result of _malloc_internal.