Commit Graph

529 Commits

Author SHA1 Message Date
Miles Bader
5c5ae36fd8 *** empty log message ***
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 20:50:55 +00:00
Roland McGrath
4d6acc61fa Thu Jun 13 00:02:25 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* 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-13 04:06:45 +00:00
Roland McGrath
4d5da9a654 * sysdeps/alpha/dl-machine.h: New file. 1996-06-12 04:51:48 +00:00
Roland McGrath
463e148b75 Tue Jun 11 23:23:30 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* 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-12 04:00:32 +00:00
Roland McGrath
8d6468d0c8 Tue Jun 11 19:13:04 1996 Richard Henderson <rth@tamu.edu>
* 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 01:54:21 +00:00
Roland McGrath
6e86a7c21b * Makerules (elfobjdir): Use $(objdir) if set, even in elf subdir.
* 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-12 01:34:32 +00:00
Roland McGrath
a89d30d444 * elf/Makefile (lib-noranlib): Move rule adding deps for ld.so et al
to after `include ../Rules', so $(rtld-installed-name) is defined.
1996-06-11 21:41:42 +00:00
Roland McGrath
d8c7ef98c1 * string/basename.c (basename): Cast FILENAME to char * for return.
* Makerules ($(libdir)/libc.so): Put $(rtld-installed) name between
	libc.so and libc.a in the deps.
1996-06-11 21:33:17 +00:00
Roland McGrath
852fc4b91e * elf/Makefile ($(objpfx)$(rtld-installed-name)): New target to make
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-11 21:07:00 +00:00
Roland McGrath
6ba3531662 Tue Jun 11 15:09:15 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* string/basename.c: New file.
	* string/Makefile (routines): Add basename.
1996-06-11 19:18:38 +00:00
Roland McGrath
ba79d61b44 * Makerules ($(common-objpfx)libc.so): Depend on $(elfobjdir)/ld.so.
* 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 20:19:39 +00:00
Roland McGrath
567c63af19 * elf/link.h: Include elfclass.h to define __ELF_NATIVE_CLASS.
(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-10 13:03:12 +00:00
Roland McGrath
266180eb98 Mon Jun 10 06:14:03 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* 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-10 10:18:47 +00:00
Roland McGrath
564210fe2f Mon Jun 10 02:22:24 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* 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-10 09:41:16 +00:00
Roland McGrath
6d9756c910 * elf/dl-load.c (_dl_map_object_from_fd): Close FD before return.
* 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-09 22:02:59 +00:00
Roland McGrath
9dd2fc5d87 * Make-dist ($(tardir).tar): Use sed to check for file names longer
than 14 chars, instead of doschk which checks for other things we
	don't care about.
1996-06-09 07:55:33 +00:00
Roland McGrath
780b91d932 * Version 1.90 test release. 1996-06-09 06:59:45 +00:00
Roland McGrath
dcfb26a705 Sun Jun 9 01:11:49 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* Makerules (make-target-directory): Use ./mkinstalldirs so we do not
	assume . is in PATH.

Sat Jun  8 22:05:03 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>

	* math/Makefile (distribute): Comment out addition of
	$(long-m-routines) sources until they are all written.

	* math/Makefile (distribute): Append long double source names to this
	instead of using elided-routines.

Sat Jun  8 15:15:07 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>

	* mach/mach_shortcuts.c: Obsolete file removed.
	* mach/mach_syscalls.h: Likewise.

	* hurd/Makefile (distribute): Consolidate defns into one.

	* time/Makefile (tzfiles): Add solar87 solar88 solar89.
1996-06-09 05:25:25 +00:00
Miles Bader
9646d93462 *** empty log message ***
* sysdeps/mach/hurd/getpriority.c (getpriority): Use new interface
	to __proc_getprocinfo.
1996-06-07 21:50:31 +00:00
Roland McGrath
bf668fc8f0 Fri Jun 7 16:48:13 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* 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-07 21:18:34 +00:00
Miles Bader
268eb64290 *** empty log message ***
Fri Jun  7 11:02:22 1996  Miles Bader  <miles@gnu.ai.mit.edu>

	* login/login.c (tty_name): New function.
	(login): Use it.
	(PATH_MAX): MACRO removed.
	<stdlib.h>: New include.
1996-06-07 20:38:21 +00:00
Roland McGrath
1c2f546be8 Wed Jun 5 22:06:21 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/dl-machine.h (elf_machine_rela): Fix type of reloc
	argument.
	[case R_68K_32]: Check for resolve being null.
	(RTLD_START): Add missing label.
1996-06-07 13:07:15 +00:00
Roland McGrath
1be6ec3033 Fri Jun 7 1996 05:29:32 Ulrich Drepper <drepper@cygnus.com>
* misc/lsearch.c: New file.  Implementation of lfind and
	lsearch functions.

	* misc/search.h: Add prototype for functions from tsearch
	family with __ prefix.
	Correct prototype for lsearch: BASE parameter must not be
	const.

	* misc/tsearch.c: prepend all global function names with __
	and make normal names weak aliases.

Fri Jun  7 00:15:24 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>

	* Make-dist (sysdep_dirs): Skip CVS dirs.
1996-06-07 04:36:10 +00:00
Roland McGrath
c035afc960 * malloc/Makefile (distribute): Change malloc/gmalloc-head.c to
gmalloc-head.c.
	(malloc/gmalloc.c): Depend on malloc/gmalloc-head.c.
	(malloc/Makefile): Do $(make-target-directory) first.
	* malloc/gmalloc-head.c: New file.

	* po/Makefile (linguas.mo): Don't commit .mo files to cvs.
1996-06-06 23:55:17 +00:00
Roland McGrath
4d02a5b18a Thu Jun 6 16:12:39 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* hurd/hurdsig.c (_hurd_internal_post_signal): For SIGNO==0 pending
	check, deliver a pending blocked signal if its action might be to
	ignore.
	* sysdeps/mach/hurd/sigaction.c: If new action is SIG_IGN or SIG_DFL
	and SIG is pending, wake up signal thread to check us.

	* hurd/hurdsig.c (_hurd_internal_post_signal): Don't mark a signal
	pending while blocked or stopped when the action is to ignore it.

	* hurd/hurdsig.c (_hurd_internal_post_signal: resume): Only set
	SS_SUSPENDED when the thread is really suspended.

	* elf/rtld.c (dl_main): Don't dereference _dl_rtld_map.l_next if null.
1996-06-06 20:49:22 +00:00
Roland McGrath
e60062b769 Thu Jun 6 12:56:03 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* Makerules (headers): Move append of $(sysdep_headers) after include
	of sysdep makefiles.

	* sysdeps/mach/hurd/errlist.c: File removed.
1996-06-06 17:02:44 +00:00
Miles Bader
02eec64431 *** empty log message ***
Thu Jun  6 07:32:14 1996  Miles Bader  <miles@gnu.ai.mit.edu>

	* resolv/gethnamaddr.c (struct hstorage): Make NAME field a pointer.
	(_gethtbyname2): Remove ALIAS variable.
	Initialize NAME field of SELF and TARGET to 0.
	Add SELF_NAME_SIZE static variable.
	Add loop to call gethostname until the space we allocated is enough.
	Use malloced strings instead of fixed size buffers.
	<stdlib.h>, <unistd.h>: New includes.
	* sysdeps/generic/sys/socket.h (PF_INET6, AF_INET6): New macros.

	* sysdeps/mach/hurd/errlist.c (_sys_errlist): Add EILSEQ.
	(_sys_nerr): Initialize to 107.
	Update _HURD_ERRNOS consistency check.

	* stdlib/canonicalize.c (canonicalize): Use pathconf for PATH_MAX,
	not sysconf.

	* login/login.c [!PATH_MAX] (PATH_MAX): Define to be 1024 if not
	already defined.

	* sysdeps/mach/hurd/setitimer.c (timer_thread): Supply SIGCODE
	argument to __msg_sig_post_request.

	* hurd/hurdmalloc.c: Changes to bring in line with the hurd
	libthreads/malloc.c:
	(more_memory): Use assert_perror instead of MACH_CALL.
	"cthread_internals.h": Include removed.
	(realloc): Use LOG2_MIN_SIZE.
	(LOG2_MIN_SIZE): New macro.
	(realloc): Don't bother allocating a new block if the
 	new size request fits in the old one and doesn't waste any space.
  	Only free the old block if we successfully got a new one.
	[MCHECK] (struct header): New type.
	(union header): Only define if !MCHECK.
	(HEADER_SIZE, HEADER_NEXT, HEADER_FREE, HEADER_CHECK): New macros.
	[MCHECK] (MIN_SIZE): Add correct definition for this case.
	(more_memory, malloc, free, realloc): Use above macros, and add
	appropiate checks & frobs in MCHECK case.
1996-06-06 15:29:59 +00:00
Roland McGrath
92f3773b4c Thu Jun 6 02:00:42 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* Makerules (distinfo-vars): Don't write constant line to frob sources.
	* Make-dist (sources): Append $(elided-routines) and $(extra-libs)
	routines.
1996-06-06 06:05:11 +00:00
Roland McGrath
8f30ca23f7 Tue Jun 4 22:03:02 1996 Andreas Schwab <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/s_tanhl.c, sysdeps/m68k/fpu/s_tanl.c: New files.

	* sysdeps/m68k/fpu/e_acos.c, sysdeps/m68k/fpu/e_fmod.c,
 	sysdeps/m68k/fpu/k_cos.c, sysdeps/m68k/fpu/k_sin.c,
 	sysdeps/m68k/fpu/k_tan.c, sysdeps/m68k/fpu/s_atan.c,
 	sysdeps/m68k/fpu/s_frexp.c, sysdeps/m68k/fpu/s_ilogb.c,
 	sysdeps/m68k/fpu/s_isinf.c, sysdeps/m68k/fpu/s_ldexp.c,
 	sysdeps/m68k/fpu/s_modf.c: Define generic functions using FUNC and
 	float_type with appropriate defaults.

	* sysdeps/m68k/fpu/e_acosf.c, sysdeps/m68k/fpu/e_fmodf.c,
	sysdeps/m68k/fpu/k_cosf.c, sysdeps/m68k/fpu/k_sinf.c,
	sysdeps/m68k/fpu/k_tanf.c, sysdeps/m68k/fpu/s_atanf.c,
	sysdeps/m68k/fpu/s_frexpf.c, sysdeps/m68k/fpu/s_ilogbf.c,
	sysdeps/m68k/fpu/s_isinff.c, sysdeps/m68k/fpu/s_ldexpf.c,
	sysdeps/m68k/fpu/s_modff.c: Include the corresponding double
	versions with appropriate definitions to get float functions,
	instead of defining them directly.

	* sysdeps/m68k/fpu/acos.c: File removed.
	* sysdeps/m68k/fpu/asin.c: File removed.
	* sysdeps/m68k/fpu/atan.c: File removed.
	* sysdeps/m68k/fpu/atan2.c: File removed.
	* sysdeps/m68k/fpu/atanh.c: File removed.
	* sysdeps/m68k/fpu/ceil.c: File removed.
	* sysdeps/m68k/fpu/cos.c: File removed.
	* sysdeps/m68k/fpu/cosh.c: File removed.
	* sysdeps/m68k/fpu/drem.c: File removed.
	* sysdeps/m68k/fpu/exp.c: File removed.
	* sysdeps/m68k/fpu/expm1.c: File removed.
	* sysdeps/m68k/fpu/fabs.c: File removed.
	* sysdeps/m68k/fpu/fl.h: File removed.
	* sysdeps/m68k/fpu/floor.c: File removed.
	* sysdeps/m68k/fpu/fmod.c: File removed.
	* sysdeps/m68k/fpu/frexp.c: File removed.
	* sysdeps/m68k/fpu/isinf.c: File removed.
	* sysdeps/m68k/fpu/isinfl.c: File removed.
	* sysdeps/m68k/fpu/isnan.c: File removed.
	* sysdeps/m68k/fpu/isnanl.c: File removed.
	* sysdeps/m68k/fpu/ldexp.c: File removed.
	* sysdeps/m68k/fpu/log.c: File removed.
	* sysdeps/m68k/fpu/log10.c: File removed.
	* sysdeps/m68k/fpu/log1p.c: File removed.
	* sysdeps/m68k/fpu/logb.c: File removed.
	* sysdeps/m68k/fpu/pow.c: File removed.
	* sysdeps/m68k/fpu/rint.c: File removed.
	* sysdeps/m68k/fpu/sin.c: File removed.
	* sysdeps/m68k/fpu/sinh.c: File removed.
	* sysdeps/m68k/fpu/sqrt.c: File removed.
	* sysdeps/m68k/fpu/tan.c: File removed.
	* sysdeps/m68k/fpu/tanh.c: File removed.

	* sysdeps/unix/sysv/linux/syscalls.list: Add select (the syscall name
	is _newselect).
	* sysdeps/unix/sysv/linux/select.S: File removed.

	* sysdeps/unix/sysv/linux/m68k/select.S: File removed; obsolete with
	current kernels, generic linux version is fine.
1996-06-06 05:23:42 +00:00
Roland McGrath
f127cd28b5 Thu Jun 6 00:02:15 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* locale/Makefile: Add vpath for %.gperf to programs.

	* Make-dist (+tsrcs): Variable removed.
	(dist): Process $^ here instead of using $(+tsrcs).

	* sysdeps/unix/sysv/linux/Makefile (install-others): Don't set.
	($(includedir)/sys/syscall.h): Target removed.
	(sysdep_headers): Add syscall-list.h.
	($(objpfx)syscall-%.[dh]): New rule to build syscall-list.[dh].
	(generated): Add those.
	* sysdeps/unix/sysv/linux/syscall.h: Include <syscall-list.h>.

	* misc/sys/syscall.h: New file.
	* misc/Makefile (headers): Add sys/syscall.h.

	* sysdeps/unix/sysv/linux/i386/Makefile: Likewise.
1996-06-06 04:54:33 +00:00
Roland McGrath
dfe1754a55 * time/tzfile.h, time/private.h, time/zdump.c, time/zic.c,
time/africa, time/asia, time/australasia, time/europe,
 	time/northamerica, time/southamerica: Updated from ADO 96h.

	* Make-dist (all-headers): Filter $(sysdep_headers) out of $(headers).
	(try-sysdeps, +sysdep-names): Check sysdeps/libm-ieee754 too.

	* Makerules (distinfo-vars): Add sysdep_headers.
	* sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Append to
	this instead of $(headers).
	* sysdeps/unix/sysv/linux/alpha/Makefile: Likewise.

	* Make-dist [subdirs-dirs]: Don't prefix $(subdir-dirs) with
	$(subdir); we are already there.

	* sysdeps/unix/sysv/sysv4/solaris2/sparc/Dist: Removed.
1996-06-05 23:25:04 +00:00
Roland McGrath
92702b9197 Wed Jun 5 15:57:28 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* mach/Machrules: Undo last change.
	(mach-generated): List .uh and .__h files only for $(user-interfaces),
	not for each .h in $(interface-headers); server-interfaces have no .uh
	or .__h files.


	* mach/Makefile (mach/mach_interface.defs): Renamed from
	mach_interface.defs.
Wed Jun  5 15:10:58 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>

	* Make-dist [subdir-dirs]: Set vpath for %, not just %.c.

	* locale/Makefile (subdir-dirs): New variable.

Wed Jun  5 00:01:19 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
1996-06-05 20:08:20 +00:00
Miles Bader
b13aa0b866 *** empty log message ***
Wed Jun  5 15:42:51 1996  Miles Bader  <miles@gnu.ai.mit.edu>

	* mach/Machrules (%_server.uh, %_server.__h): New rules, so that the
	corrsponding .defs file with without the `_server' will be used.
	
	* mach/Makefile (mach/mach_interface.defs): Renamed from mach_interface.defs.
	(mach/memory_object_user.defs): New variable.
1996-06-05 19:51:36 +00:00
Roland McGrath
aa592a63f9 * Makerules (distinfo-vars): Add sysdep_routines.
* mach/Machrules (include-%.defs): New canned sequence.
	Change all uses of `#include <$*.defs>' in cmds to use it.
	* mach/Makefile (mach_interface.defs): New variable, set to mach.defs.

	* sysdeps/i386/dl-machine.h (elf_machine_rel): Handle RESOLVE being
	null in all cases but R_386_COPY.
	(elf_machine_rel):

	* sysdeps/unix/bsd/ultrix4/mips/Dist: Updated.
	* sysdeps/unix/bsd/ultrix4/Dist: Removed.
	* sysdeps/unix/sysv/sysv4/Dist: Updated.
	* sysdeps/unix/sysv/sco3.2.4/Dist: Removed.
	* sysdeps/unix/sysv/irix4/Dist: Updated.
	* sysdeps/unix/sysv/linux/i386/Dist: Removed.
	* sysdeps/unix/sysv/Dist: Updated.
	* sysdeps/unix/bsd/sun/sunos4/Dist: Removed.
	* sysdeps/unix/bsd/sony/newsos4/Dist: Removed.
	* sysdeps/gnu/Dist: New file.
	* sysdeps/alpha/Dist: Updated.
	* sysdeps/mach/hurd/Dist: Updated.

	* Make-dist [subdir-dirs]: Set a vpath for %.c.

	* Make-dist (README): Fix typo in cvs cmd.
1996-06-05 19:07:37 +00:00
Roland McGrath
1c384dcd5f Wed Jun 5 00:01:19 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* elf/dl-lookup.c (_dl_lookup_symbol): Fix typos in last change.
	Comment out ref to nonexistent _dl_close.
1996-06-05 04:03:34 +00:00
Roland McGrath
58e071515a * math/Makefile (libm-support, libm-calls): New variables.
(libm-routines): Construct this from those.
	(calls): New variable.
	(routines): Construct this from it.

	* resolv/res_debug.c: Add missing #include <ctype.h>.

	* sysdeps/unix/getlogin.c: Must pass struct utmp ptr to getutline_r.
	* sysdeps/unix/getlogin_r.c: Likewise.

	* sysdeps/libm-ieee754/w_hypotl.c: Fix typo.

	* sysdeps/libm-ieee754/w_cabsl.c: __cabsl_complex -> __cabs_complexl

	* math/Makefile (long-m-routines): Define recursive variable as
	$(long-m-$(long-double-fcts)).
	(long-m-yes): Put list of routines here.
	(long-c-routines, long-c-yes): Likewise.

	* sysdeps/unix/sysv/linux/schedbits.h: File removed.

	* sysdeps/i386/Makefile (long-double-fcts): New variable, set to yes.
	* sysdeps/m68k/Makefile: Likewise.

	* math/Makefile [$(long-double-fcts)!=yes] (CPPFLAGS): Append
 	-DNO_LONG_DOUBLE.
1996-06-05 03:29:45 +00:00
Roland McGrath
ee188d555b Tue Jun 4 21:01:20 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* sysdeps/mach/hurd/getlogin_r.c: New file.

Wed Jun  5 02:11:30 1996  Ulrich Drepper  <drepper@cygnus.com>

	* io/Makefile (routines): Add ttyname_r.

	* resolv/res_debug.c, resolv/resolv.h: Update from bind-4.3.4-T4A.

	* sysdeps/libm-i387/e_asinl.S, sysdeps/libm-i387/e_atan2l.S,
	sysdeps/libm-i387/e_expl.S, sysdeps/libm-i387/e_fmodl.S,
	sysdeps/libm-i387/e_log10l.S, sysdeps/libm-i387/e_logl.S,
	sysdeps/libm-i387/e_remainderl.S, sysdeps/libm-i387/e_scalbl.S,
	sysdeps/libm-i387/e_sqrtl.S, sysdeps/libm-i387/s_atanl.S,
	sysdeps/libm-i387/s_cosl.S, sysdeps/libm-i387/s_ilogbl.S,
	sysdeps/libm-i387/s_log1pl.S, sysdeps/libm-i387/s_logbl.S,
	sysdeps/libm-i387/s_scalbnl.S, sysdeps/libm-i387/s_sinl.S,
	sysdeps/libm-i387/s_tanl.S: New files.  i387 assembler versions
	of `long double' math functions.

	* sysdeps/libm-ieee754/k_standard.c: Add handling for errors
	in long double functions.

	* sysdeps/libm-ieee754/s_ilogbl.c, sysdeps/libm-ieee754/s_logbl.c,
	sysdeps/libm-ieee754/s_modfl.c:  New files.  Generic versions
	of `long double' math functions.

	* sysdeps/libm-ieee754/s_isinf.c [NO_LONG_DOUBLE]: Add string
        alias for __isinfl.

	* sysdeps/libm-ieee754/w_acoshl.c, sysdeps/libm-ieee754/w_acosl.c,
	sysdeps/libm-ieee754/w_asinl.c, sysdeps/libm-ieee754/w_atan2l.c,
	sysdeps/libm-ieee754/w_atanhl.c, sysdeps/libm-ieee754/w_cabsl.c,
	sysdeps/libm-ieee754/w_coshl.c, sysdeps/libm-ieee754/w_dreml.c,
	sysdeps/libm-ieee754/w_expl.c, sysdeps/libm-ieee754/w_fmodl.c,
	sysdeps/libm-ieee754/w_gammal.c, sysdeps/libm-ieee754/w_gammal_r.c,
	sysdeps/libm-ieee754/w_hypotl.c, sysdeps/libm-ieee754/w_j0l.c,
	sysdeps/libm-ieee754/w_j1l.c, sysdeps/libm-ieee754/w_jnl.c,
	sysdeps/libm-ieee754/w_lgammal.c, sysdeps/libm-ieee754/w_lgammal_r.c,
	sysdeps/libm-ieee754/w_log10l.c, sysdeps/libm-ieee754/w_logl.c,
	sysdeps/libm-ieee754/w_powl.c, sysdeps/libm-ieee754/w_remainderl.c,
	sysdeps/libm-ieee754/w_scalbl.c, sysdeps/libm-ieee754/w_sinhl.c,
	sysdeps/libm-ieee754/w_sqrtl.c: New files.  Wrapper functions
	around long double function implementations.

	* sysdeps/posix/ttyname_r.c (ttyname_r): Use _D_EXACT_NAMLEN
	to determine length of directory entry name.

	* posix/Makefile (routines): Add getlogin_r.
	* posix/unistd.h: Add prototype for getlogin_r.
	* sysdeps/stub/getlogin_r.c: New file.  Reentrant version of
	getlogin function, specified in P1003.1c/D6.  Stub version.
	* sysdeps/unix/getlogin.c (getlogin): Use ttyname_r instead of
	ttyname.  This avoids saving and restoring the old content.
	Also use setutent_r, getutline_r and endutent_r instead of
	accing UTMP file directly.
	* sysdeps/unix/getlogin_r.c: New file.  Reentrant version of
	getlogin function, specified in P1003.1c/D6.

Tue Jun  4 20:10:09 1996  J.T. Conklin  <jtc@cygnus.com>

	* sysdeps/libm-i387/s_finitef.S: Fix mask for exponent.

	* elf/dl-lookup.c (_dl_lookup_symbol): Grok magical undefined symbols
	_GNU_libc_dl_{open,close,symbol} and resolve them to dl functions.

	* elf/rtld.c (rtld_map): Renamed to _dl_rtld_map, made global.
	* elf/link.h: Declare _dl_rtld_map.

	* elf/dl-lookup.c (_dl_symbol_value): New function.
	* elf/link.h: Declare it.

	stdio-common/vfscanf.c: Prepare for reentrant libio.
	Used in reentrant libio.
1996-06-05 01:07:21 +00:00
Roland McGrath
f68b86cc7b Tue Jun 4 18:57:57 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* elf/dladdr.c: Remove #include <setjmp.h>, we don't use it.

	* shlib-versions: Set libdl=2.

	* elf/dl-deps.c (_dl_map_object_deps): Use a linked list of alloca'd
 	elements and then scan it to fill the single malloc'd array, instead
 	of using realloc to grow the array in the first pass.  _dl_map_object
	may do some mallocs that break our stream of reallocs, and the minimal
	realloc can't handle that.

	* elf/dl-init.c (_dl_init_next): Take argument, link_map whose
 	searchlist describes the piece of the DT_NEEDED graph to be
 	initialized.
	* elf/link.h: Update prototype.
	* sysdeps/i386/dl-machine.h (RTLD_START): Pass _dl_loaded as argument
	to _dl_init_next.
	* sysdeps/m68k/dl-machine.h: Likewise.
	* elf/dl-deps.c (_dl_open): Pass new object as arg to _dl_init_next.

	* elf/link.h (struct link_map): Add `l_reserved' member, soaking up
	extra bits in last byte.
	* elf/dl-deps.c (_dl_map_object_deps): Use that for mark bit to avoid
	putting dup elts in search list.

	* elf/dlclose.c: Use MAP->l_searchlist to find deps to close.

	* elf/dlsym.c: Don't tweak linked list.  Scope array given to
	_dl_lookup_symbol does the right thing.
Tue Jun  4 02:25:44 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
1996-06-04 23:06:02 +00:00
Roland McGrath
14d898aef6 * elf/Makefile (subdir_lib): Change this target to lib-noranlib.
(lib-noranlib): Depend on on $(extra-objs).

	* errno.h: Move __END_DECLS out of #ifdef's so it matches
	__BEGIN_DECLS.
1996-06-04 20:14:46 +00:00
Roland McGrath
a2b934be25 * stdio-common/vfprintf.c [USE_IN_LIBIO] (size_t): Don't define as
macro.  _IO_size_t is just an alias for the real size_t anyway.

	* elf/Makefile (libdl-routines): Add dladdr.
	* elf/dladdr.c: New file.
	* elf/dlfcn.h (Dl_info): New typedef.
	(dladdr): Declare it.
1996-06-04 09:29:39 +00:00
Roland McGrath
55f3aaff8c * sysdeps/libm-i387/s_finite.S: Use setne' instead of setnel'. 1996-06-04 06:56:47 +00:00
Roland McGrath
fa00327fbf * sysdeps/libm-i387/s_finite.S: Use %eax instead of %al in setnel insn.
* intl/l10nflist.c: Fix conditional on #include <argz.h>.

	* libio/stdio.h (FOPEN_MAX, FILENAME_MAX, TMP_MAX, L_tmpnam): Macros
	removed.  Instead, include <stdio_lim.h>.

	* libio/_G_config.h: New file.
	* libio/Makefile (headers): Add _G_config.h.

	* MakeTAGS (po/errlist.pot): Extract from sysdeps/gnu/errlist.c.
1996-06-04 06:48:18 +00:00
Roland McGrath
bf18dbd7fa * sysdeps/unix/sysv/linux/gnu/types.h (__KERNEL_STRICT_NAMES): Define
this macro too; current Linux kernels test that instead of
	_LINUX_TYPES_DONT_EXPORT.
1996-06-04 05:33:32 +00:00
Roland McGrath
efec1d0c47 Tue Jun 4 02:25:44 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* elf/linux-compat.c (_init): Pass reloc_addr arg to _dl_lookup_symbol.

	* elf/dl-lookup.c (_dl_lookup_symbol): Use l_searchlist.

	* elf/dl-deps.c: New file.
	* elf/Makefile (rtld-routines): Add dl-deps.
	* elf/link.h: Declare _dl_map_object_deps, _dl_open.
	* elf/rtld.c (dl_main): Use _dl_map_object_deps.
	* elf/dlopen.c: Use _dl_open.

	* elf/rtld.c (dl_main): Remove BEFORE_RTLD variable and list
	frobnication based on its value.  Detach RTLD_MAP from the chain if
	its l_opencount is zero after loading deps.

	* elf/dlfcn.h (RTLD_BINDING_MASK): New macro.

	* elf/link.h (struct link_map): Replace l_deps_loaded flag member with
	`struct link_map **l_searchlist' and `unsigned int l_nsearchlist'.
	* elf/dl-lookup.c (_dl_lookup_symbol): Make SYMBOL_SCOPE arg an array
	of two link_map ptrs.  Search the maps in the l_searchlist of each
	elt that is not null.
	* elf/dl-reloc.c (_dl_relocate_object): Pass proper SCOPE array.
	* elf/dl-runtime.c: Likewise.
	* elf/dlsym.c: Likewise.
	* elf/rtld.c (dl_main): Likewise.

	* elf/dl-minimal.c (realloc): Support realloc of the block most
	recently returned by the minimal malloc.

	* intl/localealias.c, intl/dcgettext.c [_LIBC]: Define HAVE_ALLOCA.
1996-06-04 05:18:15 +00:00
Roland McGrath
b25ae9c6a4 Tue Jun 4 00:16:03 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* sysdeps/gnu/errlist.awk: Produce N_("..."), not _N("...").

	* intl: Updated from gettext-0.10.13.
	* intl/localealias.c intl/dcgettext.c [_LIBC]: Define HAVE_ALLOCA.

	* signal/siggetmask.c: New file.  Wrapper around sigblock with
	link_warning about obsolescence.
	* signal/Makefile (routines): Add siggetmask.

	* sysdeps/gnu/errlist.awk: New file, adapted from ...
	* sysdeps/mach/hurd/errlist.awk: File removed, above file replaces it.
	* sysdeps/mach/hurd/Makefile (errlist.c): Target removed.
	* sysdeps/gnu/Makefile: New file.
	(sysdeps/gnu/errlist.c): Make the errlist.c generation rule into this.

	* manual/errno.texi (Error Codes): Add placeholder items for missing
	Linux/i386 errno codes, with perror text but no documentation.
	Some existing perror texts changed.
1996-06-04 01:41:11 +00:00
Roland McGrath
5f2eab4263 Mon Jun 3 21:03:54 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* malloc/mcheck.c (freehook, reallochook): Handle null pointer args.

	* hurd/hurdsig.c (_hurd_internal_post_signal): When setting ACT to
	`ignore, resume the thread if SS_SUSPENDED, regardless of old action.

Sun Jun  2 20:14:30 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* locale/programs/linereader.c (lr_open): Don't pass NULL to
	xstrdup; fix memory leak.
	(lr_close): Fix memory leak.

	* hurd/hurdsig.c (_hurd_internal_post_signal): When turning the action
Mon Jun  3 01:29:53 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>

	* elf/link.h (struct link_map): Replace l_deps_loaded flag member with
	`struct link_map **l_searchlist'.
	* elf/dl-lookup.c (_dl_lookup_symbol): Make SYMBOL_SCOPE arg an array
	of two link_map ptrs.  Search the maps in the l_searchlist of each
	of the two elts that is non-null.
	* elf/dl-reloc.c (_dl_relocate_object): Pass proper SCOPE array.
	* elf/dl-runtime.c: Likewise.
	* elf/dlsym.c: Likewise.
	* elf/rtld.c (dl_main): Likewise.
1996-06-03 22:46:17 +00:00
Thomas Bushnell, BSG
9f195df2d7 *** empty log message ***
Mon Jun  3 15:58:22 1996  Michael I. Bushnell, p/BSG  <mib@gnu.ai.mit.edu>

	* hurdsig.c (_hurd_internal_post_signal): When turning the action
 	for a HANDLE signal to IGNORE because the signal is blocked, clean
 	up any pending suspension left over from a call to resume.
1996-06-03 19:59:45 +00:00
Roland McGrath
710f7bab59 Mon Jun 3 00:30:35 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* elf/dl-lookup.c (_dl_lookup_symbol): Take new arg RELOC_ADDR and
	don't allow a defn resolving to that address.
	* elf/link.h: Update prototype and comment.
	* elf/dl-runtime.c (fixup): Define local `resolve' function and pass
	it to elf_machine_relplt.
	* elf/dl-reloc.c (_dl_relocate_object: resolve): Take new arg
	RELOC_ADDR and pass it through to _dl_lookup_symbol.
	* elf/do-rel.h (elf_dynamic_do_rel): Pass RESOLVE to elf_machine_rel
	instead of calling it ourselves and passing its results.
	(elf_dynamic_do_rel): RESOLVE fn takes new arg RELOC_ADDR.
	* elf/rtld.c (dl_main): Pass 0 for RELOC_ADDR to _dl_lookup_symbol.
	* sysdeps/i386/dl-machine.h (elf_machine_rel): Remove SYM_LOADADDR
	arg.  Add RESOLVE function ptr arg.  Call *RESOLVE as necessary.
	* sysdeps/m68k/dl-machine.h (elf_machine_rela): Likewise.
	* sysdeps/stub/dl-machine.h: Likewise.

	* csu/initfini.c (_fini): Add extern decl for i_am_not_a_leaf.

	* elf/dlfcn.h (dl_open_mode): Enumerated type removed.
	(RTLD_LAZY, RTLD_NOW): Define these as macros instead.
	(RTLD_GLOBAL): New macro.
	(dlopen): Take arg of type int instead of dl_open_mode.
	* elf/dlopen.c: Likewise.

	* math/math.h (_Mldbl): New macro, either produces L suffix or not.
	(M_*): Use it for these constants.
1996-06-03 04:46:40 +00:00
Roland McGrath
6c03c2cf27 * elf/dl-lookup.c (_dl_lookup_symbol): Arg NOSELF renamed to NOPLT.
Reject SHN_UNDEF defns iff NOPLT is nonzero.
	* elf/link.h (_dl_lookup_symbol): Update prototype and comment.
	* elf/dl-runtime.c (fixup): Pass 1 to _dl_lookup_symbol for NOPLT.
	* elf/dlsym.c (dlsym): Pass 0.
	* elf/rtld.c (dl_main): Likewise.
	* elf/dl-reloc.c (_dl_relocate_object: resolve): Second arg R_OFFSET
	replaced with NOPLT flag.  Pass it through to _dl_lookup_symbol.
	* elf/do-rel.h (elf_dynamic_do_rel): Update prototype of RESOLVE arg.
	Pass `elf_machine_pltrel_p (R->r_type)' result as NOPLT flag value.
	* sysdeps/i386/dl-machine.h (elf_machine_pltrel_p): New macro.
	* sysdeps/m68k/dl-machine.h (elf_machine_pltrel_p): Likewise.
	* sysdeps/stub/dl-machine.h (elf_machine_pltrel_p): Likewise.
1996-06-02 21:35:43 +00:00
Roland McGrath
9004bc202e Sun Jun 2 14:56:49 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* login/pututline_r.c: Fix typo in sizeof for DATA_TMP alloca.

	* sysdeps/generic/gnu/types.h (__clock_t): New type.

	* sysdeps/unix/sysv/linux/gnu/types.h (__clock_t, __fsid_t): Define
	using kernel types.
	* time/time.h (clock_t): Include <gnu/types.h> and define using
	__clock_t.
1996-06-02 19:47:36 +00:00