Age | Commit message (Collapse) | Author |
|
Various C90 and UNIX98 libm functions call feraiseexcept, which is not
in those standards. This causes linknamespace test failures - except
on x86 / x86_64, where feraiseexcept is inline (for the relevant
constant arguments) in bits/fenv.h.
This patch fixes this by making those functions call __feraiseexcept
instead. All changes are applied to all architectures rather than
considering the possibility that some might not be needed in some
cases (e.g. x86) as it seems most maintainable to keep architectures
consistent.
Where __feraiseexcept does not exist, it is added, with feraiseexcept
made a weak alias; where it is a strong alias, it is made weak.
libm_hidden_def / libm_hidden_proto are used with __feraiseexcept
(this might in some cases improve code generation for existing calls
to __feraiseexcept in some code on some architectures). Where there
are dummy feraiseexcept macros (on architectures without
floating-point exceptions support, to avoid compile errors from
references to undefined FE_* macros), corresponding dummy
__feraiseexcept macros are added. And on x86, to ensure
__feraiseexcept calls still get inlined, the inline function in
bits/fenv.h is refactored so that most of it can be reused in an
inline __feraiseexcept in a separate include/bits/fenv.h.
Calls are changed in C90/UNIX98 functions, but generally not in
functions missing from those standards. They are also changed in
libc_fe* functions (on the basis that those might be used in any libm
function), and in feupdateenv (on the same basis - may be used, via
default libc_*, in any libm function - of course feupdateenv will need
changing to __feupdateenv in a subsequent patch to make that fully
namespace-clean).
No __feraiseexcept is added corresponding to the feraiseexcept in
powerpc bits/fenvinline.h, because that macro definition is
conditional on !defined __NO_MATH_INLINES, and glibc libm is built
with -D__NO_MATH_INLINES, so changing internal calls to use
__feraiseexcept should make no difference.
Tested for x86_64 (testsuite; the only change in disassembly of
installed shared libraries is a slight code reordering in clog10, of
no apparent significance). Also tested for MIPS, where (in the
configuration tested) it eliminates math.h linknamespace failures for
n32 and n64 (some for o32 remain because of other issues).
[BZ #17723]
* include/fenv.h (__feraiseexcept): Use libm_hidden_proto.
* math/fraiseexcpt.c (__feraiseexcept): Use libm_hidden_def.
* sysdeps/aarch64/fpu/fraiseexcpt.c (feraiseexcept): Rename to
__feraiseexcept and define as weak alias of __feraiseexcept. Use
libm_hidden_weak.
* sysdeps/arm/fraiseexcpt.c (feraiseexcept): Likewise.
* sysdeps/hppa/fpu/fraiseexcpt.c (feraiseexcept): Likewise.
* sysdeps/i386/fpu/fraiseexcpt.c (__feraiseexcept): Use
libm_hidden_def.
* sysdeps/ia64/fpu/fraiseexcpt.c (feraiseexcept): Rename to
__feraiseexcept and define as weak alias of __feraiseexcept. Use
libm_hidden_weak.
* sysdeps/m68k/coldfire/fpu/fraiseexcpt.c (feraiseexcept):
Likewise.
* sysdeps/microblaze/math_private.h (__feraiseexcept): New macro.
* sysdeps/mips/fpu/fraiseexcpt.c (feraiseexcept): Rename to
__feraiseexcept and define as weak alias of __feraiseexcept. Use
libm_hidden_weak.
* sysdeps/powerpc/fpu/fraiseexcpt.c (__feraiseexcept): Use
libm_hidden_def.
* sysdeps/powerpc/nofpu/fraiseexcpt.c (__feraiseexcept): Likewise.
* sysdeps/powerpc/powerpc32/e500/nofpu/fraiseexcpt.c
(__feraiseexcept): Likewise.
* sysdeps/s390/fpu/fraiseexcpt.c (feraiseexcept): Rename to
__feraiseexcept and define as weak alias of __feraiseexcept. Use
libm_hidden_weak.
* sysdeps/sh/sh4/fpu/fraiseexcpt.c (feraiseexcept): Likewise.
* sysdeps/sparc/fpu/fraiseexcpt.c (__feraiseexcept): Use
libm_hidden_def.
* sysdeps/tile/math_private.h (__feraiseexcept): New macro.
* sysdeps/unix/sysv/linux/alpha/fraiseexcpt.S (__feraiseexcept):
Use libm_hidden_def.
* sysdeps/x86_64/fpu/fraiseexcpt.c (__feraiseexcept): Use
libm_hidden_def.
(feraiseexcept): Define as weak not strong alias. Use
libm_hidden_weak.
* sysdeps/x86/fpu/bits/fenv.h (__feraiseexcept_invalid_divbyzero):
New inline function. Factored out of ...
(feraiseexcept): ... here. Use __feraiseexcept_invalid_divbyzero.
* sysdeps/x86/fpu/include/bits/fenv.h: New file.
* math/e_scalb.c (invalid_fn): Call __feraiseexcept instead of
feraiseexcept.
* math/w_acos.c (__acos): Likewise.
* math/w_asin.c (__asin): Likewise.
* math/w_ilogb.c (__ilogb): Likewise.
* math/w_j0.c (y0): Likewise.
* math/w_j1.c (y1): Likewise.
* math/w_jn.c (yn): Likewise.
* math/w_log.c (__log): Likewise.
* math/w_log10.c (__log10): Likewise.
* sysdeps/aarch64/fpu/feupdateenv.c (feupdateenv): Likewise.
* sysdeps/aarch64/fpu/math_private.h
(libc_feupdateenv_test_aarch64): Likewise.
* sysdeps/alpha/fpu/feupdateenv.c (__feupdateenv): Likewise.
* sysdeps/arm/fenv_private.h (libc_feupdateenv_test_vfp): Likewise.
* sysdeps/arm/feupdateenv.c (feupdateenv): Likewise.
* sysdeps/ia64/fpu/feupdateenv.c (feupdateenv): Likewise.
* sysdeps/m68k/fpu/feupdateenv.c (__feupdateenv): Likewise.
* sysdeps/mips/fpu/feupdateenv.c (feupdateenv): Likewise.
* sysdeps/powerpc/fpu/e_sqrt.c (__slow_ieee754_sqrt): Likewise.
* sysdeps/s390/fpu/feupdateenv.c (feupdateenv): Likewise.
* sysdeps/sh/sh4/fpu/feupdateenv.c (feupdateenv): Likewise.
* sysdeps/sparc/fpu/feupdateenv.c (__feupdateenv): Likewise.
|
|
|
|
Replace with IS_IN (rtld). Generated code is unchanged on
x86_64.
* elf/Makefile (CPPFLAGS-.os): Remove IS_IN_rtld.
* elf/dl-open.c: Use IS_IN (rtld) instead if IS_IN_rtld.
* elf/rtld-Rules: Likewise.
* elf/setup-vdso.h: Likewise.
* include/assert.h: Likewise.
* include/bits/stdlib-float.h: Likewise.
* include/errno.h: Likewise.
* include/sys/stat.h: Likewise.
* include/unistd.h: Likewise.
* sysdeps/aarch64/setjmp.S: Likewise.
* sysdeps/alpha/setjmp.S: Likewise.
* sysdeps/arm/__longjmp.S: Likewise.
* sysdeps/arm/aeabi_unwind_cpp_pr1.c: Likewise.
* sysdeps/arm/setjmp.S: Likewise.
* sysdeps/arm/sysdep.h: Likewise.
* sysdeps/generic/_itoa.h: Likewise.
* sysdeps/generic/dl-sysdep.h: Likewise.
* sysdeps/generic/ldsodefs.h: Likewise.
* sysdeps/i386/dl-tls.h: Likewise.
* sysdeps/i386/setjmp.S: Likewise.
* sysdeps/m68k/setjmp.c: Likewise.
* sysdeps/mach/hurd/dl-execstack.c: Likewise.
* sysdeps/mach/hurd/opendir.c: Likewise.
* sysdeps/posix/getcwd.c: Likewise.
* sysdeps/posix/opendir.c: Likewise.
* sysdeps/posix/profil.c: Likewise.
* sysdeps/powerpc/dl-procinfo.h: Likewise.
* sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S: Likewise.
* sysdeps/powerpc/powerpc32/fpu/setjmp-common.S: Likewise.
* sysdeps/powerpc/powerpc32/power4/multiarch/init-arch.h: Likewise.
* sysdeps/powerpc/powerpc32/setjmp-common.S: Likewise.
* sysdeps/powerpc/powerpc64/__longjmp-common.S: Likewise.
* sysdeps/powerpc/powerpc64/setjmp-common.S: Likewise.
* sysdeps/s390/dl-tls.h: Likewise.
* sysdeps/s390/s390-32/setjmp.S: Likewise.
* sysdeps/s390/s390-64/setjmp.S: Likewise.
* sysdeps/sh/sh3/setjmp.S: Likewise.
* sysdeps/sh/sh4/setjmp.S: Likewise.
* sysdeps/unix/alpha/sysdep.h: Likewise.
* sysdeps/unix/arm/sysdep.S: Likewise.
* sysdeps/unix/i386/sysdep.S: Likewise.
* sysdeps/unix/sysv/linux/aarch64/sysdep.h: Likewise.
* sysdeps/unix/sysv/linux/getcwd.c: Likewise.
* sysdeps/unix/sysv/linux/hppa/nptl/lowlevellock.h: Likewise.
* sysdeps/unix/sysv/linux/i386/lowlevellock.h: Likewise.
* sysdeps/unix/sysv/linux/i386/sysdep.h: Likewise.
* sysdeps/unix/sysv/linux/ia64/lowlevellock.h: Likewise.
* sysdeps/unix/sysv/linux/ia64/setjmp.S: Likewise.
* sysdeps/unix/sysv/linux/ia64/sysdep.h: Likewise.
* sysdeps/unix/sysv/linux/lowlevellock-futex.h: Likewise.
* sysdeps/unix/sysv/linux/m68k/bits/m68k-vdso.h: Likewise.
* sysdeps/unix/sysv/linux/m68k/m68k-helpers.S: Likewise.
* sysdeps/unix/sysv/linux/microblaze/lowlevellock.h: Likewise.
* sysdeps/unix/sysv/linux/powerpc/lowlevellock.h: Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h: Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h: Likewise.
* sysdeps/unix/sysv/linux/s390/lowlevellock.h: Likewise.
* sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h: Likewise.
* sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h: Likewise.
* sysdeps/unix/sysv/linux/sh/lowlevellock.h: Likewise.
* sysdeps/unix/sysv/linux/sh/sysdep.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/lowlevellock.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h: Likewise.
* sysdeps/unix/sysv/linux/tile/lowlevellock.h: Likewise.
* sysdeps/unix/sysv/linux/tile/sysdep.h: Likewise.
* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h: Likewise.
* sysdeps/unix/sysv/linux/x86_64/sysdep.h: Likewise.
* sysdeps/unix/x86_64/sysdep.S: Likewise.
* sysdeps/x86_64/setjmp.S: Likewise.
|
|
This sets __HAVE_64B_ATOMICS if provided. It also sets
USE_ATOMIC_COMPILER_BUILTINS to true if the existing atomic ops use the
__atomic* builtins (aarch64, mips partially) or if this has been
tested (x86_64); otherwise, this is set to false so that C11 atomics will
be based on the existing atomic operations.
|
|
Continuing the removal of the obsolete INTDEF / INTUSE mechanism, this
patch eliminates its use for _dl_init. Since _dl_init was already
declared with hidden visibility, creating a second hidden alias for it
was completely pointless, so this patch replaces all uses of
_dl_init_internal with plain _dl_init instead of using hidden_proto /
hidden_def (which are only needed when you want a hidden alias for a
non-hidden symbol; it's quite possible there are cases where they are
used but don't need to be because the symbol in question is not part
of the public ABI and is only used within a single library, so using
attributes_hidden instead would suffice).
Tested for x86_64 that installed stripped shared libraries are
unchanged by the patch.
[BZ #14132]
* elf/dl-init.c (_dl_init): Don't use INTDEF.
* sysdeps/aarch64/dl-machine.h (RTLD_START): Use _dl_init instead
of _dl_init_internal.
* sysdeps/alpha/dl-machine.h (RTLD_START): Likewise.
* sysdeps/arm/dl-machine.h (RTLD_START): Likewise.
* sysdeps/hppa/dl-machine.h (RTLD_START): Likewise.
* sysdeps/i386/dl-machine.h (RTLD_START): Likewise.
* sysdeps/ia64/dl-machine.h (RTLD_START): Likewise.
* sysdeps/m68k/dl-machine.h (RTLD_START): Likewise.
* sysdeps/microblaze/dl-machine.h (RTLD_START): Likewise.
* sysdeps/mips/dl-machine.h (RTLD_START): Likewise.
* sysdeps/powerpc/powerpc32/dl-start.S (_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/sparc/sparc32/dl-machine.h (RTLD_START): Likewise.
* sysdeps/sparc/sparc64/dl-machine.h (RTLD_START): Likewise.
* sysdeps/tile/dl-start.S (_start): Likewise.
* sysdeps/x86_64/dl-machine.h (RTLD_START): Likewise.
* sysdeps/x86_64/x32/dl-machine.h (RTLD_START): Likewise.
|
|
This patch removes the first column (patterns matching configuration
names) from shlib-versions, leaving shlib-versions entry selection
based purely on sysdeps directories.
An implication of this removal is that the default for any non-Linux
ports using NPTL will be the same SONAMEs for NPTL libraries as for
Linux (as those defaults, previously limited to .*-.*-linux.*, are
left in nptl/shlib-versions and nptl_db/shlib-versions).
Special host_os handling in configure.ac that was purely for
shlib-versions is removed. (The host_os setting is still used for
libc-abis - see
<https://sourceware.org/ml/libc-alpha/2014-01/msg00375.html> regarding
that - but no entries there are affected by this change.)
Tested on x86_64 and x86 that the installed shared libraries are
unchanged by this patch.
* scripts/soversions.awk: Do not handle configuration names.
* Makeconfig ($(common-objpfx)soversions.i): Do not pass cpu,
vendor and os variables to soversions.awk.
* configure.ac: Do not modify gnu-* host_os.
* configure: Regenerated
* shlib-versions: Remove first column with configuration names.
* nptl/shlib-versions: Likewise.
* nptl_db/shlib-versions: Likewise.
* sysdeps/hppa/shlib-versions: Likewise.
* sysdeps/m68k/shlib-versions: Likewise.
* sysdeps/mach/hurd/shlib-versions: Likewise.
* sysdeps/unix/sysv/linux/aarch64/shlib-versions: Likewise.
* sysdeps/unix/sysv/linux/alpha/shlib-versions: Likewise.
* sysdeps/unix/sysv/linux/arm/shlib-versions: Likewise.
* sysdeps/unix/sysv/linux/hppa/shlib-versions: Likewise.
* sysdeps/unix/sysv/linux/ia64/shlib-versions: Likewise.
* sysdeps/unix/sysv/linux/m68k/coldfire/shlib-versions: Likewise.
* sysdeps/unix/sysv/linux/microblaze/shlib-versions: Likewise.
* sysdeps/unix/sysv/linux/mips/shlib-versions: Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/shlib-versions:
Likewise.
* sysdeps/unix/sysv/linux/s390/s390-64/shlib-versions: Likewise.
* sysdeps/unix/sysv/linux/sh/shlib-versions: Likewise.
* sysdeps/unix/sysv/linux/shlib-versions: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc32/shlib-versions: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/shlib-versions: Likewise.
* sysdeps/unix/sysv/linux/tile/shlib-versions: Likewise.
* sysdeps/unix/sysv/linux/x86_64/64/shlib-versions: Likewise.
* sysdeps/unix/sysv/linux/x86_64/x32/shlib-versions: Likewise.
libidn/ChangeLog:
* shlib-versions: Remove first column with configuration names.
|
|
If a IS_IN_* macro is defined, then NOT_IN_libc is always defined,
except obviously for IS_IN_libc. There's no need to check for both.
Verified on x86_64 and i686 that the source is unchanged.
* include/libc-symbols.h: Remove unnecessary check for
NOT_IN_libc.
* nptl/pthreadP.h: Likewise.
* sysdeps/aarch64/setjmp.S: Likewise.
* sysdeps/alpha/setjmp.S: Likewise.
* sysdeps/arm/sysdep.h: Likewise.
* sysdeps/i386/setjmp.S: Likewise.
* sysdeps/m68k/setjmp.c: Likewise.
* sysdeps/posix/getcwd.c: Likewise.
* sysdeps/powerpc/powerpc32/setjmp-common.S: Likewise.
* sysdeps/powerpc/powerpc64/setjmp-common.S: Likewise.
* sysdeps/s390/s390-32/setjmp.S: Likewise.
* sysdeps/s390/s390-64/setjmp.S: Likewise.
* sysdeps/sh/sh3/setjmp.S: Likewise.
* sysdeps/sh/sh4/setjmp.S: Likewise.
* sysdeps/unix/alpha/sysdep.h: Likewise.
* sysdeps/unix/sysv/linux/aarch64/sysdep.h: Likewise.
* sysdeps/unix/sysv/linux/i386/sysdep.h: Likewise.
* sysdeps/unix/sysv/linux/ia64/setjmp.S: Likewise.
* sysdeps/unix/sysv/linux/ia64/sysdep.h: Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h: Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h: Likewise.
* sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h: Likewise.
* sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h: Likewise.
* sysdeps/unix/sysv/linux/sh/sysdep.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h: Likewise.
* sysdeps/unix/sysv/linux/tile/sysdep.h: Likewise.
* sysdeps/unix/sysv/linux/x86_64/sysdep.h: Likewise.
* sysdeps/x86_64/setjmp.S: Likewise.
|
|
Various architectures have files such as sysdeps/<arch>/shlib-versions
whose contents are in fact entirely Linux-specific, relating only to
the symbol / shared library versions for the port to Linux on that
architecture, when any future port to a different OS on that
architecture would use the symbol version of the glibc release it goes
in, as standard for new ports.
This patch moves such files under sysdeps/unix/sysv/linux/, merging in
the contents of sysdeps/<arch>/nptl/shlib-versions in the process.
The only bits not moved are those relating to libgcc_s versions, which
don't appear OS-specific in the same way that glibc's symbol versions
so. It deliberately does not change the regular expressions given for
matching configurations in each file; some match only Linux although
not Linux-specific, or match other OSes although Linux-specific. It
is with a view to at least the following further cleanups:
* Move architecture-specific content from the toplevel shlib-versions
and nptl/shlib-versions into sysdeps shlib-versions files, so
eliminating another difference between ex-ports and non-ex-ports
architectures.
* Likewise, for OS-specific content in shlib-versions files.
* At that point, the first field in shlib-versions files (the regular
expression matching a configuration triplet) should be redundant, so
eliminate that field and leave shlib-versions selection working
purely on a sysdeps basis (with limited use of %ifdef in
shlib-versions files when needed) rather than having its own
separate mechanism to select what configuration information is
relevant.
* Move the build of gnu/lib-names.h to a similar mechanism to that
used for gnu/stubs.h (each library build installing a version of the
header specifically for that build), so we can eliminate the
duplication of soname information in the makefiles and get it purely
from shlib-versions files again.
There may be other cleanups possible as well (in particular, I'm not
sure that all cases where the same "Earliest symbol set" information
is repeated for many different libraries actually should need to
repeat it rather than specifying it just once for DEFAULT for the
given configuration, and separately specifying any non-default choices
of soname).
Tested x86_64 that the installed shared libraries are unchanged by
this patch.
* sysdeps/aarch64/shlib-versions: Move to ...
* sysdeps/unix/sysv/linux/aarch64/shlib-versions: ... here.
* sysdeps/alpha/shlib-versions: Move to ...
* sysdeps/unix/sysv/linux/alpha/shlib-versions: ... here.
* sysdeps/arm/shlib-versions: Move to ...
* sysdeps/unix/sysv/linux/arm/shlib-versions: ... here.
* sysdeps/hppa/shlib-versions: Move all contents except for
libgcc_s entry to ...
* sysdeps/unix/sysv/linux/hppa/shlib-versions: ... here. Merge in
entry from ...
* sysdeps/hppa/nptl/shlib-versions: ... here. Remove file.
* sysdeps/ia64/shlib-versions: Move to ...
* sysdeps/unix/sysv/linux/ia64/shlib-versions: ... here. Merge in
entry from ...
* sysdeps/ia64/nptl/shlib-versions: ... here. Remove file.
* sysdeps/m68k/coldfire/shlib-versions: Move to ...
* sysdeps/unix/sysv/linux/m68k/coldfire/shlib-versions: ... here.
* sysdeps/microblaze/shlib-versions: Move to ...
* sysdeps/unix/sysv/linux/microblaze/shlib-versions: ... here.
* sysdeps/mips/shlib-versions: Move to ...
* sysdeps/unix/sysv/linux/mips/shlib-versions: ... here. Merge in
entry from ...
* sysdeps/mips/nptl/shlib-versions: ... here. Remove file.
* sysdeps/tile/shlib-versions: Move to ...
* sysdeps/unix/sysv/linux/tile/shlib-versions: ... here.
* sysdeps/unix/sysv/linux/x86_64/64/shlib-versions: Merge in entry
from ...
* sysdeps/x86_64/64/shlib-versions: ... here. Remove file.
* sysdeps/unix/sysv/linux/x86_64/x32/shlib-versions: Merge in
entry from ...
* sysdeps/x86_64/x32/shlib-versions: ... here. Remove file.
|
|
|
|
This patch defines ELF_MACHINE_NO_RELA on all architectures. Tested
only on x86_64 to verify that the sources before and after are
identical except for two instructions that pass the current line
number in dl-machine.h to assert_fail.
|
|
|
|
|
|
Errno is not set and the testcases will fail.
Now the scalbln-aliases are removed in i386/m68
and the wrappers are used when calling the scalbln-functions.
On ia64 only scalblnf has its own implementation.
For scalbln and scalblnl the ieee754/dbl-64 and ieee754/ldbl-96 are used, thus
the wrappers are needed, too.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ISO C requires the result of nextafter to be independent of the
rounding mode, even when underflow or overflow occurs. This patch
fixes the bug in various nextafter implementations that, having done
an overflowing computation to force an overflow exception (correct),
they then return the result of that computation rather than an
infinity computed some other way (incorrect, when the overflowing
result of arithmetic with that sign and rounding mode is finite but
the correct result is infinite) - generally by falling through to
existing code to return a value that in fact is correct for this case
(but was computed by an integer increment and so without generating
the exceptions required). Having fixed the bug, the previously
deferred conversion of nextafter testing in libm-test.inc to
ALL_RM_TEST is also included.
Tested x86_64 and x86; also spot-checked results of nextafter tests
for powerpc32 and mips64 to test the ldbl-128ibm and ldbl-128
changes. (The m68k change is untested.)
[BZ #16677]
* math/s_nextafter.c (__nextafter): Do not return value from
overflowing computation.
* sysdeps/i386/fpu/s_nextafterl.c (__nextafterl): Likewise.
* sysdeps/ieee754/flt-32/s_nextafterf.c (__nextafterf): Likewise.
* sysdeps/ieee754/ldbl-128/s_nextafterl.c (__nextafterl):
Likewise.
* sysdeps/ieee754/ldbl-128ibm/s_nextafterl.c (__nextafterl):
Likewise.
* sysdeps/m68k/m680x0/fpu/s_nextafterl.c (__nextafterl): Likewise.
* math/libm-test.inc (nextafter_test): Use ALL_RM_TEST.
|
|
As recently discussed
<https://sourceware.org/ml/libc-alpha/2014-02/msg00670.html>, it
doesn't seem particularly useful for libm-test-ulps files to contain
huge amounts of data on ulps for individual tests; just the global
maximum observed ulps for each function, together with the
verification of exceptions, errno and special results such as
infinities and NaNs for each test, suffices to verify that a
function's behavior on the given test inputs is within the expected
accuracy. Removing this data reduces source tree churn caused by
updates to these files when libm tests are added, and reduces the
frequency with which testsuite additions actually need libm-test-ulps
changes at all.
Accordingly, this patch removes that data, so that individual tests
get checked against the global bounds for the given function and only
generate an error if those are exceeded. Tested x86_64 (including
verifying that if an ulps value is artificially reduced, the tests do
indeed fail as they should and "make regen-ulps" generates the
expected changes).
* math/libm-test.inc (struct ulp_data): Don't refer to ulps for
individual tests in comment.
(libm-test-ulps.h): Don't refer to test_ulps in #include comment.
(prev_max_error): New variable.
(prev_real_max_error): Likewise.
(prev_imag_max_error): Likewise.
(compare_ulp_data): Don't refer to test names in comment.
(find_test_ulps): Remove function.
(find_function_ulps): Likewise.
(find_complex_function_ulps): Likewise.
(init_max_error): Take function name as argument. Look up ulps
for that function.
(print_ulps): Remove function.
(print_max_error): Use prev_max_error instead of calling
find_function_ulps.
(print_complex_max_error): Use prev_real_max_error and
prev_imag_max_error instead of calling find_complex_function_ulps.
(check_float_internal): Take max_ulp parameter instead of calling
find_test_ulps. Don't call print_ulps.
(check_float): Update call to check_float_internal.
(check_complex): Update calls to check_float_internal.
(START): Pass argument to init_max_error.
* math/gen-libm-test.pl (%results): Don't include "kind"
information.
(parse_ulps): Don't handle ulps of individual tests.
(print_ulps_file): Likewise.
(output_ulps): Likewise.
* math/README.libm-test: Update.
* manual/libm-err-tab.pl (parse_ulps): Don't handle ulps of
individual tests.
* sysdeps/aarch64/libm-test-ulps: Remove individual test ulps.
* sysdeps/alpha/fpu/libm-test-ulps: Likewise.
* sysdeps/arm/libm-test-ulps: Likewise.
* sysdeps/i386/fpu/libm-test-ulps: Likewise.
* sysdeps/ia64/fpu/libm-test-ulps: Likewise.
* sysdeps/m68k/coldfire/fpu/libm-test-ulps: Likewise.
* sysdeps/m68k/m680x0/fpu/libm-test-ulps: Likewise.
* sysdeps/microblaze/libm-test-ulps: Likewise.
* sysdeps/mips/mips32/libm-test-ulps: Likewise.
* sysdeps/mips/mips64/libm-test-ulps: Likewise.
* sysdeps/powerpc/fpu/libm-test-ulps: Likewise.
* sysdeps/powerpc/nofpu/libm-test-ulps: Likewise.
* sysdeps/s390/fpu/libm-test-ulps: Likewise.
* sysdeps/sh/libm-test-ulps: Likewise.
* sysdeps/sparc/fpu/libm-test-ulps: Likewise.
* sysdeps/tile/libm-test-ulps: Likewise.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
* sysdeps/hppa/fpu/libm-test-ulps: Remove individual test ulps.
|
|
This patch completes the headers cleanup consequent on removal of
_BSD_SOURCE and _SVID_SOURCE (apart from any subsequent deprecations):
* #endif conditionals that referred to BSD or SVID are updated.
* Redundant __USE_* tests in cases involving __USE_MISC are removed.
This includes cases such as __USE_MISC || __USE_ISOC99, where
__USE_MISC is redundant (because __USE_MISC is only ever defined in
the default / _DEFAULT_SOURCE / _GNU_SOURCE case, when __USE_ISOC99
is also defined; the same applies to the non-XSI-extended POSIX
versions), and cases involving __USE_GNU, where __USE_GNU is
redundant (because if __USE_GNU is defined, so are the other __USE_*
macros). There may well be other cases of __USE_FOO || __USE_BAR
tests that could be simplified because one macro implies the other;
this patch only addresses cases involving __USE_MISC.
Tested x86_64.
* bits/fcntl.h [__USE_MISC]: Remove redundant conditionals.
* bits/sigaction.h [__USE_MISC]: Likewise.
* bits/waitstatus.h: Update #endif comments.
* ctype/ctype.h: Likewise.
* dirent/dirent.h: Likewise.
[__USE_MISC]: Remove redundant conditionals.
* grp/grp.h: Update #endif comments.
[__USE_GNU]: Remove redundant conditionals.
[__USE_MISC]: Likewise.
* inet/netinet/in.h [__USE_GNU]: Likewise.
* io/sys/stat.h [__USE_MISC]: Likewise.
* libio/bits/stdio-ldbl.h [__USE_MISC]: Likewise.
* libio/bits/stdio.h: Update #endif comments.
[__USE_MISC]: Remove redundant conditionals.
* libio/bits/stdio2.h [__USE_MISC]: Likewise.
* libio/stdio.h: Update #endif comments.
[__USE_MISC]: Remove redundant conditionals.
* math/bits/math-finite.h [__USE_MISC]: Likewise.
* math/bits/mathcalls.h [__USE_MISC]: Likewise.
* math/math.h: Update #else and #endif comments.
[__USE_MISC]: Remove redundant conditionals.
* misc/sys/uio.h: Update #endif comments.
* posix/bits/unistd.h [__USE_MISC]: Remove redundant conditionals.
* posix/glob.h [__USE_MISC]: Likewise.
* posix/sys/types.h: Update #endif comments.
[__USE_MISC]: Remove redundant conditionals.
* posix/sys/wait.h: Update #endif comments.
[__USE_MISC]: Remove redundant conditionals.
* posix/unistd.h: Update #endif comments.
[__USE_MISC]: Remove redundant conditionals.
* pwd/pwd.h [__USE_GNU]: Likewise.
[__USE_MISC]: Likewise.
* resolv/netdb.h [__USE_GNU]: Likewise.
* signal/signal.h: Update #endif comments.
[__USE_MISC]: Remove redundant conditionals.
* stdlib/stdlib.h: Update #else and #endif comments.
[__USE_MISC]: Remove redundant conditionals.
[__USE_GNU]: Likewise.
* string/bits/string2.h [__USE_MISC]: Likewise.
* string/string.h: Update #endif comments.
[__USE_MISC]: Remove redundant conditionals.
* sysdeps/m68k/m680x0/fpu/bits/mathinline.h [__USE_MISC]:
Likewise.
* sysdeps/mach/hurd/bits/fcntl.h [__USE_MISC]: Likewise.
* sysdeps/mach/hurd/bits/stat.h [__USE_MISC]: Likewise.
* sysdeps/unix/sysv/linux/alpha/bits/sigaction.h [__USE_MISC]:
Likewise.
* sysdeps/unix/sysv/linux/alpha/bits/stat.h [__USE_MISC]:
Likewise.
* sysdeps/unix/sysv/linux/bits/fcntl-linux.h: Update #endif
comments.
[__USE_MISC]: Remove redundant conditionals.
* sysdeps/unix/sysv/linux/bits/in.h [__USE_GNU]: Likewise.
* sysdeps/unix/sysv/linux/bits/sigaction.h [__USE_MISC]: Likewise.
* sysdeps/unix/sysv/linux/bits/socket.h [__USE_GNU]: Likewise.
* sysdeps/unix/sysv/linux/bits/stat.h [__USE_MISC]: Likewise.
* sysdeps/unix/sysv/linux/ia64/bits/sigaction.h [__USE_MISC]:
Likewise.
* sysdeps/unix/sysv/linux/m68k/bits/stat.h [__USE_MISC]: Likewise.
* sysdeps/unix/sysv/linux/mips/bits/sigaction.h [__USE_MISC]:
Likewise.
* sysdeps/unix/sysv/linux/mips/bits/stat.h [__USE_MISC]: Likewise.
* sysdeps/unix/sysv/linux/powerpc/bits/stat.h [__USE_MISC]:
Likewise.
* sysdeps/unix/sysv/linux/s390/bits/sigaction.h [__USE_MISC]:
Likewise.
* sysdeps/unix/sysv/linux/s390/bits/stat.h [__USE_MISC]: Likewise.
* sysdeps/unix/sysv/linux/sparc/bits/sigaction.h [__USE_MISC]:
Likewise.
* sysdeps/unix/sysv/linux/sparc/bits/stat.h [__USE_MISC]:
Likewise.
* sysdeps/unix/sysv/linux/x86/bits/stat.h [__USE_MISC]: Likewise.
* sysdeps/x86/bits/string.h: Update #endif comments.
* sysdeps/x86/fpu/bits/mathinline.h [__USE_MISC]: Remove redundant
conditionals.
* time/sys/time.h: Update #endif comments.
* time/time.h: Likewise.
[__USE_MISC]: Remove redundant conditionals.
|
|
|
|
|
|
* sysdeps/mach/hppa: Likewise.
* sysdeps/mach/hurd/hppa: Likewise.
* sysdeps/unix/sysv/linux/hppa: Likewise.
* configure.in (machine): Remove hppa* cases.
* configure: Regenerated.
* shlib-versions: Remove hppa cases.
* sysdeps/m68k: Directory removed, saved in ports repository.
* sysdeps/unix/bsd/m68k: Likewise.
* sysdeps/unix/sysv/linux/m68k: Likewise.
* configure.in (machine): Remove m68* cases.
* configure: Regenerated.
|
|
* math/multc3.c: New file.
* sysdeps/unix/sysv/linux/sparc/sparc32/Makefile
[$(subdir) = math] (libm-routines): Add multc3, divtc3.
* sysdeps/unix/sysv/linux/sparc/sparc32/fpu/Implies: New file.
* sysdeps/sparc/sparc32/fpu/s_fabsl.c: Include math.h and
math_ldbl_opt.h.
(fabsl): Use long_double_symbol instead of weak_alias.
* sysdeps/sparc/sparc32/fpu/s_fabs.c: Include math.h and
math_ldbl_opt.h.
[LONG_DOUBLE_COMPAT] (fabsl): Add compat_symbol.
2006-01-31 Martin Schwidefsky <schwidefsky@de.ibm.com>
Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/s390/Implies: New file.
* sysdeps/unix/sysv/linux/s390/fpu/Implies: New file.
* sysdeps/unix/sysv/linux/s390/nldbl-abi.h: New file.
* sysdeps/s390/fpu/bits/mathinline.h (signbitl, sqrtl): New inlines.
* sysdeps/s390/bits/mathdef.h: New file.
* sysdeps/s390/fpu/e_sqrtl.c: New file.
* sysdeps/s390/s390-32/bits/wordsize.h (__LONG_DOUBLE_MATH_OPTIONAL,
__NO_LONG_DOUBLE_MATH): Define.
* sysdeps/s390/s390-64/bits/wordsize.h: Likewise.
* sysdeps/s390/Implies: Add ieee754/ldbl-128.
* sysdeps/s390/ldbl2mpn.c: File removed.
* sysdeps/s390/fpu/libm-test-ulps: Updated.
2006-01-31 Roland McGrath <roland@redhat.com>
* sysdeps/alpha/fpu/bits/mathdef.h: Moved to ...
* sysdeps/alpha/bits/mathdef.h: ... here.
* sysdeps/i386/fpu/bits/mathdef.h: Moved to ...
* sysdeps/i386/bits/mathdef.h: ... here.
* sysdeps/mips/fpu/bits/mathdef.h: Moved to ...
* sysdeps/mips/bits/mathdef.h: ... here.
* sysdeps/m68k/fpu/bits/mathdef.h: Moved to ...
* sysdeps/m68k/bits/mathdef.h: ... here.
* sysdeps/powerpc/fpu/bits/mathdef.h: Moved to ...
* sysdeps/powerpc/bits/mathdef.h: ... here.
* sysdeps/sparc/fpu/bits/mathdef.h: Moved to ...
* sysdeps/sparc/bits/mathdef.h: ... here.
* sysdeps/ia64/fpu/bits/mathdef.h: Moved to ...
* sysdeps/ia64/bits/mathdef.h: ... here.
* sysdeps/sh/sh4/fpu/bits/mathdef.h: Moved to ...
* sysdeps/sh/sh4/bits/mathdef.h: ... here.
* sysdeps/x86_64/fpu/bits/mathdef.h: Moved to ...
* sysdeps/x86_64/bits/mathdef.h: ... here.
2006-01-31 Jakub Jelinek <jakub@redhat.com>
|
|
Update.
[BZ #1950]
* posix/regex_internal.c (re_string_reconstruct): Adjust for
build_wcs_upper_buffer change.
(build_wcs_upper_buffer): Change return type.
[BZ #2153]
* math/s_cacosh.c (__cacosh): Do not return a negative
value. Patch by Wes Loewer <wjltemp-temp01@yahoo.com>.
* math/s_cacoshl.c (__cacoshl): Likewise.
* math/s_cacoshf.c (__cacoshf): Likewise.
* math/libm-test.inc (cacosh_test): Adjust for change.
* sysdeps/alpha/fpu/libm-test-ulps: Adopt for cacosh test change.
* sysdeps/hppa/fpu/libm-test-ulps: Likewise.
* sysdeps/i386/fpu/libm-test-ulps: Likewise.
* sysdeps/ia64/fpu/libm-test-ulps: Likewise.
* sysdeps/m68k/fpu/libm-test-ulps: Likewise.
* sysdeps/mips/fpu/libm-test-ulps: Likewise.
* sysdeps/powerpc/fpu/libm-test-ulps: Likewise.
* sysdeps/s390/fpu/libm-test-ulps: Likewise.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
* sysdeps/sh/sh4/fpu/libm-test-ulps: Likewise.
* sysdeps/sparc/sparc32/fpu/libm-test-ulps: Likewise.
* sysdeps/sparc/sparc64/fpu/libm-test-ulps: Likewise.
|
|
* sysdeps/powerpc/jmpbuf-unwind.h: ... here.
* sysdeps/alpha/bits/setjmp.h (_JMPBUF_UNWINDS): Move macro ...
* sysdeps/alpha/jmpbuf-unwind.h: ... here.
* sysdeps/sparc/sparc32/bits/setjmp.h (_JMPBUF_UNWINDS): Move macro ...
* sysdeps/sparc/sparc32/jmpbuf-unwind.h: ... here.
* sysdeps/i386/bits/setjmp.h (_JMPBUF_UNWINDS): Move macro ...
* sysdeps/i386/jmpbuf-unwind.h: ... here.
* sysdeps/x86_64/bits/setjmp.h (_JMPBUF_UNWINDS): Move macro ...
* sysdeps/x86_64/jmpbuf-unwind.h: ... here.
* sysdeps/sh/bits/setjmp.h (_JMPBUF_UNWINDS): Move macro ...
* sysdeps/sh/jmpbuf-unwind.h: ... here.
* sysdeps/hppa/bits/setjmp.h (_JMPBUF_UNWINDS): Move macro ...
* sysdeps/hppa/jmpbuf-unwind.h: ... here, new file.
* sysdeps/mips/bits/setjmp.h (_JMPBUF_UNWINDS): Move macro ...
* sysdeps/mips/jmpbuf-unwind.h: ... here.
* sysdeps/m68k/bits/setjmp.h (_JMPBUF_UNWINDS): Move macro ...
* sysdeps/m68k/jmpbuf-unwind.h: ... here, new file.
* sysdeps/s390/bits/setjmp.h (_JMPBUF_UNWINDS): Move macro ...
* sysdeps/s390/jmpbuf-unwind.h: ... here.
* sysdeps/unix/sysv/linux/ia64/bits/setjmp.h (_JMPBUF_UNWINDS):
Move macro ...
* sysdeps/ia64/jmpbuf-unwind.h: ... here.
* sysdeps/unix/sysv/linux/sparc/bits/setjmp.h (_JMPBUF_UNWINDS):
Move macro ...
* sysdeps/sparc/sparc64/jmpbuf-unwind.h: ... here.
* sysdeps/ia64/jmpbuf-unwind.h: New file, moved from nptl/.
|
|
* manual/maint.texi (Porting): Don't mention Dist files.
* sysdeps/alpha/soft-fp/Dist: File removed.
* sysdeps/alpha/Dist: File removed.
* sysdeps/i386/i686/Dist: File removed.
* sysdeps/i386/soft-fp/Dist: File removed.
* sysdeps/i386/Dist: File removed.
* sysdeps/mips/soft-fp/Dist: File removed.
* sysdeps/mips/mips64/soft-fp/Dist: File removed.
* sysdeps/mips/mips64/Dist: File removed.
* sysdeps/mips/Dist: File removed.
* sysdeps/wordsize-32/Dist: File removed.
* sysdeps/m68k/fpu/switch/Dist: File removed.
* sysdeps/m68k/fpu/Dist: File removed.
* sysdeps/powerpc/powerpc64/Dist: File removed.
* sysdeps/powerpc/soft-fp/Dist: File removed.
* sysdeps/powerpc/powerpc32/fpu/Dist: File removed.
* sysdeps/powerpc/powerpc32/Dist: File removed.
* sysdeps/powerpc/fpu/Dist: File removed.
* sysdeps/powerpc/Dist: File removed.
* sysdeps/unix/common/Dist: File removed.
* sysdeps/unix/bsd/bsd4.4/Dist: File removed.
* sysdeps/unix/bsd/Dist: File removed.
* sysdeps/unix/sysv/linux/alpha/Dist: File removed.
* sysdeps/unix/sysv/linux/i386/Dist: File removed.
* sysdeps/unix/sysv/linux/mips/mips64/Dist: File removed.
* sysdeps/unix/sysv/linux/mips/Dist: File removed.
* sysdeps/unix/sysv/linux/m68k/Dist: File removed.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/Dist: File removed.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/Dist: File removed.
* sysdeps/unix/sysv/linux/powerpc/aix/Dist: File removed.
* sysdeps/unix/sysv/linux/powerpc/Dist: File removed.
* sysdeps/unix/sysv/linux/sparc/sparc32/Dist: File removed.
* sysdeps/unix/sysv/linux/sparc/sparc64/Dist: File removed.
* sysdeps/unix/sysv/linux/sparc/Dist: File removed.
* sysdeps/unix/sysv/linux/ia64/Dist: File removed.
* sysdeps/unix/sysv/linux/s390/s390-64/Dist: File removed.
* sysdeps/unix/sysv/linux/s390/Dist: File removed.
* sysdeps/unix/sysv/linux/s390/s390-32/Dist: File removed.
* sysdeps/unix/sysv/linux/sh/Dist: File removed.
* sysdeps/unix/sysv/linux/x86_64/Dist: File removed.
* sysdeps/unix/sysv/linux/hppa/Dist: File removed.
* sysdeps/unix/sysv/linux/Dist: File removed.
* sysdeps/unix/sysv/Dist: File removed.
* sysdeps/unix/Dist: File removed.
* sysdeps/generic/Dist: File removed.
* sysdeps/sparc/sparc32/soft-fp/Dist: File removed.
* sysdeps/sparc/sparc32/sparcv9/Dist: File removed.
* sysdeps/sparc/sparc32/sparcv8/Dist: File removed.
* sysdeps/sparc/sparc32/Dist: File removed.
* sysdeps/sparc/sparc64/soft-fp/Dist: File removed.
* sysdeps/sparc/sparc64/Dist: File removed.
* sysdeps/sparc/Dist: File removed.
* sysdeps/gnu/Dist: File removed.
* sysdeps/ia64/fpu/Dist: File removed.
* sysdeps/ia64/Dist: File removed.
* sysdeps/mach/mips/Dist: File removed.
* sysdeps/mach/hurd/alpha/Dist: File removed.
* sysdeps/mach/hurd/i386/Dist: File removed.
* sysdeps/mach/hurd/mips/Dist: File removed.
* sysdeps/mach/hurd/powerpc/Dist: File removed.
* sysdeps/mach/hurd/Dist: File removed.
* sysdeps/s390/s390-64/Dist: File removed.
* sysdeps/s390/Dist: File removed.
* sysdeps/s390/s390-32/Dist: File removed.
* sysdeps/sh/Dist: File removed.
* sysdeps/posix/Dist: File removed.
* sysdeps/ieee754/dbl-64/Dist: File removed.
* sysdeps/ieee754/ldbl-128/Dist: File removed.
* sysdeps/ieee754/flt-32/Dist: File removed.
* sysdeps/ieee754/Dist: File removed.
* sysdeps/x86_64/soft-fp/Dist: File removed.
* sysdeps/x86_64/Dist: File removed.
* sysdeps/hppa/Dist: File removed.
* Makerules (common-clean): Don't remove distinfo file.
($(objpfx)distinfo): Target removed.
* manual/Makefile (mostlyclean): Don't remove distinfo file.
(glibc-targets): Remove echo-distinfo.
* scripts/list-sources.sh: New file.
* Makefile (TAGS): New target.
* po/Makefile (libc.pot, libc.pot.files): New targets.
* Makeconfig (XGETTEXT): New variable.
* Makerules ($(..)po/%.pot): Rule removed.
(TAGS): Target removed.
* Rules (subdir_TAGS): Target removed.
* MakeTAGS: File removed.
* Makefile (iconvdata/% localedata/% po/% manual/%): Depend on FORCE.
* Makeconfig ($(all-Depend-files)): New targets with no-op commands.
|
|
(PTR_MANGLE): Fix cast.
* sysdeps/alpha/bits/setjmp.h (_JMPBUF_UNWINDS): Take third argument
DEMANGLE, and pass SP value through it.
* sysdeps/hppa/bits/setjmp.h (_JMPBUF_UNWINDS): Likewise.
* sysdeps/i386/bits/setjmp.h (_JMPBUF_UNWINDS): Likewise.
* sysdeps/m68k/bits/setjmp.h (_JMPBUF_UNWINDS): Likewise.
* sysdeps/mips/bits/setjmp.h (_JMPBUF_UNWINDS): Likewise.
* sysdeps/powerpc/bits/setjmp.h (_JMPBUF_UNWINDS): Likewise.
* sysdeps/s390/bits/setjmp.h (_JMPBUF_UNWINDS): Likewise.
* sysdeps/sh/bits/setjmp.h (_JMPBUF_UNWINDS): Likewise.
* sysdeps/sparc/sparc32/bits/setjmp.h (_JMPBUF_UNWINDS): Likewise.
* sysdeps/unix/sysv/linux/ia64/bits/setjmp.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/bits/setjmp.h: Likewise.
* sysdeps/x86_64/bits/setjmp.h (_JMPBUF_UNWINDS): Likewise.
* hurd/sigunwind.c (_hurdsig_longjmp_from_handler): Pass inline
demangler function to _JMPBUF_UNWINDS.
* sysdeps/mach/hurd/jmp-unwind.c (demangle_ptr): New function.
(_longjmp_unwind): Pass it to _JMPBUF_UNWINDS.
|
|
* sysdeps/alpha/fpu/s_cacoshf.c: Likewise.
* sysdeps/alpha/fpu/s_casinf.c: Likewise.
* sysdeps/alpha/fpu/s_casinhf.c: Likewise.
* sysdeps/alpha/fpu/s_catanf.c: Likewise.
* sysdeps/alpha/fpu/s_catanhf.c: Likewise.
* sysdeps/alpha/fpu/s_ccosf.c: Likewise.
* sysdeps/alpha/fpu/s_ccoshf.c: Likewise.
* sysdeps/alpha/fpu/s_cexpf.c: Likewise.
* sysdeps/alpha/fpu/s_clog10f.c: Likewise.
* sysdeps/alpha/fpu/s_clogf.c: Likewise.
* sysdeps/alpha/fpu/s_cpowf.c: Likewise.
* sysdeps/alpha/fpu/s_cprojf.c: Likewise.
* sysdeps/alpha/fpu/s_csinf.c: Likewise.
* sysdeps/alpha/fpu/s_csinhf.c: Likewise.
* sysdeps/alpha/fpu/s_csqrtf.c: Likewise.
* sysdeps/alpha/fpu/s_ctanf.c: Likewise.
* sysdeps/alpha/fpu/s_ctanhf.c: Likewise.
* sysdeps/alpha/libc-tls.c: Likewise.
* sysdeps/gnu/glob64.c: Likewise.
* sysdeps/gnu/updwtmp.c: Likewise.
* sysdeps/gnu/utmp_file.c: Likewise.
* sysdeps/i386/bzero.c: Likewise.
* sysdeps/i386/ffs.c: Likewise.
* sysdeps/i386/i686/ffs.c: Likewise.
* sysdeps/i386/memset.c: Likewise.
* sysdeps/ia64/fpu/printf_fphex.c: Likewise.
* sysdeps/ia64/libc-tls.c: Likewise.
* sysdeps/ieee754/ldbl-128/printf_fphex.c: Likewise.
* sysdeps/m68k/ffs.c: Likewise.
* sysdeps/mach/hurd/getdents.c: Likewise.
* sysdeps/mach/hurd/init-posix.c: Likewise.
* sysdeps/mach/msync.c: Likewise.
* sysdeps/mips/libc-tls.c: Likewise.
* sysdeps/posix/profil.c: Likewise.
* sysdeps/posix/shm_open.c: Likewise.
* sysdeps/posix/shm_unlink.c: Likewise.
* sysdeps/posix/sprofil.c: Likewise.
* sysdeps/powerpc/ffs.c: Likewise.
* sysdeps/rs6000/ffs.c: Likewise.
* sysdeps/s390/libc-tls.c: Likewise.
* sysdeps/unix/sysv/linux/aio_sigqueue.c: Likewise.
* sysdeps/unix/sysv/linux/alpha/glob.c: Likewise.
* sysdeps/unix/sysv/linux/alpha/wordexp.c: Likewise.
* sysdeps/unix/sysv/linux/ftruncate64.c: Likewise.
* sysdeps/unix/sysv/linux/gai_sigqueue.c: Likewise.
* sysdeps/unix/sysv/linux/i386/getmsg.c: Likewise.
* sysdeps/unix/sysv/linux/i386/getresgid.c: Likewise.
* sysdeps/unix/sysv/linux/i386/getresuid.c: Likewise.
* sysdeps/unix/sysv/linux/i386/lchown.c: Likewise.
* sysdeps/unix/sysv/linux/i386/putmsg.c: Likewise.
* sysdeps/unix/sysv/linux/i386/readelflib.c: Likewise.
* sysdeps/unix/sysv/linux/i386/setresgid.c: Likewise.
* sysdeps/unix/sysv/linux/i386/setresuid.c: Likewise.
* sysdeps/unix/sysv/linux/ia64/readelflib.c: Likewise.
* sysdeps/unix/sysv/linux/mips/ftruncate64.c: Likewise.
* sysdeps/unix/sysv/linux/mips/readelflib.c: Likewise.
* sysdeps/unix/sysv/linux/mips/truncate64.c: Likewise.
* sysdeps/unix/sysv/linux/mq_close.c: Likewise.
* sysdeps/unix/sysv/linux/mq_getattr.c: Likewise.
* sysdeps/unix/sysv/linux/mq_notify.c: Likewise.
* sysdeps/unix/sysv/linux/mq_open.c: Likewise.
* sysdeps/unix/sysv/linux/mq_receive.c: Likewise.
* sysdeps/unix/sysv/linux/mq_send.c: Likewise.
* sysdeps/unix/sysv/linux/mq_unlink.c: Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/ftruncate64.c: Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/truncate64.c: Likewise.
* sysdeps/unix/sysv/linux/powerpc/readelflib.c: Likewise.
* sysdeps/unix/sysv/linux/s390/readelflib.c: Likewise.
* sysdeps/unix/sysv/linux/sched_getaffinity.c: Likewise.
* sysdeps/unix/sysv/linux/sched_setaffinity.c: Likewise.
* sysdeps/unix/sysv/linux/sigqueue.c: Likewise.
* sysdeps/unix/sysv/linux/sigstack.c: Likewise.
* sysdeps/unix/sysv/linux/sigtimedwait.c: Likewise.
* sysdeps/unix/sysv/linux/sigwaitinfo.c: Likewise.
* sysdeps/unix/sysv/linux/sparc/readelflib.c: Likewise.
* sysdeps/unix/sysv/linux/truncate64.c: Likewise.
* sysdeps/unix/sysv/linux/vfork.c: Likewise.
* sysdeps/unix/sysv/linux/x86_64/readelflib.c: Likewise.
|
|
protection and allow pthread.h to include bits/setjmp.h as well as
setjmp.h.
* sysdeps/m68k/bits/setjmp.h: Likewise.
* sysdeps/s390/bits/setjmp.h: Make sure only setjmp.h or pthread.h
are allow to include bits/setjmp.h.
* sysdeps/mips/bits/setjmp.h (_JMPBUF_UNWINDS): Cast rhs to match lhs
cast of address.
* sysdeps/sh/bits/setjmp.h: Likewise.
2005-11-12 Jim Meyering <jim@meyering.net>
* sysdeps/unix/opendir.c (__alloc_dir): Declare STATP parameter
to be pointer to const.
* include/dirent.h: Update decl.
|
|
Reported by Mark Mitchell <mark@codesourcery.com>.
* Versions.def (libm): Define GLIBC_2.4 set.
* math/Versions (libm: GLIBC_2.4): Add this set, with exp2l.
* sysdeps/i386/Versions (libm: GLIBC_2.1): Add this set, with exp2l.
* sysdeps/ia64/Versions: Likewise.
* sysdeps/m68k/Versions: Likewise.
* sysdeps/sparc/sparc64/Versions: Likewise.
* sysdeps/x86_64/Versions: New file.
* sysdeps/mips/mips64/Versions: New file.
|
|
|
|
ARCH_LA_PLTENTER and ARCH_LA_PLTEXIT.
(elf_machine_runtime_setup): If profile != 0 does not anymore mean
GLRO(dl_profile) != NULL.
* sysdeps/m68k/dl-trampoline.S: New file.
* sysdeps/m68k/bits/link.h: New file.
* sysdeps/generic/ldsodefs.h (struct audit_ifaces): Add m68k
variants.
* elf/tst-auditmod1.c: Add m68k support.
2005-01-16 Andreas Schwab <schwab@suse.de>
* sysdeps/m68k/dl-machine.h: Remove trampoline code. Define
ARCH_LA_PLTENTER and ARCH_LA_PLTEXIT.
(elf_machine_runtime_setup): If profile != 0 does not anymore mean
GLRO(dl_profile) != NULL.
* sysdeps/m68k/dl-trampoline.S: New file.
* sysdeps/m68k/bits/link.h: New file.
* sysdeps/generic/ldsodefs.h (struct audit_ifaces): Add m68k
variants.
* elf/tst-auditmod1.c: Add m68k support.
|
|
|
|
|
|
auto instead of static.
|
|
2004-10-09 Andreas Schwab <schwab@suse.de>
* sysdeps/m68k/memcopy.h (WORD_COPY_BWD): Remove use of cast as
lvalue.
* sysdeps/m68k/fpu/bits/mathinline.h: Remove __THROW from inline
definitions.
|
|
|
|
for these trivial files, which are statically linked into executables
that use dynamic linking for the significant library code.
* io/fstat.c: Likewise.
* io/fstat64.c: Likewise.
* io/lstat.c: Likewise.
* io/lstat64.c: Likewise.
* io/stat.c: Likewise.
* io/stat64.c: Likewise.
* stdlib/atexit.c: Likewise.
* sysdeps/alpha/elf/initfini.c: Likewise.
* sysdeps/alpha/elf/start.S: Likewise.
* sysdeps/arm/elf/start.S: Likewise.
* sysdeps/cris/elf/start.S: Likewise.
* sysdeps/generic/initfini.c: Likewise.
* sysdeps/generic/mknod.c: Likewise.
* sysdeps/hppa/elf/initfini.c: Likewise.
* sysdeps/hppa/elf/start.S: Likewise.
* sysdeps/i386/elf/start.S: Likewise.
* sysdeps/i386/i686/hp-timing.c: Likewise.
* sysdeps/ia64/elf/initfini.c: Likewise.
* sysdeps/ia64/elf/start.S: Likewise.
* sysdeps/ia64/hp-timing.c: Likewise.
* sysdeps/m68k/elf/start.S: Likewise.
* sysdeps/mach/start.c: 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-32/initfini.c: Likewise.
* sysdeps/s390/s390-64/elf/start.S: Likewise.
* sysdeps/s390/s390-64/initfini.c: Likewise.
* sysdeps/sh/elf/initfini.c: Likewise.
* sysdeps/sh/elf/start.S: Likewise.
* sysdeps/sparc/sparc32/elf/start.S: Likewise.
* sysdeps/sparc/sparc32/sparcv9/hp-timing.c: Likewise.
* sysdeps/sparc/sparc64/elf/start.S: Likewise.
* sysdeps/sparc/sparc64/hp-timing.c: Likewise.
* sysdeps/standalone/i386/start.S: Likewise.
* sysdeps/standalone/i960/start.S: Likewise.
* sysdeps/standalone/m68k/m68020/start.S: Likewise.
* sysdeps/unix/arm/start.c: Likewise.
* sysdeps/unix/bsd/osf/alpha/start.S: Likewise.
* sysdeps/unix/bsd/ultrix4/mips/start.S: Likewise.
* sysdeps/unix/sparc/start.c: Likewise.
* sysdeps/unix/start.c: Likewise.
* sysdeps/unix/sysv/aix/start.s: Likewise.
* sysdeps/unix/sysv/irix4/start.c: Likewise.
* sysdeps/x86_64/elf/initfini.c: Likewise.
* sysdeps/x86_64/elf/start.S: Likewise.
|
|
* 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.
|
|
|
|
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-14 Ulrich Drepper <drepper@redhat.com>
Make the non-_l functions wrappers around the _l functions.
* include/monetary.h: Declare __vstrmon_l.
* include/string.h: Add libc_hidden_proto for __strcoll_l and
__strxfrm_l.
* include/time.h: Define ptime_locale_status. Declare
__strptime_internal.
* include/wchar.h: Add libc_hidden_proto for __wcscoll_l and
__wcsxfrm_l.
* stdlib/strfmon.c: Move the code to strfmon_l.c. Add little
wrapper around __vstrfmon_l.
* stdlib/strfmon_l.c: Add real implementation. Split into new
function __vstrfmon_l to allow calling it from strfmon.
* stdlib/strtod.c: Move real code to strtod_l.c and add wrapper.
* stdlib/strtod_l.c: Add real implementation.
* stdlib/strtof.c: Adjust to changed strtod.c.
* stdlib/strtof_l.c: Include strtod_l.c now.
* stdlib/strtold.c: New file.
* stdlib/strtold_l.c: Removed.
* string/strcoll.c: Move real code to strcoll_l.c: Add wrapper.
* string/strcoll_l.c: Add real implementation.
* string/strxfrm.c: Move real code to strxfrm_l.c: Add wrapper.
* string/strxfrm_l.c: Add real implementation.
* sysdeps/generic/strtol.c: Move real implementation to strtol_l.c.
Add wrappers.
* sysdeps/generic/strtol_l.c: Add real implementation.
* sysdeps/generic/strtold.c: Removed.
* sysdeps/generic/strtold_l.c: New file.
* sysdeps/generic/strtoll_l.c: Include strtol_l.c now. Adjust
#defines.
* sysdeps/generic/strtoul_l.c: Likewise.
* sysdeps/generic/strtoull_l.c: Likewise.
* sysdeps/generic/wcstol_l.c: Likewise.
* sysdeps/generic/wcstoll_l.c: Likewise.
* sysdeps/generic/wcstoul_l.c: Likewise.
* sysdeps/generic/wcstoull_l.c: Likewise.
* sysdeps/ieee754/ldbl-128/strtold.c: Removed.
* sysdeps/ieee754/ldbl-128/strtold_l.c: New file.
* sysdeps/ieee754/ldbl-96/strtold.c: Removed.
* sysdeps/ieee754/ldbl-96/strtold_l.c: New file.
* sysdeps/m68k/strtold.c: Removed.
* sysdeps/m68k/strtold_l.c: New file.
* time/strftime.c: Move real code to strftime_l.c. Add wrapper.
* time/strftime_l.c: Add real implementation.
* time/strptime.c: Move real code to strptime_l.c. Add wrapper.
* time/strptime_l.c: Add real implementation.
* time/wcsftime.c: Simplify since only wrappers are defined in
strftime.c.
* time/wcsftime_l.c: Include strftime_l.c.
* wcsmbs/wcscoll.c: Simplify since the file is not used by wcscoll_l.c
anymore.
* wcsmbs/wcscoll_l.c: Include strcoll_l.c.
* wcsmbs/wcsxfrm.c: Simplify since the file is not used by wcsxfrm_l.c
anymore.
* wcsmbs/wcsxfrm_l.c: Include strxfrm_l.c.
* wcsmbs/wcstod.c: Prepare to include new strtod.c.
* wcsmbs/wcstod_l.c: Include strtod_l.c.
* wcsmbs/wcstof.c: Prepare to include new strtof.c.
* wcsmbs/wcstof_l.c: Include strtof_l.c.
* wcsmbs/wcstold.c: Prepare to include new strtold.c.
* wcsmbs/wcstold_l.c: Include strtold_l.c.
* locale/uselocale.c: Use _NL_CURRENT_LOCALE instead of __libc_tsd_get.
* sysdeps/generic/strcasecmp.c: Optimize a bit. It's better to get
a reference to the current locale and then use the _l functions.
* sysdeps/generic/strncase.c: Likewise.
|
|
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.
|
|
* 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.
|
|
|
|
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.
|