Commit Graph

644 Commits

Author SHA1 Message Date
Ulrich Drepper
f17ed1a9ee [BZ #262]
Update.
2004-07-15  Jakub Jelinek  <jakub@redhat.com>

	[BZ #262]
	* sysdeps/i386/elf/start.S (_start): Use @GOT instead of @GOTOFF
	for main.
	* elf/Makefile: Add rules to build and run tst-pie1.
	* elf/tst-pie1.c: New test.
	* elf/tst-piemod1.c: New file.
2004-07-16 17:56:45 +00:00
Ulrich Drepper
ee600e3f76 Update.
2004-07-10  Ulrich Drepper  <drepper@redhat.com>

	* elf/ldconfig.c: Define PROCINFO_CLASS as static before including
	ldsodefs.h.
	* sysdeps/generic/ldsodefs.h: Only define PROCINFO_CLASS if it is not
	already defined.
	* sysdeps/i386/dl-procinfo.c: Define PROCINFO_CALLS only if not
	already defined.

	* elf/rtld.c (print_statistics): Mark with noinline attribute.
	* sysdeps/i386/dl-machine.h (elf_machine_rel): Mark with always_inline
	attribute.
	(elf_machine_rel_relative): Likewise.

	* include/string.h: Add libc_hidden_proto for __strtok_r and
	__strsep_g.
	* sysdeps/generic/strsep.c: Add libc_hidden_def.
	* sysdeps/generic/strtok_r.c: Likewise.
	* sysdeps/i386/strtok_r.S: Add alias for internal symbol.
	* sysdeps/i386/i686/strtok_r.S: Likewise.
	* sysdeps/x86_64/strtok_r.S: Likewise.

2004-07-09  Alexandre Oliva  <aoliva@redhat.com>

	* inet/getnetgrent_r.c (internal_setnetgrent): Make it hidden
	instead of internal-linkage, such that we can alias to it.
	(internal_endnetgrent, internal_getnetgrent_r): Likewise.
2004-07-10 20:00:44 +00:00
Ulrich Drepper
2dd18ce2b2 Update.
* include/string.h (ffs): Add libc_hidden_builtin_proto.
	* sysdeps/rs6000/ffs.c (ffs): Add libc_hidden_builtin_def.
	* sysdeps/alpha/alphaev67/ffs.S (ffs): Likewise.
	* sysdeps/alpha/ffs.S (ffs): Likewise.
	* sysdeps/s390/ffs.c (ffs): Likewise.
	* sysdeps/powerpc/ffs.c (ffs): Likewise.
	* sysdeps/i386/ffs.c (ffs): Likewise.
	* sysdeps/i386/i686/ffs.c (ffs): Likewise.
	* sysdeps/m68k/ffs.c (ffs): Likewise.
	* sysdeps/generic/ffs.c (ffs): Likewise.
	* sysdeps/m88k/ffs.c (ffs): Likewise.
	* sysdeps/am29k/ffs.c (ffs): Likewise.
	* sysdeps/i960/ffs.c (ffs): Likewise.
	* sysdeps/x86_64/ffs.c (ffs): Likewise.

	* Makerules (check-abi): Use diff -p -U 0 instead of diff -pu0.
2004-07-05 17:36:34 +00:00
Ulrich Drepper
9f5d26e2a7 Update.
2004-06-11  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/i386/fpu/libm-test-ulps: Update for GCC 3.4.
	* sysdeps/s390/fpu/libm-test-ulps: Likewise.
2004-07-01 01:43:38 +00:00
Roland McGrath
5b2892d54e * sysdeps/i386/bits/string.h (memcpy): Add () around arguments.
(memchr, __memrchr, strlen, strcmp, strncmp, __strchr_g, __strchr_c,
	__strchrnul_g, __strchrnul_c, strspn, strcspn, strpbrk): Add memory
	the asm uses as its input, either of size __n where __n is known or
	0xfffffff.
	(strstr): Add "memory" clobber.
2004-06-15 20:12:01 +00:00
Ulrich Drepper
75fcceded2 Update.
2004-06-03  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/i386/i486/bits/atomic.h: Optimize a bit.
2004-06-03 16:04:11 +00:00
Ulrich Drepper
3dbfd8117c Update.
2004-05-27  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/i386/fpu/bits/mathinline.h (__expm1_code): Define using
	__builtin_expm1l for GCC 3.5+.
	(__expl): Define using __builtin_expl for GCC 3.4+.
	(exp, expf, expl): Don't define for GCC 3.4+.
	(tan, tanf, tanl): Don't define for GCC 3.5+.
	(__atan2l): Define using __builtin_atan2l for GCC 3.4+.
	(atan2, atan2f, atan2l): Don't define for GCC 3.4+ or !__FAST_MATH__.
	(fmod, fmodf, fmodl): Don't define for GCC 3.5+ or !__FAST_MATH__.
	(fabsf, fabsl): Only provide if __USE_MISC or __USE_ISOC99.
	(sin, sinf, sinl, cos, cosf, cosl, log, logf, logl): Don't define
	for GCC 3.4+.
	(log10, log10f, log10l, asin, asinf, asinl, acos, acosf, acosl):
	Don't define for GCC 3.5+.
	(atan, atanf, atanl): Don't define for GCC 3.4+ or !__FAST_MATH__.
	(log1p, log1pf, log1pl, logb, logbf, logbl, log2, log2f, log2l): Don't
	define for GCC 3.5+.
	(drem, dremf, dreml): Don't define for GCC 3.5+ or !__FAST_MATH__.
	* sysdeps/sparc/fpu/bits/mathinline.h (sqrt, sqrtf, sqrtl): Don't
	define for GCC 3.2+.

2004-05-27  Jakub Jelinek  <jakub@redhat.com>

	* string/bits/string2.h (__bzero): Define even for GCC 3.0+.
	* sysdeps/alpha/stpcpy.S (stpcpy): Add libc_hidden_builtin_def.
	* sysdeps/alpha/alphaev67/stpcpy.S (stpcpy): Likewise.
	* sysdeps/powerpc/powerpc32/stpcpy.S (stpcpy): Likewise.
	* sysdeps/powerpc/powerpc64/stpcpy.S (stpcpy): Likewise.
	* sysdeps/sparc/sparc32/stpcpy.S (stpcpy): Likewise.
	* sysdeps/sparc/sparc64/stpcpy.S (stpcpy): Likewise.
	* sysdeps/i386/stpcpy.S (stpcpy): Likewise.
	* sysdeps/i386/i586/stpcpy.S (stpcpy): Likewise.
	* sysdeps/generic/stpcpy.c (stpcpy): Likewise.
	* sysdeps/x86_64/stpcpy.S (stpcpy): Likewise.
	* sysdeps/i386/i586/memcpy.S (memcpy): Remove
	libc_hidden_builtin_def if MEMPCPY_P.
	* sysdeps/x86_64/memcpy.S (memcpy): Likewise.
	* sysdeps/i386/i686/mempcpy.S (mempcpy): Add libc_hidden_builtin_def.
	* sysdeps/i386/i586/mempcpy.S (mempcpy): Likewise.
	* sysdeps/generic/mempcpy.c (mempcpy): Likewise.
	* sysdeps/x86_64/mempcpy.S (mempcpy): Likewise.
2004-05-28 06:56:51 +00:00
Ulrich Drepper
44809672d3 (memcpy): Remove libc_hidden_builtin_def if MEMPCPY_P. 2004-05-28 06:38:44 +00:00
Ulrich Drepper
d40eb37aad [BZ #40]
Update.
2004-05-15  Petter Reinholdtsen  <pere@hungry.com>

	* locale/iso-3166.def: Remove YUGOSLAVIA and insert "SERBIA AND
	MONTENEGRO" which have taken over the code 819.  Patch from
	Danilo Segan. [BZ #40]

2004-05-15  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h
	(SYSCALL_ERROR_HANDLER): Rename __sparc.get_pic.l7 to
	__sparc_get_pic_l7.

2004-05-15  Joseph S. Myers  <jsm@polyomino.org.uk>

	* catgets/gencat.c: Update bug reporting instructions.
	* csu/version.c: Likewise.
	* debug/catchsegv.sh: Likewise.
	* debug/pcprofiledump.c: Likewise.
	* debug/xtrace.sh: Likewise.
	* elf/ldd.bash.in: Likewise.
	* iconv/iconv_prog.c: Likewise.
	* iconv/iconvconfig.c: Likewise.
	* locale/programs/locale.c: Likewise.
	* locale/programs/localedef.c: Likewise.
	* login/programs/pt_chown.c: Likewise.
	* malloc/memusage.sh: Likewise.
	* malloc/memusagestat.c: Likewise.
	* malloc/mtrace.pl: Likewise.
	* manual/crypt.texi: Likewise.
	* manual/install.texi: Likewise.
	* nss/makedb.c: Likewise.

2004-05-14  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rela): Only
	CHECK_STATIC_TLS if sym != NULL.
	* sysdeps/sh/dl-machine.h (elf_machine_rela): Likewise.
	* sysdeps/i386/dl-machine.h (elf_machine_rela): Likewise.

2004-05-12  Andreas Schwab  <schwab@suse.de>

	* posix/regex_internal.c (build_wcs_buffer): Also set pstr->mbs
	when translating.

2004-05-13  H.J. Lu  <hongjiu.lu@intel.com>

	* Rules (xtests): Depend on tests.
2004-05-17 18:59:35 +00:00
Ulrich Drepper
495961c076 Update.
2004-05-05  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/alpha/atomicity.h: Remove.
	* sysdeps/generic/atomicity.h: Remove.

2004-05-05  H.J. Lu  <hongjiu.lu@intel.com>

	* sysdeps/i386/i486/bits/string.h (strpbrk): Cast return to
	char *.
2004-05-05 18:43:04 +00:00
Ulrich Drepper
758b215383 Update.
* include/string.h: Add libc_hidden_builtin_proto for memcmp.
	* sysdeps/generic/memcmp.c: Add libc_hidden_builtin_def.
	* sysdeps/i386/memcmp.S: Likewise.
	* sysdeps/i386/i686/memcmp.S: Likewise.
	* sysdeps/ia64/memcmp.S: Likewise.
	* sysdeps/sparc/sparc64/memcmp.S: Likewise.

	* sysdeps/unix/sysv/linux/sigprocmask.c: Include <string.h>.
2004-04-01 23:29:52 +00:00
Richard Henderson
a86573f471 * math/Makefile (headers): Add bits/huge_valf.h, bits/huge_vall.h, and bits/inf.h. * math/math.h: Include them.
* sysdeps/alpha/fpu/bits/mathdef.h, sysdeps/arm/fpu/bits/mathdef.h,
        sysdeps/generic/bits/mathdef.h, sysdeps/i386/fpu/bits/mathdef.h,
        sysdeps/ia64/fpu/bits/mathdef.h, sysdeps/m68k/fpu/bits/mathdef.h,
        sysdeps/mips/fpu/bits/mathdef.h, sysdeps/powerpc/fpu/bits/mathdef.h,
        sysdeps/sh/sh4/fpu/bits/mathdef.h, sysdeps/sparc/fpu/bits/mathdef.h,
        sysdeps/x86_64/fpu/bits/mathdef.h: Remove INFINITY.

        * sysdeps/arm/bits/huge_val.h (HUGE_VAL): Use __builtin_huge_val.
        (HUGE_VALF, HUGE_VALL): Remove.
        * sysdeps/ieee754/bits/huge_val.h: Likewise.
        * sysdeps/sh/bits/huge_val.h: Likewise.

        * sysdeps/generic/bits/huge_val.h (HUGE_VAL): Use __builtin_huge_val.
        * sysdeps/generic/bits/huge_valf.h: New file.
        * sysdeps/generic/bits/huge_vall.h: New file.
        * sysdeps/generic/bits/inf.h: New file.
        * sysdeps/ieee754/bits/huge_valf.h: New file.
        * sysdeps/ieee754/bits/inf.h: New file.
        * sysdeps/i386/bits/huge_val.h: Remove file.
        * sysdeps/i386/bits/huge_vall.h: New file.
        * sysdeps/ia64/bits/huge_val.h: Remove file.
        * sysdeps/ia64/bits/huge_vall.h: New file.
        * sysdeps/ieee754/ldbl-128/bits/huge_vall.h: New file.
        * sysdeps/m68k/bits/huge_val.h: Remove file.
        * sysdeps/m68k/bits/huge_vall.h: New file.
        * sysdeps/s390/bits/huge_val.h: Remove file.
        * sysdeps/sh/sh4/fpu/bits/huge_val.h: Remove file.
        * sysdeps/sparc/bits/huge_vall.h: New file.
        * sysdeps/sparc/sparc32/fpu/bits/huge_val.h: Remove file.
        * sysdeps/sparc/sparc64/fpu/bits/huge_val.h: Remove file.

        * sysdeps/ieee754/bits/nan.h (NAN): Use __builtin_nanf.
        * sysdeps/mips/bits/nan.h (NAN): Likewise.
2004-03-15  Richard Henderson  <rth@redhat.com>

	* math/Makefile (headers): Add bits/huge_valf.h, bits/huge_vall.h,
	and bits/inf.h.
	* math/math.h: Include them.

	* sysdeps/alpha/fpu/bits/mathdef.h, sysdeps/arm/fpu/bits/mathdef.h,
	sysdeps/generic/bits/mathdef.h, sysdeps/i386/fpu/bits/mathdef.h,
	sysdeps/ia64/fpu/bits/mathdef.h, sysdeps/m68k/fpu/bits/mathdef.h,
	sysdeps/mips/fpu/bits/mathdef.h, sysdeps/powerpc/fpu/bits/mathdef.h,
	sysdeps/sh/sh4/fpu/bits/mathdef.h, sysdeps/sparc/fpu/bits/mathdef.h,
	sysdeps/x86_64/fpu/bits/mathdef.h: Remove INFINITY.

	* sysdeps/arm/bits/huge_val.h (HUGE_VAL): Use __builtin_huge_val.
	(HUGE_VALF, HUGE_VALL): Remove.
	* sysdeps/ieee754/bits/huge_val.h: Likewise.
	* sysdeps/sh/bits/huge_val.h: Likewise.

	* sysdeps/generic/bits/huge_val.h (HUGE_VAL): Use __builtin_huge_val.
	* sysdeps/generic/bits/huge_valf.h: New file.
	* sysdeps/generic/bits/huge_vall.h: New file.
	* sysdeps/generic/bits/inf.h: New file.
	* sysdeps/ieee754/bits/huge_valf.h: New file.
	* sysdeps/ieee754/bits/inf.h: New file.
	* sysdeps/i386/bits/huge_val.h: Remove file.
	* sysdeps/i386/bits/huge_vall.h: New file.
	* sysdeps/ia64/bits/huge_val.h: Remove file.
	* sysdeps/ia64/bits/huge_vall.h: New file.
	* sysdeps/ieee754/ldbl-128/bits/huge_vall.h: New file.
	* sysdeps/m68k/bits/huge_val.h: Remove file.
	* sysdeps/m68k/bits/huge_vall.h: New file.
	* sysdeps/s390/bits/huge_val.h: Remove file.
	* sysdeps/sh/sh4/fpu/bits/huge_val.h: Remove file.
	* sysdeps/sparc/bits/huge_vall.h: New file.
	* sysdeps/sparc/sparc32/fpu/bits/huge_val.h: Remove file.
	* sysdeps/sparc/sparc64/fpu/bits/huge_val.h: Remove file.

	* sysdeps/ieee754/bits/nan.h (NAN): Use __builtin_nanf.
	* sysdeps/mips/bits/nan.h (NAN): Likewise.
2004-03-15 21:44:11 +00:00
Ulrich Drepper
d3a4a571c4 Update.
2004-03-10  Jakub Jelinek  <jakub@redhat.com>

	* include/libc-symbols.h [__ASSEMBLY__] (compat_text_section,
	compat_data_section): Define.
	* sysdeps/unix/sysv/linux/alpha/adjtime.c (ADJTIME): Add
	attribute_compat_text_section.
	* sysdeps/unix/sysv/linux/alpha/wordexp.c (__old_wordexp): Likewise.
	* sysdeps/unix/sysv/linux/alpha/oldglob.c (__old_glob,
	__old_globfree): Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-32/chown.c (__chown_is_lchown):
	Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-32/posix_fadvise64.c
	(__posix_fadvise64_l32): Likewise.
	* sysdeps/unix/sysv/linux/msgctl.c (__old_msgctl): Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/posix_fadvise64.c
	(__posix_fadvise64_l32): Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/semctl.c (__old_semctl):
	Likewise.
	* sysdeps/unix/sysv/linux/semctl.c (__old_semctl): Likewise.
	* sysdeps/unix/sysv/linux/posix_fadvise64.c (__posix_fadvise64_l32):
	Likewise.
	* sysdeps/unix/sysv/linux/shmctl.c (__old_shmctl): Likewise.
	* hurd/compat-20.c (_hurd_proc_init_compat_20): Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S
	(__swapcontext, __novec_swapcontext): Use END instead of PSEUDO_END.
	(__novec_swapcontext, __swapcontext_stub): Add compat_text_section.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/makecontext.S
	(__makecontext_stub): Likewise.
	(__novec_makecontext): Likewise.  Fix name in END () to match
	function name.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S
	(__setcontext): Use END instead of PSEUDO_END.
	(__novec_setcontext): Add compat_text_section.  Use END instead of
	PSEUDO_END, fix the name in END () to match function name.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S
	(__getcontext, __novec_getcontext): Use END instead of PSEUDO_END.
	(__novec_getcontext, __getcontext_stub): Add compat_text_section.

2004-03-10  Kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* sysdeps/sh/dl-machine.h: Don't use GL macro if not appropriate.
	(COPY_UNALIGNED_WORD): Remove cast used as lvalue.

2004-03-10  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/i386/dl-procinfo.h (HWCAP_IMPORTANT): Remove mmx, add sse2.
2004-03-10 19:28:58 +00:00
Ulrich Drepper
f4c024d1f9 Update.
2004-03-09  Richard Henderson  <rth@redhat.com>

	* math/math.h (isgreater, isgreaterequal, isless, islessequal,
	islessgreater, isunordered): Use builtins if available.
	* sysdeps/i386/fpu/bits/mathinline.h: Don't define via builtins.
	* sysdeps/m68k/fpu/bits/mathinline.h: Likewise.
	* sysdeps/powerpc/fpu/bits/mathinline.h: Likewise.
	* sysdeps/sparc/fpu/bits/mathinline.h: Likewise.
	* sysdeps/x86_64/fpu/bits/mathinline.h: Likewise.
	* sysdeps/alpha/fpu/bits/mathinline.h (isgreater, isgreaterequal,
	isless, islessequal, islessgreater): Remove; use default.
	(isunordered): Convert inputs to double.
2004-03-10 06:05:14 +00:00
Ulrich Drepper
1e5f1d862b Update.
* sysdeps/i386/dl-machine.h: Define ARCH_FIXUP_ATTRIBUTE and use
	it in the fixup function declarations.
	* elf/dl-runtime.c: If ARCH_FIXUP_ATTRIBUTE is not defined,
	provide dummy definition.  Use macro in fixup function
	definitions.
2004-03-09 07:44:07 +00:00
Ulrich Drepper
c31e278f86 Update.
2004-03-07  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/generic/ldsodefs.h: Move _dl_initial_searclist,
	_dl_hp_timing_overhead, _dl_init_all_dirs, and the content of
	dl-procinfo.c from _rtld_global to _rtld_global_ro.
	* elf/rtld.c: Adjust initializer for _rtld_global_ro.
	* elf/dl-close.c: Use GLRO instead of GL where appropriate.
	* elf/dl-libc.c: Likewise.
	* elf/dl-load.c: Likewise.
	* sysdeps/i386/dl-procinfo.h: Likewise.
	* sysdeps/i386/i686/hp-timing.h: Likewise.
	* sysdeps/ia64/hp-timing.h: Likewise.
	* sysdeps/sparc/sparc32/sparcv9/hp-timing.h: Likewise.
	* sysdeps/sparc/sparc64/hp-timing.h: Likewise.
	* sysdeps/unix/sysv/linux/arm/dl-procinfo.h: Likewise.
	* sysdeps/unix/sysv/linux/i386/dl-procinfo.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/dl-procinfo.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc64/dl-procinfo.h: Likewise.
2004-03-07 08:39:57 +00:00
Ulrich Drepper
154d10bdf1 Update.
* elf/Versions: Remove functions which are not exported anymore.
	* dlfcn/dlerror.c: Call ld.so functions through GLSO.
	* dlfcn/dlinfo.c: Likewise.
	* elf/dl-close.c: Likewise.
	* elf/dl-libc.c: Likewise.
	* elf/dl-open.c: Likewise.
	* elf/dl-sym.c: Likewise.
	* sysdeps/generic/libc-start.c: Likewise.
	* elf/dl-debug.c: Remove *_internal definition.  Don't use INTUSE for
	functions which are not exported anymore.
	* 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-load.c: Likewise.
	* elf/dl-lookup.c: Likewise.
	* elf/dl-misc.c: Likewise.
	* elf/dl-profile.c: Likewise.
	* elf/dl-profstub.c: Likewise.
	* elf/dl-reloc.c: Likewise.
	* elf/dl-runtime.c: Likewise.
	* elf/dl-version.c: Likewise.
	* elf/do-lookup.h: Likewise.
	* include/dlfcn.h: Likewise.
	* sysdeps/generic/dl-cache.c: Likewise.
	* sysdeps/generic/dl-fptr.c: Likewise.
	* sysdeps/generic/dl-origin.c: Likewise.
	* sysdeps/generic/dl-sysdep.c: Likewise.
	* sysdeps/generic/dl-tls.c: Likewise.
	* sysdeps/generic/ldsodefs.h: Likewise.
	* sysdeps/i386/dl-tls.h: Likewise.
	* sysdeps/unix/sysv/linux/dl-origin.c: Likewise.
	* elf/rtld.c: Likewise.  Export function though _rtld_global_ro.

	* generic/dl-fptr.c: Likewise.
	* mach/hurd/dl-sysdep.c: Likewise.
	* unix/sysv/linux/ia64/dl-static.c: Likewise.
	* unix/sysv/linux/ia64/getpagesize.c: Likewise.
	* unix/sysv/linux/m68k/getpagesize.c: Likewise.
	* unix/sysv/linux/sparc/sparc32/getpagesize.c: Likewise.
2004-03-06 08:19:29 +00:00
Ulrich Drepper
afdca0f2a3 Update.
* sysdeps/sparc/sparc64/dl-machine.h: Likewise.
	* sysdeps/sparc/sparc32/dl-machine.h: Likewise.
	* sysdeps/s390/s390-64/dl-machine.h: Likewise.
	* sysdeps/s390/s390-32/dl-machine.h: Likewise.
	* sysdeps/powerpc/powerpc64/dl-machine.h: Likewise.
	* sysdeps/powerpc/powerpc32/dl-machine.c: Likewise.
	* sysdeps/m68k/dl-machine.h: Likewise.
	* sysdeps/ia64/dl-machine.h: Likewise.
	* sysdeps/arm/dl-machine.h: Likewise.
	* sysdeps/alpha/dl-machine.h: Likewise.
2004-03-05 10:29:47 +00:00
Ulrich Drepper
f8fbb4c451 Update.
2004-02-28  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/i386/i686/memcmp.S: Move table to .rodata.  Patch by HJ Lu.
2004-02-28 19:33:17 +00:00
Ulrich Drepper
221c6b37b5 memcmp optimized for i686. 2004-02-10 01:55:34 +00:00
Ulrich Drepper
ff136edd32 [BZ #10]
Update.
2004-02-09  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/i386/fpu/fclrexcpt.c (__feclearexcept): Don't touch bits
	other than the status bits [BZ #10].
2004-02-09 08:21:19 +00:00
Ulrich Drepper
eed242a60f (atomic_add): Fix test for using atomic_decrement. 2004-01-17 18:35:16 +00:00
Roland McGrath
4e142297fd * sysdeps/i386/fpu/bits/mathinline.h (__expm1_code): Avoid using ?:
with omitted middle operand.
2003-12-24 01:10:17 +00:00
Ulrich Drepper
07449987c9 Update.
2003-12-07  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/i386/fpu/s_nexttowardf.c: Construct overflow value correctly.
	* sysdeps/i386/fpu/s_nexttoward.c: Likewise.
	* sysdeps/ieee754/ldbl-128/s_nexttoward.c: Likewise.
	* sysdeps/ieee754/ldbl-96/s_nexttoward.c: Likewise.
	* math/Makefile (tests): Add bug-nexttoward.
	* math/bug-nexttowward.c: New file.

	* sysdeps/generic/s_nextafter.c: Make sure overflow exception is set.
	* sysdeps/ieee754/flt-32/s_nextafterf.c: Likewise.
	* math/bug-nextafter.c (main): Add tests for overflow and negative
	values.
2003-12-07 21:22:46 +00:00
Ulrich Drepper
0135bde432 Update.
2003-11-25  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/i386/fpu/bits/mathinline.h: Introduce __libc_sqrtl symbol.
	Define it appropriately after last change.  Use it where __sqrtl
	was used.
2003-11-26 06:23:45 +00:00
Ulrich Drepper
6d316b07f1 Update.
2003-11-25  H.J. Lu  <hongjiu.lu@intel.com>

	* sysdeps/i386/fpu/bits/mathinline.h (sqrt): Don't inline
	sqrt for gcc 3.3 and above.
2003-11-26 05:38:12 +00:00
Ulrich Drepper
c70a86b618 Update.
2003-10-03  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/i386/elf/bsd-setjmp.S: Use linkonce section for PIC stub.
	* sysdeps/i386/elf/setjmp.S: Likewise.
2003-10-03 20:29:57 +00:00
Ulrich Drepper
26721ed62e Update.
2003-09-25  Jakub Jelinek  <jakub@redhat.com>

	* misc/syslog.c: Include locale.h.
	(vsyslog): Add date always in C locale %h %e %T format.
2003-09-25 15:34:03 +00:00
Roland McGrath
fca9d8e489 * sysdeps/mach/hurd/bits/libc-lock.h
(__libc_cleanup_push, __libc_cleanup_pop): New macros.

2003-08-01  Alfred M. Szmidt  <ams@kemisten.nu>

	* sysdeps/i386/dl-procinfo.h: New file, contents taken from ...
	* sysdeps/unix/sysv/linux/i386/dl-procinfo.h: ... here.
	#include_next dl-procinfo.h to get them.
	(_DL_HWCAP_COUNT): Moved to sysdeps/i386/dl-procinfo.h.
	(_DL_PLATFORMS_COUNT): Likewise.
	(_DL_FIRST_PLATFORM): Likewise.
	(_DL_HWCAP_PLATFORM): Likewise.
	(HWCAP_I386_FPU, HWCAP_I386_VME, HWCAP_I386_DE, HWCAP_I386_PSE,
	HWCAP_I386_TSC, HWCAP_I386_MSR, HWCAP_I386_PAE, HWCAP_I386_MCE,
	HWCAP_I386_CX8, HWCAP_I386_APIC, HWCAP_I386_SEP, HWCAP_I386_MTRR,
	HWCAP_I386_PGE, HWCAP_I386_MCA, HWCAP_I386_CMOV,
	HWCAP_I386_FCMOV, HWCAP_I386_MMX, HWCAP_I386_OSFXSR,
	HWCAP_I386_XMM, HWCAP_I386_XMM2, HWCAP_I386_AMD3D,
	HWCAP_IMPORTANT): Likewise.
	(_DL_PROCINFO_H_): Likewise.
	(_dl_hwcap_string, _dl_platform_string, _dl_string_hwcap): Likewise.
	(_dl_string_platform): Likewise.
	* sysdeps/unix/sysv/linux/i386/dl-procinfo.c: Moved to ...
	* sysdeps/i386/dl-procinfo.c: ... here, new file.
2003-09-25 03:55:10 +00:00
Ulrich Drepper
9771695416 Update.
2003-09-24  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/ia64/dl-machine.h (RTLD_START): Remove setting of
	__libc_stack_end.  Patch by David Mosberger.

2003-09-24  Jakub Jelinek  <jakub@redhat.com>

	* elf/Versions (ld): Export __libc_stack_end@GLIBC_2.1 instead of
	__libc_stack_end@GLIBC_PRIVATE.

	* sysdeps/generic/dl-sysdep.c (DL_STACK_END): Define if not defined.
	(_dl_sysdep_start): Set __libc_stack_end here.
	* sysdeps/alpha/dl-machine.h (RTLD_START): Remove setting of
	__libc_stack_end.
	* sysdeps/arm/dl-machine.h (RTLD_START): Likewise.
	* sysdeps/cris/dl-machine.h (RTLD_START): Likewise.
	* sysdeps/i386/dl-machine.h (RTLD_START): Likewise.
	* sysdeps/m68k/dl-machine.h (RTLD_START): Likewise.
	* sysdeps/s390/s390-32/dl-machine.h (RTLD_START): Likewise.
	* sysdeps/s390/s390-64/dl-machine.h (RTLD_START): Likewise.
	* sysdeps/sh/dl-machine.h (RTLD_START): Likewise.
	* sysdeps/x86_64/dl-machine.h (RTLD_START): Likewise.
	* sysdeps/ia64/dl-machine.h (DL_STACK_END): Define.
	* sysdeps/sparc/sparc32/dl-machine.h (DL_STACK_END): Define.
	(RTLD_START): Remove setting of __libc_stack_end.
	* sysdeps/sparc/sparc64/dl-machine.h (DL_STACK_END): Define.
	(RTLD_START): Remove setting of __libc_stack_end.

2003-09-24  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/sys/sysmacros.h: Add gnu_dev_ prefix to
	function definitions.  Adjust macro expansions accordingly.
	* sysdeps/unix/sysv/linux/Versions: Add gnu_dev_ prefix to major,
	minor, makedev name.
	* sysdeps/unix/sysv/linux/makedev.c: Likewise.

2003-09-24  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/sys/sysmacros.h (major, minor, makedev):
	Add __THROW.
2003-09-24 21:13:55 +00:00
Roland McGrath
2abf9ff113 * sysdeps/i386/dl-machine.h (RTLD_START): Set __libc_stack_end before
calling _dl_start, using GOTOFF access.

	* configure.in (libc_cv_z_execstack): New check.
	* configure: Regenerated.
	* config.make.in (have-z-execstack): New variable set by it.
	* elf/tst-execstack.c: New file.
	* elf/tst-execstack-mod.c: New file.
	* elf/tst-execstack-needed.c: New file.
	* elf/Makefile (tests-execstack-yes, modules-execstack-yes): New
	variables.
	(tests, modules-names): Conditionally include them.
	(distribute): Add tst-execstack-mod.c here.
	($(objpfx)tst-execstack, $(objpfx)tst-execstack.out): New targets.
	(LDFLAGS-tst-execstack, LDFLAGS-tst-execstack-mod): New variables.
	($(objpfx)tst-execstack-needed): New target.
	(LDFLAGS-tst-execstack-needed): New variable.

	* sysdeps/generic/ldsodefs.h (struct rtld_global): Add _dl_stack_flags
	and _dl_make_stack_executable_hook.  Declare _dl_make_stack_executable.
	* elf/rtld.c (_rtld_global): Add initializer for _dl_stack_flags.
	(dl_main): Reset _dl_stack_flags according to PT_GNU_STACK phdr.
	Initialize _dl_make_stack_executable_hook.
	* elf/dl-support.c: Define those new variables.
	(_dl_non_dynamic_init): Scan phdrs for PT_GNU_STACK.
	(_dl_phdr): Fix type.
	* elf/dl-load.c (_dl_map_object_from_fd): Grok PT_GNU_STACK phdr and
	enable execute permission for the stack if necessary.
	* sysdeps/generic/dl-execstack.c: New file.
	* elf/Makefile (dl-routines): Add it.
	* elf/Versions (ld: GLIBC_PRIVATE): Add _dl_make_stack_executable.
	* sysdeps/unix/sysv/linux/dl-execstack.c: New file.
2003-09-23 12:07:26 +00:00
Ulrich Drepper
06f6ca9019 Update.
2003-09-17  Philip Blundell  <philb@gnu.org>

	* sysdeps/unix/sysv/linux/arm/vfork.S: Branch to fork if
	libpthread is loaded.  Elide backwards compatibility code when not
	required.
2003-09-17 18:23:49 +00:00
Ulrich Drepper
65af7e6142 Update.
2003-09-17  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/i386/Makefile (stack-align-test-flags): Add
	-malign-double -mpreferred-stack-boundary=4.
2003-09-17 09:39:59 +00:00
Ulrich Drepper
a4db3439f1 Update.
2003-09-15  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/i386/Makefile (sysdep-CFLAGS): If not in math or csu
	subdir, add -mpreferred-stack-boundary=4, with few exceptions.

2003-09-17  Jakub Jelinek  <jakub@redhat.com>

	* Makeconfig (stack-align-test-flags): Set.
	* stdlib/Makefile (CFLAGS-tst-bsearch.c): Add
	$(stack-align-test-flags).
	* stdlib/tst-bsearch.c: Include tst-stack-align.h.
	(align_check): New var.
	(comp): Use TEST_STACK_ALIGN macro.
	(do_test): Fail if align_check != 1.
	* sysdeps/generic/tst-stack-align.h: New file.
	* sysdeps/i386/i686/Makefile (stack-align-test-flags): Add -msse.
	* sysdeps/i386/i686/tst-stack-align.h: New file.
2003-09-17 08:47:44 +00:00
Andreas Jaeger
b7f75e247b Update.
* sysdeps/i386/bits/string.h (__memrchr): Do addition in assembler
	to make it conforming C.
	* sysdeps/i386/i486/bits/string.h (__memrchr): Likewise.
2003-09-05 10:03:19 +00:00
Alexandre Oliva
87d254a7bf * elf/dynamic-link.h (elf_machine_rel, elf_machine_rela, elf_machine_rel_relative, elf_machine_rela_relative): Don't assume reloc_addr is aligned. * sysdeps/alpha/dl-machine.h (elf_machine_rela, elf_machine_rela_relative): Adjust. * sysdeps/arm/dl-machine.h (elf_machine_rel, elf_machine_rela, elf_machine_rel_relative, elf_machine_rela_relative): Adjust. * sysdeps/cris/dl-machine.h (elf_machine_rela, elf_machine_rela_relative): Adjust. * sysdeps/hppa/dl-machine.h (elf_machine_rela, elf_machine_rela_relative): Adjust. * sysdeps/i386/dl-machine.h (elf_machine_rel, elf_machine_rela, elf_machine_rel_relative, elf_machine_rela_relative): Adjust. * sysdeps/ia64/dl-machine.h (elf_machine_rela, elf_machine_rela_relative): Adjust. * sysdeps/m68k/dl-machine.h (elf_machine_rela, elf_machine_rela_relative): Adjust. * sysdeps/mips/dl-machine.h (elf_machine_rela, elf_machine_rela_relative): Adjust. * sysdeps/powerpc/powerpc32/dl-machine.h (elf_machine_rela, elf_machine_rela_relative): Adjust. * sysdeps/powerpc/powerpc64/dl-machine.h (elf_machine_rela_relative, elf_machine_rela): Adjust. * sysdeps/s390/s390-32/dl-machine.h (elf_machine_rela, elf_machine_rela_relative): Adjust. * sysdeps/s390/s390-64/dl-machine.h (elf_machine_rela, elf_machine_rela_relative): * sysdeps/sh/dl-machine.h (elf_machine_rela, elf_machine_rela_relative): Adjust. * sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rela, elf_machine_rela_relative): Adjust. * sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rela, elf_machine_rela_relative): Adjust. * sysdeps/x86_64/dl-machine.h (elf_machine_rela, elf_machine_rela_relative): Adjust.
2003-07-31  Alexandre Oliva  <aoliva@redhat.com>

	* elf/dynamic-link.h (elf_machine_rel, elf_machine_rela,
	elf_machine_rel_relative, elf_machine_rela_relative): Don't assume
	reloc_addr is aligned.
	* sysdeps/alpha/dl-machine.h (elf_machine_rela,
	elf_machine_rela_relative): Adjust.
	* sysdeps/arm/dl-machine.h (elf_machine_rel, elf_machine_rela,
	elf_machine_rel_relative, elf_machine_rela_relative): Adjust.
	* sysdeps/cris/dl-machine.h (elf_machine_rela,
	elf_machine_rela_relative): Adjust.
	* sysdeps/hppa/dl-machine.h (elf_machine_rela,
	elf_machine_rela_relative): Adjust.
	* sysdeps/i386/dl-machine.h (elf_machine_rel, elf_machine_rela,
	elf_machine_rel_relative, elf_machine_rela_relative): Adjust.
	* sysdeps/ia64/dl-machine.h (elf_machine_rela,
	elf_machine_rela_relative): Adjust.
	* sysdeps/m68k/dl-machine.h (elf_machine_rela,
	elf_machine_rela_relative): Adjust.
	* sysdeps/mips/dl-machine.h (elf_machine_rela,
	elf_machine_rela_relative): Adjust.
	* sysdeps/powerpc/powerpc32/dl-machine.h (elf_machine_rela,
	elf_machine_rela_relative): Adjust.
	* sysdeps/powerpc/powerpc64/dl-machine.h
	(elf_machine_rela_relative, elf_machine_rela): Adjust.
	* sysdeps/s390/s390-32/dl-machine.h (elf_machine_rela,
	elf_machine_rela_relative): Adjust.
	* sysdeps/s390/s390-64/dl-machine.h (elf_machine_rela,
	elf_machine_rela_relative): 
	* sysdeps/sh/dl-machine.h (elf_machine_rela,
	elf_machine_rela_relative): Adjust.
	* sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rela,
	elf_machine_rela_relative): Adjust.
	* sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rela,
	elf_machine_rela_relative): Adjust.
	* sysdeps/x86_64/dl-machine.h (elf_machine_rela,
	elf_machine_rela_relative): Adjust.
2003-07-31 06:33:53 +00:00
Ulrich Drepper
11bf8ce1d6 Update.
2003-07-22  H.J. Lu  <hongjiu.lu@intel.com>

	* elf/dl-support.c (_dl_hwcap): New variable.
	(_dl_aux_init): Initialize GL(dl_hwcap) for static binaries.

	* sysdeps/i386/fpu/fclrexcpt.c: Include <unistd.h>, <ldsodefs.h>
	and <dl-procinfo.h>.
	(__feclearexcept): Clear MXCSR if needed.
	* sysdeps/i386/fpu/fsetexcptflg.c: Likewise.

	* sysdeps/i386/fpu_control.h (_FPU_GETCW, _FPU_SETCW): Document
	that newer hardware needs more than these macros.

	* sysdeps/i386/setfpucw.c: New file.

2003-07-22  Jakub Jelinek  <jakub@redhat.com>

	* elf/Makefile (CFLAGS-ldconfig.c): Define IS_IN_ldconfig.
	* elf/ldconfig.c: Include dl-procinfo.c.
	(PROCINFO_CLASS): Define.
	* sysdeps/generic/ldsodefs.h (PROCINFO_CLASS): Define.
	* sysdeps/unix/sysv/linux/x86_64/dl-procinfo.c: New file.
	* sysdeps/unix/sysv/linux/x86_64/dl-procinfo.h: New file.
	* sysdeps/unix/sysv/linux/i386/dl-procinfo.c (PROCINFO_CLASS):
	Define if not yet defined.  Use it instead of EXTERN.  Undefine
	at the end of the file.
	* sysdeps/unix/sysv/linux/arm/dl-procinfo.c (PROCINFO_CLASS):
	Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/dl-procinfo.c
	(PROCINFO_CLASS): Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc64/dl-procinfo.c
	(PROCINFO_CLASS): Likewise.

2003-07-22  H.J. Lu  <hongjiu.lu@intel.com>

	* elf/ldconfig.c (main): Issue a fatal error if relative path
	is used to build cache.

2003-07-22  Ulrich Drepper  <drepper@redhat.com>

	* elf/readlib.c (process_file): Avoid possible overflow in assignment.
2003-07-22 22:28:07 +00:00
Ulrich Drepper
2775fdb512 Update.
* sysdeps/i386/fpu/feenablxcpt.c (feenableexcept): Reverse use of
	stmxcsr and ldmxcsr.
2003-07-22 03:19:23 +00:00
Ulrich Drepper
b72e048f19 Update.
* sysdeps/i386/fpu/fedisblxcpt.c: Use dl_hwcap, not dl_hwcap_mask.
	* sysdeps/i386/fpu/feenablxcpt.c: Likewise.
	* sysdeps/i386/fpu/feholdexcpt.c: Likewise.
	* sysdeps/i386/fpu/fesetround.c: Likewise.
	* sysdeps/i386/fpu/ftestexcept.c: Likewise.
2003-07-22 00:14:36 +00:00
Ulrich Drepper
2417696712 Update.
2003-05-19  Ed Connell  <ed.connell@sas.com>

	* sysdeps/unix/sysv/linux/i386/getcontext.S (getcontext): Retain
	floating point mask.
	* sysdeps/i386/fpu/fegetenv.c (fegetenv): Likewise.
2003-06-24 09:02:16 +00:00
Ulrich Drepper
50441a984d Update.
* sysdeps/unix/sysv/linux/x86_64/register-dump.h (register_dump):
	Fix completely broken impleentation.  The second parameter is of
	type struct ucontext*.

	* sysdeps/x86_64/dl-machine.h (elf_machine_runtime_setup): Always
	inline.

	* sysdeps/i386/i686/dl-hash.h: Don't inline _dl_elf_hash.
	* sysdeps/generic/dl-hash.h: Likewise.

	* sysdeps/generic/memcmp.c: Remove inline from
	memcmp_common_alignment and memcmp_not_common_alignment definition.
2003-06-18 19:34:34 +00:00
Ulrich Drepper
301a6724af Update.
* math/tgmath.h (__TGMATH_UNARY_IMAG_ONLY): Removed.

2003-06-15  Andreas Jaeger  <aj@suse.de>

	* sysdeps/i386/fpu/feenablxcpt.c (feenableexcept): Correct setting
	of MXCSR.
	* sysdeps/i386/fpu/fedisblxcpt.c (fedisableexcept): Likewise.
	* sysdeps/i386/fpu/feholdexcpt.c (feholdexcept): Likewise.
	Reported by Arnaud Desitter
	<arnaud.desitter@geography.oxford.ac.uk>.

	* math/tgmath.h (carg): Handle real arguments.
	(conj): Likewise.
	(cproj): Likewise.
	(cimag): Likewise.
	(creal): Likewise.

	* math/Makefile (CFLAGS-test-tgmath-ret.c): New.
	(tests): Add test-tgmath-ret.
	* math/test-tgmath-ret.c: New file.

	* math/tgmath.h (ilogb): Return always an int.

2003-06-16  Ulrich Drepper  <drepper@redhat.com>

	computation so that prelinking works.
2003-06-16 08:03:44 +00:00
Ulrich Drepper
2236d6e124 Update.
* sysdeps/i386/bits/byteswap.h (__bswap_32): Use bswap instruction
	also for P4.
2003-06-12 01:35:15 +00:00
Ulrich Drepper
9c7ff11a5c Update.
2003-06-11  Ulrich Drepper  <drepper@redhat.com>

	* time/tzfile.c: Add a couple of __builtin_expect.

	Remove warnings gcc 3.3 shows.
	* argp/argp-help.c (hol_entry_short_iterate): Don't inline.
	* elf/dl-load.c (fillin_rpath): Likewise.
	(add_path): Likewise.
	* elf/dl-version.c (find_needed): Always inline.
	* elf/do-lookup.c (FCT): Don't inline.
	* iconv/Makefile: Extend vpath to intl subdir.
	(iconvconfig-modules): Add hash-string.
	* iconv/gconv_charset.h (strip): Don't inline.
	(upstr): Always inline.
	Move __gconv_compare_alias prototype to...
	* iconv/gconv_int.h: ...here.
	* iconv/gconv_db.c: Don't include gconv_charset.h.
	* iconv/gconv_conf.c (add_alias): Don't inline.
	(insert_module): Likewise.
	* iconv/gconv_simple.c (internal_ucs4_loop): Always inline.
	(internal_ucs4_loop_unaligned): Likewise.
	(internal_ucs4_loop_single): Likewise.
	(ucs4_internal_loop): Likewise.
	(ucs4_internal_loop_unaligned): Likewise.
	(ucs4_internal_loop_single): Likewise.
	(internal_ucs4le_loop): Always inline.
	(internal_ucs4le_loop_unaligned): Likewise.
	(internal_ucs4le_loop_single): Likewise.
	(ucs4le_internal_loop): Likewise.
	(ucs4le_internal_loop_unaligned): Likewise.
	(ucs4le_internal_loop_single): Likewise.
	* iconv/loop.c: Always inline the defined functions.
	* iconvdata/cns11642.h: Likewise.
	* iconvdata/cns11642l1.h: Likewise.
	* iconvdata/euc-kr.c: Likewise.
	* iconvdata/gb2312.h: Likewise.
	* iconvdata/jis0201.h: Likewise.
	* iconvdata/jis0208.h: Likewise.
	* iconvdata/jis0212.h: Likewise.
	* iconvdata/jisx0213.h: Likewise.
	* iconvdata/ksc5601.h: Likewise.
	* iconvdata/utf-7.c (base64): Don't inline.
	* include/libc-symbols.h (symbol_set_first_element): Add cast
	(symbol_set_end_p): Likewise.
	* include/set-hooks (RUN_HOOK): Likewise.
	* inet/Makefile (aux): Add ifreq.
	* intl/Makefile (aux): Add some entries from routines.  Add
	hash-string.
	* intl/hash-string.c: New file.
	* intl/hash-string.h: Remove hash_string definition.  Declare
	__hash_string.
	* iconv/gconv_cache.c (find_module_idx): Adjust hash_string caller.
	* iconv/iconvconfig.c (new_name): Likewise.
	* intl/dcigettext.c (_nl_find_msg): Likewise.
	* intl/loadmsgcat.c (_nl_load_domain): Likewise.
	* io/ftw.c (open_dir_stream): Always inline.
	(process_entry): Don't inline.
	* locale/findlocale.c: Include gconv_int.h.
	* locale/setlocale.c (new_composite_name): Don't inline.
	* locale/weight.h (findidx): Always inline.
	* locale/weightwc.h (findidx): Likewise.
	* locale/programs/linereader.c (lr_ignore_rest): Define here.
	* locale/programs/linereader.h (lr_ignore_rest): Don't define here,
	just declare it.
	(lr_getc): Always inline.
	(lr_ungetc): Likewise.
	* nss/nss_files/files-parse.c (parse_list): Likewise.
	* stdio-common/Makefile (aux): Add printf-parsemb and
	printf-parsewc.
	* stdio-common/_itoa.h (_itoa_word): Always inline.
	(_fitoa_word, _fitoa): Don't define here, only declare.
	* stdio-common/_itoa.c (_iftoa_word): Add here.
	(_fitoa): Likewise.
	* stdio-common/_itowa.h (_itowa_word): Always inline.
	* stdio-common/printf-parse.h (read_int): Don't inline.
	(find_spec): Don't define.
	Declare __find_specmb and __find_specwc.
	(parse_one_spec): Don't define.
	Declare __parse_one_specmb and __parse_one_specwc.
	* stdio-common/printf-parsemb.c: New file.
	* stdio-common/printf-parsewc.c: New file.
	* stdio-common/vfprintf.c: Update calls to find_spec and
	parse_one_spec for new names.
	* stdio-common/printf-prs.c: Likewise.  Define DONT_NEED_READ_INT.
	* stdlib/Makefile (aux): Add grouping and groupingwc.
	* stdlib/grouping.c: New file.
	* stdlib/groupingwc.c: New file.
	* stdlib/grouping.h (correctly_grouped_prefix): Don't define here.
	Just prototype.
	* stdlib/rpmatch.c (try): Don't inline.
	* stdlib/strtod.c (round_and_return): Don't line.
	(str_to_mpn): Likewise.
	(__mpn_lshift_1): Always inline.  Optimize only for constant count.
	Adjust for name change of correctly_grouped_prefix.
	* sysdeps/generic/strtol.c: Adjust for name change of
	correctly_grouped_prefix.
	* string/strxfrm.c (utf8_encode): Don't inline.
	* sysdeps/generic/dl-cache.c: Define _dl_cache_libcmp.
	* sysdeps/generic/dl-cache.h: Just declare _dl_cache_libcmp.
	* sysdeps/generic/ifreq.c: New file.
	* sysdeps/unix/sysv/linux/ifreq.c: New file.
	* sysdeps/generic/ifreq.h (__ifreq): Only declare here.
	* sysdeps/unix/sysv/linux/ifreq.h: Likewise.
	* sysdeps/generic/ldsodefs.h (_dl_name_match_p): Always inline.
	* sysdeps/generic/unwind-dw2-fde.c (start_fde_sort): Don't inline.
	(fde_split): Likewise.
	(fde_merge): Likewise.
	(end_fde_sort): Likewise.
	(init_object): Likewise.
	(binary_search_unencoded_fdes): Likewise.
	(binary_search_single_encoding_fdes): Likewise.
	(binary_search_mixed_encoding_fdes): Likewise.
	* sysdeps/generic/wordexp.c (w_addchar): Don't inline.
	* sysdeps/i386/dl-machine.c (elf_machine_runtime_setup): Always inline.
	* sysdeps/posix/sprofil.c (profil_count): Don't inline.
	* sysdeps/unix/sysv/linux/Makefile [subdir=io] (sysdep_routines):
	Add xstatconv.
	* sysdeps/unix/sysv/linux/xstatconv.h: New file.
	* sysdeps/unix/sysv/linux/xstatconv.c: Don't inline the function.
	Export them.  Prepend __ to name.
	* sysdeps/unix/sysv/linux/Dist: Add xstatconv.h.
	* sysdeps/unix/sysv/linux/fxstat.c: Adjust for name change of
	conversion functions.
	* sysdeps/unix/sysv/linux/fxstat64.c: Likewise.
	* sysdeps/unix/sysv/linux/lxstat.c: Likewise.
	* sysdeps/unix/sysv/linux/lxstat64.c: Likewise.
	* sysdeps/unix/sysv/linux/xstat.c: Likewise.
	* sysdeps/unix/sysv/linux/xstat64.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/fxstat.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/lxstat.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/xstat.c: Likewise.
	* sysdeps/unix/sysv/linux/pathconf.c (__statfs_link_max,
	__statfs_filesize_max, __statfs_symlinks): Define here.  __ prepended
	to name.  Change callers.
	* sysdeps/unix/sysv/linux/pathconf.h (__statfs_link_max,
	__statfs_filesize_max, __statfs_symlinks): Don't define here, just
	declare.
	* sysdeps/unix/sysv/linux/fpathconf.c: Change all callers.
	* time/tzfile.c (decode): Always inline.
	* wcsmbs/wcsnrtombs.c: Change type of inbuf to unsigned char*.
	Remove cast in tomb function call.
	* wcsmbs/wcsrtombs.c Likewise.
	* wcsmbs/wcstob.c: Introduce new temp variable to take pointer in
	tomb function call.
2003-06-11 23:22:36 +00:00
Ulrich Drepper
35915ec87b Regenerated. 2003-06-04 21:41:25 +00:00
Ulrich Drepper
dfb87dc812 (sqrt, __sqrtl, ldexp, ldexpf, ldexpl): Only define if __FAST_MATH__. 2003-06-02 22:39:19 +00:00
Roland McGrath
7b09d09d7a 2003-06-01 Jakub Jelinek <jakub@redhat.com>
* sysdeps/i386/dl-machine.h: Include <sysdep.h>.
2003-06-02 18:20:22 +00:00
Ulrich Drepper
06e2e0a747 Update.
2003-05-31  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/powerpc/powerpc64/dl-machine.h (elf_machine_plt_conflict):
	New function.
	(elf_machine_rela) <case R_PPC64_JMP_SLOT>: Avoid
	RESOLVE_CONFLICT_FIND_MAP.  If RESOLVE_CONFLICT_FIND_MAP is defined,
	call elf_machine_plt_conflict instead of elf_machine_fixup_plt.

	* sysdeps/i386/dl-machine.h (ELF_MACHINE_RUNTIME_TRAMPOLINE): Add
	CFI directives.

	* csu/Makefile: Fix Makefile warnings regarding Scrt1.o.
2003-06-01 01:32:04 +00:00
Ulrich Drepper
bc4647a17c Update.
2003-05-28  Ulrich Drepper  <drepper@redhat.com>

	* include/libc-symbols.h: Define hidden attribute for real also if
	LIBC_NONSHARED is defined.  Patch by Jakub Jelinek.

	* csu/Makefile: Add rules to build Scrt1.o.
	* sysdeps/i386/elf/start.S: Make code compilable with SHARED.
2003-05-28 19:56:24 +00:00
Ulrich Drepper
949ec76407 Update.
* posix/sched.h: Change prototypes of sched_getaffinity and
	sched_setaffinity.  Define CPU_SET, CPU_CLR, CPU_ISSET, and CPU_ZERO.
	* sysdeps/generic/sched_getaffinity.c: Adjust definition.
	* sysdeps/generic/sched_setaffinity.c: Likewise.
	* sysdeps/generic/bits/sched.h: Define __CPU_SETSIZE, __NCPUBITS,
	__CPUELT, __CPUMASK, cpu_set_t, __cpu_mask, __CPU_ZERO, __CPU_SET,
	__CPU_CLR, and __CPU_ISSET.
	* sysdeps/unix/sysv/linux/bits/sched.h: Likewise.
	* sysdeps/unix/sysv/linux/sched_getaffinity.c: New file.
	* sysdeps/unix/sysv/linux/sched_setaffinity.c: New file.

	* include/atomic.h (atomic_exchange_acq): Renamed from atomic_exchange.
	(atomic_exchange_rel): New #define.
	* sysdeps/ia64/bits/atomic.h: Likewise.
	* sysdeps/i386/i486/bits/atomic.h (atomic_exchange_acq): Renamed from
	atomic_exchange.
	* sysdeps/m68k/m68020/bits/atomic.h: Likewise.
	* sysdeps/powerpc/bits/atomic.h: Likewise.
	* sysdeps/sparc/sparc32/sparcv9/bits/atomic.h: Likewise.
	* sysdeps/sparc/sparc64/bits/atomic.h: Likewise.
	* sysdeps/x86_64/bits/atomic.h: Likewise.
	* csu/tst-atomic.c: Use atomic_exchange_acq instead of atomic_exchange.
2003-05-10 05:36:37 +00:00
Ulrich Drepper
85dd100310 Update.
* sysdeps/i386/fpu/ftestexcept.c: Also check SSE status word.

	* include/signal.h: Use libc_hidden_proto for sigaddset and sigdelset.
	* signal/sigaddset.c: Add libc_hidden_def.
	* signal/sigdelset.c: Likewise.

2003-04-29  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/i386/i486/string-inlines.c (__memcpy_g, __strchr_g): Move
	to the end of the file.

	* configure.in: Change __oline__ to $LINENO.
	(HAVE_BUILTIN_REDIRECTION): New check.
	* config.h.in (HAVE_BUILTIN_REDIRECTION): Add.
	* include/libc-symbols.h (libc_hidden_builtin_proto,
	libc_hidden_builtin_def, libc_hidden_builtin_weak,
	libc_hidden_builtin_ver): Define.
	* include/string.h (memchr, memcpy, memmove, memset, strcat, strchr,
	strcmp, strcpy, strcspn, strlen, strncmp, strncpy, strpbrk, strrchr,
	strspn, strstr): Add libc_hidden_builtin_proto.
	* intl/plural.y: Include string.h.
	* sysdeps/alpha/alphaev6/memchr.S (memchr): Add
	libc_hidden_builtin_def.
	* sysdeps/alpha/alphaev6/memcpy.S (memcpy): Likewise.
	* sysdeps/alpha/alphaev6/memset.S (memset): Likewise.
	* sysdeps/alpha/alphaev67/strcat.S (strcat): Likewise.
	* sysdeps/alpha/alphaev67/strchr.S (strchr): Likewise.
	* sysdeps/alpha/alphaev67/strlen.S (strlen): Likewise.
	* sysdeps/alpha/alphaev67/strrchr.S (strrchr): Likewise.
	* sysdeps/alpha/memchr.S (memchr): Likewise.
	* sysdeps/alpha/memset.S (memset): Likewise.
	* sysdeps/alpha/strcat.S (strcat): Likewise.
	* sysdeps/alpha/strchr.S (strchr): Likewise.
	* sysdeps/alpha/strcmp.S (strcmp): Likewise.
	* sysdeps/alpha/strcpy.S (strcpy): Likewise.
	* sysdeps/alpha/strlen.S (strlen): Likewise.
	* sysdeps/alpha/strncmp.S (strncmp): Likewise.
	* sysdeps/alpha/strncpy.S (strncpy): Likewise.
	* sysdeps/alpha/strrchr.S (strrchr): Likewise.
	* sysdeps/arm/memset.S (memset): Likewise.
	* sysdeps/arm/strlen.S (strlen): Likewise.
	* sysdeps/generic/memchr.c (memchr): Likewise.
	* sysdeps/generic/memcpy.c (memcpy): Likewise.
	* sysdeps/generic/memmove.c (memmove): Likewise.
	* sysdeps/generic/memset.c (memset): Likewise.
	* sysdeps/generic/strcat.c (strcat): Likewise.
	* sysdeps/generic/strchr.c (strchr): Likewise.
	* sysdeps/generic/strcmp.c (strcmp): Likewise.
	* sysdeps/generic/strcpy.c (strcpy): Likewise.
	* sysdeps/generic/strcspn.c (strcspn): Likewise.
	* sysdeps/generic/strlen.c (strlen): Likewise.
	* sysdeps/generic/strncmp.c (strncmp): Likewise.
	* sysdeps/generic/strncpy.c (strncpy): Likewise.
	* sysdeps/generic/strpbrk.c (strpbrk): Likewise.
	* sysdeps/generic/strrchr.c (strrchr): Likewise.
	* sysdeps/generic/strspn.c (strspn): Likewise.
	* sysdeps/generic/strstr.c (strstr): Likewise.
	* sysdeps/i386/i486/strcat.S (strcat): Likewise.
	* sysdeps/i386/i486/strlen.S (strlen): Likewise.
	* sysdeps/i386/i586/memcpy.S (memcpy): Likewise.
	* sysdeps/i386/i586/memset.S (memset): Likewise.
	* sysdeps/i386/i586/strchr.S (strchr): Likewise.
	* sysdeps/i386/i586/strcpy.S (strcpy): Likewise.
	* sysdeps/i386/i586/strlen.S (strlen): Likewise.
	* sysdeps/i386/i686/memcpy.S (memcpy): Likewise.
	* sysdeps/i386/i686/memmove.S (memmove): Likewise.
	* sysdeps/i386/i686/memset.S (memset): Likewise.
	* sysdeps/i386/i686/strcmp.S (strcmp): Likewise.
	* sysdeps/i386/memchr.S (memchr): Likewise.
	* sysdeps/i386/memset.c (memset): Likewise.
	* sysdeps/i386/strchr.S (strchr): Likewise.
	* sysdeps/i386/strcspn.S (strcspn): Likewise.
	* sysdeps/i386/strlen.c (strlen): Likewise.
	* sysdeps/i386/strpbrk.S (strpbrk): Likewise.
	* sysdeps/i386/strrchr.S (strrchr): Likewise.
	* sysdeps/i386/strspn.S (strspn): Likewise.
	* sysdeps/ia64/memchr.S (memchr): Likewise.
	* sysdeps/ia64/memcpy.S (memcpy): Likewise.
	* sysdeps/ia64/memmove.S (memmove): Likewise.
	* sysdeps/ia64/memset.S (memset): Likewise.
	* sysdeps/ia64/strcat.S (strcat): Likewise.
	* sysdeps/ia64/strchr.S (strchr): Likewise.
	* sysdeps/ia64/strcmp.S (strcmp): Likewise.
	* sysdeps/ia64/strcpy.S (strcpy): Likewise.
	* sysdeps/ia64/strlen.S (strlen): Likewise.
	* sysdeps/ia64/strncmp.S (strncmp): Likewise.
	* sysdeps/ia64/strncpy.S (strncpy): Likewise.
	* sysdeps/m68k/memchr.S (memchr): Likewise.
	* sysdeps/m68k/strchr.S (strchr): Likewise.
	* sysdeps/mips/mips64/memcpy.S (memcpy): Likewise.
	* sysdeps/mips/mips64/memset.S (memset): Likewise.
	* sysdeps/mips/memcpy.S (memcpy): Likewise.
	* sysdeps/mips/memset.S (memset): Likewise.
	* sysdeps/powerpc/powerpc32/memset.S (memset): Likewise.
	* sysdeps/powerpc/powerpc32/strchr.S (strchr): Likewise.
	* sysdeps/powerpc/powerpc32/strcmp.S (strcmp): Likewise.
	* sysdeps/powerpc/powerpc32/strcpy.S (strcpy): Likewise.
	* sysdeps/powerpc/powerpc32/strlen.S (strlen): Likewise.
	* sysdeps/powerpc/powerpc64/memcpy.S (memcpy): Likewise.
	* sysdeps/powerpc/powerpc64/memset.S (memset): Likewise.
	* sysdeps/powerpc/powerpc64/strchr.S (strchr): Likewise.
	* sysdeps/powerpc/powerpc64/strcmp.S (strcmp): Likewise.
	* sysdeps/powerpc/powerpc64/strcpy.S (strcpy): Likewise.
	* sysdeps/powerpc/powerpc64/strlen.S (strlen): Likewise.
	* sysdeps/powerpc/strcat.c (strcat): Likewise.
	* sysdeps/sparc/sparc32/memchr.S (memchr): Likewise.
	* sysdeps/sparc/sparc32/memcpy.S (memcpy): Likewise.
	* sysdeps/sparc/sparc32/memset.S (memset): Likewise.
	* sysdeps/sparc/sparc32/strcat.S (strcat): Likewise.
	* sysdeps/sparc/sparc32/strchr.S (strchr, strrchr): Likewise.
	* sysdeps/sparc/sparc32/strcmp.S (strcmp): Likewise.
	* sysdeps/sparc/sparc32/strcpy.S (strcpy): Likewise.
	* sysdeps/sparc/sparc32/strlen.S (strlen): Likewise.
	* sysdeps/sparc/sparc64/sparcv9b/memcpy.S (memcpy, memmove): Likewise.
	* sysdeps/sparc/sparc64/memchr.S (memchr): Likewise.
	* sysdeps/sparc/sparc64/memcpy.S (memcpy, memmove): Likewise.
	* sysdeps/sparc/sparc64/memset.S (memset): Likewise.
	* sysdeps/sparc/sparc64/strcat.S (strcat): Likewise.
	* sysdeps/sparc/sparc64/strchr.S (strchr, strrchr): Likewise.
	* sysdeps/sparc/sparc64/strcmp.S (strcmp): Likewise.
	* sysdeps/sparc/sparc64/strcpy.S (strcpy): Likewise.
	* sysdeps/sparc/sparc64/strcspn.S (strcspn): Likewise.
	* sysdeps/sparc/sparc64/strlen.S (strlen): Likewise.
	* sysdeps/sparc/sparc64/strncmp.S (strncmp): Likewise.
	* sysdeps/sparc/sparc64/strncpy.S (strncpy): Likewise.
	* sysdeps/sparc/sparc64/strpbrk.S (strpbrk): Likewise.
	* sysdeps/sparc/sparc64/strspn.S (strspn): Likewise.
	* sysdeps/sh/memcpy.S (memcpy): Likewise.
	* sysdeps/sh/memset.S (memset): Likewise.
	* sysdeps/sh/strlen.S (strlen): Likewise.
	* sysdeps/s390/s390-32/memchr.S (memchr): Likewise.
	* sysdeps/s390/s390-32/memcpy.S (memcpy): Likewise.
	* sysdeps/s390/s390-32/memset.S (memset): Likewise.
	* sysdeps/s390/s390-32/strcmp.S (strcmp): Likewise.
	* sysdeps/s390/s390-32/strcpy.S (strcpy): Likewise.
	* sysdeps/s390/s390-32/strncpy.S (strncpy): Likewise.
	* sysdeps/s390/s390-64/memchr.S (memchr): Likewise.
	* sysdeps/s390/s390-64/memcpy.S (memcpy): Likewise.
	* sysdeps/s390/s390-64/memset.S (memset): Likewise.
	* sysdeps/s390/s390-64/strcmp.S (strcmp): Likewise.
	* sysdeps/s390/s390-64/strcpy.S (strcpy): Likewise.
	* sysdeps/s390/s390-64/strncpy.S (strncpy): Likewise.
	* sysdeps/x86_64/memcpy.S (memcpy): Likewise.
	* sysdeps/x86_64/memset.S (memset): Likewise.
	* sysdeps/x86_64/strcat.S (strcat): Likewise.
	* sysdeps/x86_64/strchr.S (strchr): Likewise.
	* sysdeps/x86_64/strcmp.S (strcmp): Likewise.
	* sysdeps/x86_64/strcpy.S (strcpy): Likewise.
	* sysdeps/x86_64/strcspn.S (strcspn): Likewise.
	* sysdeps/x86_64/strlen.S (strlen): Likewise.
	* sysdeps/x86_64/strspn.S (strspn): Likewise.
	* string/string-inlines.c: Move...
	* sysdeps/generic/string-inlines.c: ...here.
	(__memcpy_g, __strchr_g): Remove.
	(__NO_INLINE__): Define before including <string.h>,
	undefine after.  Include bits/string.h and bits/string2.h.
	* sysdeps/i386/i486/string-inlines.c: New file.
	* sysdeps/i386/string-inlines.c: New file.
	* sysdeps/i386/i486/Versions: Remove.
	All GLIBC_2.1.1 symbols moved...
	* sysdeps/i386/Versions (libc): ...here.

2003-04-29  Ulrich Drepper  <drepper@redhat.com>
2003-04-29 22:49:58 +00:00
Ulrich Drepper
e40468fa25 Update.
2003-04-29  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/i386/fpu/Makefile: New file.
	* sysdeps/i386/fpu/fedisblxcpt.c: Also set SSE control word.
	* sysdeps/i386/fpu/feenablxcpt.c: Likewise.
	* sysdeps/i386/fpu/feholdexcpt.c: Likewise.
	* sysdeps/i386/fpu/fesetround.c: Also set SSE rounding mode
	[PR libc/4987].
2003-04-29 07:18:57 +00:00
Roland McGrath
8e27f45e05 * elf/dl-reloc.c (allocate_static_tls): Rename to...
(_dl_allocate_static_tls): ... this function.  No longer static.
	(CHECK_STATIC_TLS): Adjust.
	* sysdeps/generic/ldsodefs.h (_dl_allocate_static_tls): New prototype.
	* sysdeps/powerpc/powerpc32/dl-machine.h (__process_machine_rela):
	Add SYM_MAP argument.
	(elf_machine_rela): Adjust caller.  Declare SYM_MAP unconditionally.
	Check if SYM_MAP != NULL for R_PPC_DTPREL32.  Only handle 32-bit
	TLS relocs here.  #ifdef out relocs which never appear in
	.gnu.conflict section from dl-conflict.c processing.
	* sysdeps/powerpc/powerpc32/dl-machine.c (__process_machine_rela):
	Add SYM_MAP argument.  Handle 16-bit TLS relocs here.

	* sysdeps/s390/s390-32/dl-machine.h (elf_machine_rela): #ifdef
	out relocs which never appear in .gnu.conflict section from
	dl-conflict.c processing.
	* sysdeps/s390/s390-64/dl-machine.h (elf_machine_rela): Likewise.
	* sysdeps/x86_64/dl-machine.h (elf_machine_rela): Likewise.
	* sysdeps/i386/dl-machine.h (elf_machine_rela): Likewise.
	Use r_type in RESOLVE macro.
2003-04-24 17:11:08 +00:00
Ulrich Drepper
0b3df49e8d Update.
2003-04-19  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/i386/i686/hp-timing.h (HP_TIMING_PRINT): Change type of
	__len to size_t to avoid warnings.
2003-04-19 19:19:11 +00:00
Ulrich Drepper
bd4f43b462 Update.
2003-04-14  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/i386/i486/bits/atomic.h: Rename LOCK to LOCK_PREFIX.
	* sysdeps/x86_64/bits/atomic.h: Likewise.

2003-04-14  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/sysdep.h: Change PUSHARGS_1 and
	POPARGS_1 to emit labels for the mov instructions.

2003-04-14  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h (ret_NOERRNO): Define.
2003-04-14 17:30:34 +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
Andreas Jaeger
34f8ef1b4b Update
2003-03-21  Andreas Jaeger  <aj@suse.de>

	* sysdeps/i386/fpu/libm-test-ulps: Update.

	* math/libm-test.inc (tgamma_test): Recompute some constants with
	36 digits precision.
	(lgamma_test): Likewise.
	(ccos_test): Likewise.
	(ccosh_test): Likewise.
	(clog10_test): Likewise.
	(csin_test): Likewise.
	(csinh_test): Likewise.
	(ctan_test): Likewise.
	(ctanh_test): Likewise.

2003-03-19  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/sparc/sparc64/fpu/libm-test-ulps: Regenerated.
2003-03-22 06:14:37 +00:00
Roland McGrath
002ff85305 2003-03-21 Roland McGrath <roland@redhat.com>
* sysdeps/i386/i486/bits/atomic.h (atomic_bit_set): Use "ir"
	constraint to permit non-constant BIT argument.
	(atomic_bit_test_set): Likewise.
	* sysdeps/x86_64/bits/atomic.h (atomic_bit_test_set): Likewise.
	(atomic_bit_set): Likewise.  Use 1UL in case that BIT might be >= 32.
	For quadword case, use "i" constraint if __builtin_constant_p and < 32
	or "r" constraint otherwise.
2003-03-22 00:05:02 +00:00
Roland McGrath
26f24355d4 2003-03-21 Roland McGrath <roland@redhat.com>
* sysdeps/i386/i486/bits/atomic.h
	(__arch_compare_and_exchange_val_64_acq): Rewrite abort-calling
	version of the macro to avoid compile-time warnings.
	[! __PIC__] (__arch_compare_and_exchange_64_acq): Rename to above.
	(__arch_compare_and_exchange_bool_64_acq): New macro.
	(atomic_exchange_and_add, atomic_add): Fix name and usage of it.
	(atomic_increment, atomic_decrement): Likewise.
2003-03-21 11:14:51 +00:00
Ulrich Drepper
4541b483a9 Update.
2003-03-21  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/x86_64/bits/atomic.h: Don't use matching memory constraints.
	* sysdeps/i386/i486/bits/atomic.h: Likewise.
2003-03-21 09:51:39 +00:00
Ulrich Drepper
5a3ab2fc18 Update.
2003-03-21  Ulrich Drepper  <drepper@redhat.com>

	* cancellation.c: Adjust for new form of compare&exchange macros.
	* cleanup_defer.c: Likewise.
	* init.c: Likewise.
	* libc-cancellation.c: Likewise.
	* old_pthread_cond_broadcast.c: Likewise.
	* old_pthread_cond_signal.c: Likewise.
	* old_pthread_cond_timedwait.c: Likewise.
	* old_pthread_cond_wait.c: Likewise.
	* pthread_cancel.c: Likewise.
	* pthread_create.c: Likewise.
	* pthread_detach.c: Likewise.
	* pthread_join.c: Likewise.
	* pthread_key_delete.c: Likewise.
	* pthread_setcancelstate.c: Likewise.
	* pthread_setcanceltype.c: Likewise.
	* pthread_timedjoin.c: Likewise.
	* pthread_tryjoin.c: Likewise.
	* sysdeps/pthread/createthread.c: Likewise.
2003-03-21 08:03:25 +00:00
Ulrich Drepper
f79466a8e9 Update.
2003-03-20  Ulrich Drepper  <drepper@redhat.com>

	* include/atomic.h: Define atomic_exchange and
	atomic_decrement_if_positive if not already defined.  Add some
	__builtin_expect.
	* sysdeps/i386/i486/bits/atomic.h: Define atomic_exchange.
	* sysdeps/x86_64/bits/atomic.h: Likewise.
	* sysdeps/ia64/bits/atomic.h: Pretty printing.  Define atomic_exchange.
	* sysdeps/powerpc/bits/atomic.h: Pretty printing.  Define
	atomic_exchange, atomic_exchange_and_add, and
	atomic_decrement_if_positive
2003-03-20 10:18:24 +00:00
Ulrich Drepper
3dbe0d9517 Change atomic_exchange_and_add to return the old value. 2003-03-20 09:03:23 +00:00
Ulrich Drepper
4009bf4044 Update.
2003-03-19  Ulrich Drepper  <drepper@redhat.com>

	* Makefile (distribute): Add include/atomic.h and bits/atomic.h.
	* include/atomic.h: New file.
	* sysdeps/i386/i486/bits/atomic.h: New file.
	* sysdeps/x86_64/bits/atomic.h: New file.
	* sysdeps/s390/bits/atomic.h: New file.
	* sysdeps/sh/bits/atomic.h: New file.
	* sysdeps/ia64/bits/atomic.h: New file.
	* sysdeps/powerpc/bits/atomic.h: New file.
	* sysdeps/generic/bits/atomic.h: New file.
	* sysdeps/i386/i486/atomicity.h: Removed.
	* sysdeps/x86_64/atomicity.h: Removed.
	* sysdeps/s390/s390-32/atomicity.h: Removed.
	* sysdeps/s390/s390-64/atomicity.h: Removed.
	* sysdeps/ia64/atomicity.h: Removed.
	* sysdeps/powerpc/powerpc32/atomicity.h: Removed.
	* sysdeps/powerpc/powerpc64/atomicity.h: Removed.
	* elf/dl-profile.c: Use atomic.h instead of atomicity.h.  Adjust
	use of macros from atomicity.h to new names and semantics.
	* gmon_mcount.c: Likewise.
	* malloc/set-freeres.c: Likewise.
	* nscd/cache.c: Likewise.
	* stdlib/cxa_finalize.c: Likewise.
	* sysdeps/unix/sysv/linux/getsysstats.c: Likewise.

	* sysdeps/mips/ieee754.h: New file, suitable to replace both
	* stdlib/strtod.c (INTERNAL): While eating trailing zeros handle
2003-03-20 07:19:17 +00:00
Roland McGrath
e48f96382f * sysdeps/unix/make-syscalls.sh: Generate $(compile-syscall) for
assembler command.
	* sysdeps/unix/Makefile (compile-syscall): New variable.
	Pass -g0 to compiler for assembling syscall stubs from stdin.

	* sysdeps/i386/sysdep.h [HAVE_CPP_ASM_DEBUGINFO]
	(STABS_CURRENT_FILE, STABS_CURRENT_FILE1, STABS_FUN, STABS_FUN_END):
	Define these to do nothing.

	* configure.in: New check for -g on .S files.
	* configure: Regenerated.
	* config.make.in (have-cpp-asm-debuginfo): New variable.
	* config.h.in (HAVE_CPP_ASM_DEBUGINFO): New #undef.
	* Makeconfig (ASFLAGS): New variable, if undefined and
	$(have-cpp-asm-debuginfo), take options matching -g% from $(CFLAGS).
	* Makerules (compile.S, COMPILE.S): Use $(ASFLAGS).
2003-03-10 09:11:13 +00:00
Ulrich Drepper
427f5fa1a4 Update.
2003-02-27  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/i386/fpu/libm-test-ulps: Increase ULPs for yn due to
	code generation changes in recent gcc.
2003-02-27 22:29:25 +00:00
Ulrich Drepper
a439bb2fa3 Update.
* sysdeps/i386/fpu/s_nextafterl.c: Decrement high word of mantissa
	of demorm correctly if low word is zero.
	Reported by Fred J. Tydeman <tydeman@tybor.com>.
2003-02-15 05:25:17 +00:00
Ulrich Drepper
432a73f725 memmove for i686. 2003-02-04 07:51:36 +00:00
Ulrich Drepper
642eb2a2ed Update.
2003-01-13  Ulrich Drepper  <drepper@redhat.com>

	* string/tester.c (test_strcpy): Use the previously #if 0'ed code
	to test void* parameters.

	* sysdeps/i386/i486/bits/string.h (__STRING_SMALLL_GET16): Cast
	source pointer before dereferencing.
	(__STRING_SMALLL_GET32): Likewise.
	(__memset_gc): Add missing parenthesis around macro arguments.
	Patch by Denis Zaitsev<zzz@cd-club.ru>.

	* sysdeps/i386/i486/bits/string.h (__strspn_cg): Tell the compiler
	that %eax is modified.  Reported by Denis Zaitsev<zzz@cd-club.ru>.
2003-01-14 07:52:31 +00:00
Ulrich Drepper
aff4519d38 Update.
2003-01-11  Jim Meyering  <jim@meyering.net>

	* io/ftw.c [HAVE_CONFIG_H]: Include <config.h>.
	[HAVE_SYS_PARAM_H || _LIBC]: Guard inclusion of <sys/param.h>.
	Include <sys/stat.h>, not <include/sys/stat.h>, if !_LIBC.
	[!_LIBC] (__chdir, __closedir, __fchdir, __getcwd, __opendir): Define.
	[!_LIBC] (__readdir64, __tdestroy, __tfind, __tsearch): Define.
	[!_LIBC] (internal_function, dirent64, MAX): Define.
	(__set_errno): Define if not already defined.
	(open_dir_stream): When FTW_CHDIR is enabled, invoke opendir on
	the basename, not the entire file name.
	(process_entry): When FTW_CHDIR is enabled, invoke XSTAT or LXSTAT on
	the basename, not the entire file name.

2003-01-12  Ulrich Drepper  <drepper@redhat.com>

	* string/tester.c (test_strcpy): Disable last added strcpy until
	it is fixed.

2003-01-11  Philip Blundell  <philb@gnu.org>

	* sysdeps/unix/sysv/linux/arm/socket.S: Add cancellation support.

2003-01-11  Andreas Schwab  <schwab@suse.de>

	* Makerules: Add vpath for %.dynsym and %.so so that the
	implicit rule chaining for check-abi works.

2003-01-11  Kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* sysdeps/unix/sysv/linux/sh/sysdep.h (SYSCALL_ERROR_HANDLER):
	Add non-PIC case.

2003-01-11  Jakub Jelinek  <jakub@redhat.com>

	* elf/tls-macros.h [__ia64__] (__TLS_CALL_CLOBBERS): Define.
	[__ia64__] (TLS_LE, TLS_IE): Fix typos.  Add ;; at start of asm if
	gp is used early.
	[__ia64__] (TLS_LD, TLS_GD): Likewise.  Use __TLS_CALL_CLOBBERS.
	* elf/Makefile ($(objpfx)tst-tlsmod5.so, $(objpfx)tst-tlsmod6.so):
	Ensure libc.so in DT_NEEDED.
	* sysdeps/alpha/dl-machine.h (elf_machine_rela): Move
	CHECK_STATIC_TLS before l_tls_offset use.
	* sysdeps/i386/dl-machine.h (elf_machine_rel, elf_machine_rela):
	Likewise.
	* sysdeps/sh/dl-machine.h (elf_machine_rela): Likewise.
	* sysdeps/generic/dl-tls.c (_dl_allocate_tls_storage) [TLS_DTV_AT_TP]:
	Allocate TLS_PRE_TCB_SIZE bytes below result.
	(_dl_deallocate_tls) [TLS_DTV_AT_TP]: Adjust before freeing.
	* sysdeps/generic/libc-tls.c (__libc_setup_tls): If
	TLS_INIT_TP_EXPENSIVE is not defined, allocate even if no PT_TLS
	segment has been found.  If TLS_DTV_AT_TP, allocate TLS_PRE_TCB_SIZE
	bytes below result and add tcb_offset to memsz.
	* sysdeps/ia64/dl-tls.h (__tls_get_addr): New prototype.
	* sysdeps/ia64/dl-machine.h: Include tls.h.
	(elf_machine_type_class): Return ELF_RTYPE_CLASS_PLT for TLS relocs
	too.
	(elf_machine_rela): Assume if sym_map != NULL sym is non-NULL too.
	Handle R_IA64_DTPMOD*, R_IA64_DTPREL* and R_IA64_TPREL* relocations.
	* sysdeps/ia64/libc-tls.c: New file.

2003-01-10  Steven Munroe  <sjmunroe@us.ibm.com>

	* sysdeps/powerpc/powerpc64/sysdep.h (PSEUDO_RET): Add branch hit.
	* sysdeps/unix/sysv/linux/powerpc/bits/stat.h (STAT_VER_LINUX):
	Fix type.  Move definition out of #if.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/ftruncate64.c: New file.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/pread.c: New file.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/pread64.c: New file.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/pwrite.c: New file.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/pwrite64.c: New file.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/socket.S: Add cancellation
	support.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/syscalls.list: Remove
	ftruncate64, pread64, pwrite64, truncate64 entries.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h
	(INLINE_SYSCALL): New version that supports function call like
	syscalls.  Add __builtin_expect.
	(LOADARGS_n): Add argument size safety checks.
	(INTERNAL_SYSCALL): New Macro.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/truncate64.c: New file.
	* sysdeps/unix/sysv/linux/powerpc/sys/procfs.h [__PPC_ELF_H]: Avoid
	redefinition of elf_fpreg_t and elf_fpregset_t.

2003-01-12  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-close.c (_dl_close): Add several asserts.  Correct and
	simplify test for unloading.  If loader of a DSO is unloaded do not
	use its scope anymore.  Fall back to own scope and adjust opencounts.
	Fix several comments.
	* elf/dl-deps.c (_dl_map_object_deps): Always allocate memory for
	the l_searchlist, not only for l_initfini.

	* elf/dl-lookup.c (add_dependencies): Avoid creating relocation
	dependencies if objects cannot be removed.  Remove object with the
	definition as not unloadable if necessary.

	* elf/reldep6.c: Create relocation dependency before closing the first
	module.

2003-01-10  Guido Gnther  <agx@sigxcpu.org>
	* elf/Makefile: Add rules to build and run reldep9 test.
	* elf/reldep9.c: New file.
	* elf/reldep9mod1.c: New file.
	* elf/reldep9mod2.c: New file.
	* elf/reldep9mod3.c: New file.

2003-01-09  Jakub Jelinek  <jakub@redhat.com>

	* elf/Makefile: Add rules to build and run nodelete2 test.
	* elf/nodelete2.c: New file.
	* elf/nodel2mod1.c: New file.
	* elf/nodel2mod2.c: New file.
	* elf/nodel2mod3.c: New file.

2003-01-09  Jakub Jelinek  <jakub@redhat.com>
2003-01-12 10:11:16 +00:00
Ulrich Drepper
29d9a17dba Update.
2003-01-09  Jakub Jelinek  <jakub@redhat.com>

	* posix/test-vfork.c (noop): Add __attribute_noinline__.
	* sysdeps/generic/sysdep.h (JUMPTARGET): Define if not defined.
	* sysdeps/i386/sysdep.h (JUMPTARGET): Undefine JUMPTARGET before
	defining it.
	* sysdeps/powerpc/powerpc32/sysdep.h (JUMPTARGET): Likewise.
	* sysdeps/powerpc/powerpc64/sysdep.h (JUMPTARGET): Likewise.
	* sysdeps/s390/s390-32/sysdep.h (JUMPTARGET): Likewise.
	* sysdeps/s390/s390-64/sysdep.h (JUMPTARGET): Likewise.
	* sysdeps/x86_64/sysdep.h (JUMPTARGET): Likewise.
2003-01-09 20:30:21 +00:00
Ulrich Drepper
b5facfdac0 Update.
2003-01-06  Philip Blundell  <philb@gnu.org>

	* sysdeps/unix/arm/sysdep.S (syscall_error): Optimise a little.
	[__LIBC_REENTRANT]: Unify PIC and non-PIC cases.

	* sysdeps/unix/sysv/linux/arm/sysdep.h (PSEUDO): Remove .type
	directive.
	(PSEUDO_RET): Use SYSCALL_ERROR in place of __syscall_error.
	(SYSCALL_ERROR): New.
	(SYSCALL_ERROR_HANDLER) [NOT_IN_libc]: Provide local copy of error
	handling code.
	(INTERNAL_SYSCALL): Define.
	(INLINE_SYSCALL): Use it.
	(INTERNAL_SYSCALL_ERROR_P, INTERNAL_SYSCALL_ERRNO): Define.
	* sysdeps/unix/sysv/linux/arm/socket.S (__socket): Use
	SYSCALL_ERROR in place of __syscall_error.

2003-01-07  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/ia64/bits/byteswap.h [__GNUC__ >= 2] (__bswap_16,
	__bswap_32, __bswap_64): Put x into temporary variable
	to avoid warnings.
	[!__GNUC__] (__bswap_16, __bswap_32, __bswap_64): Change into static
	(inline) functions.
	* sysdeps/s390/bits/byteswap.h [__GNUC__ >= 2] (__bswap_16,
	__bswap_32, __bswap_64): Put x into temporary variable
	to avoid warnings.
	[!__GNUC__] (__bswap_16, __bswap_32, __bswap_64): Change into static
	(inline) functions.
	* sysdeps/i386/bits/byteswap.h [!__GNUC__] (__bswap_16, __bswap_32):
	Likewise.

2003-01-07  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/alpha/adjtime.c (ntp_adjtime): New weak
	alias.
2003-01-08 00:22:00 +00:00
Ulrich Drepper
4d464f39c8 (__significandl): Really return significand and not the exponent. 2003-01-07 07:42:11 +00:00
Roland McGrath
6876cdf853 2003-01-06 Roland McGrath <roland@redhat.com>
* sysdeps/i386/i486/bits/string.h (memset): Add parens around macro
	arguments.
	(memcpy, memrchr, strcpy, __stpcpy, strncpy, strcat): Likewise.
	(strcmp, strncat, strncmp, strchr, __strchrnul, strchrnul): Likewise.
	(index, strrchr, rindex, strcspn, strspn, strpbrk, strstr): Likewise.
2003-01-07 07:37:54 +00:00
Ulrich Drepper
a4baf360be Update.
* io/sys/stat.h [__USE_MISC]: Define __need_timespec for struct stat.
	* sysdeps/unix/sysv/linux/xstatconv.c (xstat_conv): Adjust for
	nsec resolution changes.
	(xstat64_conv): Likewise.
	(xstat32_conv): Likewise.
	* sysdeps/unix/sysv/linux/kernel_stat.h: Add nsec resolution for
	struct kernel_stat.
	* sysdeps/unix/sysv/linux/bits/stat.h: Add nsec resolution for
	structs stat and stat64.
	* time/time.h (__timespec_defined): Define for __USE_MISC.

2002-12-31  Ulrich Drepper  <drepper@redhat.com>

	* include/signal.h: Add libc_hidden_proto for __libc_current_sigrtmin
	and __libc_current_sigrtmax.

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

	* include/errno.h (__errno_location): Add prototype.
	Use libc_hidden_proto unconditionally.
	* include/netdb.h (__h_errno_location): Use libc_hidden_proto
	unconditionally.
	* include/resolv.h (__res_state): Likewise.

	* hurd/errno-loc.c (__errno_location): Add libc_hidden_def.
	* include/sys/socket.h (accept): Add libc_hidden_proto.
	* include/errno.h (__errno_location): Likewise.
	* include/netdb.h (__h_errno_location): Likewise.
	* include/resolv.h (__res_state): Likewise.
	* include/unistd.h (__lseek): Likewise.
	* sysdeps/generic/errno-loc.c (__errno_location): Add libc_hidden_def.
	* sysdeps/generic/herrno-loc.c (__h_errno_location): Likewise.
	* sysdeps/generic/res-state.c (__res_state): Likewise.
	* sysdeps/generic/accept.c (accept): Likewise.
	* sysdeps/generic/lseek.c (__lseek): Likewise.
	* sysdeps/generic/allocrtsig.c (__libc_current_sigrtmin,
	__libc_current_sigrtmax): Likewise.
	* sysdeps/mach/hurd/accept.c (accept): Likewise.
	* sysdeps/mach/hurd/lseek.c (__lseek): Likewise.
	* sysdeps/unix/sysv/aix/accept.c (accept): Likewise.
	* sysdeps/unix/sysv/aix/lseek.c (__lseek): Likewise.
	* sysdeps/unix/sysv/linux/accept.S (accept): Likewise.
	* sysdeps/unix/inet/syscalls.list (__GI_accept): New alias to accept.
	* sysdeps/unix/sysv/linux/alpha/syscalls.list (__GI_accept): Likewise.
	* sysdeps/unix/sysv/linux/hppa/syscalls.list (__GI_accept): Likewise.
	* sysdeps/unix/sysv/linux/ia64/syscalls.list (__GI___lseek): New
	alias to llseek.
	(__GI_accept): New alias to accept.
	* sysdeps/unix/sysv/linux/mips/syscalls.list (__GI_accept): Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list (__GI___lseek):
	New alias to llseek.
	(__GI_accept): New alias to accept.
	* sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list (__GI_accept):
	Likewise.
	* sysdeps/unix/sysv/linux/x86_64/syscalls.list (__GI_accept):
	Likewise.
	* sysdeps/unix/syscalls.list (__GI___lseek): New alias to lseek.

	* sysdeps/alpha/setjmp.S : Use libc_hidden_def(name) instead of
	strong_alias (name, __GI_name).
	* sysdeps/arm/bsd-_setjmp.S : Likewise.
	* sysdeps/hppa/bsd-_setjmp.S : Likewise.
	* sysdeps/i386/bsd-_setjmp.S : Likewise.
	* sysdeps/mips/mips64/bsd-_setjmp.S : Likewise.
	* sysdeps/mips/bsd-_setjmp.S : Likewise.
	* sysdeps/powerpc/powerpc32/bsd-_setjmp.S : Likewise.
	* sysdeps/powerpc/powerpc64/setjmp.S : Likewise.
	* sysdeps/s390/s390-32/elf/setjmp.S : Likewise.
	* sysdeps/s390/s390-32/bsd-_setjmp.S : Likewise.
	* sysdeps/s390/s390-64/elf/setjmp.S : Likewise.
	* sysdeps/s390/s390-64/bsd-_setjmp.S : Likewise.
	* sysdeps/sh/bsd-_setjmp.S : Likewise.
	* sysdeps/sparc/sparc32/setjmp.S : Likewise.
	* sysdeps/unix/arm/fork.S : Likewise.
	* sysdeps/unix/bsd/hp/m68k/vfork.S : Likewise.
	* sysdeps/unix/bsd/i386/vfork.S : Likewise.
	* sysdeps/unix/bsd/osf/alpha/fork.S : Likewise.
	* sysdeps/unix/bsd/sun/m68k/vfork.S : Likewise.
	* sysdeps/unix/bsd/ultrix4/mips/vfork.S : Likewise.
	* sysdeps/unix/bsd/vax/vfork.S : Likewise.
	* sysdeps/unix/i386/fork.S : Likewise.
	* sysdeps/unix/mips/fork.S : Likewise.
	* sysdeps/unix/sparc/fork.S : Likewise.
	* sysdeps/unix/sparc/vfork.S : Likewise.
	* sysdeps/unix/sysv/linux/arm/vfork.S : Likewise.
	* sysdeps/unix/sysv/linux/cris/vfork.S : Likewise.
	* sysdeps/unix/sysv/linux/i386/vfork.S : Likewise.
	* sysdeps/unix/sysv/linux/ia64/fork.S : Likewise.
	* sysdeps/unix/sysv/linux/ia64/setjmp.S : Likewise.
	* sysdeps/unix/sysv/linux/ia64/vfork.S : Likewise.
	* sysdeps/unix/sysv/linux/m68k/vfork.S : Likewise.
	* sysdeps/unix/sysv/linux/sh/vfork.S : Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc64/longjmp.S : Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc64/setjmp.S : Likewise.
	* sysdeps/unix/sysv/linux/sparc/fork.S : Likewise.
	* sysdeps/unix/sysv/linux/sparc/vfork.S : Likewise.
	* sysdeps/unix/sysv/linux/x86_64/vfork.S : Likewise.
	* sysdeps/unix/fork.S : Likewise.
	* sysdeps/vax/bsd-_setjmp.S : Likewise.
	* sysdeps/x86_64/bsd-_setjmp.S : Likewise.

	* sysdeps/unix/sysv/linux/ia64/sysdep.h: Guard against multiple
	inclusion.
2002-12-31 20:46:11 +00:00
Ulrich Drepper
9b4289aaf7 Update.
2002-12-31  Ulrich Drepper  <drepper@redhat.com>

	* include/setjmp.h: Add libc_hidden_proto for _setjmp.
	* sysdeps/alpha/setjmp.S: Add __GI__setjmp alias.
	* sysdeps/arm/bsd-_setjmp.S: Likewise.
	* sysdeps/generic/bsd-_setjmp.c: Likewise.
	* sysdeps/hppa/bsd-_setjmp.S: Likewise.
	* sysdeps/i386/bsd-_setjmp.S: Likewise.
	* sysdeps/m68k/bsd-_setjmp.c: Likewise.
	* sysdeps/mips/bsd-_setjmp.S: Likewise.
	* sysdeps/mips/mips64/bsd-_setjmp.S: Likewise.
	* sysdeps/powerpc/powerpc32/bsd-_setjmp.S: Likewise.
	* sysdeps/powerpc/powerpc64/setjmp.S: Likewise.
	* sysdeps/s390/s390-32/bsd-_setjmp.S: Likewise.
	* sysdeps/s390/s390-32/elf/setjmp.S: Likewise.
	* sysdeps/s390/s390-64/bsd-_setjmp.S: Likewise.
	* sysdeps/s390/s390-64/elf/setjmp.S: Likewise.
	* sysdeps/sh/bsd-_setjmp.S: Likewise.
	* sysdeps/sparc/sparc32/setjmp.S: Likewise.
	* sysdeps/unix/sysv/linux/ia64/setjmp.S: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc64/setjmp.S: Likewise.
	* sysdeps/vax/bsd-_setjmp.S: Likewise.
	* sysdeps/x86_64/bsd-_setjmp.S: Likewise.
2002-12-31 09:36:52 +00:00
Ulrich Drepper
e150fddc7c Backout last change. 2002-12-16 19:32:31 +00:00
Roland McGrath
0274d73c41 * iconv/gconv_conf.c: Convert GCC extension initializer syntax to C99.
* iconvdata/gap.awk: Likewise.
	* iconvdata/gen-8bit-gap-1.sh: Likewise.
	* iconvdata/gen-8bit-gap.sh: Likewise.
	* locale/C-address.c: Likewise.
	* locale/C-collate.c: Likewise.
	* locale/C-ctype.c: Likewise.
	* locale/C-identification.c: Likewise.
	* locale/C-measurement.c: Likewise.
	* locale/C-messages.c: Likewise.
	* locale/C-monetary.c: Likewise.
	* locale/C-name.c: Likewise.
	* locale/C-numeric.c: Likewise.
	* locale/C-paper.c: Likewise.
	* locale/C-telephone.c: Likewise.
	* locale/C-time.c: Likewise.
	* nscd/connections.c: Likewise.
	* nscd/grpcache.c: Likewise.
	* nscd/hstcache.c: Likewise.
	* nscd/pwdcache.c: Likewise.
	* stdio-common/vfprintf.c: Likewise.
	* stdlib/random.c: Likewise.
	* sysdeps/generic/siglist.c: Likewise.
	* sysdeps/i386/fpu/bits/mathinline.h: Likewise.
	* sysdeps/ieee754/bits/nan.h: Likewise.
	* sysdeps/posix/sprofil.c: Likewise.
	* sysdeps/unix/sysv/linux/sleep.c: Likewise.
	* sysdeps/unix/sysv/linux/sysctl.c: Likewise.
	* sysdeps/unix/sysv/linux/usleep.c: Likewise.
2002-12-16 02:05:36 +00:00
Ulrich Drepper
70a8ca6d89 Update.
* sysdeps/i386/bits/byteswap.h (__bswap_64): Apply
	__builtin_constant_p to macro parameter.
2002-12-11 06:32:37 +00:00
Roland McGrath
06b31ad3ef * elf/Makefile (tests): Uncomment tst-array[123].
* Makeconfig (CPPFLAGS-.oS): Add -DLIBC_NONSHARED=1.
	* csu/elf-init.c: New file.
	* csu/Makefile (routines, static-only-routines): Add elf-init.
	* sysdeps/alpha/elf/start.S: Use __libc_csu_init in place of _init
	and __libc_csu_fini in place of _fini.
	* sysdeps/arm/elf/start.S: Likewise.
	* sysdeps/cris/elf/start.S: Likewise.
	* sysdeps/hppa/elf/start.S: Likewise.
	* sysdeps/i386/elf/start.S: Likewise.
	* sysdeps/ia64/elf/start.S: Likewise.
	* sysdeps/m68k/elf/start.S: Likewise.
	* sysdeps/mach/hurd/powerpc/static-start.S: Likewise.
	* sysdeps/mips/elf/start.S: Likewise.
	* sysdeps/powerpc/powerpc32/elf/start.S: Likewise.
	* sysdeps/powerpc/powerpc64/elf/start.S: Likewise.
	* sysdeps/s390/s390-32/elf/start.S: Likewise.
	* sysdeps/s390/s390-64/elf/start.S: Likewise.
	* sysdeps/sh/elf/start.S: Likewise.
	* sysdeps/sparc/sparc32/elf/start.S: Likewise.
	* sysdeps/sparc/sparc64/elf/start.S: Likewise.
	* sysdeps/x86_64/elf/start.S: Likewise.
2002-12-09 20:37:37 +00:00
Roland McGrath
216455bc28 * sysdeps/generic/ldsodefs.h (struct rtld_global): Move all [USE_TLS]
members to the end, so a libpthread compiled with !USE_TLS will still
	find other members properly.

	* sysdeps/i386/i486/bits/string.h (__strcpy_g): Add dummy output
	operand for DEST memory.  Fix dummy input operand to use SRC.
	Reported by Davin McCall <davmac@ozonline.com.au>.

	* sysdeps/generic/libc-tls.c (__libc_setup_tls): Account for TCB
	alignment when initializing the DTV entry.

	* elf/dl-load.c (_dl_map_object_from_fd): If we hit a TLS segment
	when TLS has not been set up, try to set it up if we can.
	* elf/tst-tls4.c: Revert last change.
	* elf/tst-tls5.c: Likewise.
	* elf/tst-tls6.c: Likewise.
	* elf/tst-tls7.c: Likewise.
	* elf/tst-tls8.c: Likewise.
	* elf/tst-tls9.c: Likewise.

	* sysdeps/generic/dl-tls.c [SHARED] (_dl_tls_setup): New function.
	* sysdeps/generic/ldsodefs.h: Declare it.
	* elf/Versions (ld: GLIBC_PRIVATE): Add it.
	* sysdeps/generic/libc-tls.c (init_slotinfo): New static inline
	function, broken out of __libc_setup_tls.
	(init_static_tls): Likewise.
	(__libc_setup_tls): Call them.
	(_dl_tls_setup): New function, uses new subroutines.

	* elf/dl-close.c (free_slotinfo): Make argument pointer to pointer.
	Clear the pointer when returning true.
	(libc_freeres_fn) [SHARED]: If GL(dl_initial_dtv) is null, free the
	first element of the slotinfo list too.

	* sysdeps/generic/dl-tls.c (_dl_determine_tlsoffset): Define only if
	[SHARED].

	* sysdeps/generic/ldsodefs.h (_dl_next_tls_modid): Declare as hidden.
	(_dl_determine_tlsoffset): Likewise.

	* elf/rtld.c (_dl_initial_error_catch_tsd): Renamed from
	startup_error_tsd, made global.
	(dl_main): Update initialization.
	* elf/dl-tsd.c: Likewise.
	* sysdeps/generic/ldsodefs.h: Declare it.
2002-12-04 12:30:40 +00:00
Roland McGrath
92712dee68 * sysdeps/i386/dl-machine.h (elf_machine_rela): Handle R_386_COPY.
* sysdeps/arm/dl-machine.h (elf_machine_rela): Handle R_ARM_COPY.

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

	* math/Makefile (libm-calls): Change s_ldexp to m_ldexp.
	* Makerules ($(+sysdir_pfx)sysd-rules): Emit pattern rules for m_%.[Sc]
	from sysdeps/.../s_%.[Sc] with commands $(+make-include-of-dep).
	(+make-include-of-dep): New canned sequence.

	* stdlib/canonicalize.c (__realpath): Check for malloc failure.
	From Dmitry V. Levin <ldv@altlinux.org>.
2002-11-15 22:51:30 +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
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
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
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
Ulrich Drepper
8dd8681f4a Update.
* sysdeps/powerpc/soft-fp/soft-supp.h: New file.
2002-10-18 05:05:55 +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
f04125597e * sysdeps/generic/dl-lookupcfg.h: Include <tls.h>.
* sysdeps/sh/dl-lookupcfg.h: File removed.
	* sysdeps/i386/dl-lookupcfg.h: File removed.
2002-10-11 12:19:55 +00:00
Roland McGrath
ce460d04a5 * sysdeps/generic/bits/libc-tsd.h [USE___THREAD]: Conditional
changed from [USE_TLS && HAVE___THREAD].

	* sysdeps/i386/dl-machine.h (elf_machine_type_class, elf_machine_rel):
	Disable TLS relocs if [RTLD_BOOTSTRAP && !USE___THREAD].
	* sysdeps/x86_64/dl-machine.h
	(elf_machine_type_class, elf_machine_rela): Likewise.
	* sysdeps/sh/dl-machine.h (elf_machine_type_class, elf_machine_rela):
	Likewise.

	* include/link.h (struct link_map): Remove member l_tls_tp_initialized.
	* elf/rtld.c (_dl_start_final, dl_main): Don't use it.
	(_dl_start): Conditionalize PT_TLS check on [USE___THREAD].

	* sysdeps/i386/dl-tls.h (__TLS_GET_ADDR): Use ___tls_get_addr_internal
	instead of ___tls_get_addr.
	(___tls_get_addr_internal): Add attribute_hidden to decl.

	* sysdeps/generic/ldsodefs.h (struct rtld_global): New variable
	_dl_error_catch_tsd.
	* elf/rtld.c (startup_error_tsd): New function.
	(dl_main): Point _dl_error_catch_tsd at that.
	* elf/dl-error.c: Don't use libc-tsd.h for DL_ERROR,
	use new function pointer instead.
	* elf/dl-tsd.c: New file.
	* elf/Makefile (routines): Add it.

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

	* elf/dl-misc.c (_dl_debug_vdprintf): Use INTERNAL_SYSCALL macro for
	writev if it's available.  Otherwise if [RTLD_PRIVATE_ERRNO] then
	take _dl_load_lock around calling __writev.

	* sysdeps/unix/sysv/linux/i386/sysdep.h (INTERNAL_SYSCALL): New macro.
	(INLINE_SYSCALL): Use that.

	* sysdeps/generic/dl-sysdep.h: New file.
	* sysdeps/mach/hurd/dl-sysdep.h: New file.
	* sysdeps/generic/ldsodefs.h: Include <dl-sysdep.h>.
	* include/errno.h [IS_IN_rtld]: Include <dl-sysdep.h> to define ...
	[RTLD_PRIVATE_ERRNO]: Use a hidden global variable for errno and
	access it directly.
	* elf/dl-minimal.c (__errno_location): Removed.
	* sysdeps/unix/i386/sysdep.S (__syscall_errno) [RTLD_PRIVATE_ERRNO]:
	Use GOTOFF access for errno.
	* sysdeps/unix/sysv/linux/i386/sysdep.h
	[RTLD_PRIVATE_ERRNO] (SYSCALL_ERROR_HANDLER): Likewise.

	* sysdeps/unix/x86_64/sysdep.S (__syscall_errno) [RTLD_PRIVATE_ERRNO]:
	Use PC-relative access for errno.
	* sysdeps/unix/sysv/linux/x86_64/sysdep.h
	[RTLD_PRIVATE_ERRNO] (SYSCALL_ERROR_HANDLER): Likewise.

	* include/tls.h: New file.
	(USE___THREAD): New macro.
	Define to 1 under [USE_TLS && HAVE___THREAD] and only when compiling
	libc or libpthread.
	* sysdeps/unix/sysv/linux/i386/sysdep.h [USE___THREAD]: Conditional
	changed from [USE_TLS && HAVE___THREAD].
	* sysdeps/unix/sysv/linux/x86_64/sysdep.h: Likewise.
	* sysdeps/unix/i386/sysdep.S: Likewise.
	* sysdeps/unix/x86_64/sysdep.S: Likewise.
	* include/errno.h: Likewise.
	* include/netdb.h: Likewise.
	* include/resolv.h: Likewise.

	* sysdeps/generic/errno.c: New file.
	* csu/Makefile (aux): New variable, list errno.
	* sysdeps/unix/sysv/linux/i386/sysdep.S (errno, _errno): Remove defns.
	* sysdeps/unix/sysv/linux/m68k/sysdep.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sysdep.S: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-64/sysdep.S: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-32/sysdep.S: Likewise.
	* sysdeps/unix/sysv/linux/arm/sysdep.S: Likewise.
	* sysdeps/unix/sysv/linux/cris/sysdep.S: Likewise.
	* sysdeps/unix/sysv/linux/hppa/sysdep.c: Likewise.
	* sysdeps/unix/sysv/linux/ia64/sysdep.S: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/sysdep.c: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sysdep.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/sysdep.S: Likewise.
	* sysdeps/unix/alpha/sysdep.S: Likewise.
	* sysdeps/generic/start.c: Likewise.
	* sysdeps/unix/start.c: Likewise.
	* sysdeps/unix/arm/start.c: Likewise.
	* sysdeps/unix/bsd/ultrix4/mips/start.S: Likewise.
	* sysdeps/unix/sparc/start.c: Likewise.
	* sysdeps/unix/sysv/irix4/start.c: Likewise.
	* sysdeps/unix/sysv/linux/mips/sysdep.S: File removed.

	* manual/search.texi (Tree Search Function, Hash Search Function):
	Mention search.h clearly.

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

	* elf/dl-fxstat64.c: File removed.
	* elf/dl-xstat64.c: File removed.
	* elf/Makefile (rtld-routines): Remove them.
	* sysdeps/unix/sysv/linux/xstat64.c: Remove RTLD_STAT64 conditionals.
	Instead, use strong_alias instead of versioned_symbol in the
	!SHLIB_COMPAT case.
	* sysdeps/unix/sysv/linux/fxstat64.c: Likewise.
	* sysdeps/unix/sysv/linux/lxstat64.c: Likewise.

	* include/shlib-compat.h
	(SHLIB_COMPAT): Require that IS_IN_##lib be defined nonzero.
	[! NOT_IN_libc] (IS_IN_libc): Define it.
	* cppflags-iterator.mk (CPPFLAGS-$(cpp-src)): Use -Dx=1 not just -Dx.
	* elf/Makefile (CPPFLAGS-.os): Likewise.

	* sunrpc/rpc_main.c (main): Don't declare with noreturn attribute.
	Return the status instead of calling exit.

	* Makeconfig (CFLAGS): Prepend -std=gnu99.
	* Makerules (+make-deps): Use $(CFLAGS) only for .c sources.
	Remove superfluous rm command, whose @ plus make bugs hid
	all these commands from the make output.

	* include/stubs-prologue.h: New file.  Give #error under #ifdef _LIBC.
	* Makefile ($(inst_includedir)/gnu/stubs.h): Depend on it.
	Use that file's contents instead of literal echo's for the prologue.
	* include/features.h: Include <gnu/stubs.h> unconditionally.
	* include/gnu/stubs.h: New file.

2002-09-30  Roland McGrath  <roland@redhat.com>

	* elf/rtld-Rules: New file.
	* elf/Makefile ($(objpfx)librtld.map, $(objpfx)librtld.mk,
	$(objpfx)rtld-libc.a): New targets.
	(generated): Add them.
	(reloc-link): Remove -o $@ from the variable.
	($(objpfx)dl-allobjs.os): Add -o $@ after $(reloc-link).
	(distribute): Add rtld-Rules.
	(CPPFLAGS-.os): Define this instead of CFLAGS-.os.
	* Makerules ($(+sysdir_pfx)sysd-rules): Emit rules for rtld-% targets.
	(common-mostlyclean, common-clean): Clean up rtld-* files.
	* sysdeps/unix/make-syscalls.sh: Add rtld-*.os target name to rules.
2002-10-11 10:52:20 +00:00
Roland McGrath
fe27057d17 * elf/tls-macros.h (TLS_LD, TLS_GD): Use call insn, not callq.
* sysdeps/unix/x86_64/sysdep.S [USE_TLS && HAVE___THREAD] [! PIC]:
	Use direct-%fs form of TLS access for errno.

	* sysdeps/unix/sysv/linux/i386/i686/sysdep.h: File removed, since
	the i386 version has all the same asm now.

	* sysdeps/i386/elf/configure.in: Add @GOTNTPOFF and @NTPOFF uses to
	the TLS support check.
	* sysdeps/i386/elf/configure: Regenerated.

	* sysdeps/unix/sysv/linux/i386/sysdep.h [USE_TLS && HAVE___THREAD]
	(SYSCALL_ERROR_HANDLER): Use direct-%gs form of TLS access for errno.

	* sysdeps/unix/i386/sysdep.S (syscall_error)
	[USE_TLS && HAVE___THREAD]: Use TLS access for errno.
2002-09-30 10:26:59 +00:00
Ulrich Drepper
a3c12833f8 Update.
2002-09-19  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/wordsize-32/Makefile: New file.
	* sysdeps/arm/Makefile: Removed.
	* sysdeps/i386/Makefile (sysdep_routines, shared-only-routines):
	Don't add divdi3 here.
	* sysdeps/m68k/Makefile: Likewise.
	* sysdeps/powerpc/powerpc32/Makefile: Likewise.
	* sysdeps/sh/Makefile: Likewise.
	* sysdeps/s390/s390-32/Makefile: Likewise.
2002-09-19 06:50:30 +00:00
Ulrich Drepper
dfc89273f7 Update.
* sysdeps/powerpc/fpu/Dist: Move fprrest.S and fprsave.S to...
	* sysdeps/powerpc/powerpc32/fpu/Dist: ...here.  New file.
	* sysdeps/unix/sysv/linux/powerpc/Dist: Move kernel_stat.h to...
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/Dist: ...here.

	* sysdeps/i386/Makefile: Remove obsolete db2 rules.

	* sysdeps/unix/sysv/linux/Makefile: Add exit-thread.S.

	* sysdeps/unix/sysv/linux/powerpc/Dist: Add ldd-rewrite.sh.

	* sysdeps/unix/sysv/linux/powerpc/powerpc64/Dist: New file.
2002-09-19 06:36:54 +00:00
Roland McGrath
1d0ad77362 * elf/dl-lookup.c (_dl_debug_bindings): Print TLS lookups always.
* elf/elf.h (R_386_TLS_TPOFF, R_386_TLS_IE, R_386_TLS_GOTIE,
	R_386_TLS_LE): Define.
	(R_386_TLS_IE_32, R_386_TLS_LE_32, R_386_TLS_TPOFF32): Update
	comments.
	* sysdeps/i386/dl-machine.h (elf_machine_type_class): Return
	ELF_RTYPE_CLASS_PLT for R_386_TLS_TPOFF.
	(elf_machine_rel): Handle R_386_TLS_TPOFF.
	(elf_machine_rela): Likewise.
	Remove unnecessary RTLD_BOOTSTRAP #ifdefs.
2002-09-18 01:18:08 +00:00
Roland McGrath
4730fc6882 * sysdeps/i386/dl-machine.h (elf_machine_rel)
(case R_386_TLS_DTPMOD32): Don't use addend.
	[case R_386_TLS_TPOFF32]: Remove redundant SYM_MAP != NULL check.
	(elf_machine_rela): Add support for TLS relocs.
2002-09-14 09:17:58 +00:00
Ulrich Drepper
76f2646f3d Update.
2002-09-09  Jakub Jelinek  <jakub@redhat.com>

	* include/math.h (__finite_internal, __finitef_internal,
	__finitel_internal, __isinf_internal, __isnan_internal): Remove.
	(isfinite): Remove.
	(__finite, __isinf, __isnan, __finitef, __isinff, __isnanf, __finitel,
	__isinfl, __isnanl): Add hidden_proto.
	(__fpclassify, __fpclassifyf, __fpclassifyl, __expm1l): Add
	libm_hidden_proto.
	* math/Makefile (libm-calls): Add s_isinf and s_isnan.
	* stdio-common/printf_fp.c (__printf_fp): Remove INTUSE from
	__is{inf,nan} calls.
	* stdio-common/printf_size.c (printf_size): Likewise.
	* sysdeps/generic/printf_fphex.c (__printf_fphex): Likewise.
	* sysdeps/generic/s_ldexp.c (__ldexp): Likewise.
	* sysdeps/generic/s_ldexpf.c (__ldexpf): Likewise.
	* sysdeps/generic/s_ldexpl.c (__ldexpl): Likewise.
	* sysdeps/generic/s_expm1l.c (__expm1l): Add libm_hidden_def.
	* sysdeps/i386/fpu/s_finite.S (__finite_internal): Remove alias.
	(__finite): Add hidden_def.
	* sysdeps/i386/fpu/s_finitef.S (__finitef_internal): Remove alias.
	(__finitef): Add hidden_def.
	* sysdeps/i386/fpu/s_finitel.S (__finitel_internal): Remove alias.
	(__finitel): Add hidden_def.
	* sysdeps/i386/fpu/s_isinfl.c (__isinfl): Remove INTDEF.  Add
	hidden_def.
	* sysdeps/i386/fpu/s_isnanl.c (__isnanl): Likewise.
	* sysdeps/i386/fpu/s_fpclassifyl.c (__fpclassifyl): Add
	libm_hidden_def.
	* sysdeps/i386/fpu/s_expm1l.S (__expm1l): Likewise.
	* sysdeps/ieee754/dbl-64/s_finite.c (__finite): Remove INTDEF.  Add
	hidden_def.
	* sysdeps/ieee754/dbl-64/s_isinf.c (__isinf): Likewise.
	(__isinfl): Remove INTDEF.
	* sysdeps/ieee754/dbl-64/s_isnan.c (__isnan): Remove INTDEF.  Add
	hidden_def.
	(__isnanl): Remove INTDEF.
	* sysdeps/ieee754/dbl-64/s_fpclassify.c (__fpclassify): Add
	libm_hidden_def.
	* sysdeps/ieee754/dbl-64/e_lgamma_r.c (sin_pi): Use __sin and __cos
	instead of sin and cos.
	* sysdeps/ieee754/flt-32/s_finitef.c (__finitef): Remove INTDEF.
	Add hidden_def.
	* sysdeps/ieee754/flt-32/s_isinff.c (__isinff): Likewise.
	* sysdeps/ieee754/flt-32/s_isnanf.c (__isnanf): Likewise.
	* sysdeps/ieee754/flt-32/s_fpclassifyf.c (__fpclassifyf): Add
	libm_hidden_def.
	* sysdeps/ieee754/ldbl-128/s_finitel.c (__finitel): Remove INTDEF.
	Add hidden_def.
	* sysdeps/ieee754/ldbl-128/s_isinfl.c (__isinfl): Likewise.
	* sysdeps/ieee754/ldbl-128/s_isnanl.c (__isnanl): Likewise.
	* sysdeps/ieee754/ldbl-128/s_fpclassifyl.c (__fpclassifyl): Add
	libm_hidden_def.
	* sysdeps/ieee754/ldbl-128/s_expm1l.c (__expm1l): Add
	libm_hidden_def.
	* sysdeps/ieee754/ldbl-96/s_finitel.c (__finitel): Remove INTDEF.
	Add hidden_def.
	* sysdeps/ieee754/ldbl-96/s_isinfl.c (__isinfl): Likewise.
	* sysdeps/ieee754/ldbl-96/s_isnanl.c (__isnanl): Likewise.
	* sysdeps/ieee754/ldbl-96/s_fpclassifyl.c (__fpclassifyl): Add
	libm_hidden_def.
	* sysdeps/ia64/fpu/s_finite.S (__finite_internal, __finitef_internal,
	__finitel_internal): Remove aliases.
	(__finite, __finitef, __finitel): Add hidden_def.
	* sysdeps/ia64/fpu/s_isnan.S (__isnan_internal, __isnanf_internal,
	__isnanl_internal): Remove aliases.
	(__isnan, __isnanf, __isnanl): Add hidden_def.
	* sysdeps/ia64/fpu/s_isinf.S (__isinf_internal, __isinff_internal,
	__isinfl_internal): Remove aliases.
	(__isinf, __isinff, __isinfl): Add hidden_def.
	* sysdeps/ia64/fpu/s_fpclassify.S (__fpclassify, __fpclassifyf,
	__fpclassifyl): Add libm_hidden_def.
	* sysdeps/ia64/fpu/s_expm1l.S (__expm1l): Likewise.
	* sysdeps/m68k/s_isinfl.c (__isinfl): Remove INTDEF.  Add hidden_def.
	* sysdeps/m68k/fpu/s_isinf.c (INTDEFX): Remove.
	(hidden_defx): Define and use.
	* sysdeps/m68k/fpu/s_fpclassifyl.c (__fpclassifyl): Add
	libm_hidden_def.
	* sysdeps/m68k/fpu/s_expm1l.c (__expm1l): Likewise.
	* sysdeps/m68k/s_isnanl.c (__isnanl): Add hidden_def.
	* sysdeps/powerpc/fpu/s_isnan.c (__isnan, __isnanf, __isnanl):
	Remove INTDEF.
	(__isnan, __isnanf): Add hidden_def.
	* sysdeps/x86_64/fpu/s_finitel.S (__finitel_internal): Remove alias.
	(__finitel): Add libm_hidden_def.
	* sysdeps/x86_64/fpu/s_expm1l.S (__expm1l): Likewise.

	* include/fenv.h (feraiseexcept, fesetenv): Add libm_hidden_proto.
	* sysdeps/alpha/fpu/fesetenv.c (fesetenv): Add libm_hidden_ver.
	* sysdeps/alpha/fpu/fraiseexcpt.c (feraiseexcept): Likewise.
	* sysdeps/arm/fpu/fesetenv.c (fesetenv): Likewise.
	* sysdeps/arm/fpu/fraiseexcpt.c (feraiseexcept): Likewise.
	* sysdeps/generic/fesetenv.c (fesetenv): Likewise.
	* sysdeps/generic/fraiseexcpt.c (feraiseexcept): Likewise.
	* sysdeps/i386/fpu/fesetenv.c (fesetenv): Likewise.
	* sysdeps/i386/fpu/fraiseexcpt.c (feraiseexcept): Likewise.
	* sysdeps/m68k/fpu/fesetenv.c (fesetenv): Likewise.
	* sysdeps/m68k/fpu/fraiseexcpt.c (feraiseexcept): Likewise.
	* sysdeps/mips/fpu/fesetenv.c (fesetenv): Likewise.
	* sysdeps/mips/fpu/fraiseexcpt.c (feraiseexcept): Likewise.
	* sysdeps/powerpc/fpu/fesetenv.c (fesetenv): Likewise.
	* sysdeps/powerpc/fpu/fraiseexcpt.c (feraiseexcept): Likewise.
	* sysdeps/sparc/fpu/fesetenv.c (fesetenv): Likewise.
	* sysdeps/sparc/fpu/fraiseexcpt.c (feraiseexcept): Likewise.
	* sysdeps/hppa/fpu/fesetenv.c (fesetenv): Add libm_hidden_def.
	* sysdeps/hppa/fpu/fraiseexcpt.c (feraiseexcept): Likewise.
	* sysdeps/ia64/fpu/fesetenv.c (fesetenv): Likewise.
	* sysdeps/ia64/fpu/fraiseexcpt.c (feraiseexcept): Likewise.
	* sysdeps/sh/sh4/fpu/fesetenv.c (fesetenv): Likewise.
	* sysdeps/sh/sh4/fpu/fraiseexcpt.c (feraiseexcept): Likewise.
	* sysdeps/s390/fpu/fesetenv.c (fesetenv): Likewise.
	* sysdeps/s390/fpu/fraiseexcpt.c (feraiseexcept): Likewise.
	* sysdeps/x86_64/fpu/fesetenv.c (fesetenv): Likewise.
	* sysdeps/x86_64/fpu/fraiseexcpt.c (feraiseexcept): Likewise.
2002-09-10 01:40:26 +00:00
Roland McGrath
868b78c83c * elf/dl-runtime.c (IN_DL_RUNTIME): Define this macro first thing.
* sysdeps/i386/dl-machine.h: Only declare fixup, profile_fixup and
	define ELF_MACHINE_RUNTIME_TRAMPOLINE under #ifdef IN_DL_RUNTIME.
2002-08-29 23:24:40 +00:00