Commit Graph

597 Commits

Author SHA1 Message Date
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
Greg McGary
e64911d1d6 Update.
2000-08-17  Greg McGary  <greg@mcgary.org>

	* Makeconfig (link-extra-libs-bounded): Strip `-bp' suffix
	from test program name when constructing suffix for $(LDLIBS-*).
	(bounded-thread-library): New variable.
	* crypt/Makefile
	[build-shared, build-static] (libcrypt-dep): Remove variable.
	($(addprefix $(objpfx),$(tests))): Consolidate individual dependencies.
	[build-bounded] ($(tests:%=$(objpfx)%-bp)): Add dependencies.
	* linuxthreads/Makefile (libpthread, librt): Remove variables.
	(librt-tests): Add variable.  (tests): Use it.
	[build-shared, build-static]
	($(addprefix $(objpfx),$(tests)), $(addprefix $(objpfx),$(librt-tests))):
	Consolidate individual dependencies.
	[build-bounded]
	($(tests:%=$(objpfx)%-bp), $(librt-tests:%=$(objpfx)%-bp)):
	Add dependencies.
	* math/Makefile (LDLIBS-*): Remove variables (they are redundant).
	[build-bounded] ($(tests:%=$(objpfx)%-bp)): Add dependencies.
	* misc/Makefile
	[build-bounded] ($(objpfx)tst-tsearch-bp): Add dependencies.
	* rt/Makefile
	[build-shared, build-static]
	($(addprefix $(objpfx),$(tests))): Consolidate individual dependencies.
	[build-bounded] ($(tests:%=$(objpfx)%-bp)): Add dependencies.

2000-08-17  Greg McGary  <greg@mcgary.org>

	* sysdeps/generic/bp-checks.h: s/\(CHECK\w+\)opt/\1_NULL_OK/
	* sysdeps/unix/make-syscalls.sh: Likewise.
	* sysdeps/unix/sysv/linux/shmctl.c: Likewise.
	* sysdeps/unix/sysv/linux/sigprocmask.c: Likewise.
	* sysdeps/unix/sysv/linux/ia64/sigaction.c: Likewise.
	* sysdeps/unix/sysv/linux/ia64/sigprocmask.c: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc64/sigprocmask.c: Likewise.

2000-08-17  Greg McGary  <greg@mcgary.org>

	* sysdeps/i386/fpu/s_frexp.S: Check bounds.
	Wrap extern symbols in BP_SYM ().
	* sysdeps/i386/fpu/s_frexpf.S: Likewise.
	* sysdeps/i386/fpu/s_frexpl.S: Likewise.
	* sysdeps/i386/fpu/s_remquo.S: Likewise.
	* sysdeps/i386/fpu/s_remquof.S: Likewise.
	* sysdeps/i386/fpu/s_remquol.S: Likewise.
	* sysdeps/i386/fpu/s_sincos.S: Likewise.
	* sysdeps/i386/fpu/s_sincosf.S: Likewise.
	* sysdeps/i386/fpu/s_sincosl.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/clone.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/mmap64.S: Likewise.
2000-08-17 07:38:02 +00:00
Ulrich Drepper
74e61bb4e5 Declare _nl_loaded. 2000-08-16 06:22:45 +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
Mark Kettenis
724000bc4a * sysdeps/mach/hurd/i386/bits/time.h (__clockid_t, __timer_t): Remove typedefs. * sysdeps/mach/hurd/bits/time.h (__clockid_t, __timer_t): Remove typedefs. * sysdeps/generic/bits/time.h (__clockid_t, __timer_t): Remove typedefs. * sysdeps/generic/bits/types.h (__clockid_t, __timer_t): New typedefs.
* sysdeps/mach/hurd/i386/bits/time.h (__clockid_t, __timer_t):
	Remove typedefs.
	* sysdeps/mach/hurd/bits/time.h (__clockid_t, __timer_t): Remove
	typedefs.
	* sysdeps/generic/bits/time.h (__clockid_t, __timer_t): Remove
	typedefs.
	* sysdeps/generic/bits/types.h (__clockid_t, __timer_t): New typedefs.

2000-08-15  Mark Kettenis  <kettenis@gnu.org>
2000-08-15 19:01:50 +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
b8fd550293 Update.
* sysdeps/posix/ttyname.c: Make name variable from getttyname function
	global (with file scope).  Add __libc_subfreeres function to free the
	string.
	* sysdeps/unix/sysv/linux/ttyname.c: Likewise.  Also for buf variable
	in ttyname function.

	* sysdeps/generic/strtok.c: Remove initializer for olds variable.

	* crypt/md5-crypt.c: Let destructor deallocate static buffer.

	* iconvdata/sjis.c (from_ucs4_lat1): Handle U005C and U007E by
	mapping them to /x5c and /x7e respectively.
2000-08-15 06:12:25 +00:00
Ulrich Drepper
7e3399b393 Update.
* nss/Makefile: Remove rules to build and distribute nss_db.

	* sysdeps/generic/alphasort64.c: Remove unnecessary versioning.
	* sysdeps/generic/scandir64.c: Likewise.
	* sysdeps/generic/versionsort64.c: Likewise.

2000-08-13  Ulrich Drepper  <drepper@redhat.com>
2000-08-14 00:57:30 +00:00
Ulrich Drepper
451fc03299 Update.
2000-08-12  Mark Kettenis  <kettenis@gnu.org>

	* sysdeps/generic/scandir64.c: Include <dirent.h>.
2000-08-12 22:20:07 +00:00
Ulrich Drepper
56ddf355da Update.
2000-08-11  Ulrich Drepper  <drepper@redhat.com>

	* rt/aio_cancel.c: If canceling a specific request which is running
	*really* do nothing.
	* rt/aio_misc.h: Add `done' to states of a request.
	* rt/aio_misc.c: Add several tests for the correct state.
	Simplify request table memory handling.

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

	* dirent/scandir.c: Use it for scandir64 and old_scandir64 as well.
	* dirent/scandir64.c: Move...
	* sysdeps/generic/scandir64.c: ...here.
	* dirent/alphasort64.c: Move...
	* sysdeps/generic/alphasort64.c: ...here.
	* dirent/versionsort64.c: Move...
	* sysdeps/generic/versionsort64.c: ...here.
	* sysdeps/unix/sysv/linux/i386/dirent/Versions (alphasort64,
	getdirentries64, readdir64, readdir64_r, scandir64, versionsort64):
	Export symbols at GLIBC_2.2.
	* sysdeps/unix/sysv/linux/powerpc/dirent/Versions: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/dirent/Versions: Likewise.
	* include/dirent.h (__readdir64_r, __scandir64, __alphasort64,
	__versionsort64): Add prototypes.
	* io/Versions (__xstat64, __fxstat64, __lxstat64): Export at GLIBC_2.2.
	* sysdeps/unix/sysv/linux/alpha/kernel_stat.h (__xstat_conv): Remove
	unused prototype.
	* sysdeps/unix/sysv/linux/alpha/readdir.c: Export at both GLIBC_2.1
	and GLIBC_2.2.
	* sysdeps/unix/sysv/linux/alpha/readdir_r.c: Likewise.
	* sysdeps/unix/sysv/linux/alpha/getdents.c: New.
	* sysdeps/unix/sysv/linux/alpha/getdents64.c: New.
	* sysdeps/unix/sysv/linux/bits/types.h (__ino64_t): Change to
	__u_quad_t.
	* sysdeps/unix/sysv/linux/bits/stat.h (struct stat, struct stat64):
	Adjust for kernel-2.4.0-test6 layout.
	* sysdeps/unix/sysv/linux/i386/fxstat.c (__fxstat64): Export at both
	GLIBC_2.1 and GLIBC_2.2.
	* sysdeps/unix/sysv/linux/i386/lxstat.c (__lxstat64): Likewise.
	* sysdeps/unix/sysv/linux/i386/xstat.c (__xstat64): Likewise.
	* sysdeps/unix/sysv/linux/i386/getdents64.c: New.
	* sysdeps/unix/sysv/linux/i386/olddirent.h: New.
	* sysdeps/unix/sysv/linux/i386/readdir64.c: New.
	* sysdeps/unix/sysv/linux/i386/readdir64_r.c: New.
	* sysdeps/unix/sysv/linux/i386/scandir64.c: New.
	* sysdeps/unix/sysv/linux/i386/alphasort64.c: New.
	* sysdeps/unix/sysv/linux/i386/versionsort64.c: New.
	* sysdeps/unix/sysv/linux/ia64/getdents.c: New.
	* sysdeps/unix/sysv/linux/ia64/getdents64.c: New.
	* sysdeps/unix/sysv/linux/ia64/readdir.c: Include alpha/readdir.c.
	* sysdeps/unix/sysv/linux/ia64/readdir_r.c: Include alpha/readdir_r.c.
	* sysdeps/unix/sysv/linux/mips/bits/types.h (__ino64_t): Change to
	__u_quad_t.
	* sysdeps/unix/sysv/linux/powerpc/bits/stat.h: New.
	* sysdeps/unix/sysv/linux/powerpc/kernel_stat.h (_HAVE_STAT*): Define.
	* sysdeps/unix/sysv/linux/powerpc/scandir64.c: New.
	* sysdeps/unix/sysv/linux/powerpc/getdents64.c: New.
	* sysdeps/unix/sysv/linux/powerpc/readdir64.c: New.
	* sysdeps/unix/sysv/linux/powerpc/readdir64_r.c: New.
	* sysdeps/unix/sysv/linux/sparc/bits/types.h (__ino64_t): Change to
	__u_quad_t.
	* sysdeps/unix/sysv/linux/sparc/bits/stat.h: New.
	* sysdeps/unix/sysv/linux/sparc/sparc32/kernel_stat.h (_HAVE_STAT*):
	Define.
	* sysdeps/unix/sysv/linux/sparc/sparc32/getdents64.c: New.
	* sysdeps/unix/sysv/linux/sparc/sparc32/readdir64.c: New.
	* sysdeps/unix/sysv/linux/sparc/sparc32/readdir64_r.c: New.
	* sysdeps/unix/sysv/linux/sparc/sparc32/scandir64.c: New.
	* sysdeps/unix/sysv/linux/sparc/sparc64/kernel_stat.h (_HAVE_STAT*):
	Define.
	* sysdeps/unix/sysv/linux/sparc/sparc64/readdir.c: Include
	alpha/readdir.c.
	* sysdeps/unix/sysv/linux/sparc/sparc64/readdir_r.c: Include
	alpha/readdir_r.c
	* sysdeps/unix/sysv/linux/sparc/sparc64/getdents.c: New.
	* sysdeps/unix/sysv/linux/sparc/sparc64/getdents64.c: New.
	* sysdeps/unix/sysv/linux/fxstat64.c (__fxstat64): If
	_HAVE_STAT64___ST_INO and __st_ino != (uint32_t)st_ino, set
	st_ino from __st_ino.
	* sysdeps/unix/sysv/linux/lxstat64.c (__lxstat64): Likewise.
	* sysdeps/unix/sysv/linux/xstat64.c (__xstat64): Likewise.
	* sysdeps/unix/sysv/linux/xstatconv.c (xstat_conv, xstat64_conv,
	xstat32_conv): Use _HAVE_STAT* macros.  If _HAVE_STAT64___ST_INO,
	set __st_ino in addition to st_ino.
	* sysdeps/unix/sysv/linux/kernel_stat.h (_HAVE_STAT*): Define.
	* sysdeps/unix/sysv/linux/getdents.c: Use it for __getdents64 and
	__old_getdents64 as well.
	* sysdeps/unix/sysv/linux/getdirentries.c: Use it for
	getdirentries64 and old_getdirentries64 as well.
	* sysdeps/unix/sysv/linux/getdirentries64.c (GETDIRENTRIES,
	__GETDENTS): Define.
	(GETDENTS64): Remove.
	* sysdeps/unix/sysv/linux/getdents64.c (__GETDENTS, DIRENT_TYPE):
	Define.
	(GETDENTS64): Remove.
	* sysdeps/unix/sysv/linux/readdir64.c: Use sysdeps/unix/readdir.c.
	* sysdeps/unix/sysv/linux/readdir64_r.c: Use sysdeps/unix/readdir_r.c.
	* sysdeps/unix/readdir.c: Use it for readdir64 and __old_readdir64
	as well.
	* sysdeps/unix/readdir_r.c: Use it for readdir64_r and
	__old_readdir64_r as well.
	* sysdeps/unix/sysv/linux/kernel-features.h: Define
	__ASSUME_ST_INO_64_bit for kernel 2.4.1 and up.

	* sysdeps/unix/sysv/linux/ia64/bits/siginfo.h: Add SI_KERNEL define.
2000-08-12 05:14:52 +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
a535ce141f Update.
2000-07-31  H.J. Lu  <hjl@gnu.org>

	* sysdeps/generic/printf_fphex.c (__printf_fphex): Correctly
	handle the wchar_t array.
2000-08-01 03:10:27 +00:00
Greg McGary
41d998a683 Update.
2000-07-29  Greg McGary  <greg@mcgary.org>

	* Rules (test-bp-inputs, make-test-out): New variables.
	($(objpfx)%-bp.out): New rule.
	($(objpfx)%.out): Rewrite in terms of new variables.

	* libio/iovswscanf.c (vswscanf): Pass _IO_FILE_plus pointer to
	internal function that uses vtable.
	* libio/vsnprintf.c (_IO_vsnprintf): Likewise.
	* libio/vswprintf.c (_IO_vswprintf): Likewise.

	* malloc/malloc.c (mem2chunk): Define in terms of chunk_at_offset.
	(malloc_extend_top): Convert brk to chunk using chunk_at_offset.
	(chunk_align): Likewise.

	* time/asctime.c (ab_day_name, ab_month_name): Rewrite expression
	in a way that conforms to decl, and avoids spurious bounds violation.

	* sysdeps/arm/frame.h (struct layout): Make pointers __unbounded.
	* sysdeps/generic/frame.h: Likewise.
	* sysdeps/generic/backtrace.c (ADVANCE_STACK_FRAME): Wrap bounds
	around return value.
	(__backtrace): Qualify frame-pointer chain and return address
	pointers as __unbounded.  Wrap bounds around variable `current'.
	* sysdeps/generic/segfault.c (ADVANCE_STACK_FRAME): Wrap bounds
	around return value.
	(catch_segfault): Qualify frame-pointer chain and return address
	pointers as __unbounded.  Wrap bounds around variable `current'.
	* sysdeps/i386/backtrace.c (struct layout): Make pointers __unbounded.
	(ADVANCE_STACK_FRAME): Wrap bounds around return value.
	* sysdeps/powerpc/backtrace.c (struct layout): Make pointers __unbounded.
	(__backtrace): Qualify frame-pointer chain and return address
	pointers as __unbounded.  Wrap bounds around variable `current'.

	* sysdeps/i386/addmul_1.S: s2_limb is scalar so remove bounds check.
	* sysdeps/i386/mul_1.S: Likewise.
	* sysdeps/i386/submul_1.S: Likewise.
	* sysdeps/i386/i586/addmul_1.S: Likewise.
	* sysdeps/i386/i586/mul_1.S: Add bounds checks.
	* sysdeps/i386/i586/submul_1.S: Likewise.
2000-07-29 08:11:47 +00:00
Ulrich Drepper
eac4282fa6 Update.
2000-07-27  Jakub Jelinek  <jakub@redhat.com>

	* locale/indigits.h (indigit_value): Correct.
	* locale/indigitswc.h (indigitwc_value): Correct.
	* stdio-common/vfscanf.c (__vfscanf): Fix I18N number
	conversion, add GROUP checking for it, fix GROUP number
	conversion with strlen(thousands) > 1.
	Honour width correctly in the presence of floating
	decimal points and thousands separators.
	* stdio-common/tst-sscanf.c: New test.
	* stdio-common/Makefile: Add it to tests.
	* sysdeps/generic/strtol.c (strtol): Fix conversion if there are
	thousands separators and group argument is non-zero.

	Reported by Andi Kleen <ak@suse.de>.
2000-07-28 17:45:15 +00:00
Greg McGary
da8f38c504 * sysdeps/generic/bp-checks.h (BOUNDED_N): Make it work for void*.
* sysdeps/generic/bp-semctl.h (check_semctl): Fix syntax error 
in union init.  Pass zero for ignored semnum arg to semctl. 
* sysdeps/unix/sysv/linux/shmat.c (shmat): Fix typo.
2000-07-27  Greg McGary  <greg@mcgary.org>

	* sysdeps/generic/bp-checks.h (BOUNDED_N): Make it work for void*.
	* sysdeps/generic/bp-semctl.h (check_semctl): Fix syntax error
	in union init.  Pass zero for ignored semnum arg to semctl.
	* sysdeps/unix/sysv/linux/shmat.c (shmat): Fix typo.
2000-07-27 07:28:10 +00:00
Greg McGary
d25c879dc5 * sysdeps/gnu/bits/msq.h: Qualify kernel's
data structure pointers as __unbounded. 
* sysdeps/unix/sysv/linux/mips/bits/shm.h: Likewise. 
* sysdeps/generic/bp-semctl.h: New file. 
* sysdeps/unix/sysv/linux/msgctl.c: Qualify kernel's data structure 
pointers as __unbounded.  Check bounds of syscall args. 
* sysdeps/unix/sysv/linux/msgrcv.c: Likewise. 
* sysdeps/unix/sysv/linux/msgsnd.c: Likewise. 
* sysdeps/unix/sysv/linux/semctl.c: Likewise. 
* sysdeps/unix/sysv/linux/semop.c: Likewise. 
* sysdeps/unix/sysv/linux/shmat.c: Likewise. 
* sysdeps/unix/sysv/linux/shmctl.c: Likewise. 
* sysdeps/unix/sysv/linux/shmdt.c: Likewise. 
* sysdeps/unix/sysv/linux/alpha/msgctl.c: Likewise. 
* sysdeps/unix/sysv/linux/alpha/semctl.c: Likewise. 
* sysdeps/unix/sysv/linux/alpha/shmctl.c: Likewise. 
* sysdeps/unix/sysv/linux/i386/msgctl.c: Likewise. 
* sysdeps/unix/sysv/linux/i386/semctl.c: Likewise. 
* sysdeps/unix/sysv/linux/i386/shmctl.c: Likewise. 
* sysdeps/unix/sysv/linux/sparc/sparc64/msgctl.c: Likewise. 
* sysdeps/unix/sysv/linux/sparc/sparc64/semctl.c: Likewise. 
* sysdeps/unix/sysv/linux/sparc/sparc64/shmctl.c: Likewise.
2000-07-26  Greg McGary  <greg@mcgary.org>

	* sysdeps/gnu/bits/msq.h: Qualify kernel's
	data structure pointers as __unbounded.
	* sysdeps/unix/sysv/linux/mips/bits/shm.h: Likewise.
	* sysdeps/generic/bp-semctl.h: New file.
	* sysdeps/unix/sysv/linux/msgctl.c: Qualify kernel's data structure
	pointers as __unbounded.  Check bounds of syscall args.
	* sysdeps/unix/sysv/linux/msgrcv.c: Likewise.
	* sysdeps/unix/sysv/linux/msgsnd.c: Likewise.
	* sysdeps/unix/sysv/linux/semctl.c: Likewise.
	* sysdeps/unix/sysv/linux/semop.c: Likewise.
	* sysdeps/unix/sysv/linux/shmat.c: Likewise.
	* sysdeps/unix/sysv/linux/shmctl.c: Likewise.
	* sysdeps/unix/sysv/linux/shmdt.c: Likewise.
	* sysdeps/unix/sysv/linux/alpha/msgctl.c: Likewise.
	* sysdeps/unix/sysv/linux/alpha/semctl.c: Likewise.
	* sysdeps/unix/sysv/linux/alpha/shmctl.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/msgctl.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/semctl.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/shmctl.c: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc64/msgctl.c: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc64/semctl.c: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc64/shmctl.c: Likewise.
2000-07-27 06:25:28 +00:00
Greg McGary
2ed5fd9a2a update
2000-07-26  Greg McGary  <greg@mcgary.org>

	* Makeconfig (+link-bounded, link-libc-bounded,
	link-extra-libs-bounded): New variables.
	(built-program-cmd): Omit $(run-program-prefix) for static BP tests.
	* Makerules (do-tests-clean, common-mostlyclean): Remove BP test files.
	* Rules (tests-bp.out): New variable.
	(tests): Conditionally add BP tests.
	(binaries-bounded): Add variable and associated rule.
	* csu/Makefile [build-bounded] (extra-objs, install-lib):
	Move conditional stuff after place where condition is defined.

	* malloc/malloc.c (bp-checks.h): Add #include.
	(mem2chunk, chunk_at_offset, bin_at): Wrap BOUNDED_1 around expression.
	(_bin_at): Add unbounded version of bin_at.
	(IAV, chunk_alloc): Use unbounded _bin_at.
	(mALLOc, rEALLOc, chunk_realloc, mEMALIGn, cALLOc,
	chunk2mem_check, realloc_check, malloc_starter, malloc_atfork):
	Wrap BOUNDED_N around return value.
	(chunk_realloc): Adjust oldsize once.

	* sysdeps/generic/bp-checks.h (__memchr): Remove incorrect decl.
	(__ubp_memchr): Add correct decl.
	(_CHECK_STRING): Use __ubp_memchr.
	* sysdeps/alpha/memchr.S [!__BOUNDED_POINTERS__] (__ubp_memchr):
	New alias for unbounded-pointer __memchr.
	* sysdeps/i386/memchr.S: Likewise.
	* sysdeps/ia64/memchr.S: Likewise.
	* sysdeps/m68k/memchr.S: Likewise.
	* sysdeps/sparc/sparc32/memchr.S: Likewise.
	* sysdeps/sparc/sparc64/memchr.S: Likewise.
	* sysdeps/vax/memchr.s: Likewise.

	* sysdeps/i386/strtok.S: Fix bounds checks to pass tests.
	(SAVE_PTR): New macro.  (save_ptr): Expand size as BP.
	(strtok): Don't bother to write into SAVE_PTR when returning NULL.
	* sysdeps/i386/i686/strtok.S: Likewise.
	* sysdeps/i386/bp-asm.h (RETURN_BOUNDED_POINTER,
	RETURN_NULL_BOUNDED_POINTER): Use %ecx as the scratch register.

	* sysdeps/i386/bits/string.h [!__BOUNDED_POINTERS__]: Disable inlines.
	* sysdeps/i386/i486/bits/string.h [!__BOUNDED_POINTERS__]: Likewise.

	* sysdeps/unix/sysv/linux/getsysstats.c (get_proc_path): Copy
	bounds of copy_result to mount_proc.
2000-07-26 18:21:25 +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
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
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
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
Andreas Jaeger
24b6996e25 Fix copy & paste error: Use memchr instead of memrchr. 2000-07-18 08:36:16 +00:00
Greg McGary
abf7063390 * sysdeps/generic/bp-checks.h: Use unbounded __memchr
rather than non-existent __ubp_memchr. 
(CHECK_STRINGopt, CHECK_FCNTL, BOUNDED_N, BOUNDED_1): New macros. 
(_CHECK_STRING, _CHECK_N): New macros. 
(CHECK_STRING, CHECK_N, CHECK_Nopt): Rewrite in terms of _CHECK_*. 
(CHECK_IOCTL): Move inside `#if !__ASSEMBLER__'. 
* sysdeps/alpha/memchr.S: Change strong name to "__memchr". 
Add weak alias "memchr". 
* sysdeps/generic/memchr.c: Likewise. 
* sysdeps/i386/memchr.S: Likewise. 
* sysdeps/ia64/memchr.S: Likewise. 
* sysdeps/m68k/memchr.S: Likewise. 
* sysdeps/sparc/sparc32/memchr.S: Likewise. 
* sysdeps/sparc/sparc64/memchr.S: Likewise. 
* sysdeps/vax/memchr.s: Likewise.
	* sysdeps/generic/bp-checks.h: Use unbounded __memchr
	rather than non-existent __ubp_memchr.
	(CHECK_STRINGopt, CHECK_FCNTL, BOUNDED_N, BOUNDED_1): New macros.
	(_CHECK_STRING, _CHECK_N): New macros.
	(CHECK_STRING, CHECK_N, CHECK_Nopt): Rewrite in terms of _CHECK_*.
	(CHECK_IOCTL): Move inside `#if !__ASSEMBLER__'.
	* sysdeps/alpha/memchr.S: Change strong name to "__memchr".
	Add weak alias "memchr".
	* sysdeps/generic/memchr.c: Likewise.
	* sysdeps/i386/memchr.S: Likewise.
	* sysdeps/ia64/memchr.S: Likewise.
	* sysdeps/m68k/memchr.S: Likewise.
	* sysdeps/sparc/sparc32/memchr.S: Likewise.
	* sysdeps/sparc/sparc64/memchr.S: Likewise.
	* sysdeps/vax/memchr.s: Likewise.
2000-07-17 22:36:16 +00:00
Greg McGary
14fa17ccec * libio/iofdopen.c (_IO_new_fdopen): Pass _IO_FILE_plus pointer to
_IO_file_attach. 
* libio/iovdprintf.c (_IO_vdprintf): Likewise.
	* sysdeps/generic/strcpy.c (strcpy): Stifle unused-value warnings.
	* sysdeps/unix/sysv/linux/execve.c (__execve): Add const
	qualifiers.  Don't check NULL-terminator of argv & envp.
	* sysdeps/unix/sysv/linux/getsysstats.c (get_proc_path): Use
	unbounded pointer type in word-size assertion.
	* sysdeps/unix/sysv/linux/ptrace.c (ptrace): Add missing
	cases to stifle warnings.

	* libio/iofdopen.c (_IO_new_fdopen): Pass _IO_FILE_plus pointer to
	_IO_file_attach.
	* libio/iovdprintf.c (_IO_vdprintf): Likewise.
2000-07-17 22:31:56 +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
Andreas Jaeger
1338451ba2 Update.
2000-07-13  Andreas Schwab  <schwab@suse.de>

	* sysdeps/generic/glob.c (glob): Fix memory leak.
	[SHELL]: Remove reference to undefined variable `files'.
	Fixes PR libc/1782.
2000-07-13 12:12:01 +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
Greg McGary
e279e90b6a * sysdeps/generic/open64.c: Wrap extern symbols in BP_SYM ().
* sysdeps/posix/open64.c: Likewise. 
* sysdeps/generic/fegetenv.c: Likewise. 
* sysdeps/powerpc/fpu/fegetenv.c: Likewise. 
* sysdeps/powerpc/fpu/fesetenv.c: Likewise. 
* sysdeps/powerpc/fpu/feupdateenv.c: Likewise. 
* sysdeps/powerpc/fpu/fgetexcptflg.c: Likewise. 
* sysdeps/powerpc/fpu/fraiseexcpt.c: Likewise. 
* sysdeps/powerpc/fpu/fsetexcptflg.c: Likewise.
2000-07-12  Greg McGary  <greg@mcgary.org>

	* sysdeps/generic/open64.c: Wrap extern symbols in BP_SYM ().
	* sysdeps/posix/open64.c: Likewise.
	* sysdeps/generic/fegetenv.c: Likewise.
	* sysdeps/powerpc/fpu/fegetenv.c: Likewise.
	* sysdeps/powerpc/fpu/fesetenv.c: Likewise.
	* sysdeps/powerpc/fpu/feupdateenv.c: Likewise.
	* sysdeps/powerpc/fpu/fgetexcptflg.c: Likewise.
	* sysdeps/powerpc/fpu/fraiseexcpt.c: Likewise.
	* sysdeps/powerpc/fpu/fsetexcptflg.c: Likewise.
2000-07-12 17:39:24 +00:00
Greg McGary
c62f5cab71 * include/libc-symbols.h [!__ASSEMBLER__] (strong_alias):
Add extra level of macro expansion. 
[!__ASSEMBLER__ && HAVE_WEAK_SYMBOLS] (weak_alias): nLikewise. 
* sysdeps/generic/bp-thunks.h: Ensure `struct timeval' definition 
is available at the time `select' prototype is declared. 
* sysdeps/unix/make-syscalls.sh: Remove unused variables. 
Collect non-versioned weak aliases.  Consider only non-versioned 
aliases for the user-visible systemcall name.  Do checks inline with 
call to primitive system call. 
* sysdeps/unix/sysv/linux/ptrace.c (ptrace): Add void cast to 
stand-alone bounds checks to suppress unused value warnings. 
* sysdeps/unix/sysv/linux/sysctl.c (__sysctl): Likewise.
2000-07-11  Greg McGary  <greg@mcgary.org>

	* include/libc-symbols.h [!__ASSEMBLER__] (strong_alias):
	Add extra level of macro expansion.
	[!__ASSEMBLER__ && HAVE_WEAK_SYMBOLS] (weak_alias): nLikewise.
	* sysdeps/generic/bp-thunks.h: Ensure `struct timeval' definition
	is available at the time `select' prototype is declared.
	* sysdeps/unix/make-syscalls.sh: Remove unused variables.
	Collect non-versioned weak aliases.  Consider only non-versioned
	aliases for the user-visible systemcall name.  Do checks inline with
	call to primitive system call.
	* sysdeps/unix/sysv/linux/ptrace.c (ptrace): Add void cast to
	stand-alone bounds checks to suppress unused value warnings.
	* sysdeps/unix/sysv/linux/sysctl.c (__sysctl): Likewise.
2000-07-11 19:30:53 +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
Greg McGary
4bbb61e414 * sysdeps/generic/bp-checks.h (CHECK_SIGSET, CHECK_SIGSETopt):
New macros. 
* sysdeps/generic/strcpy.c: Add bounds checks. 
* sysdeps/unix/fxstat.c: Likewise. 
* sysdeps/unix/xstat.c: Likewise. 
* sysdeps/unix/common/lxstat.c: Likewise. 
* sysdeps/unix/sysv/linux/aio_sigqueue.c: Likewise. 
* sysdeps/unix/sysv/linux/execve.c: Likewise. 
* sysdeps/unix/sysv/linux/fxstat.c: Likewise. 
* sysdeps/unix/sysv/linux/fxstat64.c: Likewise. 
* sysdeps/unix/sysv/linux/getcwd.c: Likewise. 
* sysdeps/unix/sysv/linux/getdents.c: Likewise. 
* sysdeps/unix/sysv/linux/llseek.c: Likewise. 
* sysdeps/unix/sysv/linux/lxstat.c: Likewise. 
* sysdeps/unix/sysv/linux/lxstat64.c: Likewise. 
* sysdeps/unix/sysv/linux/poll.c: Likewise. 
* sysdeps/unix/sysv/linux/pread.c: Likewise. 
* sysdeps/unix/sysv/linux/pread64.c: Likewise. 
* sysdeps/unix/sysv/linux/ptrace.c: Likewise. 
* sysdeps/unix/sysv/linux/pwrite.c: Likewise. 
* sysdeps/unix/sysv/linux/pwrite64.c: Likewise. 
* sysdeps/unix/sysv/linux/readv.c: Likewise. 
* sysdeps/unix/sysv/linux/sigaction.c: Likewise. 
* sysdeps/unix/sysv/linux/sigpending.c: Likewise. 
* sysdeps/unix/sysv/linux/sigprocmask.c: Likewise. 
* sysdeps/unix/sysv/linux/sigqueue.c: Likewise. 
* sysdeps/unix/sysv/linux/sigsuspend.c: Likewise. 
* sysdeps/unix/sysv/linux/sigtimedwait.c: Likewise. 
* sysdeps/unix/sysv/linux/sigwaitinfo.c: Likewise. 
* sysdeps/unix/sysv/linux/sysctl.c: Likewise. 
* sysdeps/unix/sysv/linux/truncate64.c: Likewise. 
* sysdeps/unix/sysv/linux/ustat.c: Likewise. 
* sysdeps/unix/sysv/linux/writev.c: Likewise. 
* sysdeps/unix/sysv/linux/xmknod.c: Likewise. 
* sysdeps/unix/sysv/linux/xstat.c: Likewise. 
* sysdeps/unix/sysv/linux/xstat64.c: Likewise. 
* sysdeps/unix/sysv/linux/arm/sigaction.c: Likewise. 
* sysdeps/unix/sysv/linux/i386/brk.c: Likewise. 
* sysdeps/unix/sysv/linux/i386/chown.c: Likewise. 
* sysdeps/unix/sysv/linux/i386/fxstat.c: Likewise. 
* sysdeps/unix/sysv/linux/i386/getgroups.c: Likewise. 
* sysdeps/unix/sysv/linux/i386/getresgid.c: Likewise. 
* sysdeps/unix/sysv/linux/i386/getresuid.c: Likewise. 
* sysdeps/unix/sysv/linux/i386/getrlimit.c: Likewise. 
* sysdeps/unix/sysv/linux/i386/lchown.c: Likewise. 
* sysdeps/unix/sysv/linux/i386/lxstat.c: Likewise. 
* sysdeps/unix/sysv/linux/i386/setgroups.c: Likewise. 
* sysdeps/unix/sysv/linux/i386/setrlimit.c: Likewise. 
* sysdeps/unix/sysv/linux/i386/sigaction.c: Likewise. 
* sysdeps/unix/sysv/linux/i386/xstat.c: Likewise. 
* sysdeps/unix/sysv/linux/ia64/fxstat.c: Likewise. 
* sysdeps/unix/sysv/linux/ia64/lxstat.c: Likewise. 
* sysdeps/unix/sysv/linux/ia64/sigaction.c: Likewise. 
* sysdeps/unix/sysv/linux/ia64/sigpending.c: Likewise. 
* sysdeps/unix/sysv/linux/ia64/sigprocmask.c: Likewise. 
* sysdeps/unix/sysv/linux/ia64/sigsuspend.c: Likewise. 
* sysdeps/unix/sysv/linux/ia64/xstat.c: Likewise. 
* sysdeps/unix/sysv/linux/m68k/chown.c: Likewise. 
* sysdeps/unix/sysv/linux/mips/pread.c: Likewise. 
* sysdeps/unix/sysv/linux/mips/pread64.c: Likewise. 
* sysdeps/unix/sysv/linux/mips/pwrite.c: Likewise. 
* sysdeps/unix/sysv/linux/mips/pwrite64.c: Likewise. 
* sysdeps/unix/sysv/linux/mips/truncate64.c: Likewise. 
* sysdeps/unix/sysv/linux/mips/ustat.c: Likewise. 
* sysdeps/unix/sysv/linux/mips/xmknod.c: Likewise. 
* sysdeps/unix/sysv/linux/sparc/sparc32/mmap64.c: Likewise. 
* sysdeps/unix/sysv/linux/sparc/sparc64/sigaction.c: Likewise. 
* sysdeps/unix/sysv/linux/sparc/sparc64/sigpending.c: Likewise. 
* sysdeps/unix/sysv/linux/sparc/sparc64/sigprocmask.c: Likewise. 
* sysdeps/unix/sysv/linux/sparc/sparc64/sigsuspend.c: Likewise.
	* sysdeps/generic/bp-checks.h (CHECK_SIGSET, CHECK_SIGSETopt):
	New macros.
	* sysdeps/generic/strcpy.c: Add bounds checks.
	* sysdeps/unix/fxstat.c: Likewise.
	* sysdeps/unix/xstat.c: Likewise.
	* sysdeps/unix/common/lxstat.c: Likewise.
	* sysdeps/unix/sysv/linux/aio_sigqueue.c: Likewise.
	* sysdeps/unix/sysv/linux/execve.c: Likewise.
	* sysdeps/unix/sysv/linux/fxstat.c: Likewise.
	* sysdeps/unix/sysv/linux/fxstat64.c: Likewise.
	* sysdeps/unix/sysv/linux/getcwd.c: Likewise.
	* sysdeps/unix/sysv/linux/getdents.c: Likewise.
	* sysdeps/unix/sysv/linux/llseek.c: Likewise.
	* sysdeps/unix/sysv/linux/lxstat.c: Likewise.
	* sysdeps/unix/sysv/linux/lxstat64.c: Likewise.
	* sysdeps/unix/sysv/linux/poll.c: Likewise.
	* sysdeps/unix/sysv/linux/pread.c: Likewise.
	* sysdeps/unix/sysv/linux/pread64.c: Likewise.
	* sysdeps/unix/sysv/linux/ptrace.c: Likewise.
	* sysdeps/unix/sysv/linux/pwrite.c: Likewise.
	* sysdeps/unix/sysv/linux/pwrite64.c: Likewise.
	* sysdeps/unix/sysv/linux/readv.c: Likewise.
	* sysdeps/unix/sysv/linux/sigaction.c: Likewise.
	* sysdeps/unix/sysv/linux/sigpending.c: Likewise.
	* sysdeps/unix/sysv/linux/sigprocmask.c: Likewise.
	* sysdeps/unix/sysv/linux/sigqueue.c: Likewise.
	* sysdeps/unix/sysv/linux/sigsuspend.c: Likewise.
	* sysdeps/unix/sysv/linux/sigtimedwait.c: Likewise.
	* sysdeps/unix/sysv/linux/sigwaitinfo.c: Likewise.
	* sysdeps/unix/sysv/linux/sysctl.c: Likewise.
	* sysdeps/unix/sysv/linux/truncate64.c: Likewise.
	* sysdeps/unix/sysv/linux/ustat.c: Likewise.
	* sysdeps/unix/sysv/linux/writev.c: Likewise.
	* sysdeps/unix/sysv/linux/xmknod.c: Likewise.
	* sysdeps/unix/sysv/linux/xstat.c: Likewise.
	* sysdeps/unix/sysv/linux/xstat64.c: Likewise.
	* sysdeps/unix/sysv/linux/arm/sigaction.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/brk.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/chown.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/fxstat.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/getgroups.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/getresgid.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/getresuid.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/getrlimit.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/lchown.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/lxstat.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/setgroups.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/setrlimit.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/sigaction.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/xstat.c: Likewise.
	* sysdeps/unix/sysv/linux/ia64/fxstat.c: Likewise.
	* sysdeps/unix/sysv/linux/ia64/lxstat.c: Likewise.
	* sysdeps/unix/sysv/linux/ia64/sigaction.c: Likewise.
	* sysdeps/unix/sysv/linux/ia64/sigpending.c: Likewise.
	* sysdeps/unix/sysv/linux/ia64/sigprocmask.c: Likewise.
	* sysdeps/unix/sysv/linux/ia64/sigsuspend.c: Likewise.
	* sysdeps/unix/sysv/linux/ia64/xstat.c: Likewise.
	* sysdeps/unix/sysv/linux/m68k/chown.c: Likewise.
	* sysdeps/unix/sysv/linux/mips/pread.c: Likewise.
	* sysdeps/unix/sysv/linux/mips/pread64.c: Likewise.
	* sysdeps/unix/sysv/linux/mips/pwrite.c: Likewise.
	* sysdeps/unix/sysv/linux/mips/pwrite64.c: Likewise.
	* sysdeps/unix/sysv/linux/mips/truncate64.c: Likewise.
	* sysdeps/unix/sysv/linux/mips/ustat.c: Likewise.
	* sysdeps/unix/sysv/linux/mips/xmknod.c: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/mmap64.c: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc64/sigaction.c: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc64/sigpending.c: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc64/sigprocmask.c: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc64/sigsuspend.c: Likewise.
2000-07-07 02:19:06 +00:00
Andreas Jaeger
4fb7a71f12 (__libc_start_main): Initialize thread library for static programs 2000-07-06 21:16:06 +00:00
Greg McGary
34173b51e7 * sysdeps/generic/bp-checks.h: New file.
* sysdeps/generic/bp-thunks.h: Replace generic thunk definitions 
with list of #include files. 
* sysdeps/unix/make-syscalls.sh: Handle new arg signature 
keyletters a, b, B, f, n, N, P, v, V.  Fixup some indentation. 
Don't generate BP thunk if `V' appears in signature. 
Generate thunks with complete bounds checks. 
* sysdeps/unix/syscalls.list: Refine signatures using new keyletters. 
* sysdeps/unix/inet/syscalls.list: Likewise. 
* sysdeps/unix/mman/syscalls.list: Likewise. 
* sysdeps/unix/sysv/linux/syscalls.list: Likewise. 
* sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise. 
* sysdeps/unix/sysv/linux/mips/syscalls.list: Likewise. 
* sysdeps/unix/sysv/linux/powerpc/syscalls.list: Likewise.
2000-07-05  Greg McGary  <greg@mcgary.org>

	* sysdeps/generic/bp-checks.h: New file.
	* sysdeps/generic/bp-thunks.h: Replace generic thunk definitions
	with list of #include files.
	* sysdeps/unix/make-syscalls.sh: Handle new arg signature
	keyletters a, b, B, f, n, N, P, v, V.  Fixup some indentation.
	Don't generate BP thunk if `V' appears in signature.
	Generate thunks with complete bounds checks.
	* sysdeps/unix/syscalls.list: Refine signatures using new keyletters.
	* sysdeps/unix/inet/syscalls.list: Likewise.
	* sysdeps/unix/mman/syscalls.list: Likewise.
	* sysdeps/unix/sysv/linux/syscalls.list: Likewise.
	* sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise.
	* sysdeps/unix/sysv/linux/mips/syscalls.list: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/syscalls.list: Likewise.
2000-07-06 00:48:39 +00:00
Andreas Jaeger
a2616aed35 Update.
* sysdeps/mips/fpu_control.h: Fix type of fpu_control_t.
	(_FPU_GETCW): Remove extra colon.
	Patch by Ralf Baechle <ralf@uni-koblenz.de>.
2000-07-05 15:38:00 +00:00
Greg McGary
5785c39fd1 * sysdeps/generic/libc-start.c (__libc_stack_end): Chop __unbounded.
* sysdeps/unix/make-syscalls.sh: Handle signatures of 
length 7..9, just in case... 
* misc/sys/cdefs.h (__ptrvalue): Define as nothing for non-BP.
	* sysdeps/generic/libc-start.c (__libc_stack_end): Chop __unbounded.
	* sysdeps/unix/make-syscalls.sh: Handle signatures of
	length 7..9, just in case...
	* misc/sys/cdefs.h (__ptrvalue): Define as nothing for non-BP.
2000-06-30 01:11:14 +00:00
Ulrich Drepper
a748c3c64c Update.
2000-06-29  Ulrich Drepper  <drepper@redhat.com>

	* stdlib/grouping.h: Correctly handle multibyte thousands
	separator and decimal point.
	* stdlib/stdtod.c: Likewise.
	* sysdeps/generic/strtol.c: Likewise.

	* locale/categories.def: Add entries for wide character decimal point
	and thousands separator in numeric and monetary category.

2000-06-28  Ulrich Drepper  <drepper@redhat.com>

	* stdio-common/printf_fp.c (__printf_fp): Remove unnecessary
	second definition and initialization of decimal.

	* libio/libio.h (struct _IO_cookie_file): Move struct type defintion
	out.
	* libio/libioP.h (struct _IO_cookie_file): Move struct type defintion
	in.
	(_IO_JUMPS): Don't cast THIS--expect arg to be a
	(struct _IO_FILE_plus *).
	(_IO_iter_next, _IO_iter_file): _IO_ITER is now
		(struct _IO_FILE_plus *).
	(_IO_check_libio): Set user-visible handles to
	(struct _IO_FILE_plus *).
2000-06-29 08:44:37 +00:00
Ulrich Drepper
d16604395d Update.
* sysdeps/generic/initfini.c (SECTION): Remove trailing semicolon.
	Add it where it is needed now.
2000-06-28 06:25:27 +00:00
Ulrich Drepper
c000cdad1a Update.
2000-06-26  Ulrich Drepper  <drepper@redhat.com>

	* rt/Makefile (librt-routines): Add clock_nanosleep.
	* rt/Versions [GLIBC_2.2] (librt): Add clock_nanosleep.
	* sysdeps/generic/clock_nanosleep.c: New file.
	* sysdeps/unix/clock_nanosleep.c: New file.
	* sysdeps/unix/i386/i586/clock_nanosleep.c: New file.
	* time/time.h: Declare clock_nanosleep.
2000-06-26 18:12:12 +00:00
Ulrich Drepper
2fcbf75bca Update.
2000-06-22  Ulrich Drepper  <drepper@redhat.com>

	* io/sys/stat.h: Define S_TYPEISMQ, S_TYPEISSEM, and S_TYPEISSHM.
	* sysdeps/generic/bits/stat.h: Define __S_TYPEISMQ, __S_TYPEISSEM,
	and __S_TYPEISSHM.
	* sysdeps/mach/hurd/bits/stat.h: Likewise.
	* sysdeps/unix/bsd/bits/stat.h: Likewise.
	* sysdeps/unix/bsd/osf/alpha/bits/stat.h: Likewise.
	* sysdeps/unix/sysv/bits/stat.h: Likewise.
	* sysdeps/unix/sysv/irix4/bits/stat.h: Likewise.
	* sysdeps/unix/sysv/hpux/bits/stat.h: Likewise.
	* sysdeps/unix/sysv/linux/alpha/bits/stat.h: Likewise.
	* sysdeps/unix/sysv/linux/ia64/bits/stat.h: Likewise.
	* sysdeps/unix/sysv/linux/bits/stat.h: Likewise.
	* sysdeps/unix/sysv/linux/mips/bits/stat.h: Likewise.
	* sysdeps/unix/sysv/sysv4/i386/bits/stat.h: Likewise.
	* sysdeps/unix/sysv/sysv4/solaris2/bits/stat.h: Likewise.
	* sysdeps/unix/sysv/aix/bits/stat.h: Likewise.
2000-06-22 17:59:07 +00:00
Ulrich Drepper
fa4a5fe7bd Update.
* sysdeps/alpha/memprof.h: Rename to..
	* sysdeps/alpha/memusage.h: ...this.  New file.
	* sysdeps/arm/memprof.h: Rename to..
	* sysdeps/arm/memusage.h: ...this.  New file.
	* sysdeps/generic/memprof.h: Rename to..
	* sysdeps/generic/memusage.h: ...this.  New file.
	* sysdeps/i386/memprof.h: Rename to..
	* sysdeps/i386/memusage.h: ...this.  New file.
	* sysdeps/ia64/memprof.h: Rename to..
	* sysdeps/ia64/memusage.h: ...this.  New file.
	* sysdeps/m68k/memprof.h: Rename to..
	* sysdeps/m68k/memusage.h: ...this.  New file.
	* sysdeps/mips/memprof.h: Rename to..
	* sysdeps/mips/memusage.h: ...this.  New file.
	* sysdeps/powerpc/memprof.h: Rename to..
	* sysdeps/powerpc/memusage.h: ...this.  New file.
	* sysdeps/sparc/memprof.h: Rename to..
	* sysdeps/sparc/memusage.h: ...this.  New file.
	* sysdeps/sh/memprof.h: Rename to..
	* sysdeps/sh/memusage.h: ...this.  New file.
2000-06-20 06:31:59 +00:00
Ulrich Drepper
afa0569f3b Update.
* crypt/Makefile (distribute): Add ufc-crypt.h, crypt-private.h,
	ufc.c, speeds.c, README.ufc-crypt, and Banner.

	* sysdeps/sparc/Subdirs: New file.

	* locale/Makefile (distribute): Add weightwc.h and
	programs/localedef.h.

	* time/Makefile (distribute): Add datemsk.

	* sysdeps/ia64/Dist: Add softpipe.h.

	* sysdeps/unix/sysv/aix/Dist: New file.

	* posix/setpgrp.c: Moved to...
	* sysdeps/generic/setpgrp.c: ...here.  New file.
	* io/mknod.c: Moved to...
	* sysdeps/generic/mknod.c: ...here.  New file.

	* sysdeps/unix/sysv/linux/ia64/Dist: New file.

	* sysdeps/unix/sysv/linux/sparc/Dist: Add sys/procfs.h.

	* sysdeps/unix/sysv/linux/arm/Dist: Add oldgetrlimit64.c.

	* sysdeps/powerpc/Dist: Add fprrest.S, fprsave.S, gprsave1.S,
	gprsave0.S, gprrest1.S, and gprrest0.S.

	* sysdeps/generic/Dist: Add bp-thunks.h, bp-sym.h, and bp-start.h.

	* posix/Makefile (routines): Add spawnattr_getsigmask,
	spawnattr_getschedpolicy, spawnattr_getschedparam,
	spawnattr_setsigmask, spawnattr_setschedpolicy, and
	spawnattr_setschedparam.
	* posix/Versions: Add posix_spawnattr_getschedpolicy,
	posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam, and
	posix_spawnattr_setschedparam.

	* posix/spawnattr_setschedparam.c: Fix typo.

	* posix/spawnattr_setsigmask.c (posix_spawnattr_setsigmask):
	Correct typo.

	* login/programs/utmpd.c: Removed.
	* login/programs/utmpd.h: Removed.
	* login/programs/utmpd-private.h: Removed.

	* Makefile (distribute): Add include/db_185.h and include/db.h.

	* iconvdata/Makefile (distribute): Add iso-ir-165.c and
	iso-ir-165.h.

	* elf/Makefile (distribute): Add missing files.

	* dlfcn/Makefile: Add back rules to include eval in libdl.so.
	* elf/eval.c: Moved to...
	* dlfcn/eval.c: ...here.  New file.

	* Makefile (distribute): Also distribute ChangeLog.1?.
2000-06-14 00:55:24 +00:00
Ulrich Drepper
7ae1fe4d8f Update.
* rt/Makefile (tests): Add tst-timer.
	* sysdeps/generic/tst-timer.c: New file.
2000-06-13 21:48:25 +00:00
Ulrich Drepper
ab95290c78 Update.
2000-06-13  Ulrich Drepper  <drepper@redhat.com>

	* misc/sys/cdefs.h: Define __bounded and __unbounded if
	__BOUNDED_POINTERS__ is not defined.

2000-06-07  Greg McGary  <greg@mcgary.org>

	* sysdeps/generic/bp-sym.h: New file.
	* sysdeps/generic/bp-start.h: New file.
	* sysdeps/i386/elf/start.S: Designate BP symbols.
	* sysdeps/generic/libc-start.c: Wrap bounds around
	argv & envp and each of their string members.

2000-06-07  Greg McGary  <greg@mcgary.org>

	* sysdeps/unix/make-syscalls.sh: Add comments to
	output that aid debugging & comprehension.
	Map simple syscall signatures to number of args.
	Generate BP syscall thunk definitions.
	* sysdeps/generic/bp-thunks.h: New file.
	* sysdeps/unix/syscalls.list: Replace arg-count with
	simple return+arg signature.
	* sysdeps/unix/common/syscalls.list: Likewise.
	* sysdeps/unix/inet/syscalls.list: Likewise.
	* sysdeps/unix/mman/syscalls.list: Likewise.
	* sysdeps/unix/sysv/syscalls.list: Likewise.
	* sysdeps/unix/sysv/linux/syscalls.list: Likewise.
	* sysdeps/unix/sysv/linux/i386/syscalls.list: Likewise.

2000-06-07  Greg McGary  <greg@mcgary.org>

	* Makeconfig (CPPFLAGS-.ob): pass -fbounded-pointers for all files
	*.[cS].
	(CFLAGS-.ob): Don't optimize sibling calls.
	(bppfx): New variable.
	* Makerules (elide-bp-thunks): New variable.
	(elide-routines.*): Elide BP-* files for all but *.ob.
	(sources): Include bp-thunks.

	* iconv/gconv_simple.c: Remove unnecessary prototype.

	* iconv/gconv_trans.c: Pretty print.
2000-06-13 07:33:12 +00:00
Ulrich Drepper
8e17ea5817 Update.
2000-06-09  Ulrich Drepper  <drepper@redhat.com>

	Rewrite error message handling.
	* elf/dl-deps.c (_dl_map_object_deps): Pass new parameter to
	_dl_catch_error.
	* elf/dl-error (struct catch): Add objname member.
	(_dl_signal_error): Take new parameter with object name.  When
	passing message on simply store object name and duplicate error
	message.
	(_dl_catch_error): Take new parameter.  Store object name in the
	place pointed to.
	* include/dlfcn.h: Adjust _dl_catch_error prototype.
	* sysdeps/generic/ldsodefs.h: Adjust _dl_signal_error prototype.
	* elf/dl-libc.c (dlerror_run): Pass new parameter to _dl_catch_error.
	* elf/dl-open.c (_dl_open): Likewise.
	* elf/rtld.c (dl_main): Likewise.
	* elf/dl-close.c: Mark error messages with N_().
	* elf/dl-deps.c: Likewise.
	* elf/dl-error.c: Likewise.
	* elf/dl-load.c: Likewise.
	* elf/dl-open.c: Likewise.
	* elf/dl-reloc.c: Likewise.
	* elf/dl-support.c: Likewise.
	* elf/dl-sym.c: Likewise.
	* elf/dl-version.c: Likewise.
	* elf/dl-lookup.c: Add comments about problems with error message
	translations.
	* elf/dl-reloc.c: Likewise.
	* elf/dl-version.c: Likewise.
2000-06-10 04:01:36 +00:00
Ulrich Drepper
b0982c4ad3 Update.
* include/elf.h: Include also <dl-dtprocnum.h>.
	* elf/dl-deps.c: Likewise.
	* elf/dl-lookup.c: Likewise.
	* elf/dl-runtime.c: Likewise.
	* elf/dl-version.c: Likewise.
	* elf/do-rel.h: Likewise.
	* elf/dynamic-link.h: Likewise.
	* elf/link.h: Likewise.
	* elf/rtld.c: Likewise.
	* sysdeps/generic/dl-dtprocnum.h: New file.
	* sysdeps/ia64/dl-dtprocnum.h: New file.
	* sysdeps/mips/dl-dtprocnum.h: New file.
	* sysdeps/sparc/dl-dtprocnum.h: New file.
2000-06-08 04:48:56 +00:00
Ulrich Drepper
dec126b41a Update.
* dlfcn/dlfcn.h: Pretty print dladdr declaraction.

	* elf/rtld.c (process_envvars): Recognize LD_DYNAMIC_WEAK.
	(_dl_dynamic_weak): New variable.
	* elf/dl-support.c: Likewise.
	* sysdeps/generic/ldsodefs.h: Declare _dl_dynamic_weak.
	* elf/do-lookup.h: If we find a weak definition treat it like a
	normal symbol unless _dl_dynamic_weak is nonzero.  In the latter
	case treat it like before.
2000-06-08 03:03:00 +00:00
Ulrich Drepper
6c021fdc2f Update.
* sysdeps/generic/initfini.c (_init): One less relocation.  Don't
	have extra call to __gmon_start__, use the pointer we already have.
2000-06-02 01:19:56 +00:00
Andreas Jaeger
dc95d15887 Update.
2000-05-26  Andreas Jaeger  <aj@suse.de>

	* elf/ldconfig.h: Update parameter list for process_elf_file.

	* sysdeps/unix/sysv/linux/sparc/readelflib.c (process_elf_file):
	Add parameter file_length and pass it ot process_elf*file.

	* sysdeps/generic/readelflib.c (check_ptr): New.
	(process_elf_file): Use check_ptr to check all accesses to the
	mmapped file. Add parameter file_length.

	* elf/readlib.c (known_libs): Use <gnu/lib-names.h> to specify
	library names.

	* sunrpc/xdr_intXX_t.c (xdr_uint8_t): Fix conversion.
	Closes PR libc/1573, reported by Bradley White
	<bww@laurelnetworks.com>.
2000-05-26 10:23:45 +00:00
Ulrich Drepper
db33f7d4ae Update.
* csu/Makefile (routines): Add check_fds.
	* elf/rtld.c (dl_main): Call __libc_check_standard_fds for SUID
	binaries.  Add various __builtin_expect.
	* sysdeps/generic/libc-start.c: Move check_fds and helper functions...
	* sysdeps/generic/check_fds.c: ...here.  New file.

	* malloc/malloc.c (ptmalloc_init): Only enable debugging for SUID
	binaries if file /etc/suid-debug is available.
2000-05-25 05:02:35 +00:00
Andreas Jaeger
bcaad6ee58 Update.
* csu/munch-tmpl.c (__libc_init): Remove K&R support.
	* dirent/scandir64.c: Likewise.
	* pwd/getpw.c: Likewise.
	* stdlib/bsearch.c (bsearch): Likewise.
	* stdlib/tst-strtoll.c: Likewise.
	* localedata/collate-test.c: Likewise.
	* localedata/xfrm-test.c: Likewise.
	* posix/bsd-getpgrp.c: Likewise.
	* sysdeps/alpha/fpu/bits/fenv.h: Likewise.
	* sysdeps/generic/bits/siginfo.h: Likewise.
	* sysdeps/generic/bits/sockaddr.h: Likewise.
	* sysdeps/generic/sys/swap.h: Likewise.
	* sysdeps/generic/sys/sysinfo.h: Likewise.
	* sysdeps/generic/vfork.c: Likewise.
	* sysdeps/m68k/fpu/switch/68881-sw.h: Likewise.
	* sysdeps/mach/hurd/fdopen.c: Likewise.
	* sysdeps/unix/sysv/linux/alpha/sys/acct.h: Likewise.
	* sysdeps/unix/sysv/linux/poll.c: Likewise.
	* sysdeps/unix/sysv/linux/readv.c: Likewise.
	* sysdeps/unix/sysv/linux/writev.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/setgroups.c: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/bits/ipc.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/bits/sigaction.h: Likewise.

	* misc/tst-dirname.c: Remove K&R support, use ANSI C prototypes.
	* shadow/lckpwdf.c: Likewise.
	* stdlib/tst-strtol.c: Likewise.
	* sysdeps/generic/tcsetattr.c: Likewise.
	* sysdeps/unix/sysv/linux/ttyname.c: Likewise.
	* sysdeps/unix/sysv/linux/ttyname_r.c: Likewise.
2000-05-23 08:43:26 +00:00