Commit Graph

44 Commits

Author SHA1 Message Date
Ulrich Drepper
f866314b89 Update.
2003-04-22  Roland McGrath  <roland@redhat.com>

	* elf/elf.h (AT_SYSINFO_EHDR): New macro, replaces AT_SYSINFO_EH_FRAME.
	* sysdeps/generic/ldsodefs.h (struct rtld_global): Remove
	dl_sysinfo_eh_frame member, add dl_sysinfo_dso member instead.
	* elf/dl-support.c: Update defn.
	* sysdeps/generic/libc-start.c: Don't call __register_frame_info_bases.
	* sysdeps/generic/dl-sysdep.c (_dl_sysdep_start) [NEED_DL_SYSINFO]:
	Set GL(dl_sysinfo_dso) from AT_SYSINFO_EHDR.
	(_dl_show_auxv): Grok AT_SYSINFO_EHDR, not AT_SYSINFO_EH_FRAME.
	* elf/rtld.c (dl_main) [NEED_DL_SYSINFO]: If GL(dl_sysinfo_dso) is
	set, set up a link_map for the preloaded, prelinked object.
2003-05-04 04:30:13 +00:00
Roland McGrath
21e6610756 2003-04-15 Roland McGrath <roland@redhat.com>
* sysdeps/generic/libc-start.c [NEED_DL_SYSINFO]: Add decl for
	INTUSE(__register_frame_info_bases).
2003-04-16 03:06:31 +00:00
Ulrich Drepper
162434a682 Update.
2003-04-15  Ulrich Drepper  <drepper@redhat.com>

	* elf/elf.h: Define AT_SYSINFO_EH_FRAME.
	* sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Handle
	AT_SYSINFO_EH_FRAME.
	(_dl_show_auxv):Display AT_SYSINFO_EH_FRAME value.
	* sysdeps/generic/ldsodefs.h [NEED_DL_SYSINFO] (struct rtld_global):
	Add _dl_sysinfo_eh_frame field.
	* elf/dl-support.c [NEED_DL_SYSINFO]: Define _dl_sysinfo_eh_frame.
	* sysdeps/generic/libc-start.c [NEED_DL_SYSINFO] Define eh_obj
	variable.
	[NEED_DL_SYSINFO] (LIBC_START_MAIN): Call __register_frame_info_bases
	if _dl_sysinfo_eh_frame is non-NULL.

	* Makeconfig (gnulib): Add -lgcc_eh.

	* config.h.in: Define HAVE_FORCED_UNWIND.
2003-04-15 22:46:40 +00:00
Ulrich Drepper
09d65ff393 Update.
2003-04-11  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/generic/libc-start.c: Cleanup MAIN_AUXVEC_ARG handling.
	Remove HAVE_CANCELBUF code.  Replace with code using the new
	initializers for unwind-based cleanup handling.
	* sysdeps/generic/unwind.h: Update from latest gcc version.
	* sysdeps/unix/sysv/linux/i386/sysdep.h: Define labels in a few
	places to allow unwind data generation.
	* sysdeps/i386/bits/setjmp.h: Allow file to be included multiple times.
	* sysdeps/x86_64/bits/setjmp.h: Likewise.
	* sysdeps/sh/bits/setjmp.h: Likewise.
	* sysdeps/powerpc/bits/setjmp.h: Likewise.
	* sysdeps/unix/sysv/linux/ia64/bits/setjmp.h: Likewise.
	* sysdeps/alpha/bits/setjmp.h: Likewise.
2003-04-12 00:58:26 +00:00
Ulrich Drepper
970269474a Update.
2003-03-17  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/generic/libc-start.c [!SHARED &&
	!LIBC_START_MAIN_AUXVEC_ARG]: Compute beginning of auxvec correctly.
2003-03-18 01:56:11 +00:00
Roland McGrath
7eecc0c21a * sysdeps/unix/sysv/linux/i386/system.c: Moved to ...
* sysdeps/unix/sysv/linux/system.c: ... here.
	(FORK): Don't #define if already #define'd.
	* sysdeps/unix/sysv/linux/s390/system.c: File removed.
	* sysdeps/unix/sysv/linux/kernel-features.h [__powerpc__]:
	(__ASSUME_CLONE_THREAD_FLAGS): Define for kernel >= 2.5.64.
2003-03-15 23:44:08 +00:00
Roland McGrath
2b089f2101 2003-03-15 Roland McGrath <roland@redhat.com>
* sysdeps/generic/libc-start.c [LIBC_START_MAIN]: If defined, define a
	static function by that name instead of BP_SYM (__libc_start_main).
	[LIBC_START_MAIN_AUXVEC_ARG]: Take AUXVEC as argument.
	[MAIN_AUXVEC_ARG]: Pass 4th argument to MAIN.
	[INIT_MAIN_ARGS]: Give INIT the same args as MAIN.
2003-03-15 23:09:11 +00:00
Roland McGrath
3a601d31b6 * sysdeps/generic/libc-start.c (__libc_start_main): Don't assign const
variable.
2003-03-03 00:20:51 +00:00
Ulrich Drepper
472022708e Update.
2003-02-14  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/generic/libc-start.c [HAVE_PTR_NTHREADS]: Decrement thread
	counter and only call __exit_thread if this is not the last thread.
2003-02-14 23:31:11 +00:00
Ulrich Drepper
131fd126cd Update.
2002-12-28  Ulrich Drepper  <drepper@redhat.com>

	* descr.h (struct pthread): Move header.data.list to the back of the
	struct.
	* sysdeps/i386/tls.h (tcbhead_t): Move list to the back of the struct.
	(MULTIPLE_THREADS_OFFSET): Adjust offset.
	(SYSINFO_OFFSEET): Likewise.

2002-12-27  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/i386/i686/dl-sysdep.h (USE_DL_SYSINFO):
	Define.
	(DL_SYSINFO_DEFAULT): Cast to uintptr_t to avoid warnings.
	* sysdeps/unix/sysv/linux/i386/dl-sysdep.h (NEED_DL_SYSINFO,
	DL_SYSINFO_DEFAULT, DL_SYSINFO_IMPLEMENTATION): Define.
	(USE_DL_SYSINFO): Undef.

2002-12-22  Jakub Jelinek  <jakub@redhat.com>

	* Makefile (tests-reverse): Use $(objpfx)../libc.so instead of
	$(common-objpfx)libc.so.
	* tst-cancel4.c (tf_write, tf_writev): Increase buf sizes so that
	it is bigger than pipe buffer size even on arches with bigger
	page size.
	(tf_usleep): Cast usleep argument to useconds_t to avoid warnings.
2002-12-28 09:27:26 +00:00
Roland McGrath
dde2652bb6 * sysdeps/generic/libc-start.c (__libc_start_main): Do
DL_SYSDEP_OSCHECK here.
	* sysdeps/unix/sysv/linux/init-first.c (init): Not here.
	* sysdeps/unix/sysv/linux/dl-osinfo.h: Include <fcntl.h>.

	* sysdeps/generic/libc-tls.c (__libc_setup_tls): Bail if
	argument TCBSIZE <= TLS_INIT_TCB_SIZE, not just if it's zero.

	* sysdeps/generic/dl-tls.c (_dl_allocate_tls_init): Check l_tls_offset
	instead of l_type to decide whether to use TLS_DTV_UNALLOCATED.

	* include/link.h: Comment typo fix.

2002-12-01  Roland McGrath  <roland@frob.com>

	* sysdeps/mach/hurd/bits/posix_opt.h (_POSIX_FSYNC): Set to 200112L.
	(_POSIX_SPAWN, _POSIX_MAPPED_FILES, _POSIX_MEMLOCK_RANGE,
	_POSIX_MEMORY_PROTECTION): Likewise.
	(_POSIX_POLL, _POSIX_SELECT): Removed.
2002-12-01 22:14:57 +00:00
Roland McGrath
5580f1544d * sysdeps/unix/sysv/linux/init-first.c (init): Remove [! SHARED]
conditional from __libc_multiple_libcs access.  Remove kludge for weak
	symbol access with old compilers we no longer support.
	* sysdeps/unix/sysv/aix/init-first.c (init): Likewise.
	* sysdeps/generic/libc-start.c (__libc_start_main): Likewise.

2002-10-24  Roland McGrath  <roland@redhat.com>

	* sysdeps/generic/ldsodefs.h (struct rtld_global): New member
	`_dl_tls_static_used'.
	(TLS_STATIC_MIN): New macro.
	* sysdeps/generic/libc-tls.c (_dl_tls_static_used): New variable.
	(__libc_setup_tls): Initialize it.
	* sysdeps/generic/dl-tls.c (_dl_determine_tlsoffset): Likewise.
	* elf/dl-reloc.c [USE_TLS] (allocate_static_tls): New function.
	(CHECK_STATIC_TLS): Use it.
	* elf/dl-close.c (_dl_close): Adjust _dl_tls_static_used when the
	closed objects occupied a trailing contiguous chunk of static TLS area.

2002-10-25  Roland McGrath  <roland@redhat.com>
2002-10-25 19:41:31 +00:00
Roland McGrath
5bbcba0db5 * elf/dl-misc.c: Include <sysdep.h>.
(_dl_debug_vdprintf): Only take dl_load_lock if not _dl_starting_up.

	* sysdeps/generic/ldsodefs.h (_dl_starting_up): Declare it here.
	* sysdeps/unix/sysv/linux/init-first.c: Not here.
	* sysdeps/powerpc/elf/libc-start.c: Or here.
	* sysdeps/unix/sysv/aix/libc-start.c: Or here.
	* sysdeps/unix/sysv/aix/start-libc.c: Or here.
	* sysdeps/unix/sysv/aix/init-first.c: Or here.
	* sysdeps/generic/libc-start.c: Or here.
	* sysdeps/unix/sysv/linux/init-first.c (init): Protect _dl_starting_up
	access with [! SHARED].
	* sysdeps/unix/sysv/aix/init-first.c (init): Likewise.
2002-10-24 19:14:59 +00:00
Ulrich Drepper
17dd9f9009 Update.
* sysdeps/generic/libc-start.c (__libc_start_main): Remove bogus
	comment.

	* sysdeps/generic/libc-start.c (__libc_start_main): Remove dummy_addr.
2002-09-15 05:47:13 +00:00
Ulrich Drepper
7ae4abe9af Update.
2002-09-14  Ulrich Drepper  <drepper@redhat.com>

	* include/unistd.h: Declare __exit_thread.
	* sysdeps/generic/libc-start.c: Remove dummy_addr.
	Wrap call to main in setjmp if HAVE_CANCELBUF is defined.
	* sysdeps/unix/sysv/linux/exit-thread.S: New file.
	* sysdeps/unix/sysv/linux/_exit.c: New file.
	* sysdeps/unix/sysv/linux/i386/_exit.S: New file.
	* sysdeps/unix/sysv/linux/Makefile [subdir==posix] (sysdep_routines):
	Add exit-thread.

	* configure.in: Add dl_iterate_phdr to test using -nostdlib.
2002-09-15 02:37:32 +00:00
Roland McGrath
a162642d80 * sysdeps/generic/libc-tls.c (__libc_setup_tls): Make the phdr loop
actually iterate over the elements.  Fix typo p_type -> p_vaddr.

	* include/pthread.h: Don't declare __pthread_initialize_minimal as
	weak here; we declare it weak or strong in the one place we use it.
	* sysdeps/generic/libc-start.c: ... which is here.
	Don't make the decl weak if [USE_TLS], since static programs need TLS
	setup even when single-threaded.
2002-08-05 06:38:00 +00:00
Ulrich Drepper
8a30f00fe8 Update.
2002-07-23  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/generic/libc-tls.c: New file.
	* csu/Makefile (routines): Add libc-tls.
	(static-only-routines): Add libc-tls.
	* elf/dl-support.c (_dl_phdr): New variable.
	(_dl_phnum): New variable.
	(_dl_aux_init): Initialize _dl_phdr and _dl_phnum from aux vector.
	* sysdeps/generic/libc-start.c (__libc_start_main): Reorganize code
	for !SHARED.  First look through auxiliary vector.  If TLS always
	call __pthread_initialize_minimal.

	* sysdeps/generic/dl-tls.c (_dl_allocate_tls): Make sure size argument
	in mmap call is never zero.
2002-07-23 23:12:01 +00:00
Ulrich Drepper
d6b5d570a3 Update.
2002-01-30  Ulrich Drepper  <drepper@redhat.com>

	* Versions.def [ld]: Add GLIBC_2.3.
	* elf/dl-addr.c: Move global variables for SHARED code in struct
	_rtld_global.  Export this struct, remove all exports for the
	signal variables.
	* elf/dl-close.c: Likewise.
	* elf/dl-conflict.c: Likewise.
	* elf/dl-debug.c: Likewise.
	* elf/dl-deps.c: Likewise.
	* elf/dl-dst.h: Likewise.
	* elf/dl-error.c: Likewise.
	* elf/dl-fini.c: Likewise.
	* elf/dl-init.c: Likewise.
	* elf/dl-iteratephdr.c: Likewise.
	* elf/dl-libc.c: Likewise.
	* elf/dl-load.c: Likewise.
	* elf/dl-lookup.c: Likewise.
	* elf/dl-minimal.c: Likewise.
	* elf/dl-object.c: Likewise.
	* elf/dl-open.c: Likewise.
	* elf/dl-profile.c: Likewise.
	* elf/dl-profstub.c: Likewise.
	* elf/dl-reloc.c: Likewise.
	* elf/dl-runtime.c: Likewise.
	* elf/dl-support.c: Likewise.
	* elf/dl-sym.c: Likewise.
	* elf/dl-version.c: Likewise.
	* elf/do-lookup.h: Likewise.
	* elf/do-rel.h: Likewise.
	* elf/dynamic-link.h: Likewise.
	* elf/rtld.c: Likewise.
	* sysdeps/generic/dl-cache.c: Likewise.
	* sysdeps/generic/dl-sysdep.c: Likewise.
	* sysdeps/generic/ldsodefs.h: Likewise.
	* sysdeps/generic/libc-start.c: Likewise.
	* sysdeps/i386/dl-machine.h: Likewise.
	* sysdeps/ia64/dl-fptr.c: Likewise.
	* sysdeps/ia64/dl-machine.h: Likewise.
	* sysdeps/unix/sysv/linux/dl-librecon.h: Likewise.
	* sysdeps/unix/sysv/linux/dl-origin.c: Likewise.
	* sysdeps/unix/sysv/linux/dl-osinfo.h: Likewise.
	* sysdeps/unix/sysv/linux/getclktck.c: Likewise.
	* sysdeps/unix/sysv/linux/getpagesize.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/dl-librecon.h: Likewise.
	* sysdeps/unix/sysv/linux/ia64/dl-static.c: Likewise.
	* sysdeps/unix/sysv/linux/ia64/getpagesize.c: Likewise.

	* malloc/thread-m.h: Spinlock definitions for x86/x86_64.
2002-01-31 03:41:25 +00:00
Andreas Jaeger
41bdb6e20c Update to LGPL v2.1.
2001-07-06  Paul Eggert  <eggert@twinsun.com>

	* manual/argp.texi: Remove ignored LGPL copyright notice; it's
	not appropriate for documentation anyway.
	* manual/libc-texinfo.sh: "Library General Public License" ->
	"Lesser General Public License".

2001-07-06  Andreas Jaeger  <aj@suse.de>

	* All files under GPL/LGPL version 2: Place under LGPL version
	2.1.
2001-07-06 04:58:11 +00:00
Ulrich Drepper
35fc382add Update.
* sysdeps/arm/dl-machine.h: Likewise.
	* sysdeps/hppa/dl-machine.h: Likewise.
	* sysdeps/m68k/dl-machine.h: Likewise.
	* sysdeps/powerpc/dl-machine.h: Likewise.
	* sysdeps/s390/dl-machine.h: Likewise.
	* sysdeps/sh/dl-machine.h: Likewise.
2001-02-28 06:36:10 +00:00
Ulrich Drepper
62dcee574f Replace _dl_debug_* variables with _dl_debug_mask. 2001-02-27 09:34:31 +00:00
Ulrich Drepper
c08bc50a60 Update.
2001-02-26  Ulrich Drepper  <drepper@redhat.com>

	* dlfcn/Makefile (distribute): Add modatexit.c and modcxaatexit.c.
	(tests): Add tstatexit and tstcxaatexit.
	(module-names): Add modatexit and modcxaatexit.
	Add rules to build and run tstatexit and tstcxaatexit.
	* dlfcn/modatexit.c: New file.
	* dlfcn/modcxaatexit.c: New file.
	* dlfcn/tstatexit.c: New file.
	* dlfcn/tstcxaatexit.c: New file.

	* io/Makefile: Pass -DHAVE_DOT_HIDDEN to stat and mknod functions if
	.hidden is available.
	* io/stat.c: If .hidden is available use it to avoid exporting
	functions.
	* io/fstat.c: Likewise.
	* io/lstat.c: Likewise.
	* io/stat64.c: Likewise.
	* io/fstat64.c: Likewise.
	* io/lstat64.c: Likewise.
	* sysdeps/generic/mknod.c: Likewise.

	* malloc/mtrace.c: Use __cxa_atexit and not atexit.
	* sysdeps/generic/bb_init_func.c: Likewise.
	* sysdeps/generic/libc-start.c: Likewise.

	* stdlib/atexit.c (__new_exitfn): Move to cxa_atexit.c.
	(atexit): Implement using __cxa_atexit.
	Use .hidden if availble to avoid exporting atexit.
	* stdlib/cxa_atexit.c (__new_exitfn): Moved to here from atexit.c.
	* stdlib/Versions: Export __new_exitfn for GLIBC_2.2.3.
	* stdlib/Makefile (routines): Add old_atexit.
	(static-only-routines): Add atexit.
	Pass -DHAVE_DOT_HIDDEN for atexit.c if .hidden is available.
	* stdlib/old_atexit.c: New file.

	* intl/Makefile: Remove bogus endif.
2001-02-26 17:53:15 +00:00
Ulrich Drepper
e4a5f77de6 Update.
2001-01-05  H.J. Lu  <hjl@gnu.org>

	* elf/dl-support.c (non_dynamic_init): Move the auxiliary
	vector checking to ...
	(_dl_aux_init): Here. New function. Defined only if
	HAVE_AUX_VECTOR is defined.

	* sysdeps/generic/libc-start.c (__libc_start_main): Call
	_dl_aux_init for static binaries if HAVE_AUX_VECTOR is defined.

	* sysdeps/powerpc/elf/libc-start.c (__libc_start_main): Call
	_dl_aux_init.

	* sysdeps/unix/sysv/linux/ldsodefs.h (DL_FIND_AUXV): Removed.
	(HAVE_AUX_VECTOR): Defined.
	(_dl_aux_init): Declared.
2001-01-07 02:00:21 +00:00
Ulrich Drepper
17427edd1f Update.
2000-11-20  Ulrich Drepper  <drepper@redhat.com>

	* csu/gmon-start.c: Always have prototype for __gmon_start.
	* csu/version.c: Add prototypes for __libc_print_version and
	__libc_main.
	* iconv/gconv.c: Include gconv_int.h and gconv.h.
	* iconv/gconv.h (struct __gconv_step): Remove const from __from_name
	and __to_name.
	* iconv/gconv_builtin.h: Add ASCII module definitions.
	* iconv/gconv_conf.c (__gconv_path_elem): Remove const.
	(add_module): Add cast to avoid warning.  Rework construction of
	strings for new module.
	* iconv/gconv_db.c (__gconv_alias_compare): Make s1 and s2 const.
	(derivation_compare): Likewise.
	* iconv/gconv_dl.c (do_release_shlib): Remove const from nodep.
	(__gconv_release_shlib): Cast do_release_shlib as parameter for twalk.
	* iconv/gconv_int.h (__gconv_path_elem): Remove const.
	(struct gconv_alias): Remove const from fromname and toname.
	* iconv/gconv_simple.c: Include gconv_builtin.h to get prototypes
	for loop functions.
	(internal_ucs4_loop): Use correct const-ness.
	(ucs4_internal_loop): Likewise.
	(internal_ucs4le_loop): Likewise.
	(ucs4le_internal_loop_single): Likewise.
	* iconv/gconv_trans.c (__gconv_transliterate): Make from_idx, from_tbl,
	to_idx, to_tbl, winbuf, winbufend const.  Change casts in
	assignments appropriately.
	(struct known_trans): Remove const from fname.
	(trans_compare): Make s1 and s2 const.
	* iconv/loop.c (LOOPFC): Make outend parameter const.  Add cast to
	avoid warning.
	* iconv/skeleton.c: Remove cast in calls of loop functions.
	* iconvdata/gconv-modules: Remove US-ASCII definitions.
	* iconvdata/iso646.c: Remove US_ASCII support.
	* include/set-hooks.h (DEFINE_HOOK): Also generate prototype.
	* include/unistd.h: Add __libc_check_standard_fds prototype.
	* string/bits/string2.h (__mempcpy_args): Add const to casts.
	* sysdeps/generic/initfini.c: Add prototypes for dummy, _init, and
	_fini.
	* sysdeps/generic/libc-start.c: Add prototype for __libc_start_main.
	* sysdeps/i386/i486/bits/string.h (strcmp): Add const to casts.
	* sysdeps/unix/sysv/linux/dl-osinfo.h (dl_fatal): Add cast to avoid
	warning.
	* sysdeps/unix/sysv/linux/init-first.c: Add prototypes for
	__libc_init_first and _dl_start.

	* sysdeps/unix/sysv/linux/mips/clone.S: Fix comments.
2000-11-20 09:16:41 +00:00
Andreas Jaeger
4fb7a71f12 (__libc_start_main): Initialize thread library for static programs 2000-07-06 21:16:06 +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
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
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
Ulrich Drepper
cf197e41e7 Update.
2000-04-02  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-fini.c (_dl_fini): Increment j counter after swapping in
	element at this position.

	* elf/Versions [ld.so] (GLIBC_2.2): Export _dl_load_lock.
	* elf/link.h (struct link_map): Add l_reldepsmax, l_reldepsact, and
	l_reldeps elements.
	* elf/dl-lookup.c (add_dependency): New function.
	(_dl_lookup_symbol): Use it whenever symbol was found in a global,
	dynamically loaded object.
	(_dl_lookup_symbol_skip): Likewise.
	(_dl_lookup_versioned_symbol): Likewise.
	(_dl_lookup_versioned_symbol_skip): Likewise.
	* elf/dl-open.c: Don't define _dl_load_lock here...
	* elf/rtld.c: ...but here...
	* elf/dl-support.c: ...and here.
	* elf/dl-close.c (_dl_close): Close also dependent objects introduce
	through relocation.
	* elf/dl-fini.c (_dl_fini): Also take dependencies introduced through
	relocations.
	* dlfcn/Makefile (glrefmain.out): Test is not expected to fail
	anymore.
	* dlfcn/glrefmain.c: Add one more debug message.

	* Makeconfig (preprocess-versions): Don't add $(CPPFLAGS) to compiler
	command line.
	* Makerules (sysd-versions): Use ( ) instead of { }.

	* elf/dl-load.c: Use __builtin_expect to signal that compiler should
	optimize for the non-debugging case.
	* elf/dl-lookup.c: Likewise.
	* sysdeps/generic/libc-start.c: Likewise.
2000-04-03 03:51:04 +00:00
Ulrich Drepper
b5567b2af6 Update.
2000-03-29  Jes Sorensen  <jes@pcatls01.cern.ch>

	* malloc/malloc.c: Declare bit flags UL so that they will not
	default to int size when being inverted.

2000-03-29  Andreas Jaeger  <aj@suse.de>

	* sysdeps/unix/sysv/linux/arm/errlist.c: Use shlib-compat macros.
	* sysdeps/unix/sysv/linux/arm/siglist.c: Likewise.

2000-03-29  Andreas Jaeger  <aj@suse.de>,
            Ralf Baechle <ralf@uni-koblenz.de>

	* Makeconfig: Introduce new variable SHARED to mark code used in
	the shared library.
	* elf/dl-close.c: Use it instead of PIC.
	* elf/dl-load.c: Likewise.
	* elf/dl-open.c: Likewise.
	* hurd/geteuids.c: Likewise.
	* include/libc-symbols.h: Likewise.
	* include/shlib-compat.h: Likewise.
	* libio/freopen.c: Likewise.
	* linuxthreads/cancel.c: Likewise.
	* linuxthreads/pthread.c: Likewise.
	* linuxthreads/wrapsyscall.c: Likewise.
	* nss/nsswitch.c: Likewise.
	* stdio-common/vfprintf.c: Likewise.
	* sysdeps/arm/init-first.c: Likewise.
	* sysdeps/i386/init-first.c: Likewise
	* sysdeps/generic/init-first.c: Likewise.
	* sysdeps/generic/libc-start.c: Likewise.
	* sysdeps/mips/init-first.c: Likewise.
	* sysdeps/powerpc/elf/libc-start.c: Likewise.
	* sysdeps/unix/sysv/linux/init-first.c: Likewise.
	* sysdeps/unix/sysv/linux/arm/siglist.c: Likewise.
	* sysdeps/unix/sysv/linux/arm/errlist.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/chown.c: Likewise.

	* sysdeps/mips/machine-gmon.h (asm): Use __PIC__ as check.
2000-03-31 05:50:02 +00:00
Ulrich Drepper
dacc8ffa42 Update.
2000-03-30  Ulrich Drepper  <drepper@redhat.com>

	Implement dynamic determination of constructor/destructor order in
	the dynamic linker.
	* elf/Versions [ld.so] (GLIBC_2.0): Remove _dl_init_next.
	(GLIBC_2.2): Add _dl_init.
	* elf/dl-close.c: Also call all destructors in FINI_ARRAY.
	r_duplist is not anymore allocated separately.  l_initfini is and
	therefore free it if necessary.
	* elf/dl-deps.c: If a searchlist has to be allocated, put all in one
	malloc block.  Otherwise allocate l_initfini list only.
	Put dependencies for the object in l_initfini list.
	Sort dependencies for the object to be loaded topologically.
	* elf/dl-fini.c: Before running the destructors sort the topologically.
	* elf/dl-init.c (_dl_init): Renamed from _dl_init_next.  Rewrite to
	call constructors instead of iterating over the pointers.  Get list of
	objects for which to run constructors from l_initfini element. Accept
	argc, argv, and env as parameters and pass them to the constructors.
	* elf/ld-load.c (_dl_map_object_from_fd): Initialize l_ldnum member
	with size of dynamic section.
	* elf/dl-open.c (dl_open_worker): Only call _dl_init instead of
	_dl_init_next and calling constructors ourself.
	* elf/dl-preinit.c (_dl_preinit): Renamed from _dl_preinit_next.
	Take argc, argv, and env as parameters and pass them to the
	constructors.  Rewrite to call all constructors and not iterate over
	the pointers.
	* elf/dynamic-link.h: Don't relocate DT_FINI_ARRAY entry.  Don't
	precompute l_initcount and l_preinitcount.
	* elf/link.h (struct link_map): Add l_ldnum member.
	Make l_phdr_allocated part of the bitfield.  Remove l_runcount,
	l_initcount, and l_preinitcount.  Add l_initfini.
	* sysdeps/generic/ldsodefs.h: Replace _dl_init_next prototype with
	one for _dl_init.
	* sysdeps/i386/dl-machine (RTLD_START): Rewrite to match new init
	function interface.
	* sysdeps/unix/sysv/linux/init-first.h: Removed.
	* sysdeps/unix/sysv/linux/Dist: Delete file here as well.
	* sysdeps/unix/sysv/linux/init-first.c [PIC]: Don't use
	SYSDEP_CALL_INIT.  Make _init a strong alias of init.  The calling
	conventions now match.

	* sysdeps/generic/libc-start.c: Calling __libc_init_first has no
	effect for shared objects.  Don't emit message and call only for
	static library.
2000-03-30 16:30:49 +00:00
Ulrich Drepper
a42195dbe4 Update.
2000-03-23  Andreas Jaeger  <aj@suse.de>

	* elf/dl-addr.c: Adjust include paths for ldsodefs location
	change.
	* elf/dl-debug.c: Likewise.
	* elf/dl-deps.c: Likewise.
	* elf/dl-error.c: Likewise.
	* elf/dl-fini.c: Likewise.
	* elf/dl-init.c: Likewise.
	* elf/dl-load.c: Likewise.
	* elf/dl-lookup.c: Likewise.
	* elf/dl-minimal.c: Likewise.
	* elf/dl-object.c: Likewise.
	* elf/dl-open.c: Likewise.
	* elf/dl-preinit.c: Likewise.
	* elf/dl-profile.c: Likewise.
	* elf/dl-profstub.c: Likewise.
	* elf/dl-reloc.c: Likewise.
	* elf/dl-runtime.c: Likewise.
	* elf/dl-support.c: Likewise.
	* elf/dl-symbol.c: Likewise.
	* elf/dl-version.c: Likewise.
	* elf/rtld.c: Likewise.
	* elf/sprof.c: Likewise.
	* sysdeps/generic/dl-cache.c: Likewise.
	* sysdeps/generic/dl-origin.c: Likewise.
	* sysdeps/generic/dl-sysdep.c: Likewise.
	* sysdeps/generic/elf/backtracesyms.c: Likewise.
	* sysdeps/generic/elf/backtracesymsfd.c: Likewise.
	* sysdeps/generic/libc-start.c: Likewise.
	* sysdeps/mach/hurd/dl-sysdep.c: Likewise.
	* sysdeps/powerpc/dl-machine.c: Likewise.
	* sysdeps/powerpc/elf/libc-start.c: Likewise.
	* sysdeps/sparc/sparc32/dl-machine.h: Likewise.
	* sysdeps/sparc/sparc64/dl-machine.h: Likewise.
	* sysdeps/unix/sysv/linux/dl-origin.c: Likewise.

	* elf/ldsodefs.h: Move file to ...
	* sysdeps/generic/ldsodefs.h: ... here.

	* sysdeps/generic/ldsodefs.h: Add definition for D_PTR.
	
	* sysdeps/mips/elf/ldsodefs.h: New file.

	* elf/dl-version.c (match_symbol): Use D_PTR to access relocated
	entries in l_info.
	(_dl_check_map_versions): Likewise.
	* elf/dl-reloc.c (_dl_relocate_object): Likewise.
	* elf/dl-load.c (_dl_init_paths): Likewise.
	(_dl_map_object): Likewise.
	* elf/dynamic-link.h (_ELF_DYNAMIC_DO_RELOC): Likewise.
	(elf_get_dynamic_info): Likewise.
	* elf/do-lookup.h (FCT): Likewise.
	* elf/do-rel.h (elf_dynamic_do_rel): Likewise.
	* elf/dl-deps.c (_dl_map_object_deps): Likewise.
	* elf/dl-addr.c (_dl_addr): Likewise.
	* elf/dl-runtime.c (profile_fixup): Likewise.
	(fixup): Likewise.
	* elf/dl-init.c (_dl_init_next): Likewise.
	* sysdeps/generic/dl-machine.h (elf_machine_runtime_setup): Likewise.
	* sysdeps/unix/sysv/linux/i386/dl-librecon.h
	(DISTINGUISH_LIB_VERSIONS): Likewise.
	* sysdeps/i386/dl-machine.h (elf_machine_runtime_setup): Likewise.
	(elf_machine_rel): Likewise.

	* elf/dynamic-link.h (elf_get_dynamic_info): Only change l_info
	for writable dynamic section.
2000-03-23 20:31:46 +00:00
Ulrich Drepper
a808d541c6 Update.
2000-02-28  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/start.c: Initialize __errno and add comment
	explaining why.  Remove K&R compatibility.

	* sysdeps/powerpc/fpu/s_isnan.c: Avoid using asm statement to
	declare aliases.

	* sysdeps/powerpc/Makefile: Always pass flags to compile for ppc
	and not rs6000.
	[$(subdir)=misc] (sysdep_routines): Add gprsave0, gprrest0,
	gprsave1 , and gprrest1.
	Don't pass special flags to compiler for init and gmon-start if
	this is no ELF platform.

	* sysdeps/mach/hurd/bits/statfs.h: Define _STATFS_F_NAMELEN.
	* sysdeps/unix/sysv/linux/bits/statfs.h: Likewise.
	* sysdeps/unix/sysv/linux/mips/bits/statfs.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/bits/statfs.h: Likewise.
	* sysdeps/posix/fpathconf.c: Don't unconditionally use f_namelen
	in statfs.  Check feature macro and use f_name_max or NAME_MAX
	instead.
	* sysdeps/posix/pathconf.c: Likewise.

	* dlfcn/dlfcn.h: Remove DL_CALL_FCT definition here.
	* sysdeps/generic/bits/dlfcn.h: Define DL_CALL_FCT here.
	* sysdeps/mips/bits/dlfcn.h: Define DL_CALL_FCT here.
	* iconv/skeleton.c: If DL_CALL_FCT is not yet defined, add dumy
	definition here.

	* sysdeps/generic/libc-start.c: Fix typo in comment.

	* include/set-hooks.h: Allow systems to not define
	symbol_set_define.

	* configure.in: Unify machine names rs6000 and powerpc.
2000-02-28 21:16:38 +00:00
Ulrich Drepper
762e5d4831 Update.
1999-12-19  Andreas Jaeger  <aj@suse.de>

	* sysdeps/generic/libc-start.c: Remove declaration of
	__libc_open.  Move declaration of __libc_fcntl to ...
	* include/fcntl.h: ...here.

	* include/unistd.h: Move __libc_open and __libc_open64 to ...
	* include/fcntl.h: ...here.

	* malloc/malloc.h (__attribute_malloc__): Only define if hasn't
	happened yet.

	* malloc/Versions: __libc_freeres was exported with glibc 2.1.3,
	rename label.
1999-12-19 19:51:55 +00:00
Ulrich Drepper
778c59c850 Update.
1999-12-18  Ulrich Drepper  <drepper@cygnus.com>

	* include/unistd.h: Declare __libc_open64, __libc_lseek64,
	__libc_pread, __libc_pread64, __libc_pwrite, and __libc_pwrite64.
	* io/Versions: Export __libc_open64 and __libc_lseek64.
	* posix/Versions: Export __libc_pread, __libc_pread64, __libc_pwrite,
	and __libc_pwrite64.
	* sysdeps/generic/open64.c: Define __libc_* variant for cancelation
	wrapper.
	* sysdeps/generic/pread.c: Likewise.
	* sysdeps/generic/pread64.c: Likewise.
	* sysdeps/generic/pwrite.c: Likewise.
	* sysdeps/generic/pwrite64.c: Likewise.
	* sysdeps/posix/open64.c: Likewise.
	* sysdeps/posix/pread.c: Likewise.
	* sysdeps/posix/pread64.c: Likewise.
	* sysdeps/posix/pwrite.c: Likewise.
	* sysdeps/posix/pwrite64.c: Likewise.
	* sysdeps/unix/sysv/linux/llseek.c: Likewise.
	* sysdeps/unix/sysv/linux/pread.c: Likewise.
	* sysdeps/unix/sysv/linux/pread64.c: Likewise.
	* sysdeps/unix/sysv/linux/pwrite.c: Likewise.
	* sysdeps/unix/sysv/linux/pwrite64.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/pread.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/pread64.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/pwrite.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/pwrite64.c: Likewise.

	* sysdeps/posix/open64.c: Help gcc generating better code.

	* sysdeps/generic/libc-start.c (check_one_fd): Use __libc_open
	instead of __open.
1999-12-19 05:29:07 +00:00
Ulrich Drepper
43f94f913e Update.
1999-12-11  H.J. Lu  <hjl@gnu.org>

	* sysdeps/generic/libc-start.c (check_one_fd): Use __libc_fcntl
	instead of __fcntl.
1999-12-19 02:59:06 +00:00
Ulrich Drepper
a828c2f533 Update.
* sysdeps/generic/libc-start.c: For SUID binaries check whether
	the standard file descriptors are open.
	Reported by Chris Evans <chris@ferret.lmh.ox.ac.uk>.
1999-07-09 16:18:17 +00:00
Ulrich Drepper
69f234e8ff Update.
* db2/btree/bt_close.c: Likewise.
	* db2/btree/bt_compare.c: Likewise.
	* db2/btree/bt_conv.c: Likewise.
	* db2/btree/bt_cursor.c: Likewise.
	* db2/btree/bt_delete.c: Likewise.
	* db2/btree/bt_open.c: Likewise.
	* db2/btree/bt_page.c: Likewise.
	* db2/btree/bt_put.c: Likewise.
	* db2/btree/bt_rec.c: Likewise.
	* db2/btree/bt_recno.c: Likewise.
	* db2/btree/bt_rsearch.c: Likewise.
	* db2/btree/bt_search.c: Likewise.
	* db2/btree/bt_split.c: Likewise.
	* db2/btree/bt_stat.c: Likewise.
	* db2/btree/btree.src: Likewise.
	* db2/btree/btree_auto.c: Likewise.
	* db2/clib/getlong.c: Likewise.
	* db2/common/db_appinit.c: Likewise.
	* db2/common/db_apprec.c: Likewise.
	* db2/common/db_byteorder.c: Likewise.
	* db2/common/db_err.c: Likewise.
	* db2/common/db_log2.c: Likewise.
	* db2/common/db_region.c: Likewise.
	* db2/common/db_salloc.c: Likewise.
	* db2/common/db_shash.c: Likewise.
	* db2/db/db.c: Likewise.
	* db2/db/db.src: Likewise.
	* db2/db/db_auto.c: Likewise.
	* db2/db/db_conv.c: Likewise.
	* db2/db/db_dispatch.c: Likewise.
	* db2/db/db_dup.c: Likewise.
	* db2/db/db_overflow.c: Likewise.
	* db2/db/db_pr.c: Likewise.
	* db2/db/db_rec.c: Likewise.
	* db2/db/db_ret.c: Likewise.
	* db2/db/db_thread.c: Likewise.
	* db2/db185/db185.c: Likewise.
	* db2/db185/db185_int.h: Likewise.
	* db2/dbm/dbm.c: Likewise.
	* db2/hash/hash.c: Likewise.
	* db2/hash/hash.src: Likewise.
	* db2/hash/hash_auto.c: Likewise.
	* db2/hash/hash_conv.c: Likewise.
	* db2/hash/hash_debug.c: Likewise.
	* db2/hash/hash_dup.c: Likewise.
	* db2/hash/hash_func.c: Likewise.
	* db2/hash/hash_page.c: Likewise.
	* db2/hash/hash_rec.c: Likewise.
	* db2/hash/hash_stat.c: Likewise.
	* db2/include/btree.h: Likewise.
	* db2/include/btree_ext.h: Likewise.
	* db2/include/clib_ext.h: Likewise.
	* db2/include/common_ext.h: Likewise.
	* db2/include/cxx_int.h: Likewise.
	* db2/include/db.h.src: Likewise.
	* db2/include/db_185.h.src: Likewise.
	* db2/include/db_am.h: Likewise.
	* db2/include/db_auto.h: Likewise.
	* db2/include/db_cxx.h: Likewise.
	* db2/include/db_dispatch.h: Likewise.
	* db2/include/db_ext.h: Likewise.
	* db2/include/db_int.h.src: Likewise.
	* db2/include/db_page.h: Likewise.
	* db2/include/db_shash.h: Likewise.
	* db2/include/db_swap.h: Likewise.
	* db2/include/hash.h: Likewise.
	* db2/include/hash_ext.h: Likewise.
	* db2/include/lock.h: Likewise.
	* db2/include/lock_ext.h: Likewise.
	* db2/include/log.h: Likewise.
	* db2/include/log_ext.h: Likewise.
	* db2/include/mp.h: Likewise.
	* db2/include/mp_ext.h: Likewise.
	* db2/include/mutex_ext.h: Likewise.
	* db2/include/os_ext.h: Likewise.
	* db2/include/os_func.h: Likewise.
	* db2/include/queue.h: Likewise.
	* db2/include/shqueue.h: Likewise.
	* db2/include/txn.h: Likewise.
	* db2/lock/lock.c: Likewise.
	* db2/lock/lock_conflict.c: Likewise.
	* db2/lock/lock_deadlock.c: Likewise.
	* db2/lock/lock_region.c: Likewise.
	* db2/lock/lock_util.c: Likewise.
	* db2/log/log.c: Likewise.
	* db2/log/log.src: Likewise.
	* db2/log/log_archive.c: Likewise.
	* db2/log/log_auto.c: Likewise.
	* db2/log/log_compare.c: Likewise.
	* db2/log/log_findckp.c: Likewise.
	* db2/log/log_get.c: Likewise.
	* db2/log/log_put.c: Likewise.
	* db2/log/log_rec.c: Likewise.
	* db2/log/log_register.c: Likewise.
	* db2/mp/mp_bh.c: Likewise.
	* db2/mp/mp_fget.c: Likewise.
	* db2/mp/mp_fopen.c: Likewise.
	* db2/mp/mp_fput.c: Likewise.
	* db2/mp/mp_fset.c: Likewise.
	* db2/mp/mp_open.c: Likewise.
	* db2/mp/mp_pr.c: Likewise.
	* db2/mp/mp_region.c: Likewise.
	* db2/mp/mp_sync.c: Likewise.
	* db2/mutex/68020.gcc: Likewise.
	* db2/mutex/mutex.c: Likewise.
	* db2/mutex/parisc.gcc: Likewise.
	* db2/mutex/parisc.hp: Likewise.
	* db2/mutex/sco.cc: Likewise.
	* db2/os/os_abs.c: Likewise.
	* db2/os/os_alloc.c: Likewise.
	* db2/os/os_config.c: Likewise.
	* db2/os/os_dir.c: Likewise.
	* db2/os/os_fid.c: Likewise.
	* db2/os/os_fsync.c: Likewise.
	* db2/os/os_map.c: Likewise.
	* db2/os/os_oflags.c: Likewise.
	* db2/os/os_open.c: Likewise.
	* db2/os/os_rpath.c: Likewise.
	* db2/os/os_rw.c: Likewise.
	* db2/os/os_seek.c: Likewise.
	* db2/os/os_sleep.c: Likewise.
	* db2/os/os_spin.c: Likewise.
	* db2/os/os_stat.c: Likewise.
	* db2/os/os_unlink.c: Likewise.
	* db2/progs/db_archive/db_archive.c: Likewise.
	* db2/progs/db_checkpoint/db_checkpoint.c: Likewise.
	* db2/progs/db_deadlock/db_deadlock.c: Likewise.
	* db2/progs/db_dump/db_dump.c: Likewise.
	* db2/progs/db_dump185/db_dump185.c: Likewise.
	* db2/progs/db_load/db_load.c: Likewise.
	* db2/progs/db_printlog/db_printlog.c: Likewise.
	* db2/progs/db_recover/db_recover.c: Likewise.
	* db2/progs/db_stat/db_stat.c: Likewise.
	* db2/txn/txn.c: Likewise.
	* db2/txn/txn.src: Likewise.
	* db2/txn/txn_auto.c: Likewise.
	* db2/txn/txn_rec.c: Likewise.
	* sysdeps/generic/libc-start.c: Always set __libc_stack_end.
	* sysdeps/i386/backtrace.c: Test whether frame pointer is legal
	before following it.
1998-06-09 16:02:40 +00:00
Ulrich Drepper
c0fb8a563c Update.
1998-06-07 13:32  Ulrich Drepper  <drepper@cygnus.com>

	* libc.map: Add _dl_profile.
	* elf/dl-reloc.c (_dl_relocate_object): Take extra argument, pass
	this to ELF_DYNAMIC_RELOCATE.
	Always allocate array for relocation result if LD_PROFILE is defined.
	* elf/ldsodefs.h: Adjust prototypes.
	* elf/dl-open.c (_dl_open): Call relocation function with extra
	argument.
	* elf/rtld.c: Likewise.
	* elf/dl-profile.c (_dl_mcount): Don't mark as internal function.
	Correct loop condition.
	* elf/dynamic-link.h: Don't examine _dl_profile variable, pass
	consider_profile to runtime setup function.
	* sysdeps/i386/dl-machine.h (elf_machine_runtime_setup): Use
	_dl_runtime_profile for all shared objects if LD_PROFILE is defined.

	* elf/dl-support.c: Define __libc_stack_end.
	* elf/rtld.c: Likewise.
	* sysdeps/generic/libc-start.c: Store last stack address in
	__libc_stack_end.
	* sysdeps/i386/dl-machine.h (_dl_start_user): Store stack address.
	* sysdeps/i386/elf/start.s: Call __libc_start_main with extra argument.

	* elf/elf.h: Include <features.h>, not <sys/cdefs.h>.
	Include <stdint.h>, not <inttypes.h>.

	* elf/sprof.c: Implement flat profiling.

	* libio/fgetc.c: Call _IO_cleanup_region_end with 0 and call
	_IO_funlockfile explicitly.
	* libio/fileops.c: Likewise.
	* libio/fputc.c: Likewise.
	* libio/freopen.c: Likewise.
	* libio/freopen64.c: Likewise.
	* libio/fseek.c: Likewise.
	* libio/fseeko.c: Likewise.
	* libio/fseeko64.c: Likewise.
	* libio/ftello.c: Likewise.
	* libio/ftello64.c: Likewise.
	* libio/getc.c: Likewise.
	* libio/getchar.c: Likewise.
	* libio/iofclose.c: Likewise.
	* libio/iofflush.c: Likewise.
	* libio/iofgetpos.c: Likewise.
	* libio/iofgetpos64.c: Likewise.
	* libio/iofgets.c: Likewise.
	* libio/iofputs.c: Likewise.
	* libio/iofread.c: Likewise.
	* libio/iofsetpos.c: Likewise.
	* libio/iofsetpos64.c: Likewise.
	* libio/ioftell.c: Likewise.
	* libio/iofwrite.c: Likewise.
	* libio/iogetdelim.c: Likewise.
	* libio/iogets.c: Likewise.
	* libio/ioputs.c: Likewise.
	* libio/ioseekoff.c: Likewise.
	* libio/ioseekpos.c: Likewise.
	* libio/iosetbuffer.c: Likewise.
	* libio/iosetvbuf.c: Likewise.
	* libio/ioungetc.c: Likewise.
	* libio/iovsprintf.c: Likewise.
	* libio/iovsscanf.c: Likewise.
	* libio/oldfileops.c: Likewise.
	* libio/oldiofclose.c: Likewise.
	* libio/peekc.c: Likewise.
	* libio/putc.c: Likewise.
	* libio/putchar.c: Likewise.
	* libio/rewind.c: Likewise.

	* malloc/mtrace.c: Pretty print.

	* misc/mntent.h (struct mentent): Make string elements const char *.

	* nis/nis_printf.c: Optimize I/O a little bit.

	* signal/Makefile (distribute): Add sigset-cvt-mask.h.
	* sysdeps/generic/sigset-cvt-mask.h: New file.
	* sysdeps/unix/sysv/linux/sigset-cvt-mask.h: New file.
	* sysdeps/unix/sysv/sysv4/sigset-cvt-mask.h: New file.
	* sysdeps/posix/sigvec.c: Rewrite the use definitions from
	sigset-cvt-mask.h to do the dirty work.
	Patches by Joe Keane.

	* sysdeps/posix/mkstemp.c: Save one precious byte of rodata.

	* sysdeps/unix/sysv/linux/i386/sysdep.h: Rewrite PSEUDO etc to make
	syscall_error label in case of PIC anonymous.
	* sysdeps/unix/sysv/linux/i386/i686/sysdep.h: Likewise.
	* sysdeps/unix/sysv/linux/i386/clone.S: Adapt for this change.
	* sysdeps/unix/sysv/linux/i386/mmap.S: Adapt for this change.
	* sysdeps/unix/sysv/linux/i386/s_pread64.S: Adapt for this change.
	* sysdeps/unix/sysv/linux/i386/s_pwrite64.S: Adapt for this change.
	* sysdeps/unix/sysv/linux/i386/socket.S: Adapt for this change.
	* sysdeps/unix/sysv/linux/i386/syscall.S: Adapt for this change.
1998-06-07 14:06:56 +00:00
Richard Henderson
4194bc660f * elf/dl-runtime.c (fixup, profile_fixup): The final arg to _dl_lookup_*symbol is DL_LOOKUP_NOPLT not ELF_MACHINE_JMP_SLOT. * elf/elf.h (EM_SPARC64): Remove. (EM_SPARC32PLUS, EM_SPARCV9): Add. (HWCAP_SPARC_V9): Add. * elf/ldsodefs.h (_dl_hwcap): Declare. * sysdeps/sparc/sparc32/dl-machine.h (_dl_hwcap, _dl_hwcap_mask): Weaken so dlopen from static progies works. (WEAKADDR): New macro. (elf_machine_matches_host): Accept EM_SPARC32PLUS on a v9 cpu. (LD_SO_PRELOAD): New macro. (elf_machine_fixup_plt): Cope with weak _dl_hwcap. (elf_machine_rela): Weaken _dl_rtld_map. * sysdeps/unix/sysv/linux/sparc/sparc32/clone.S: Rename __libc_clone to __clone, and remove the later's alias. * sysdeps/unix/sysv/linux/sparc/sparc64/clone.S: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c: Copy to/from the kernel's structure.
1998-04-06  Jakub Jelinek <jj@sunsite.ms.mff.cuni.cz>

	* elf/dl-runtime.c (fixup, profile_fixup): The final arg to
	_dl_lookup_*symbol is DL_LOOKUP_NOPLT not ELF_MACHINE_JMP_SLOT.

	* elf/elf.h (EM_SPARC64): Remove.
	(EM_SPARC32PLUS, EM_SPARCV9): Add.
	(HWCAP_SPARC_V9): Add.

	* elf/ldsodefs.h (_dl_hwcap): Declare.
	* sysdeps/sparc/sparc32/dl-machine.h (_dl_hwcap, _dl_hwcap_mask):
	Weaken so dlopen from static progies works.
	(WEAKADDR): New macro.
	(elf_machine_matches_host): Accept EM_SPARC32PLUS on a v9 cpu.
	(LD_SO_PRELOAD): New macro.
	(elf_machine_fixup_plt): Cope with weak _dl_hwcap.
	(elf_machine_rela): Weaken _dl_rtld_map.

	* sysdeps/unix/sysv/linux/sparc/sparc32/clone.S: Rename __libc_clone
	to __clone, and remove the later's alias.
	* sysdeps/unix/sysv/linux/sparc/sparc64/clone.S: Likewise.

	* sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c: Copy to/from
	the kernel's structure.

	* sysdeps/generic/libc-start.c: Allow init and fini to be null.
1998-04-06 19:08:46 +00:00
Ulrich Drepper
a853022cc3 Update.
1998-03-24  Ulrich Drepper  <drepper@cygnus.com>

	* elf/ldsodesf.h: New file.
	* elf/Makefile (distribute): Add ldsodefs.h.
	* elf/link.h: Separate internal information in exter header.
	* elf/rtld.c: Include elf/ldsodefs.h not link.h.
	* elf/dl-minimal.c: Likewise.
	* sysdeps/generic/dl-sysdep.c: Likewise.
	* elf/sprof.c: Likewise.
	* elf/dlsym.c: Likewise.
	* elf/dlvsym.c: Likewise.
	* elf/dlerror.c: Likewise.
	* elf/dladdr.c: Likewise.
	* elf/dlclose.c: Likewise.
	* elf/dlopen.c: Likewise.
	* elf/dl-addr.c: Likewise.
	* elf/dl-close.c: Likewise.
	* elf/dl-debug.c: Likewise.
	* elf/dl-deps.c: Likewise.
	* elf/dl-error.c: Likewise.
	* elf/dl-fini.c: Likewise.
	* elf/dl-init.c: Likewise.
	* elf/dl-load.c: Likewise.
	* elf/dl-lookup.c: Likewise.
	* elf/dl-object.c: Likewise.
	* elf/dl-open.c: Likewise.
	* elf/dl-profile.c: Likewise.
	* elf/dl-reloc.c: Likewise.
	* elf/dl-runtime.c: Likewise.
	* elf/dl-support.c: Likewise.
	* elf/dl-symbol.c: Likewise.
	* elf/dl-version.c: Likewise.
	* sysdeps/generic/dl-cache.c: Likewise.
	* sysdeps/generic/libc-start.c: Likewise.
	* iconv/gconv_dl.c: Likewise.
	* nss/nsswitch.c: Likewise.
1998-03-24 00:39:45 +00:00
Ulrich Drepper
3116126871 Update.
1998-03-18 14:25  Ulrich Drepper  <drepper@cygnus.com>

	* string/bits/string2.h: Add optimization for strdup.
	Always define __strsep and __strtok_r and make real names available
	when feature select macros are defined.

1998-03-18  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* manual/install.texi (Installation): Use i486-linux as example
	instead of the unsupported sunos4.
	(Reporting Bugs): Mention glibcbug script.
	(Tools for Installation): gcc 2.8.1/egcs 1.0.2 is required.

1998-03-16  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* posix/wordexp-tst.sh: Make portable.  Add more tests.

	* posix/Makefile (do-globtest do-wordexp-test): New targets.

1998-03-18 13:38  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/unix/sysv/linux/libc-start.c: Moved to ...
	* sysdeps/generic/libc-start.c: ...here, replacing former content.

	* sysdeps/unix/sysv/linux/Dist: Add netash/ash.h and
	netpacket/packet.h.

	* sysdeps/unix/sysv/linux/bits/socket.h: Pretty print.

1998-03-17  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/unix/sysv/linux/bits/resource.h: Remove trailing comma
	in enumerator for strict standard compliance.
	* sysdeps/generic/bits/resource.h: Likewise.

1998-03-18 10:04  Philip Blundell  <pb@nexus.co.uk>

	* sysdeps/arm/sysdep.h (__ARM_USES_FP): Deleted.
	(PLTJMP): New macro.

	* sysdeps/arm/fpu/__longjmp.S: New file, implementation of
	longjmp() when floating point enabled.
	* sysdeps/arm/fpu/setjmp.S: Likewise for setjmp().
	* sysdeps/arm/__longjmp.S: Remove floating point code.
	* sysdeps/arm/setjmp.S: Likewise.

	* sysdeps/arm/bsd-setjmp.S: Call __sigsetjmp by correct name.
	* sysdeps/arm/bsd-_setjmp.S: Likewise.

	* sysdeps/arm/memset.S: New file; optimised ARM implementation of
	memset().

	* sysdeps/generic/setsockopt.c (setsockopt): Keep in step with
	prototype.

1998-03-17 16:16  Philip Blundell  <pb@nexus.co.uk>

	Based on patches from Pat Beirne and Scott Bambrough:

	* sysdeps/arm/__longjmp.S: Use ip, not r2, as temporary.

	* sysdeps/arm/bits/fenv.h: New file.

	* sysdeps/arm/dl-machine.h: New file.  Add ELF support.
	* sysdeps/arm/elf/setjmp.S: Likewise.
	* sysdeps/arm/elf/start.S: Likewise.
	* sysdeps/arm/init-first.c: Likewise.
	* sysdeps/arm/setjmp.S: Call __sigjmp_save through PLT
	* sysdeps/arm/sysdep.h: Change format of .type directive.  Correct
	comment about floating point to reflect current reality.

	* sysdeps/unix/arm/brk.S: Support PIC.
	* sysdeps/unix/arm/sysdep.S (syscall_error): Support PIC and
	re-entrant code.
	* sysdeps/unix/sysv/linux/arm/socket.S: Check correctly for error
	return; call syscall_error through PLT.
	* sysdeps/unix/sysv/linux/arm/sysdep.h (ENTRY): Correct error jump.

1998-03-04 12:01  Philip Blundell  <pb@nexus.co.uk>

	* sysdeps/unix/sysv/linux/netpacket/packet.h: New file.
	* sysdeps/unix/sysv/linux/netash/ash.h: Likewise.
	* sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Install them.
1998-03-18 14:42:25 +00:00
Ulrich Drepper
3db52d94e2 Update.
1998-03-08 14:58  Ulrich Drepper  <drepper@cygnus.com>

	* Makeconfig (nisobjdir): Set to path to nis directory.
	(rpath-link): Add nisobjdir.
	Patch by Sven Verdoolaege <skimo@kotnet.org>.

	* elf/Makefile: Pretty print.
	* elf/dl-lookup.c: Include unistd.h.
	* elf/dl-runtime.c: Likewise.

	* localedata/Makefile (test-srcs): Add tst-rpmatch.
	(distribute): Add tst-rpmatch.sh.
	(tests): Add tst-rpmatch to dependency list and run tst-rpmatch.sh.

	New tests for rpmatch function by
	Jochen Hein <jochen.hein@delphi.central.de>.
	* localedata/tst-rpmatch.c: New file.
	* localedata/tst-rpmatch.sh: New file.

	* localedata/locales/de_DE: Correct yesexpr and noexpr.
	* localedata/locales/de_AT: Likewise.

	* posix/getopt.c: Update contact address.
	* posix/getopt1.c: Pretty print.

	* sysdeps/generic/libc-start.c: Do most of the initialization now
	here instead of in start.S.
	* sysdeps/unix/sysv/linux/libc-start.c: Likewise.
	* sysdeps/i386/elf/start.S: Remove most of the initialization code.

	* sysdeps/unix/sysv/linux/i386/profil-counter.h: No need for
	profil_counter to be public.

1998-03-08 13:06  Tim Waugh  <tim@cyberelk.demon.co.uk>

	* posix/wordexp.c (parse_arith): Now works for negative numbers too.
	(parse_param): Coded parameter length expansion (${#var}).
	(parse_param): Handling for "=", "+", "-", and the ":" versions added.
	(parse_param): Cleaned up (fixed) error handling.

	* posix/wordexp-test.c: IFS now includes non-whitespace character
	(comma).  Added more tests.
1998-03-08 15:26:29 +00:00
Ulrich Drepper
7dea968e78 Update.
1998-03-06 17:04  Ulrich Drepper  <drepper@cygnus.com>

	* libc.map: Add _dl_debug_impcalls, _dl_debug_fd, _dl_sysdep_output,
	__libc_start_main.
	* csu/Makefile (routines): Add libc-start.
	* elf/dl-error.c: Remove declaration of _dl_argv.  Include <unitsd.h>.
	* elf/dl-lookup.c: Likewise.
	* elf/dl-version.c: Likewise.
	* sysdeps/i386/dl-machine.h: Likewise.
	* elf/link.h: Declare _dl_argv, _dl_debug_fd.
	Declare _dl_sysdep_output.  Make _dl_sysdep_fatal, _dl_sysdep_error and
	_dl_sysdep_message macros which use _dl_sysdep_output.
	* elf/dl-fini.c: Write out which destructor is called while debugging.
	* elf/dl-init.c: Likewise for constructor.
	* elf/dl-load.c: Use _dl_debug_message instead of _dl_sysdep_message.
	* elf/dl-misc.c: Remove _dl_sysdep_fatal, _dl_sysdep_error and
	_dl_sysdep_message.  Add _dl_sysdep_output.
	* elf/rtld.c: Recognize LD_DEBUG_OUTPUT.  Set _dl_debug_fd if
	this file can be opened.
	For LD_DEBUG=libs also set _dl_debug_impcalls.
	* sysdeps/generic/dl-cache.c: Include unistd.h.
	* sysdeps/generic/libc-start.c: New file.
	* sysdeps/i386/elf/start.S: Don't call main directly, call
	* sysdeps/unix/sysv/linux/libc-start.c: New file.
	__libc_start_main instead.

	* elf/Makefile ($(objpfx)ld.so): Add $(load-map-file) as dependency.
1998-03-06 17:21:43 +00:00