Commit Graph

644 Commits

Author SHA1 Message Date
Ulrich Drepper
917fd06163 Update.
2000-09-15  Ulrich Drepper  <drepper@redhat.com>

	* elf/Makefile (distribute): Add nextmod1.c and nextmod2.c.
	(tests): Add next.
	(modules-names): Add nextmod1 and nextmod2.
	Add rules to build and run next.
	* elf/next.c: New file.
	* elf/nextmod1.c: New file.
	* elf/nextmod2.c: New file.

2000-09-14  Jakub Jelinek  <jakub@redhat.com>

	* elf/dl-lookup.c (_dl_lookup_symbol_skip): Fix a typo.
2000-09-15 17:35:04 +00:00
Ulrich Drepper
ea4d748699 (_dl_lookup_symbol_skip): Fix a typo. 2000-09-15 17:06:43 +00:00
Ulrich Drepper
09022115c1 Update.
* elf/elf.h: Add missing official relocations.
2000-09-14 02:57:10 +00:00
Ulrich Drepper
48da109259 Update.
* elf/dl-load.c (lose): Decrement _nl_loaded.
	(_dl_map_object_from_fd): Don't try to dlopen executables.
2000-09-08 05:49:02 +00:00
Ulrich Drepper
e39e69563a Update.
* elf/Makefile (all-rtld-routines): Evaluate $(sysdep-rtld-routines)
	too.
	* sysdeps/powerpc/Makefile (sysdep-rtld-routines): New variable.
	(sysdep_routines): Remove dl-start.
	Patches by Franz Sirl <Franz.Sirl-kernel@lauterbach.com>.
2000-09-07 21:34:51 +00:00
Andreas Jaeger
6ce42684c4 * locale/programs/ld-collate.c (handle_ellipsis): Fix typo.
* elf/dl-load.c (_dl_map_object_from_fd): Likewise. 
Reported by GOTO Masanori <gotom@debian.or.jp>.
2000-09-07 09:16:34 +00:00
Ulrich Drepper
b79f74cd62 Update.
2000-09-03  Bruno Haible  <haible@clisp.cons.org>

	* charmaps/EUC-TW: Add commented non-reversible mappings.

2000-09-03  Bruno Haible  <haible@clisp.cons.org>

	* charmaps/CP949: New file.

2000-09-03  Bruno Haible  <haible@clisp.cons.org>

	* charmaps/GB2312: Remove 0x80..0xA0, 0xAA..0xAF, 0xF8..FF.

2000-09-03  Bruno Haible  <haible@clisp.cons.org>

	* charmaps/EUC-JP: Nonreversibly map 0xA1C0 to U+005C and 0x8FA2B7 to
	U+007E.
2000-09-05 02:41:25 +00:00
Ulrich Drepper
55e2d5c7c4 Update.
* intl/Makefile (tests): Depend in mtrace-tst-gettext.
	Make this a new rule depending on tst-gettext.out and run mtrace.
	* intl/tst-gettext.c: Call mtrace.
	* intl/tst-gettext.sh: Put MALLOC_TRACE in environment of tst-gettext.

	* elf/dl-reloc.c: Add a few more __builtin_expect.

	* configure.in: Remove --with-gettext option.

	* intl/dcigettext.c (free_mem): Correct freeing of
	_nl_domain_bindings list.
2000-08-31 21:05:59 +00:00
Ulrich Drepper
f55727ca53 Update.
* sysdeps/generic/ldsodefs.h: Add declaration for _dl_all_dirs and
	_dl_all_init_dirs.
	* include/link.h (struct r_search_path_struct): New.
	(struct link_map): Use it for l_rpath_dirs and l_runpath_dirs.
	* elf/Versions [ld] (GLIBC_2.2): Add _dl_all_dirs and
	_dl_all_init_dirs.
	* elf/dl-close.c (_dl_close): Free l_rpath_dirs and l_runpath_dirs.
	* elf/dl-libc.c (free_mem): Free _dl_all_dirs list except elements
	added at startup time.
	* elf/dl-load.c: Fix memory handling.  r_search_path_struct
	contains element to remember fact that we can free memory.
	(all_dirs): Renamed to _dl_all_dirs.  Made global.
	(_dl_init_all_dirs): New variable.
	(fillin_rpath): Save one malloc call.
	(decompose_rpath): Change interface.  New first parameter points to
	r_search_path_struct.
	(_dl_init_paths): Adjust for changes.  Mark all memory as not
	deletable.  Set _dl_init_all_paths value.
	(open_path): Remove may_free_dirs parameter.  r_search_path_elem ***
	parameter replaced with r_search_path_struct *.  Information about
	freeing now contained in r_search_path_struct.
	(_dl_map_object): Adjust for above changes.

	* elf/dl-open.c (dl_open_worker): Change format of debug info a bit.
2000-08-31 02:27:07 +00:00
Ulrich Drepper
4a6d11984d Update.
* elf/dl-load.c (fillin_rpath): Only check for trusted directories
	when adding new entries.
2000-08-31 00:20:09 +00:00
Ulrich Drepper
32ee8d952f Update.
* elf/dl-load.c (fillin_rpath): Make local copy of where string
	since the object being loaded can be unloaded.
2000-08-30 23:42:45 +00:00
Ulrich Drepper
04ea3b0fbb Update.
2000-08-27  Bruno Haible  <haible@clisp.cons.org>

	* string/strxfrm.c (strxfrm, wcsxfrm): Include <sys/param.h>.
	If nrules == 0 and srclen < n, copy only srclen + 1 characters.

	* sysdeps/generic/getdomain.c (getdomainname): Include <sys/param.h>.
	If the result is fits in the buffer, copy only as many bytes as needed.

	* sysdeps/generic/_strerror.c (__strerror_r): Don't zero-fill the
	buffer after copying numbuf into it.
	* sysdeps/mach/_strerror.c (__strerror_r): Likewise.

2000-08-27  Bruno Haible  <haible@clisp.cons.org>

	* posix/confstr.c (confstr): When string_len > len, NUL-terminate
	the result.  When string_len < len, don't clear the rest of the buffer.

2000-08-27  Bruno Haible  <haible@clisp.cons.org>

	Support for new LC_COLLATE format.
	* locale/coll-lookup.h: New file.
	* locale/weightwc.h (findidx): When size == 0, call
	collidx_table_lookup.
	* wcsmbs/wcscoll.c: Include coll-lookup.h.
	* wcsmbs/wcsxfrm.c: Likewise.
	* posix/fnmatch.c: Likewise.
	* posix/fnmatch_loop.c (internal_fnwmatch): When size == 0, call
	collseq_table_lookup.
	* locale/programs/3level.h: New file.
	* locale/programs/ld-ctype.c: (wcwidth_table, wctrans_table): Define
	by including "3level.h".
	* locale/programs/ld-collate.c (wchead_table, collidx_table,
	collseq_table): New types, defined by including "3level.h".
	(locale_collate_t): New wcheads_3level, wcseqorder_3level fields.
	(encoding_mask, encoding_byte): Remove.
	(utf8_encode): Use simple shifts instead.
	(collate_finish): When !oldstyle_tables, set plane_size and plane_cnt
	to 0, and initialize and fill wcheads_3level and wcseqorder_3level.
	(collate_output): New local variable tablewc_3level. When
	!oldstyle_tables, set table_size to 0 and names to NULL and fill
	tablewc_3level instead of tablewc. Change format of TABLEWC and
	COLLSEQWC entries written to the file.
	* locale/C-collate.c (collseqwc): Change format.
	(_nl_C_LC_COLLATE): Set HASH_SIZE and HASH_LAYERS to 0, change format
	of COLLSEQWC.
	* locale/Makefile (distribute): Add coll-lookup.h, programs/3level.h.

2000-08-27  Bruno Haible  <haible@clisp.cons.org>

	* locale/programs/ld-ctype.c (MAX_CHARNAMES_IDX): New macro.
	(locale_ctype_t): New charnames_idx field.
	(ctype_startup): Initialize charnames_idx field.
	(find_idx): Speed up dramatically by using charnames_idx inverse table.

2000-08-27  Bruno Haible  <haible@clisp.cons.org>

	* locale/C-ctype.c: Switch to new locale format.
	(_nl_C_LC_CTYPE_names): Remove array.
	(STRUCT_CTYPE_CLASS): New macro.
	(_nl_C_LC_CTYPE_class_{upper,lower,alpha,digit,xdigit,space,print,
	graph,blank,cntrl,punct,alnum}, _nl_C_LC_CTYPE_map_{toupper,tolower}):
	New three-level tables.
	(_nl_C_LC_CTYPE_width): Change from array to three-level table.
	(_nl_C_LC_CTYPE): Fix nstrings value. Set HASH_SIZE and HASH_LAYERS
	to 0. Change WIDTH format. Set CLASS_OFFSET and MAP_OFFSET. Add
	12 class tables and 2 map tables at the end.
	* ctype/ctype-info.c (_nl_C_LC_CTYPE_names): Remove declaration.
	(_nl_C_LC_CTYPE_class_{upper,lower,alpha,digit,xdigit,space,print,
	graph,blank,cntrl,punct,alnum}, _nl_C_LC_CTYPE_map_{toupper,tolower}):
	New declarations.
	(b): Remove trailing semicolon.
	(__ctype_names, __ctype_width): Don't initialize.
	(__ctype32_wctype, __ctype32_wctrans, __ctype32_width): Initialize.

2000-08-27  Bruno Haible  <haible@clisp.cons.org>

	* elf/dl-load.c (open_path): Add a argument telling whether *dirsp
	is guaranteed to be allocated with the same malloc() and may be
	passed to free().
	(_dl_map_object): Update open_path calls. If rtld_search_dirs has
	been set to empty by an earlier open_path call, don't pass it again.
2000-08-29 01:20:23 +00:00
Ulrich Drepper
b35e21f43f Update.
* elf/Versions [ld] (GLIBC_2.2): Export _dl_debug_files.
	* elf/dl-close.c (_dl_close): Print debug message if object is not
	unloaded.
	* elf/dl-open.c (dl_open_worked): Print message about opencount before
	returning to caller.
2000-08-28 08:32:23 +00:00
Ulrich Drepper
6a72ae2124 Update.
* sysdeps/unix/sysv/linux/powerpc/syscalls.list: Add getdents64
	syscall.
2000-08-27 03:28:06 +00:00
Ulrich Drepper
2b7238dda8 Update.
2000-08-26  Ulrich Drepper  <drepper@redhat.com>

	* elf/Makefile (distribute): Add unloadmod.c, reldepmod1.c,
	reldepmod2.c, reldepmod3.c, and reldepmod4.c.
	(tests): Add unload, reldep, reldep2, and reldep3.
	(modules-names): Add unloadmod, reldepmod1, reldepmod2, reldepmod3,
	and reldepmod4.
	Add rules to build and run unload, reldep, reldep2, and reldep3.
	* elf/dl-lookup.c (_dl_lookup_symbol): Add new parameter explicit.
	Don't create relocation dependency if it is nonzero.
	(_dl_lookup_symbol_skip): Remove relocation dependency stuff.  This
	can never happen here.
	(_dl_lookup_versioned_symbol): Add new parameter explicit.
	Don't create relocation dependency if it is nonzero.
	(_dl_lookup_versioned_symbol_skip): Remove relocation dependency
	stuff.  This can never happen here.
	* sysdeps/generic/ldsodefs.h: Change prototypes.
	* elf/dl-reloc.c (RESOLVE_MAP): Pass 0 in explicit parameter to
	_dl_lookup_up and _dl_lookup_versioned_symbol.
	(RESOLV): Likewise.
	* elf/dl-runtime.c (fixup): Likewise.
	(profile_fixup): Likewise.
	* elf/dl-libc.c (do_dlsym): Pass 1 in explicit parameter to
	_dl_lookup_symbol.
	* elf/dl-symbol.c (_dl_symbol_value): Likewise.
	* elf/rtld.c (dl_main): Likewise.
	* elf/dl-sym.c (_dl_sym): Pass 1 in explicit parameter to
	_dl_lookup_symbol if handle is not RTLD_DEFAULT.  Always compute
	and pass down the caller map.
	(_dl_vsym): Likewise.
	* elf/reldep.c: New file.
	* elf/reldep2.c: New file.
	* elf/reldep3.c: New file.
	* elf/reldepmod1.c: New file.
	* elf/reldepmod2.c: New file.
	* elf/reldepmod3.c: New file.
	* elf/reldepmod4.c: New file.
	* elf/unload.c: New file.
	* elf/unloadmod.c: New file.

	* elf/do-lookup.h: Remove unused undef_name parameter.
	* elf/dl-lookup.c: Adjust callers.
2000-08-26 23:41:19 +00:00
Ulrich Drepper
ad7534c8f0 Update.
2000-08-25  Ulrich Drepper  <drepper@redhat.com>

	* elf/Makefile (LDFLAGS-nodelete): Add -rdynamic.
	* elf/nodelete.c (fini_ran): New global variable.
	(do_test): Before every dlclose call clear fini_ran and test
	afterwards that it is not set by the destructors.
	* elf/nodelmod1.c: Add destructor which sets fini_ran.
	* elf/nodelmod2.c: Likewise.
	* elf/nodelmod4.c: Likewise.
2000-08-25 19:33:19 +00:00
Ulrich Drepper
7045878b04 Update.
* elf/dl-close.c (_dl_close): Don't run destructors of objects
	marked DF_1_NODELETE.
2000-08-25 16:48:42 +00:00
Ulrich Drepper
32b4fe6a63 Update.
* elf/Makefile (distribute): Add dl-osinfo.h.
	* sysdeps/generic/dl-osinfo.h: New file.
	* sysdeps/unix/sysv/linux/dl-osinfo.h: New file.
	* sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Use DL_SYSDEP_OSCHECK
	if defined.
	* sysdeps/unix/sysv/linux/init-first.c: Perform kernel version test
	only for !SHARED case.  Get the code from dl-osinfo.h.
2000-08-22 17:48:22 +00:00
Andreas Jaeger
ae24ce1f56 Include <stdio.h> for puts prototype. 2000-08-19 08:30:28 +00:00
Ulrich Drepper
752a2a50d4 Update.
2000-08-19  Ulrich Drepper  <drepper@redhat.com>

	* elf/Versions [ld] (GLIBC_2.2): Export _dl_check_map_versions.
	* elf/dl-deps.c (_dl_map_object_deps): If object was dependency of
	a dynamically loaded object remove old l_initfini list.
	* elf/dl-libc.c (free_mem): Used as __libc_subfreeres callback to
	remove some dynamically allocated memory blocks in the dynamic
	loading data structures.
	* elf/dl-load.c (add_name_to_object): Initialize dont_free to 0.
	* elf/dl-open.c (dl_open_workder): Don't call _dl_check_all_versions.
	Instead call _dl_check_map_versions only for the dependencies.
	* elf/rtld.c: Avoid unneccessary initializations.  Mark l_libname
	information of initial objects as not free-able.
	* sysdeps/generic/ldsodefs.h (struct libname_list): Add dont_free
	element.

	* elf/filter.c: Call mtrace.
	* elf/restest1.c: Likewise.  Close the objects.
	* elf/loadtest.c: Call mtrace.  Check result of dlclose.  Print more
	debug information.

	* elf/constload1.c: Add comment explaining not freed memory.
2000-08-19 07:17:09 +00:00
Ulrich Drepper
003715fa0d [ld] (GLIBC_2.2): Export _dl_check_map_versions. 2000-08-19 07:06:50 +00:00
Ulrich Drepper
0f6b172f72 Update.
2000-08-17  Ulrich Drepper  <drepper@redhat.com>

	* stdio-common/printf_fp.c: Fix chars_needed computation.
	Patch by Greg McGary <greg@mcgary.org>.

2000-08-17  Jakub Jelinek  <jakub@redhat.com>

	* elf/dl-load.c (_dl_map_object): Don't crash if both loader and
	_dl_loaded are NULL.

2000-08-17  Jakub Jelinek  <jakub@redhat.com>

	* manual/arith.texi (feholdexcept): Returns 0 on success.

2000-08-17  Andreas Jaeger  <aj@suse.de>

	* sysdeps/gnu/net/if.h (struct ifreq): Add ifru_newname.
	(ifr_newname): New.
	Reported by Andi Kleen <ak@suse.de>.

2000-08-17  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/alpha/fpu/fedisblxcpt.c: New file.
	* sysdeps/alpha/fpu/feenablxcpt.c: New file.
	* sysdeps/alpha/fpu/fegetexcept.c: New file.

2000-08-16  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/xstatconv.c (xstat32_conv): Test sizes
	of buf->st_ino and kbuf->st_ino, not __st_ino.
	If _HAVE_STAT64___ST_INO is not defined, don't use __st_ino at all.
	* sysdeps/unix/sysv/linux/getdents64.c: Change path in #include
	directive so that only linux/getdents.c is used, not some
	architecture specific one.

2000-08-16  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/i386/fpu/fegetexcept.c (fegetexcept): Return currently
	enabled, not disabled exceptions.
	* sysdeps/i386/fpu/fedisblxcpt.c (fedisableexcept): Likewise.
	* sysdeps/i386/fpu/feenablxcpt.c (feenableexcept): Likewise.

	($(addprefix $(objpfx),$(tests)),
	$(addprefix $(objpfx),$(librt-tests))):
	* include/link.h: Undo last patches.  Hurd now has stat64.
2000-08-17 19:36:13 +00:00
Ulrich Drepper
1ebba33ece Update.
2000-08-15  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/generic/ldsodefs.h: Declare _nl_nloaded.
	* elf/Versions [ld] (GLIBC_2.2): Add _nl_nloaded.
	* elf/dl-support.c: Define _nl_nloaded.
	* elf/rtld.c: Likewise.  Increment _nl_nloaded for rtld itself.
	* elf/dl-object.c (_dl_new_object): Increment _nl_nloaded after adding
	object to global list.
	* elf/dl-close.c (_dl_close): Decrement _nl_nloaded after removing
	from _dl_loaded list.
	* elf/dl-load.c (_dl_map_object_from_fd): Likewise.
	* elf/dl-fini.c (_dl_fini): Use _nl_nloaded instead of computing the
	number here.

	* sysdeps/i386/fpu/fedisblxcpt.c (fedisableexcept): Mask, not
	unmask, exceptions.
	* sysdeps/i386/fpu/feenablxcpt.c (feenableexcept): Unmask, not mask,
	exceptions.
	Reported by Harvey J. Stein <hjstein@bfr.co.il>.
2000-08-16 06:30:08 +00:00
Andreas Jaeger
6de979d182 (EM_X8664): Add official x86-64 specific value. 2000-08-16 05:40:29 +00:00
Ulrich Drepper
5763742fc7 Update.
2000-08-15  Ulrich Drepper  <drepper@redhat.com>

	* include/link.h: Undo last patches.  Hurd now had stat64.
	* elf/Makefile: Likewise.
	* elf/dl-load.c: Likewise.
	* elf/dl-misc.c: Likewise.
	* elf/dl-profile.c: Likewise.
	* sysdeps/generic/sysd-link.h: Removed.
	* sysdeps/unix/sysv/linux/sysd-link.h: Removed.

	* rt/aio_notify.c (notify_func_wrapper): Wrapper function to call
	thread event callback function.
	(__aio_notify_only): Use function above.
	Patch by Kaz Kylheku <kaz@ashi.footprints.net>.
2000-08-16 01:28:07 +00:00
Ulrich Drepper
805d2e7d47 Update.
* elf/constload1.c: Call mtrace.  Check return value of dlclose call.
	* elf/constload2.c: Add destructor to unload constload3.
2000-08-15 08:23:49 +00:00
Ulrich Drepper
fc7f617d30 Update.
* include/link.h: Include sysd-link.h.
	* sysdeps/generic/sysd-link.h: New file.
	* sysdeps/unix/sysv/linux/sysd-link.h: New file.
	* elf/Makefile (distribute): Add sysd-link.h.
	* elf/dl-load.c: Use definitions from sysd-link.h instead of stat
	types and functions directly.
	* elf/dl-misc.c: Likewise.
	* elf/dl-profile.c: Likewise.

	* elf/loadfail.c (main): Close all successfully loaded objects.
2000-08-15 08:06:15 +00:00
Ulrich Drepper
07a3d63e52 Update.
2000-08-15  Ulrich Drepper  <drepper@redhat.com>

	* elf/multiload.c: Add mtrace call.  Call dlclose for all handles and
	free wd.
	* elf/dl-deps.c (_dl_map_object_deps): Don't allocate needed list if
	there is already one.

	* elf/dl-close.c: Pretty print.
2000-08-15 07:06:23 +00:00
Andreas Schwab
bce0e5172b * elf/nodelete.c (do_test): Remove reference to undefined member
sa_restorer.
	* rt/tst-aio4.c (do_test): Likewise.
2000-08-09 09:17:42 +00:00
Ulrich Drepper
74dd1fee1c Update.
* sysdeps/ia64/Dist: Add _mcount.S.

	* sysdeps/unix/sysv/linux/ia64/Dist: Add clone.S.

	* sysdeps/unix/sysv/linux/mips/Dist: Add _test_and_set.c.

	* elf/Makefile (distribute): Add missing modules.
2000-08-02 22:44:39 +00:00
Andreas Jaeger
7daf1a1b35 * elf/elf.h (EM_S390): Added.
(R_390_*): New relocs for S390.
2000-08-02 16:07:29 +00:00
Ulrich Drepper
925e31d9c2 Update.
2000-08-01  Ulrich Drepper  <drepper@redhat.com>
	    Joseph S. Myers  <jsm28@cam.ac.uk>

	* math/tgmath.h: Make standard compliant.  Don't ask how.

2000-07-04  H.J. Lu  <hjl@gnu.org>

	* elf/Makefile ($(inst_slibdir)/$(rtld-version-installed-name)):
	Use $(do-install-program) instead of "$(INSTALL_PROGRAM) $< $@.new".
	($(inst_slibdir)/$(rtld-installed-name)): Use $(make-shlib-link) only.

2000-07-30  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>

	* include/features.h (_XOPEN_SOURCE): Update the explanation.
	(__USE_LARGEFILE): Add an explanation.
	(_POSIX_C_SOURCE): Define to 2 only if _XOPEN_SOURCE < 500.
	(__USE_XOPEN2K): Define whenever _XOPEN_SOURCE >= 600.

2000-08-01  Ulrich Drepper  <drepper@redhat.com>

	* libio/Makefile: Enable exception handling for genops, wgenops,
	fileops, and wfileops.
2000-08-01 22:53:40 +00:00
Andreas Jaeger
5cc90078d4 Update.
2000-08-01  Andreas Jaeger  <aj@suse.de>

	* hesiod/Makefile (distribute): Add nss_hesiod/nss_hesiod.h.

	* elf/Makefile (distribute): Add filtmod1.c and filtmod2.c.

	* wctype/Makefile (distribute): Add wchar-lookup.h.

	* sysdeps/generic/Dist: Add bp-checks.h.

	* iconvdata/Makefile (distribute): Add isiri-3342.h.
2000-08-01 13:06:28 +00:00
Ulrich Drepper
5de7684b22 (_dl_map_object): Take loader==NULL into account in DF_1_NODEFLIB handling. 2000-07-21 21:04:40 +00:00
Andreas Jaeger
10b36b41d2 Update.
* elf/Makefile ($(test-modules)): Exclude filtmod1.so, it has its
	own rule.
2000-07-21 13:23:36 +00:00
Ulrich Drepper
137bca87e7 Rewrite rules to generate filtmod1.so. 2000-07-21 07:21:02 +00:00
Ulrich Drepper
fcacb36a0c Update.
* elf/Makefile (tests): Add filter.  Add rules to generate filter.
	* elf/filter.c: New file.
	* elf/filtmod1.c: New file.
	* elf/filtmod2.c: New file.
2000-07-21 06:58:27 +00:00
Ulrich Drepper
f53c03c20d Update.
* elf/rtld.c: Define _dl_bind_not variable.
	(process_envvars): Recognize LD_BIND_NOT and set _dl_bind_not.
	* elf/dl-support.c: Likewise.
	* sysdeps/generic/ldsodefs.h: Declare _dl_bind_not.
	* elf/dl-runtime.c (fixup): Don't remember looked up value if
	_dl_bind_not.
	(profile_fixup): Likewise.
2000-07-21 06:43:05 +00:00
Ulrich Drepper
266bb989e0 Update.
* elf/dl-load.c (_dl_map_object): Implement handling of
	DF_1_NODEFLIB.
2000-07-21 05:07:54 +00:00
Ulrich Drepper
2cb8cefbd4 Update.
* elf/Makefile: Add no modules for nodelete test.
	* elf/nodelmod3.c: New file.
	* elf/nodelmod4.c: New file.
	* elf/nodelete.c: Also test case where dependency of dlopen() object
	is marked nodelete.

	* elf/nodlopen.c: New file.
	* elf/nodlopenmod.c: New file.
2000-07-21 04:42:21 +00:00
Ulrich Drepper
2f54c82dac Update.
* elf/Makefile (tests): Add nodlopen.  Add rules to generate nodlopen.
	* include/dlfcn.h: Define __RTLD_DLOPEN.
	* elf/dl-load.c (_dl_map_object_from_fd): If DF_1_NOOPEN is set
	and this is a dlopen() call, do not load the binary.
	* dlfcn/dlopen.c: Add __RTLD_DLOPEN to mode passed down to _dl_open.
	* dlfcn/dlopenold.c: Likewise.
	* configure.in: Add test for -z nodelete option.
	* config.make.in: Define have-z-nodelete with libc_cv_z_nodelete.

2000-07-20  Mark Kettenis  <kettenis@gnu.org>

	Make Hesiod NSS module thread-safe.

	* hesiod/README.hesiod: Update.

	* hesiod/Versions [GLIBC_2.2]: Add _nss_hesiod_getservbyport_r,
	_nss_hesiod_setprotoent, _nss_hesiod_endprotoent,
	_nss_hesiod_getprotobyname_r, and _nss_hesiod_getprotobynumber_r.
	* hesiod/Makefile (libnss_hesiod-routines): Add hesiod-init and
	hesiod-proto.
	* hesiod/nss_hesiod/hesiod-init.c: New file.
	* hesiod/nss_hesiod/hesiod-pwd.c: Rewritten for thread-safeness.
	* hesiod/nss_hesiod/hesiod-grp.c: Likewise.
	* hesiod/nss_hesiod/nss_hesiod.h: New file.
	* hesiod/nss_hesiod/hesiod-service.c
	(_nss_hesiod_getservbyport_r): New function.  Provide support for
	looking up services by port number.
	* hesiod/nss_hesiod/hesiod-proto.c: New file.

	* hesiod/hesiod.c: Update from BIND 8.2.3-T5B.
	* hesiod/hesiod.h: Likewise.
	* hesiod/hesiod_p.h: Likewise.

2000-07-20  Mark Kettenis  <kettenis@gnu.org>

	Fix problems with `struct __res_state' getting too big.
	* resolv/resolv.h (struct __sockaddr_in): New definition.
	(struct __res_state): Use __sockaddr_in instead of sockaddr_in in
	the private parts of the structure to save some space.
	* resolv/res_send.c (res_nsend): Cast &EXT(statp).nsaddrs[ns] to
	(struct sockaddr_in *) in call to sock_eq.
	Use memcpy to copy statp->nsaddr_list[ns] to &EXT(statp).nsaddrs[ns].

2000-07-20  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/mach/hurd/dl-sysdep.c: Likewise.
2000-07-21 04:12:25 +00:00
Ulrich Drepper
0fb7851fce Update.
* elf/Makefile (tests): Add $(tests-nodelete-$(have-z-nodelete)).
	(tests-nodelete-yes): Define.
	(modules-names): Add $(modules-nodelete-$(have-z-nodelete)).
	Add rules to build nodelete and modules.
	* elf/nodelete.c: New file.
	* elf/nodelmod1.c: New file.
	* elf/nodelmod2.c: New file.
	* configure.in: Add test for -z nodelete option.
	* config.make.in: Define have-z-nodelete with libc_cv_z_nodelete.
2000-07-21 00:15:14 +00:00
Ulrich Drepper
bf8b3e74bf Update.
* elf/elf.h: Add various DF_1_*, DTF_1_*, and DF_P1_* entries.
	* elf/dl-close.c (_dl_close): Don't close an object if it is marked
	with nodelete.
	* elf/dl-open.c (dl_open_worker): Pass RTLD_NOLOAD as new parameter
	to _dl_map_object.  Return immediately if no object loaded.
	Set DF_1_NODELETE bit in l_flags_1 if RTLD_NODELETE was passed.
	* elf/dynamic-link.h (elf_get_dynamic_info): Copy DT_FLAGS_1 entry
	if it exists into l_flags_1 word.
	* elf/dl-load.c (_dl_map_object_from_fd): Take no parameter and use
	it to determine whether loading is wanted or not.
	(_dl_map_object): Likewise.
	Call _dl_map_object_from_fd with new parameter.
	* sysdeps/generic/ldsodefs.h: Update prototype.
	* elf/dl-deps.c: Add new parameter to _dl_map_object calls.
	* elf/rtld.c: Likewise.
	* elf/Makefile (tests): Add noload.  Add rules to generate noload.
	* elf/noload.c: New file.
	* include/link.h (struct link_map): Add l_feature_1 and l_flags_1.
	* sysdeps/generic/bits/dlfcn.h: Define RTLD_NOLOAD and RTLD_NODELETE.
	* sysdeps/mips/bits/dlfcn.h: Likewise.
2000-07-20 22:53:54 +00:00
Ulrich Drepper
5e61ef8848 (tests): Add noload. Add rules to generate noload. 2000-07-20 22:21:58 +00:00
Ulrich Drepper
e6574c9ca2 Update.
2000-07-18 Kaz Kylheku <kaz@ashi.footprints.net>

	* spinlock.c (__pthread_alt_lock, __pthread_alt_timedlock): Fixed
	bug whereby thr field of waitnode structure would not be correctly
	set unless a null self pointer is passed to the functions.
	Eliminated redundant calls to thread_self().
2000-07-18 17:18:38 +00:00
Greg McGary
7884bf473e * elf/dl-runtime.c (fixup): Trampoline passes unbounded pointer.
(profile_fixup): Don't define for __BOUNDED_POINTERS__. 
* sysdeps/i386/dl-machine.h: Don't use regparm attribute for 
__BOUNDED_POINTERS__. 
(ELF_MACHINE_RUNTIME_TRAMPOLINE): Use non-regparm version 
for __BOUNDED_POINTERS__.
	* iconv/gconv_trans.c: Add #include <stdlib.h> to get malloc decl.

	* elf/dl-runtime.c (fixup): Trampoline passes unbounded pointer.
	(profile_fixup): Don't define for __BOUNDED_POINTERS__.
	* sysdeps/i386/dl-machine.h: Don't use regparm attribute for
	__BOUNDED_POINTERS__.
	(ELF_MACHINE_RUNTIME_TRAMPOLINE): Use non-regparm version
	for __BOUNDED_POINTERS__.
2000-07-18 00:13:34 +00:00
Ulrich Drepper
8114530a31 Update.
2000-07-17  Bruno Haible  <haible@clisp.cons.org>

	* iconv/gconv_open.c (__gconv_open): Initialize the __data
	field of struct __gconv_trans_data differently.  Don't pass NULL to
	trans_init_fct.  Simplify list append operation.

2000-07-14  Bruno Haible  <haible@clisp.cons.org>

	* intl/dcigettext.c (dcigettext): Call plural_eval on all platforms,
	not only those having tsearch.

2000-07-17  Ulrich Drepper  <drepper@redhat.com>

	* locale/langinfo.h: Add placeholder values in enum for removed
	LC_CTYPE entries.

2000-07-17  Jakub Jelinek  <jakub@redhat.com>

	* elf/dl-addr.c (_dl_addr): Keep searching in the _dl_loaded
	chain if the PHDR check fails.

2000-07-17  Mark Kettenis  <kettenis@gnu.org>

	* nss/getent.c (print_hosts): Make sure we always print a space
	between numeric addresses and hostnames.

2000-07-17  Wolfram Gloger  <wg@malloc.de>

	* malloc/malloc.c (chunk_alloc): Use mmap_chunk() only if allowed,
	i.e. if n_mmaps_max>0.

2000-07-16  Mark Kettenis  <kettenis@gnu.org>

	* resolv/netdb.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Adjust
	values to remove possible clash with other AI_* constants.
	(AI_PASSIVE, AI_CANONNAME, AI_NUMERICHOST): Define as
	hexadecimal constants to stress the fact they're in fact
	bit flags.

2000-07-15  Mark Kettenis  <kettenis@gnu.org>

	* nss/getXXent_r.c [NEED__RES]: Include <resolv.h>.
	(SETFUNC_NAME, ENDFUNC_NAME, REENTRANT_GETNAME): Use res_ninit
	instead of res_init.
2000-07-17 22:09:30 +00:00
Ulrich Drepper
ca3c013564 Update.
* elf/Versions (ld): Export _dl_out_of_memory for GLIBC_2.2.
	* dlfcn/dlerror.c (dlerror): Don't free the error string if it is the
	report that we are out of memory.
	* elf/dl-deps.c (_dl_map_object_deps): Likewise.
	* elf/dl-libc.c (dlerror_run): Likewise.
	* elf/dl-open.c (_dl_open): Likewise.
	* elf/rtld.c (dl_main): Likewise.
	* elf/dl-error.c: Define _dl_out_of_memory.
	(_dl_signal_error): Return _dl_signal_error if we cannot duplicate
	the error string.
	* sysdeps/generic/ldsodefs.h: Declare _dl_out_of_memory.

	* dlfcn/dlerror.c (free_key_mem): Also free error string.

	* iconv/loop.c: Fix comment.
2000-07-13 19:46:27 +00:00
Ulrich Drepper
8ca91b369d Update.
2000-07-12  Andreas Jaeger  <aj@suse.de>

	* elf/Makefile (SYSCONF-FLAGS): Added to pass sysconfdir to
	compiler.
	(CFLAGS-cache.c): Added, uses SYSCONF-FLAGS.
	(CFLAGS-dl-cache.c): Likewise.
	(CFLAGS-ldconfig.c): Added, passes directory locations.

	* sysdeps/generic/dl-cache.h (LD_SO_CACHE): Use SYSCONFDIR to
	locate cache.
	* elf/ldconfig.c (LD_SO_CONF): Likewise.
	(main): Use configured LIBDIR and SLIBDIR.

2000-07-11  Jakub Jelinek  <jakub@redhat.com>

	* math/bits/cmathcalls.h (cimag): Add __THROW.
	(creal, conj): Likewise.
	* wctype/wctype.h (_ISwbit): Avoid warnings about shifting left
	by negative value.
2000-07-12 21:10:41 +00:00
Ulrich Drepper
47a81620ad Update.
2000-07-09  Mark Kettenis  <kettenis@gnu.org>

	* elf/rtld.c (dl_main): Move call to __libc_check_standard_fds...
	* sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): ... to here.

2000-07-10  Ulrich Drepper  <drepper@redhat.com>

	* include/features.h: Include ISO C99 features if the compiler used
	is an ISO C99 compiler.
	Patch by Joseph S. Myers <jsm28@cam.ac.uk>.

2000-07-08  Mark Kettenis  <kettenis@gnu.org>

	* iconv/gconv_conf.c: Include <bits/libc-lock.h>.
2000-07-10 20:02:00 +00:00