Commit Graph

3710 Commits

Author SHA1 Message Date
Roland McGrath
c213fe9c7d * sysdeps/unix/sysv/linux/getdents.c (__GETDENTS): Use union type for
pointers that can alias.
	Reported by Daniel Jacobowitz <drow@mvista.com>.
2002-11-03 03:47:57 +00:00
Roland McGrath
cd180b205f * sysdeps/unix/bsd/bsd4.4/freebsd/bits/typesizes.h: New file.
2002-11-02  Roland McGrath  <roland@redhat.com>
2002-11-03 01:21:26 +00:00
Roland McGrath
fc633b17ce * sysdeps/unix/sysv/linux/mips/syscalls.list (s_execve): Set
caller to EXTRA instead of execve.
2002-11-02 23:13:20 +00:00
Roland McGrath
cfbc71d7dd * sysdeps/generic/errno-loc.c [! USE___THREAD]: Use this conditional
in place of [!(USE_TLS && HAVE___THREAD)].
	(__errno_location) [! USE___THREAD]: Define as strong, not weak.
2002-11-02 01:53:44 +00:00
Roland McGrath
bde40c2f9a * sysdeps/i386/soft-fp/sfp-machine.h (_FP_NANFRAC_Q, _FP_NANSIGN_Q):
New macros.
	* sysdeps/x86_64/soft-fp/sfp-machine.h: Likewise.

	* soft-fp/soft-fp.h: Allow sfp-machine.h to define FP_RND_NEAREST
	without defining FP_ROUNDMODE.
2002-11-01 21:49:33 +00:00
Roland McGrath
15deb6b3b4 * sysdeps/gnu/siglist.c (PTR_SIZE_STR): Remove.
(__old_sys_siglist, __old_sys_sigabbrev): Use strong_alias and
	declare_symbol.
	* sysdeps/mach/hurd/siglist.h (OLD_SIGLIST_SIZE_STR): Remove.
	(OLD_SIGLIST_SIZE): Define.
	* sysdeps/unix/sysv/linux/siglist.h (OLD_SIGLIST_SIZE_STR): Remove.
	(OLD_SIGLIST_SIZE): Define.
	* sysdeps/unix/sysv/linux/arm/siglist.c: Remove.
2002-11-01 20:48:37 +00:00
Roland McGrath
c88fccbef1 * sysdeps/ia64/strncpy.S: Fix recovery code. 2002-11-01 20:46:53 +00:00
Roland McGrath
c877418f2e * include/libc-symbols.h (__libc_freeres_fn_section, libc_freeres_fn):
New macros.
	* elf/dl-close.c (free_mem): Use libc_freeres_fn macro, remove
	text_set_element.
	* elf/dl-libc.c (free_mem): Likewise.
	* iconv/gconv_conf.c (free_mem): Likewise.
	* iconv/gconv_db.c (free_mem): Likewise.
	* iconv/gconv_dl.c (free_mem): Likewise.
	* iconv/gconv_cache.c (free_mem): Likewise.
	* intl/finddomain.c (free_mem): Likewise.
	* intl/dcigettext.c (free_mem): Likewise.
	* locale/setlocale.c (free_mem): Likewise.
	* misc/fstab.c (fstab_free): Likewise.
	* nss/nsswitch.c (free_mem): Likewise.
	* posix/regcomp.c (free_mem): Likewise.
	* resolv/gai_misc.c (free_res): Likewise.
	* stdlib/fmtmsg.c (free_mem): Likewise.
	* sunrpc/clnt_perr.c (free_mem): Likewise.
	* sysdeps/generic/setenv.c (free_mem): Likewise.
	* sysdeps/unix/sysv/linux/shm_open.c (freeit): Likewise.
	* sysdeps/pthread/aio_misc.c (free_res): Likewise.
	* time/tzset.c (free_mem): Likewise.
	* malloc/mtrace.c (release_libc_mem): Add __libc_freeres_fn_section.
	* locale/loadarchive.c (_nl_archive_subfreeres): Likewise.
	* malloc/set-freeres.c (__libc_freeres): Likewise.

	* login/getutent.c: Include stdlib.h instead of stddef.h.
	(buffer): Change into pointer to utmp, add libc_freeres_ptr.
	(__getutent): Allocate buffer the first time it is run.
	* login/getutid.c: Include stdlib.h instead of stddef.h.
	(buffer): Change into pointer to utmp, add libc_freeres_ptr.
	(__getutid): Allocate buffer the first time it is run.
	* login/getutline.c: Include stdlib.h instead of stddef.h.
	(buffer): Change into pointer to utmp, add libc_freeres_ptr.
	(__getutline): Allocate buffer the first time it is run.
	* malloc/mtrace.c (malloc_trace_buffer): Change into char *.
	(mtrace): Allocate malloc_trace_buffer.
	* resolv/nsap_addr.c (inet_nsap_ntoa): Decrease size of tmpbuf.
	* resolv/ns_print.c (ns_sprintrrf): Decrease size of t.
	* string/strerror.c: Include libintl.h and errno.h.
	(buf): New variable.
	(strerror): Only allocate buffer if actually needed (unknown error).
	* time/tzfile.c (transitions): Add libc_freeres_ptr.
	(freeres): Remove.

2002-10-25  Jakub Jelinek  <jakub@redhat.com>

	* include/libc-symbols.h (libc_freeres_ptr): New macro.
	* malloc/set-freeres.c (__libc_freeres_ptrs): Define using
	symbol_set_define.
	(__libc_freeres): Free all pointers in that section.
	* Makerules (build-shlib): Add $(LDSEDCMD-$(@F:lib%.so=%).so) to sed
	commands when creating .lds script.
	(LDSEDCMD-c.so): New variable.
	* inet/rcmd.c (ahostbuf): Change into char *.  Add libc_freeres_ptr.
	(rcmd_af): Use strdup to allocate ahostbuf.
	* inet/rexec.c (ahostbuf): Change into char *.  Add libc_freeres_ptr.
	(rexec_af): Use strdup to allocate ahostbuf.
	* stdio-common/reg-printf.c (printf_funcs): Remove.
	(__printf_arginfo_table): Change into printf_arginfo_function **.
	Add libc_freeres_ptr.
	(__register_printf_function): Allocate __printf_arginfo_table
	and __printf_function_table the first time it is called.
	* stdio-common/printf-parse.h (__printf_arginfo_table): Change into
	printf_arginfo_function **.
	(parse_one_spec): Add __builtin_expect.
	* grp/fgetgrent.c (buffer): Add libc_freeres_ptr.
	(free_mem): Remove.
	* inet/getnetgrent.c (buffer): Add libc_freeres_ptr.
	(free_mem): Remove.
	* intl/localealias.c (libc_freeres_ptr): Define if !_LIBC.
	(string_space, map): Add libc_freeres_ptr.
	(free_mem): Remove.
	* misc/efgcvt.c (FCVT_BUFPTR): Add libc_freeres_ptr.
	(free_mem): Remove.
	* misc/mntent.c (getmntent_buffer): Add libc_freeres_ptr.
	(free_mem): Remove.
	* crypt/md5-crypt.c (libc_freeres_ptr): Define if !_LIBC.
	(buffer): Add libc_freeres_ptr.
	(free_mem): Remove for _LIBC.
	* nss/getXXbyYY.c (buffer): Add libc_freeres_ptr.
	(free_mem): Remove.
	* nss/getXXent.c (buffer): Add libc_freeres_ptr.
	(free_mem): Remove.
	* pwd/fgetpwent.c (buffer): Add libc_freeres_ptr.
	(free_mem): Remove.
	* resolv/res_hconf.c (ifaddrs): Add libc_freeres_ptr.
	(free_mem): Remove.
	* shadow/fgetspent.c (buffer): Add libc_freeres_ptr.
	(free_mem): Remove.
	* sysdeps/posix/ttyname.c (getttyname_name): Add libc_freeres_ptr.
	(free_mem): Remove.
	* sysdeps/unix/sysv/linux/getsysstats.c (mount_proc): Add
	libc_freeres_ptr.
	(free_mem): Remove.
	* sysdeps/unix/sysv/linux/ttyname.c (getttyname_name, ttyname_buf): Add
	libc_freeres_ptr.
	(free_mem): Remove.

2002-10-30  Jakub Jelinek  <jakub@redhat.com>

	* malloc/obstack.c [_LIBC] (obstack_free): Change into strong_alias
	instead of duplicating the whole function in libc.
2002-11-01 20:44:15 +00:00
Roland McGrath
2ac03c5dae 2002-10-31 Roland McGrath <roland@redhat.com>
* sysdeps/i386/bits/byteswap.h [__GNUC__ < 2] (__bswap_32):
	Renamed from __bswap_16 (typo fix).  Reported by <dens@stl.sarov.ru>.
2002-11-01 04:12:25 +00:00
Andreas Jaeger
2cd8fda583 * sysdeps/unix/sysv/linux/Makefile (syscall-%.h): Add -D for each
32bit-predefine when creating .new32 list and -U for each 
32bit-predefine when creating .new64 list. 
* sysdeps/unix/sysv/linux/x86_64/Makefile (32bit-predefine): New.
2002-10-30 18:25:26 +00:00
Andreas Schwab
b323b11c1d Include <testrtsig.h>, not "testrtsig.h". 2002-10-29 12:14:53 +00:00
Roland McGrath
980fb9a7d8 * sysdeps/unix/sysv/linux/configure.in: Fix typo in last change.
* sysdeps/unix/sysv/linux/configure: Regenerated.
2002-10-26 01:06:33 +00:00
Roland McGrath
b5b9cfc425 * sysdeps/generic/ldsodefs.h: Remove [! SHARED] conditional from
_dl_starting_up decl.
2002-10-26 01:04:06 +00:00
Roland McGrath
b0ab77c813 * sysdeps/unix/sysv/linux/configure.in: Don't check
/lib/modules/`uname -r`/build/include for kernel headers if
	cross compiling.
	* sysdeps/unix/sysv/linux/configure: Regenerated.
2002-10-25 23:38:23 +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
04a08397d5 2002-10-25 Roland McGrath <roland@redhat.com>
* sysdeps/posix/sigvec.c [SA_RESETHAND]: Disable wrapper hacks and
	implement SV_RESETHAND by translating it to SA_RESETHAND.
2002-10-25 19:15:51 +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
Roland McGrath
369b849f1a * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h (INTERNAL_SYSCALL,
INTERNAL_SYSCALL_ERROR_P, INTERNAL_SYSCALL_ERRNO): New macros.
	(INLINE_SYSCALL): Use that.
	* sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h (INTERNAL_SYSCALL,
	INTERNAL_SYSCALL_ERROR_P, INTERNAL_SYSCALL_ERRNO): New macros.
	(INLINE_SYSCALL): Use that.
	* sysdeps/unix/sysv/linux/x86_64/sysdep.h (INTERNAL_SYSCALL,
	INTERNAL_SYSCALL_ERROR_P, INTERNAL_SYSCALL_ERRNO): New macros.
	(INLINE_SYSCALL): Use that.
	* sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h: Include
	dl-sysdep.h.
	(SYSCALL_ERROR_HANDLER): Define RTLD_PRIVATE_ERRNO variant.
	(__INTERNAL_SYSCALL_STRING): Define.
	* sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h: Include
	dl-sysdep.h.
	(SYSCALL_ERROR_HANDLER): Define RTLD_PRIVATE_ERRNO variant.
	(__INTERNAL_SYSCALL_STRING): Define.
	* sysdeps/unix/sysv/linux/sparc/sysdep.h (INLINE_SYSCALL): Pass
	__SYSCALL_STRING to inline_syscall*.
	(INTERNAL_SYSCALL, INTERNAL_SYSCALL_ERROR_P, INTERNAL_SYSCALL_ERRNO):
	New macros.
	(inline_syscall0, inline_syscall1, inline_syscall2, inline_syscall3,
	inline_syscall4, inline_syscall5, inline_syscall6): Add string
	argument.

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

	* libio/bug-wfflush.c: New file.
	* libio/Makefile (tests): Add bug-wfflush.
2002-10-24 18:49:00 +00:00
Roland McGrath
90d5987081 * stdio-common/tst-fphex.c: New file.
* stdio-common/Makefile (tests): Add tst-fphex.
	* sysdeps/generic/printf_fphex.c (__printf_fphex): Fix initialization
	of WNUMEND.  Fix counting of decimal point in WIDTH.  Print '0' pad
	chars always before the value digits.
	Reported by James Antill <james.antill@redhat.com>.
2002-10-24 01:15:37 +00:00
Roland McGrath
3efdabe762 * libio/ftello.c (ftello): Use _IO_off64_t for type of POS.
Check for the result overflowing off_t and fail with EOVERFLOW.
	* libio/ioftell.c (_IO_ftell): Likewise.
	* libio/iofgetpos.c (_IO_new_fgetpos): Likewise.

	* login/logwtmp.c (logwtmp): If sizeof ut_tv != sizeof struct timeval,
	use a temporary timeval on the stack for gettimeofday and copy it.
	* login/logout.c (logout): Likewise.
	Reported by Steven Munroe <sjmunroe@us.ibm.com>.

	* sysdeps/unix/sysv/linux/bits/statfs.h (struct statfs):
	Use __SWORD_TYPE instead of int for member types.
	(struct statfs64): Likewise.
	* sysdeps/unix/sysv/linux/alpha/bits/statfs.h: New file.
	* sysdeps/unix/sysv/linux/s390/bits/statfs.h: New file.
	* sysdeps/unix/sysv/linux/ia64/bits/statfs.h: File removed.
	* sysdeps/unix/sysv/linux/sparc/bits/statfs.h: File removed.
	* sysdeps/unix/sysv/linux/x86_64/bits/statfs.h: File removed.

	* sysdeps/unix/sysv/linux/sparc/bits/statvfs.h: Moved to ...
	* sysdeps/unix/sysv/linux/bits/statvfs.h: ... here.
	(ST_NODIRATIME): Restore fixed value of 2048.
	* sysdeps/unix/sysv/linux/alpha/bits/statvfs.h: File removed.
	* sysdeps/unix/sysv/linux/ia64/bits/statvfs.h: File removed.

	Rearranged <bits/types.h> definitions to reduce duplication.
	* sysdeps/generic/bits/types.h: Rewritten, using macros from
	<bits/wordsize.h> and new header <bits/typesizes.h>.
	* posix/Makefile (headers): Add bits/typesizes.h here.
	* sysdeps/generic/bits/typesizes.h: New file.
	* sysdeps/unix/sysv/linux/alpha/bits/typesizes.h: New file.
	* sysdeps/unix/sysv/linux/sparc/bits/typesizes.h: New file.
	* sysdeps/mach/hurd/bits/typesizes.h: New file.
	* sysdeps/unix/sysv/linux/alpha/bits/types.h: File removed.
	* sysdeps/unix/sysv/linux/bits/types.h: File removed.
	* sysdeps/unix/sysv/linux/ia64/bits/types.h: File removed.
	* sysdeps/unix/sysv/linux/mips/bits/types.h: File removed.
	* sysdeps/unix/sysv/linux/s390/bits/types.h: File removed.
	* sysdeps/unix/sysv/linux/sparc/bits/types.h: File removed.
	* sysdeps/unix/sysv/linux/x86_64/bits/types.h: File removed.
	* posix/sys/types.h [__USE_POSIX199506 || __USE_UNIX98]: Include
	<bits/pthreadtypes.h> here, not in <bits/types.h>.
	* signal/signal.h: Likewise.

	* streams/stropts.h: Include <bits/xtitypes.h>.
	* streams/Makefile (headers): Add bits/xtitypes.h here.
	* sysdeps/generic/bits/xtitypes.h: New file.
	* sysdeps/s390/bits/xtitypes.h: New file.
	* sysdeps/ia64/bits/xtitypes.h: New file.
	* sysdeps/x86_64/bits/xtitypes.h: New file.

	* sysvipc/Makefile (headers): Add bits/ipctypes.h here.
	* sysdeps/generic/bits/ipctypes.h: New file.
	* sysdeps/mips/bits/ipctypes.h: New file.
	* sysdeps/gnu/bits/shm.h: Include <bits/ipctypes.h>.
	* sysdeps/gnu/bits/msq.h: Likewise.
	* sysvipc/sys/ipc.h: Likewise.

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

	* sysdeps/generic/libc-tls.c (_dl_tls_static_used): New variable.
	* sysdeps/generic/ldsodefs.h (struct rtld_global): New member
	`_dl_tls_static_used'.
	(TLS_STATIC_MIN): New macro.
	* elf/dl-reloc.c [USE_TLS] (allocate_static_tls): New function.
	(CHECK_STATIC_TLS): Use it.
2002-10-23 23:50:19 +00:00
Roland McGrath
b02c687fd3 2002-10-23 Roland McGrath <roland@redhat.com>
* streams/stropts.h: Include <bits/xtitypes.h>.
	* streams/Makefile (headers): Add bits/xtitypes.h here.
	* sysdeps/generic/bits/xtitypes.h: New file.
	* sysdeps/s390/bits/xtitypes.h: New file.
	* sysdeps/ia64/bits/xtitypes.h: New file.
	* sysdeps/x86_64/bits/xtitypes.h: New file.
2002-10-23 23:48:42 +00:00
Roland McGrath
3a0742f9ac * sysdeps/unix/sysv/linux/ia64/syscalls.list (s_execve): Set
caller to EXTRA instead of execve, since the latter has a
	higher-priority implementation in linuxthreads.
2002-10-22 16:07:15 +00:00
Roland McGrath
8265947da0 * sysdeps/generic/libc-tls.c (__libc_setup_tls): Initialize the static
slotinfo list's len member to the proper size, not just 1.
	Initialize static_map.l_tls_initimage.

	* elf/dl-open.c (dl_open_worker): Fix loop searching for
	dtv_slotinfo_list element containing new modules' l_tls_modid.

	* elf/tst-tls9.c, elf/tst-tls9-static.c: New files.
	* elf/tst-tlsmod5.c, elf/tst-tlsmod6.c: New files.
	* elf/Makefile (tests): Add tst-tls9.
	(tests-static): Add tst-tls9-static.
	(tst-tls9-static-ENV): New variable.
	($(objpfx)tst-tls9-static, $(objpfx)tst-tls9-static.out): New targets.

	* elf/dl-close.c (remove_slotinfo): Remove an assert; the number of
	modids used by partially loaded modules being closed can't be known.
2002-10-22 06:22:53 +00:00
Roland McGrath
f4b07664fb * configure: Regenerated (using Autoconf 2.54).
* sysdeps/alpha/elf/configure: Likewise.
	* sysdeps/generic/configure: Likewise.
	* sysdeps/i386/elf/configure: Likewise.
	* sysdeps/ia64/elf/configure: Likewise.
	* sysdeps/mach/hurd/configure: Likewise.
	* sysdeps/mach/configure: Likewise.
	* sysdeps/unix/configure: Likewise.
	* sysdeps/unix/common/configure: Likewise.
	* sysdeps/unix/sysv/aix/configure: Likewise.
	* sysdeps/unix/sysv/linux/configure: Likewise.
	* sysdeps/unix/sysv/linux/mips/configure: Likewise.
	* sysdeps/x86_64/elf/configure: Likewise.

	* config.make.in: Nix completely-soft nonsense.
	* configure.in: Likewise.  Under --without-fp, use nofpu subdirectory
	of machine directories instead of fpu subdirectory.
	* sysdeps/powerpc/soft-fp/Makefile: Remove cruft added in last change.
	* sysdeps/powerpc/nofpu/Makefile: Put it in this new file instead.
	* sysdeps/powerpc/soft-fp/sim-full.c: Moved to ...
	* sysdeps/powerpc/nofpu/sim-full.c: ... here.
	* sysdeps/powerpc/soft-fp/fraiseexcpt.c: Moved to ...
	* sysdeps/powerpc/nofpu/fraiseexcpt.c: ... here.
	* sysdeps/powerpc/soft-fp/fegetexcept.c: Moved to ...
	* sysdeps/powerpc/nofpu/fegetexcept.c: ... here.
	* sysdeps/powerpc/soft-fp/fclrexcpt.c: Moved to ...
	* sysdeps/powerpc/nofpu/fclrexcpt.c: ... here.
	* sysdeps/powerpc/soft-fp/ftestexcept.c: Moved to ...
	* sysdeps/powerpc/nofpu/ftestexcept.c: ... here.
	* sysdeps/powerpc/soft-fp/fgetexcptflg.c: Moved to ...
	* sysdeps/powerpc/nofpu/fgetexcptflg.c: ... here.
	* sysdeps/powerpc/soft-fp/fsetexcptflg.c: Moved to ...
	* sysdeps/powerpc/nofpu/fsetexcptflg.c: ... here.
	* sysdeps/powerpc/soft-fp/fedisblxcpt.c: Moved to ...
	* sysdeps/powerpc/nofpu/fedisblxcpt.c: ... here.
	* sysdeps/powerpc/soft-fp/feenablxcpt.c: Moved to ...
	* sysdeps/powerpc/nofpu/feenablxcpt.c: ... here.
	* sysdeps/powerpc/soft-fp/fegetenv.c: Moved to ...
	* sysdeps/powerpc/nofpu/fegetenv.c: ... here.
	* sysdeps/powerpc/soft-fp/fesetenv.c: Moved to ...
	* sysdeps/powerpc/nofpu/fesetenv.c: ... here.
	* sysdeps/powerpc/soft-fp/fegetround.c: Moved to ...
	* sysdeps/powerpc/nofpu/fegetround.c: ... here.
	* sysdeps/powerpc/soft-fp/fesetround.c: Moved to ...
	* sysdeps/powerpc/nofpu/fesetround.c: ... here.
	* sysdeps/powerpc/soft-fp/feupdateenv.c: Moved to ...
	* sysdeps/powerpc/nofpu/feupdateenv.c: ... here.
	* sysdeps/powerpc/soft-fp/feholdexcpt.c: Moved to ...
	* sysdeps/powerpc/nofpu/feholdexcpt.c: ... here.
	* sysdeps/powerpc/soft-fp/fenv_const.c: Moved to ...
	* sysdeps/powerpc/nofpu/fenv_const.c: ... here.
	* sysdeps/powerpc/soft-fp/libm-test-ulps: Moved to ...
	* sysdeps/powerpc/nofpu/libm-test-ulps: ... here.
	* sysdeps/powerpc/soft-fp/soft-supp.h: Moved to ...
	* sysdeps/powerpc/nofpu/soft-supp.h: ... here.
	* sysdeps/powerpc/soft-fp/Versions (libc: GLIBC_2.3.2): Moved to ...
	* sysdeps/powerpc/nofpu/Versions: ... here, new file.

2002-10-19  Bruno Haible  <bruno@clisp.org>

	* sysdeps/unix/bsd/bsd4.4/freebsd/sys/sysmacros.h: New file.

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

	* io/Makefile (routines): Add lchmod.
	* io/sys/stat.h [__USE_BSD] (lchmod): Declare it.
	* sysdeps/generic/lchmod.c: New file.
	* sysdeps/mach/hurd/lchmod.c: New file.
	* io/Versions (libc: GLIBC_2.3.2): New set, add lchmod.
2002-10-19 20:07:18 +00:00
Roland McGrath
82f3f07d7a * sysdeps/powerpc/powerpc32/dl-machine.c (__process_machine_rela): Fix
typos: VALUE -> FINALADDR.
2002-10-18 22:37:42 +00:00
Roland McGrath
45fba3dfbb * sysdeps/unix/alpha/sysdep.h (INLINE_SYSCALL, INLINE_SYSCALL1)
(inline_syscall_clobbers, inline_syscall0, inline_syscall1)
	(inline_syscall2, inline_syscall3, inline_syscall4, inline_syscall5)
	(inline_syscall6): Move these macros ...
	* sysdeps/unix/sysv/linux/alpha/sysdep.h: ... to here.

        * aclocal.m4 (GLIBC_PROVIDES): Add AC_PROVIDEs for
	_AS_PATH_SEPARATOR_PREPARE and _AS_TEST_PREPARE.
2002-10-18 22:16:45 +00:00
Roland McGrath
0cfeb093c1 * configure.in (libc_link_dests, libc_link_sources): Remove these
variables and the AC_LINK_FILES call.

	* sysdeps/powerpc/soft-fp/Versions (libc: GLIBC_2.3.2): Fix last
	change to put new symbols here instead of in GLIBC_2.2.
	* sysdeps/powerpc/Subdirs: Move this file ...
	* sysdeps/powerpc/soft-fp/Subdirs: ... here.
2002-10-18 20:55:03 +00:00
Roland McGrath
3fc6935a15 * sysdeps/generic/bits/time.h: Replaced with contents of the
sysdeps/unix/sysv/linux/i386/bits/time.h file.  All the following
	files were identical except for the absence of CLOCK_THREAD_CPUTIME_ID
	and CLOCK_PROCESS_CPUTIME_ID in .../linux/bits/time.h; adding these
	macros is ok even for architectures that don't now implement them.
	* sysdeps/mach/hurd/bits/time.h: File removed.
	* sysdeps/unix/sysv/linux/bits/time.h: File removed.
	* sysdeps/unix/sysv/linux/i386/bits/time.h: File removed.
	* sysdeps/unix/sysv/linux/ia64/bits/time.h: File removed.
	* sysdeps/unix/sysv/linux/sparc/bits/time.h: File removed.
	* sysdeps/unix/sysv/linux/x86_64/bits/time.h: File removed.
2002-10-18 20:36:01 +00:00
Roland McGrath
c2f55635da * configure.in: Replace AC_FD_CC with AS_MESSAGE_LOG_FD.
* sysdeps/alpha/elf/configure.in: Likewise.
        * sysdeps/i386/elf/configure.in: Likewise.
        * sysdeps/mach/hurd/configure.in: Likewise.
        * sysdeps/x86_64/elf/configure.in: Likewise.
2002-10-18 20:28:09 +00:00
Roland McGrath
e21c057f16 2002-10-18 Jeff Bailey <jbailey@gnu.org>
* sysdeps/alpha/elf/configure.in: Remove unneeded sinclude statement.
        * sysdeps/generic/configure.in: Likewise.
        * sysdeps/i386/elf/configure.in: Likewise.
        * sysdeps/ia64/elf/configure.in: Likewise.
        * sysdeps/mach/configure.in: Likewise.
        * sysdeps/mach/hurd/configure.in: Likewise.
        * sysdeps/unix/configure.in: Likewise.
        * sysdeps/unix/common/configure.in: Likewise.
        * sysdeps/unix/sysv/aix/configure.in: Likewise.
        * sysdeps/unix/sysv/linux/configure.in: Likewise.
        * sysdeps/unix/sysv/linux/mips/configure.in: Likewise.
        * sysdeps/x86_64/elf/configure.in: Likewise.
2002-10-18 19:38:06 +00:00
Roland McGrath
69c708edbc * sysdeps/unix/sysv/linux/pathconf.h (statfs_link_max): Add inline.
(statfs_filesize_max): New function.
	* sysdeps/unix/sysv/linux/linux_fsinfo.h (JFFS_SUPER_MAGIC,
	JFFS2_SUPER_MAGIC, JFS_SUPER_MAGIC, NTFS_SUPER_MAGIC,
	ROMFS_SUPER_MAGIC, UDF_SUPER_MAGIC): Define.
	* sysdeps/unix/sysv/linux/fpathconf.c (__fpathconf): Use
	statfs_filesize_max.
	* sysdeps/unix/sysv/linux/pathconf.c (__pathconf): Likewise.
	* sysdeps/unix/sysv/linux/alpha/fpathconf.c: Removed.
	* sysdeps/unix/sysv/linux/alpha/pathconf.c: Removed.
2002-10-18 19:03:55 +00:00
Roland McGrath
2e9d4e8c88 regenerated 2002-10-18 08:17:43 +00:00
Ulrich Drepper
2a3566dacf Regenerated: autoconf sysdeps/generic/configure.in 2002-10-18 05:05:59 +00:00
Ulrich Drepper
8dd8681f4a Update.
* sysdeps/powerpc/soft-fp/soft-supp.h: New file.
2002-10-18 05:05:55 +00:00
Ulrich Drepper
126960c5c2 Internal support stuff for complete soft float. 2002-10-18 04:57:50 +00:00
Roland McGrath
2d37ce0f61 * configure.in (MIG): Just AC_SUBST it here.
* configure: Regenerated.
	* sysdeps/mach/configure.in (MIG): Do the AC_CHECK_TOOL here.
	Adding final - argument to all AC_CHECK_HEADER uses for .defs files.
	* sysdeps/mach/configure: Regenerated.

	* aclocal.m4 (GLIBC_PROVIDES): Add AC_PROVIDE([_AS_TR_SH_PREPARE])
	and AC_PROVIDE([_AS_CR_PREPARE]).
2002-10-18 01:49:07 +00:00
Roland McGrath
b9cb349fb4 * aclocal.m4 (GLIBC_PROVIDES): Add AC_PROVIDE([_AS_ECHO_N_PREPARE]).
Remove AC_LANG(C) call, instead just define([_AC_LANG], [C]).

	* elf/dl-support.c: Move _dl_tls_* variables to ...
	* sysdeps/generic/libc-tls.c: ... here.

	* elf/dl-close.c (remove_slotinfo): Take new argument.  If false,
	allow IDX to be one past the current last slotinfo entry.
	(_dl_close): Pass IMAP->l_init_called for that parameter.
2002-10-18 01:13:06 +00:00
Ulrich Drepper
1a8aaf919d Update.
2002-10-08  Richard Henderson  <rth@redhat.com>

	* soft-fp/op-4.h: Handle carry correctly in
	__FP_FRAC_ADD_3, __FP_FRAC_ADD_4, __FP_FRAC_SUB_3,
	__FP_FRAC_SUB_4, __FP_FRAC_DEC_3, __FP_FRAC_DEC_4.
	* soft-fp/op-common.h: New macros _FP_DIV_MEAT_N_loop.

2002-10-08  Aldy Hernandez  <aldyh@redhat.com>

	* configure.in: Compute completely-soft.
	* config.make.in: Make completely-soft available to sub-makes.
	* sysdeps/powerpc/soft-fp/Makefile: Add gcc-single-routines and
	gcc-double-routines.  Add sim-full.c.  Add fenv_const and
	fe_nomask to libm-support.
	* sysdeps/powerpc/soft-fp/sim-full.c: New file.
	* sysdeps/powerpc/soft-fp/fraiseexcpt.c: New file.
	* sysdeps/powerpc/soft-fp/fegetexcept.c: New file.
	* sysdeps/powerpc/soft-fp/fclrexcpt.c: New file.
	* sysdeps/powerpc/soft-fp/ftestexcept.c: New file.
	* sysdeps/powerpc/soft-fp/fgetexcptflg.c: New file.
	* sysdeps/powerpc/soft-fp/fsetexcptflg.c: New file.
	* sysdeps/powerpc/soft-fp/fedisblxcpt.c: New file.
	* sysdeps/powerpc/soft-fp/feenablxcpt.c: New file.
	* sysdeps/powerpc/soft-fp/fegetenv.c: New file.
	* sysdeps/powerpc/soft-fp/fesetenv.c: New file.
	* sysdeps/powerpc/soft-fp/fegetround.c: New file.
	* sysdeps/powerpc/soft-fp/fesetround.c: New file.
	* sysdeps/powerpc/soft-fp/feupdateenv.c: New file.
	* sysdeps/powerpc/soft-fp/feholdexcpt.c: New file.
	* sysdeps/powerpc/soft-fp/fenv_const.c: New file.
	* sysdeps/powerpc/soft-fp/libm-test-ulps: New file.
	* sysdeps/powerpc/soft-fp/Versions: Add libgcc soft-float
	symbols.  Add __sim_disabled_exceptions, __sim_exceptions,
	__sim_round_mode.
	* sysdeps/powerpc/soft-float/Dist: Add sim-full.c, fenv_const.c.
	* sysdeps/powerpc/soft-float/sfp-machine.h: Define
	FP_HANDLE_EXCEPTIONS.
	Define FP_ROUNDMODE.
	Redefine FP_* macros to correspond to the FE_* bit positions.
	Define FP_DIV_MEAT_S to _FP_DIV_MEAT_1_loop.
	Define externs for __sim_exceptions, __sim_disabled_exceptions,
	__sim_round_mode, __simulate_exceptions.
	* sysdeps/powerpc/fpu/bits/fenv.h: Move file from here...
	* sysdeps/powerpc/bits/fenv.h: ...to here.

2002-10-06  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/powerpc/powerpc32/dl-machine.c (__process_machine_rela):
	Store R_PPC_UADDR32 and R_PPC_UADDR16 one byte at a time.
	Use __builtin_expect for R_PPC_ADDR24 overflow check.  Fix
	R_PPC_ADDR16, R_PPC_UADDR16 and R_PPC_ADDR14* overflow check, use
	__builtin_expect.
2002-10-17 23:16:26 +00:00
Ulrich Drepper
b51b47f4ec (__process_machine_rela): Store R_PPC_UADDR32 and R_PPC_UADDR16 one byte at a time. Use __builtin_expect for R_PPC_ADDR24 overflow check. Fix R_PPC_ADDR16, R_PPC_UADDR16 and R_PPC_ADDR14* overflow check, use __builtin_expect. 2002-10-17 22:22:42 +00:00
Ulrich Drepper
d025fe269a Pretty printing. 2002-10-17 21:32:59 +00:00
Roland McGrath
eb775e678d 2002-10-17 Roland McGrath <roland@redhat.com>
* sysdeps/x86_64/dl-machine.h (elf_machine_rela): Do CHECK_STATIC_TLS
	before performing the reloc, not before.
	* sysdeps/i386/dl-machine.h (elf_machine_rel): Likewise.
2002-10-17 19:44:19 +00:00
Roland McGrath
2430d57a13 * elf/dl-load.c (_dl_map_object_from_fd): Don't check DF_STATIC_TLS.
* elf/dl-reloc.c (_dl_relocate_object: CHECK_STATIC_TLS): New macro
	to signal error if an IE-model TLS reloc resolved to a dlopen'd module.
	* sysdeps/i386/dl-machine.h (elf_machine_rel, elf_machine_rela):
	Call it after performing TPOFF relocs.
	* sysdeps/x86_64/dl-machine.h (elf_machine_rela): Likewise.
	* sysdeps/sh/dl-machine.h (elf_machine_rela): Likewise.
	* elf/dl-conflict.c (CHECK_STATIC_TLS): New macro (no-op).

	* elf/dl-close.c (remove_slotinfo): Change asserts so as not to crash
	when closing a partially-initialized object.

	* elf/dl-load.c (_dl_map_object_from_fd) [! USE_TLS]: Call lose
	instead of _dl_fatal_printf when we see PT_TLS.
2002-10-17 12:10:17 +00:00
Roland McGrath
0a951d0e31 * cppflags-iterator.mk (CPPFLAGS-$(cpp-src)): Variable removed.
instead of += to append, to be sure $(lib) gets expanded at defn time.
	(libof-$(cpp-src)): New variable, define this instead.
	* extra-lib.mk (cpp-srcs-left): Reduce duplication in include setup.
	(lib): Don't use override.
	(CPPFLAGS-$(lib)): New variable, put -D's here.
	* Makeconfig (CPPFLAGS): Use basename fn for CPPFLAGS-basename.
	Also add $(CPPFLAGS-LIB) before the file-specific flags, for each
	LIB found by $(libof-*) for basename, target, or source.
	* Makerules (CPPFLAGS-nonlib): New variable.
	* nscd/Makefile (lib): Set to nonlib when using cppflags-iterator.mk.
	* locale/Makefile (lib): Likewise.
	* sunrpc/Makefile (lib): Likewise.

	* sysdeps/unix/sysv/linux/fpathconf.c (LINUX_LINK_MAX): Move macro ...
	* sysdeps/unix/sysv/linux/linux_fsinfo.h (LINUX_LINK_MAX): ... here.
	* sysdeps/unix/sysv/linux/pathconf.h: New file.
	(statfs_link_max): New function, guts from fpathconf.c.
	* sysdeps/unix/sysv/linux/fpathconf.c: Rewritten using that.
	* sysdeps/unix/sysv/linux/pathconf.c (__pathconf): Likewise.
	* sysdeps/unix/sysv/linux/alpha/pathconf.c (__pathconf): Rewritten
	to use the linux/pathconf.c code by #include rather than duplication.
	* sysdeps/unix/sysv/linux/alpha/fpathconf.c (__pathconf): Likewise.

2002-10-16  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/x86_64/sysdep.h (SYSCALL_ERROR_HANDLER):
	Use __libc_errno only for libc itself.
2002-10-16 22:09:55 +00:00
Roland McGrath
0d83b42e2d 2002-10-16 Roland McGrath <roland@redhat.com>
* sysdeps/unix/sysv/linux/fpathconf.c (LINUX_LINK_MAX): Move macro ...
	* sysdeps/unix/sysv/linux/linux_fsinfo.h (LINUX_LINK_MAX): ... here.
	* sysdeps/unix/sysv/linux/pathconf.h: New file.
	(statfs_link_max): New function, guts from fpathconf.c.
	* sysdeps/unix/sysv/linux/fpathconf.c: Rewritten using that.
	* sysdeps/unix/sysv/linux/pathconf.c (__pathconf): Likewise.
	* sysdeps/unix/sysv/linux/alpha/pathconf.c (__pathconf): Rewritten
	to use the linux/pathconf.c code by #include rather than duplication.
	* sysdeps/unix/sysv/linux/alpha/fpathconf.c (__pathconf): Likewise.
2002-10-16 22:09:42 +00:00
Andreas Jaeger
f977f8e520 Fix off-by-1 error in argument access. 2002-10-16 10:09:27 +00:00
Ulrich Drepper
ac2dc59886 Update.
2002-10-16  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/sysdep.h (SYSCALL_ERROR_HANDLER):
	Use __libc_errno only for libc itself.
2002-10-16 08:57:50 +00:00
Ulrich Drepper
885bc0246b Update.
* sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_VFORK_SYSCALL):
	Define for 2.4+ kernels.

	* sysdeps/unix/sysv/linux/i386/vfork.S: Optimize for kernels which
	are known to have the vfork syscall.  Don't confuse the CPUs
	branch prediction unit by jumping to the return address.
2002-10-16 04:42:33 +00:00
Ulrich Drepper
708296036c Optimize for kernels which are known to have the vfork syscall. Don't confuse the CPUs branch prediction unit by jumping to the return address. 2002-10-16 04:39:59 +00:00
Roland McGrath
abe7b661ff Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/Makefile
	($(objpfx)syscall-%.h $(objpfx)syscall-%.d): Take code from
	sparc/Makefile to produce a bi-arch file as needed.
	That's now parameterized by the variable $(64bit-predefine).
	Use LC_ALL=C for `comm' commands in that rule.
	No longer conditional on [$(no_syscall_list_h)].
	* sysdeps/unix/sysv/linux/sparc/Makefile: Remove replacement rules.
	(64bit-predefine): New variable.
	* sysdeps/unix/sysv/linux/x86_64/Makefile: Likewise.
	* sysdeps/unix/sysv/linux/s390/Makefile: New file.
	* sysdeps/unix/sysv/linux/powerpc/Makefile
	(64bit-predefine): New variable.

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

	* sysdeps/unix/sysv/linux/Makefile
	($(objpfx)syscall-%.h $(objpfx)syscall-%.d)

	* login/utmp-private.h: Declare __libc_utmp_lock.
	* sysdeps/unix/getlogin_r.c (getlogin_r): Take __libc_utmp_lock once
	call __libc_utmp_jump_table functions directly, instead of using
	__setutent et al.

	* sysdeps/unix/sysv/linux/configure.in: Use case instead of if.
	* sysdeps/unix/sysv/linux/configure: Regenerated.
2002-10-16 03:03:00 +00:00
Roland McGrath
c55dca8d85 * sysdeps/gnu/bits/utmp.h: Include <bits/wordsize.h>.
(struct lastlog) [__WORDSIZE == 64 && __WORDSIZE_COMPAT32]:
	Use int32_t for ll_time.
	(struct utmp) [__WORDSIZE == 64 && __WORDSIZE_COMPAT32]:
	Use int32_t instead of long int for ut_session.
	Use an anonymous struct with 32-bit fields for ut_tv.
	* sysdeps/gnu/bits/utmpx.h: Include <bits/wordsize.h>.
	(struct utmpx) [__WORDSIZE == 64 && __WORDSIZE_COMPAT32]: Do the same
	here as in utmp.h for `struct utmp'.
	* sysdeps/unix/sysv/linux/powerpc/bits/utmp.h: File removed.
	* sysdeps/unix/sysv/linux/powerpc/bits/utmpx.h: File removed.
	* sysdeps/unix/sysv/linux/sparc/bits/utmp.h: File removed.
	* sysdeps/unix/sysv/linux/sparc/bits/utmpx.h: File removed.
	* sysdeps/unix/sysv/linux/x86_64/bits/utmp.h: File removed.
	* sysdeps/unix/sysv/linux/x86_64/bits/utmpx.h: File removed.

	* sysdeps/unix/sysv/linux/bits/resource.h: Replaced with the contents
	of the sysdeps/unix/sysv/linux/i386/bits/resource.h file.
	All the following files were identical or equivalent to it.
	* sysdeps/unix/sysv/linux/i386/bits/resource.h: File removed.
	* sysdeps/unix/sysv/linux/arm/bits/resource.h: File removed.
	* sysdeps/unix/sysv/linux/cris/bits/resource.h: File removed.
	* sysdeps/unix/sysv/linux/hppa/bits/resource.h: File removed.
	* sysdeps/unix/sysv/linux/ia64/bits/resource.h: File removed.
	* sysdeps/unix/sysv/linux/m68k/bits/resource.h: File removed.
	* sysdeps/unix/sysv/linux/powerpc/bits/resource.h: File removed.
	* sysdeps/unix/sysv/linux/s390/bits/resource.h: File removed.
	* sysdeps/unix/sysv/linux/sh/bits/resource.h: File removed.
	* sysdeps/unix/sysv/linux/x86_64/bits/resource.h: File removed.

	* sysdeps/unix/sysv/linux/bits/socket.h (struct msghdr): Use size_t
	instead of int for msg_iovlen, instead of socklen_t for msg_controllen.
	Other than the previously incorrect sign of msg_iovlen, this is a
	no-op on 32-bit platforms.  On 64-bit platforms it makes this header
	match their layouts as well, so the following are now identical to it.
	* sysdeps/unix/sysv/linux/s390/bits/socket.h: File removed.
	* sysdeps/unix/sysv/linux/sparc/bits/socket.h: File removed.
	* sysdeps/unix/sysv/linux/x86_64/bits/socket.h: File removed.
	* sysdeps/unix/sysv/linux/ia64/bits/socket.h: File removed.
	* sysdeps/unix/sysv/linux/alpha/bits/socket.h: File removed.
2002-10-16 01:03:05 +00:00