]> sourceware.org Git - glibc.git/log
glibc.git
10 years agoMinor formatting fix
Siddhesh Poyarekar [Fri, 21 Feb 2014 06:01:41 +0000 (11:31 +0530)]
Minor formatting fix

10 years agoprint length in strrchr benchtest
Rajalakshmi Srinivasaraghavan [Fri, 21 Feb 2014 05:47:41 +0000 (11:17 +0530)]
print length in strrchr benchtest

The return criteria of strrchr() is to read till NULL even if the
search character is hit.  So its better to print len instead of pos.

10 years agoFix __ASSUME_SENDMMSG issues (bug 16611).
Joseph Myers [Thu, 20 Feb 2014 17:55:35 +0000 (17:55 +0000)]
Fix __ASSUME_SENDMMSG issues (bug 16611).

Similar to the issues for accept4 and recvmmsg, __ASSUME_SENDMMSG is
also confused about whether it relates to function availability or
socketcall operation availability, and the conditions for the
definition are always wrong (sendmmsg appeared in Linux kernel 3.0,
not 2.6.39); this is now bug 16611.

This patch splits the macro into separate macros like those for
accept4 and recvmmsg, defining them for appropriate kernel versions.

Tested x86_64, including that disassembly of the installed shared
libraries is unchanged by this patch.

[BZ #16611]
* sysdeps/unix/sysv/linux/kernel-features.h
[__LINUX_KERNEL_VERSION >= 0x030000 && __ASSUME_SOCKETCALL]
(__ASSUME_SENDMMSG_SOCKETCALL): Define.
[__LINUX_KERNEL_VERSION >= 0x030000 && (__i386__ || __x86_64__ ||
__powerpc__ || __sh__ || __sparc__)] (__ASSUME_SENDMMSG_SYSCALL):
Likewise.
[__i386__ || __powerpc__ || __sh__ || __sparc__]
(__ASSUME_SENDMMSG_SYSCALL_WITH_SOCKETCALL): Likewise.
[__ASSUME_SENDMMSG_SOCKETCALL || __ASSUME_SENDMMSG_SYSCALL]
(__ASSUME_SENDMMSG): Define instead of using previous
[__LINUX_KERNEL_VERSION >= 0x020627] condition.
* sysdeps/unix/sysv/linux/aarch64/kernel-features.h
(__ASSUME_SENDMMSG_SYSCALL): Define.
* sysdeps/unix/sysv/linux/alpha/kernel-features.h
[__LINUX_KERNEL_VERSION >= 0x030200] (__ASSUME_SENDMMSG_SYSCALL):
Likewise.
* sysdeps/unix/sysv/linux/arm/kernel-features.h
[__LINUX_KERNEL_VERSION >= 0x030000] (__ASSUME_SENDMMSG_SYSCALL):
Likewise.
* sysdeps/unix/sysv/linux/ia64/kernel-features.h
[__LINUX_KERNEL_VERSION >= 0x030000] (__ASSUME_SENDMMSG_SYSCALL):
Likewise.
* sysdeps/unix/sysv/linux/internal_sendmmsg.S [__ASSUME_SOCKETCALL
&& !__ASSUME_SENDMMSG_SYSCALL_WITH_SOCKETCALL &&
!__ASSUME_SENDMMSG_SYSCALL] (__NR_sendmmsg): Undefine.
[__ASSUME_SENDMMSG]: Change conditionals to
[__ASSUME_SENDMMSG_SOCKETCALL].
* sysdeps/unix/sysv/linux/microblaze/kernel-features.h
[__LINUX_KERNEL_VERSION >= 0x030300] (__ASSUME_SENDMMSG_SYSCALL):
Define.
* sysdeps/unix/sysv/linux/mips/kernel-features.h
[__LINUX_KERNEL_VERSION >= 0x030100] (__ASSUME_SENDMMSG_SYSCALL):
Likewise.
* sysdeps/unix/sysv/linux/sendmmsg.c [__ASSUME_SOCKETCALL &&
!__ASSUME_SENDMMSG_SYSCALL_WITH_SOCKETCALL &&
!__ASSUME_SENDMMSG_SYSCALL] (__NR_sendmmsg): Undefine.
[!__ASSUME_SENDMMSG]: Change conditional to
[!__ASSUME_SENDMMSG_SOCKETCALL].
* sysdeps/unix/sysv/linux/tile/kernel-features.h
[__LINUX_KERNEL_VERSION >= 0x030000] (__ASSUME_SENDMMSG_SYSCALL):
Define.

* sysdeps/unix/sysv/linux/hppa/kernel-features.h
[__LINUX_KERNEL_VERSION >= 0x030100] (__ASSUME_SENDMMSG_SYSCALL):
Define.

10 years agoFix __ASSUME_RECVMMSG issues (bug 16610).
Joseph Myers [Thu, 20 Feb 2014 17:53:08 +0000 (17:53 +0000)]
Fix __ASSUME_RECVMMSG issues (bug 16610).

Similar to the issues for accept4, __ASSUME_RECVMMSG is also confused
about whether it relates to function availability or socketcall
operation availability; this is now bug 16610.

Nothing actually tests __ASSUME_RECVMMSG for function availability,
but implicit in the definition in kernel-features.h is the idea that
it makes sense when the syscall is available and socketcall is not
being used.  As with accept4, there are architectures where the
syscall was added later than the socketcall operation, meaning that
assuming glibc is built with recent enough kernel headers, it does not
attempt to use socketcall for these operations and __ASSUME_RECVMMSG
gets defined for kernels >= 2.6.33 even when the syscall was only
added later.

This patch splits the macro into separate macros like those used for
accept4; having similar macro structure in both cases (and for
sendmmsg once I've dealt with that) seems likely to be less confusing
than having a different structure on the basis of nothing actually
needing to assume the recvmmsg function works.  Appropriate
definitions are added for all architectures.

Architecture-specific note: Tile's kernel-features.h says "TILE glibc
support starts with 2.6.36", which is accurate in that 2.6.36 was the
first kernel version with Tile support, and on that basis I've made
that header define __ASSUME_RECVMMSG_SYSCALL unconditionally.
However, Tile's configure.ac has arch_minimum_kernel=2.6.32.  Since
arch_minimum_kernel is meant to reflect only kernel.org kernel
versions, I think that should change to 2.6.36.  (If using glibc with
kernel versions from before a port went in kernel.org, it's your
responsibility to change arch_minimum_kernel in a local patch, and at
the same time to adjust any __ASSUME_* definitions that may not be
correct for your older kernel; for developing the official glibc it
should only ever be necessary to consider what official kernel.org
releases support.)

Tested x86_64, including that disassembly of the installed shared
libraries is unchanged by this patch.

[BZ #16610]
* sysdeps/unix/sysv/linux/kernel-features.h
[__LINUX_KERNEL_VERSION >= 0x020621 && __ASSUME_SOCKETCALL]
(__ASSUME_RECVMMSG_SOCKETCALL): Define.
[(__LINUX_KERNEL_VERSION >= 0x020621 && (__i386__ || __x86_64__ ||
__sparc__)) || (__LINUX_KERNEL_VERSION >= 0x020625 && (__powerpc__
|| __sh__))] (__ASSUME_RECVMMSG_SYSCALL): Likewise.
[__i386__ || __sparc__]
(__ASSUME_RECVMMSG_SYSCALL_WITH_SOCKETCALL): Likewise.
[__ASSUME_RECVMMSG_SOCKETCALL || __ASSUME_RECVMMSG_SYSCALL]
(__ASSUME_RECVMMSG): Define instead of using previous
[__LINUX_KERNEL_VERSION >= 0x020621] condition.
* sysdeps/unix/sysv/linux/aarch64/kernel-features.h
(__ASSUME_RECVMMSG_SYSCALL): Define.
* sysdeps/unix/sysv/linux/alpha/kernel-features.h
[__LINUX_KERNEL_VERSION >= 0x020621] (__ASSUME_RECVMMSG_SYSCALL):
Likewise.
* sysdeps/unix/sysv/linux/arm/kernel-features.h
[__LINUX_KERNEL_VERSION >= 0x020621] (__ASSUME_RECVMMSG_SYSCALL):
Likewise.
* sysdeps/unix/sysv/linux/ia64/kernel-features.h
[__LINUX_KERNEL_VERSION >= 0x020621] (__ASSUME_RECVMMSG_SYSCALL):
Likewise.
* sysdeps/unix/sysv/linux/internal_recvmmsg.S [__ASSUME_SOCKETCALL
&& !__ASSUME_RECVMMSG_SYSCALL_WITH_SOCKETCALL &&
!__ASSUME_RECVMMSG_SYSCALL] (__NR_recvmmsg): Undefine.
[__ASSUME_RECVMMSG]: Change condition to
[__ASSUME_RECVMMSG_SOCKETCALL].
* sysdeps/unix/sysv/linux/microblaze/kernel-features.h
[__LINUX_KERNEL_VERSION >= 0x020621] (__ASSUME_RECVMMSG_SYSCALL):
Define.
(__ASSUME_RECVMMSG_SYSCALL_WITH_SOCKETCALL): Likewise.
* sysdeps/unix/sysv/linux/mips/kernel-features.h
[__LINUX_KERNEL_VERSION >= 0x020621] (__ASSUME_RECVMMSG_SYSCALL):
Likewise.
* sysdeps/unix/sysv/linux/recvmmsg.c [__ASSUME_SOCKETCALL &&
!__ASSUME_RECVMMSG_SYSCALL_WITH_SOCKETCALL &&
!__ASSUME_RECVMMSG_SYSCALL] (__NR_recvmmsg): Undefine.
[!__ASSUME_RECVMMSG]: Change condition to
[!__ASSUME_RECVMMSG_SOCKETCALL].
* sysdeps/unix/sysv/linux/tile/kernel-features.h
(__ASSUME_RECVMMSG_SYSCALL): Define.

* sysdeps/unix/sysv/linux/hppa/kernel-features.h
[__LINUX_KERNEL_VERSION >= 0x020622] (__ASSUME_RECVMMSG_SYSCALL):
Define.

10 years agoFix __ASSUME_ACCEPT4 issues (bug 16609).
Joseph Myers [Thu, 20 Feb 2014 17:50:31 +0000 (17:50 +0000)]
Fix __ASSUME_ACCEPT4 issues (bug 16609).

In <https://sourceware.org/ml/libc-alpha/2013-12/msg00008.html>,
Aurelien noted issues with the definition of __ASSUME_ACCEPT4, which I
discussed in more detail in
<https://sourceware.org/ml/libc-alpha/2013-12/msg00014.html>; these
are now bug 16609.

As previously noted, __ASSUME_ACCEPT4 is used in two ways:

* In OS-independent code, to mean "accept4 can be assumed to work
  rather than fail with ENOSYS".  It doesn't matter whether it's
  implemented with socketcall or a separate syscall.

* In Linux-specific code, to mean "the socketcall multiplex syscall
  can be assumed to handle the accept4 operation.  When used in
  Linux-specific code, it *never* refers to anything relating to the
  accept4 syscall, only to the socketcall multiplexer.

This patch splits the macro into separate __ASSUME_ACCEPT4_SOCKETCALL,
__ASSUME_ACCEPT4_SYSCALL and __ASSUME_ACCEPT4 to clarify the different
cases involved.  A macro __ASSUME_SOCKETCALL is added for convenience
in writing logic relating to all socketcall architectures.  In
addition, to address the issue of architectures where socketcall
support for accept4 was added before a separate syscall was added (and
so the separate syscall should not be used unless known to be present
or fallback to socketcall is available), a fourth macro
__ASSUME_ACCEPT4_SYSCALL_WITH_SOCKETCALL is added to indicate that the
syscall became available at the same time as socketcall support.  This
is then used in the relevant places in a conditional determining
whether to undefine __NR_accept4 (the simple approach to avoiding the
syscall's presence causing problems; I didn't try to implement runtime
fallback from the syscall to socketcall).

Architecture-specific note: alpha defined __ASSUME_ACCEPT4 for 2.6.33
and later, but actually the syscall was added for alpha in 3.2, so
this patch uses the correct condition for __ASSUME_ACCEPT4_SYSCALL
there.

Tested x86_64, including that disassembly of the installed shared
libraries is unchanged by this patch.

[BZ #16609]
* sysdeps/unix/sysv/linux/kernel-features.h [__i386__ ||
__powerpc__ || __s390__ || __sh__ || __sparc__]
(__ASSUME_SOCKETCALL): Define.
[__LINUX_KERNEL_VERSION && __ASSUME_SOCKETCALL]
(__ASSUME_ACCEPT4_SOCKETCALL): Likewise.
[(__LINUX_KERNEL_VERSION >= 0x02061c && (__x86_64__ || __sparc__))
|| (__LINUX_KERNEL_VERSION >= 0x020625 && (__powerpc__ ||
__sh__))] (__ASSUME_ACCEPT4_SYSCALL): Likewise.
[__sparc__] (__ASSUME_ACCEPT4_SYSCALL_WITH_SOCKETCALL): Likewise.
[__ASSUME_ACCEPT4_SOCKETCALL || __ASSUME_ACCEPT4_SYSCALL]
(__ASSUME_ACCEPT4): Define instead of using previous
[__LINUX_KERNEL_VERSION >= 0x02061c && (__i386__ || __x86_64__ ||
__powerpc__ || __sparc__ || __s390__)] condition.
* sysdeps/unix/sysv/linux/aarch64/kernel-features.h
(__ASSUME_ACCEPT4): Change to __ASSUME_ACCEPT4_SYSCALL.
* sysdeps/unix/sysv/linux/accept4.c [__ASSUME_SOCKETCALL &&
!__ASSUME_ACCEPT4_SYSCALL_WITH_SOCKETCALL &&
!__ASSUME_ACCEPT4_SYSCALL] (__NR_accept4): Undefine.
[!__ASSUME_ACCEPT4]: Change condition to
[!__ASSUME_ACCEPT4_SOCKETCALL].
* sysdeps/unix/sysv/linux/alpha/kernel-features.h
(__ASSUME_ACCEPT4): Change to __ASSUME_ACCEPT4_SYSCALL.  Correct
condition to [__LINUX_KERNEL_VERSION >= 0x030200].
* sysdeps/unix/sysv/linux/arm/kernel-features.h
[__LINUX_KERNEL_VERSION >= 0x020624] (__ASSUME_ACCEPT4): Change to
__ASSUME_ACCEPT4_SYSCALL.
* sysdeps/unix/sysv/linux/i386/accept4.S [__ASSUME_ACCEPT4]:
Change conditions to [__ASSUME_ACCEPT4_SOCKETCALL].
* sysdeps/unix/sysv/linux/ia64/kernel-features.h
[__LINUX_KERNEL_VERSION >= 0x030300] (__ASSUME_ACCEPT4): Change to
__ASSUME_ACCEPT4_SYSCALL.
* sysdeps/unix/sysv/linux/internal_accept4.S [__ASSUME_SOCKETCALL
&& !__ASSUME_ACCEPT4_SYSCALL_WITH_SOCKETCALL &&
!__ASSUME_ACCEPT4_SYSCALL] (__NR_accept4): Undefine.
[__ASSUME_ACCEPT4]: Change condition to
[__ASSUME_ACCEPT4_SOCKETCALL].
* sysdeps/unix/sysv/linux/m68k/kernel-features.h
(__ASSUME_SOCKETCALL): Define.
[__LINUX_KERNEL_VERSION >= 0x02061c] (__ASSUME_ACCEPT4): Remove.
* sysdeps/unix/sysv/linux/microblaze/kernel-features.h
(__ASSUME_SOCKETCALL): Define.
(__ASSUME_ACCEPT4): Remove.
[__LINUX_KERNEL_VERSION >= 0x020621] (__ASSUME_ACCEPT4_SYSCALL):
Define.
* sysdeps/unix/sysv/linux/mips/kernel-features.h
[__LINUX_KERNEL_VERSION >= 0x02061f] (__ASSUME_ACCEPT4_SYSCALL):
Likewise.
* sysdeps/unix/sysv/linux/tile/kernel-features.h
(__ASSUME_ACCEPT4): Change to __ASSUME_ACCEPT4_SYSCALL.

* sysdeps/unix/sysv/linux/hppa/kernel-features.h
[__LINUX_KERNEL_VERSION >= 0x020622] (__ASSUME_ACCEPT4_SYSCALL):
Define.

10 years agoUpdate ARM HWCAP data.
Joseph Myers [Thu, 20 Feb 2014 03:29:34 +0000 (03:29 +0000)]
Update ARM HWCAP data.

This patch updates the ARM HWCAP data (both bits/hwcap.h and
dl-procinfo.[ch]) to match Linux 3.13.

* sysdeps/unix/sysv/linux/arm/bits/hwcap.h (HWCAP_ARM_VFPD32): New
macro.
(HWCAP_ARM_LPAE): Likewise.
(HWCAP_ARM_EVTSTRM): Likewise.
* sysdeps/unix/sysv/linux/arm/dl-procinfo.c (_dl_arm_cap_flags):
Add vpfd32, lpae and evtstrm.
* sysdeps/unix/sysv/linux/arm/dl-procinfo.h (_DL_HWCAP_COUNT):
Increase to 22.

10 years agoMove tests of clog10 from libm-test.inc to auto-libm-test-in.
Joseph Myers [Wed, 19 Feb 2014 14:26:29 +0000 (14:26 +0000)]
Move tests of clog10 from libm-test.inc to auto-libm-test-in.

This patch moves tests of clog10 to auto-libm-test-in.  Note that this
means gen-auto-libm-tests will now depend on the recent MPC 1.0.2
release which added a fix for a bug that made gen-auto-libm-tests hang
for clog10.  (It still can't conveniently be used for cacos cacosh
casin casinh catan catanh csin csinh because of extreme slowness of
those functions for special cases in MPC; at least some slow cases of
csin / csinh are fixed in MPC trunk, but not in a release.)

Tested x86_64 and x86 and ulps updated accordingly.

* math/auto-libm-test-in: Add tests of clog10.
* math/auto-libm-test-out: Regenerated.
* math/libm-test.inc (clog10_test_data): Use AUTO_TESTS_c_c.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.

10 years agoProperly fix memory leak in _nss_dns_gethostbyname4_r with big DNS answer
Andreas Schwab [Tue, 18 Feb 2014 09:57:25 +0000 (10:57 +0100)]
Properly fix memory leak in _nss_dns_gethostbyname4_r with big DNS answer

Instead of trying to guess whether the second buffer needs to be freed
set a flag at the place it is allocated

10 years agoMove tests of fma from libm-test.inc to auto-libm-test-in.
Joseph Myers [Tue, 18 Feb 2014 21:48:51 +0000 (21:48 +0000)]
Move tests of fma from libm-test.inc to auto-libm-test-in.

This patch moves tests of fma to auto-libm-test-in, adding the
required support to gen-auto-libm-tests.

Because fma can have exact zero results depending on the rounding
mode, results of fma cannot always be determined from a single value
computed in higher precision with a sticky bit.  Thus, this patch adds
support for recomputing results with the original MPFR/MPC function in
the case where an exact zero is involved.  (This also affects some
results for cpow; when we start testing cpow in all rounding modes, I
think it will be most appropriate to make those tests use
IGNORE_ZERO_INF_SIGN, since ISO C does not attempt to determine signs
of zero results, or special caes in general, for cpow, and I think
signs of zero for cpow are beyond the scope of glibc's accuracy
goals.)

Simply treating the existing test inputs for fma like those for other
functions (i.e., as representing the given value rounded up or down to
any of the supported floating-point formats) increases the size of
auto-libm-test-out by about 16MB (i.e., about half the file is fma
test data).  While rounded versions of tests are perfectly reasonable
test inputs for fma, in this case having them seems excessive, so this
patch allows functions to specify in gen-auto-libm-tests that the
given test inputs are only to be interpreted exactly, not as
corresponding to values rounded up and down.  This reduces the size of
the generated test data for fma to a more reasonable 2MB.

A consequence of this patch is that fma is now tested for correct
presence or absence of "inexact" exceptions, where previously this
wasn't tested because I didn't want to try to add that test coverage
manually to all the existing tests.  As far as I know, the existing
fma implementations are already correct in this regard.

This patch provides the first cases where the gen-auto-libm-tests
support for distinguishing before-rounding/after-rounding underflow
actually produces separate entries in auto-libm-test-out (for
functions without exactly determined results, the affected cases are
all considered underflow-optional, so this only affects functions like
fma with exactly determined results).  I didn't see any signs of
problems with this logic in the output.

Tested x86_64 and x86.

* math/auto-libm-test-in: Add tests of fma.
* math/auto-libm-test-out: Regenerated.
* math/libm-test.inc (fma_test_data): Use AUTO_TESTS_fff_f.
(fma_towardzero_test_data): Likewise.
(fma_downward_test_data): Likewise.
(fma_upward_test_data): Likewise.
* math/gen-auto-libm-tests.c (rounding_mode_desc): Add field
mpc_mode.
(rounding_modes): Add values for new field.
(func_calc_method): Add value mpfr_fff_f.
(func_calc_desc): Add mpfr_fff_f union field.
(test_function): Add field exact_args.
(FUNC): Add macro argument EXACT_ARGS.
(FUNC_mpfr_f_f): Update call to FUNC.
(FUNC_mpfr_f_f): Likewise.
(FUNC_mpfr_ff_f): Likewise.
(FUNC_mpfr_if_f): Likewise.
(FUNC_mpc_c_f): Likewise.
(FUNC_mpc_c_c): Likewise.
(test_functions): Add fma.  Update calls to FUNC.
(handle_input_arg): Add argument exact_args.
(add_test): Update call to handle_input_arg.
(calc_generic_results): Add argument mode.  Handle mpfr_fff_f.
(output_for_one_input_case): Update call to calc_generic_results.
Recalculate exact zero results in each rounding mode.

10 years agoFix gen-auto-libm-tests sticky bit setting for negative results.
Joseph Myers [Tue, 18 Feb 2014 14:45:41 +0000 (14:45 +0000)]
Fix gen-auto-libm-tests sticky bit setting for negative results.

gen-auto-libm-tests has a bug in the logic for setting a sticky bit
based on the ternary value from MPFR: it is correct for positive
results, but for negative results mpz_setbit acts as if a two's
complement representation is used, whereas the low bit needs setting
based on the sign-magnitude representation GMP actually uses.  (This
showed up in converting fma tests to use auto-libm-test-in /
gen-auto-libm-tests.)

This patch fixes the problem by negating the mpz_t value to set its
low bit.  There are lots of changes to auto-libm-test-out (mainly 1ulp
fixes to ldbl-128 expected results), but only a few ulps updates are
needed on x86 / x86_64.  In one case, a corrected expectation showed
up a spurious underflow exception where the correct result is slightly
outside the underflowing range.

Tested x86_64 and x86 and ulps updated accordingly.

* math/gen-auto-libm-tests.c (adjust_real): Ensure integers are
non-negative before setting low bit.
* math/auto-libm-test-in: Mark one asin test possibly having
spurious underflow.
* math/auto-libm-test-out: Regenerated.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.

10 years ago[MicroBlaze]: Move MicroBlaze from ports to sysdeps.
David Holsgrove [Mon, 17 Feb 2014 01:08:21 +0000 (11:08 +1000)]
[MicroBlaze]: Move MicroBlaze from ports to sysdeps.

2014-02-17  David Holsgrove <david.holsgrove@xilinx.com>

        * sysdeps/microblaze: Move directory from ports/sysdeps/microblaze.
        * sysdeps/unix/sysv/linux/microblaze: Move directory from
          ports/sysdeps/unix/sysv/linux/microblaze.
        * README: Add missing listing for microblaze*-*-linux-gnu.

Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
10 years agoDeduplicate resolv/nss_dns/dns-host.c
Ondřej Bílka [Sun, 16 Feb 2014 11:59:23 +0000 (12:59 +0100)]
Deduplicate resolv/nss_dns/dns-host.c

In resolv/nss_dns/dns-host.c one of code path duplicated code after
that. We merge these paths.

10 years agoia64: relocate out of ports/ subdir
Mike Frysinger [Sun, 16 Feb 2014 03:07:25 +0000 (22:07 -0500)]
ia64: relocate out of ports/ subdir

10 years agoGenerate .test-result files for ordinary tests.
Tomas Dohnalek [Sat, 15 Feb 2014 01:04:57 +0000 (01:04 +0000)]
Generate .test-result files for ordinary tests.

This patch, an updated version of
<https://sourceware.org/ml/libc-alpha/2014-01/msg00193.html>, starts
the process of generating explicit PASS or FAIL status for individual
glibc tests.  It's based on Tomas Dohnalek's patch
<https://sourceware.org/ml/libc-alpha/2012-10/msg00278.html>, but is
deliberately more minimal: it doesn't try to cover any tests outside
of $(tests) / $(xtests) (that's for a later patch), nor does it put
the result together in an overall summary file (again, a later patch):
it just generates the .test-result files.

Thus, this patch keeps the overall logic for when a testsuite run
finishes completely unchanged: a test failing will terminate the run.
I think we *should* move to a more conventional approach where plain
"make check" does not terminate for an individual test failure, unless
e.g. you say "make stop-on-test-failure=y check", but that sort of
policy change is best done as a separate patch once the infrastructure
is in place to generate summary files for completed test runs (which
will entirely consist of PASS and XFAIL lines if the testsuite run
reaches the point of generating them, until such a policy change is
made).

Tested x86_64.

2014-02-14  Tomas Dohnalek  <tdohnale@redhat.com>
    Joseph Myers  <joseph@codesourcery.com>

* Makeconfig (test-name): New variable.
(evaluate-test): Likewise.
* Makerules (do-test-clean): Remove .test-result files.
(common-mostlyclean): Likewise.
* Rules ($(objpfx)%.out): Use $(evaluate-test) in both rules.
* scripts/evaluate-test.sh: New file.

10 years agoSplit up rules for tests using mtrace and something else.
Joseph Myers [Fri, 14 Feb 2014 13:45:14 +0000 (13:45 +0000)]
Split up rules for tests using mtrace and something else.

Most glibc tests that use mtrace to verify that there were no memory
leaks from the glibc facilities used in a given test depend on the
.out file of the previous test so that the mtrace test runs mtrace and
nothing else.

Two, however, have a single target combining mtrace with something
else.  In the case of libio/tst-fopenloc.check, the test both compares
the output with an expected baseline and runs mtrace.  In the case of
posix/tst-rxspencer-mem, the test is run (with different command line
from the main run) and then mtrace is run, from the same makefile
target.

This patch splits both of these tests up to use separate makefile
targets for each thing tested; in the tst-rxspencer case, a file
tst-rxspencer-no-utf8.c is created that just includes tst-rxspencer.c,
as is usual for tests where the same code gets tested in different
compile-time or runtime configurations.

Adding $(evaluate-test) to test commands, as in
<https://sourceware.org/ml/libc-alpha/2014-01/msg00194.html>, will no
longer need to insert && between multiple commands, as all tests will
either have just a single command or already use &&.

Tested x86_64.

* libio/Makefile ($(objpfx)tst-fopenloc.check): Split into
separate $(objpfx)tst-fopenloc-cmp.out and
$(objpfx)tst-fopenloc-mem.out targets.
(tests): Update dependencies.
* posix/Makefile (tests variable): Add tst-rxspencer-no-utf8.
(generated): Change tst-rxspencer-mem and tst-rxspencer.mtrace to
tst-rxspencer-no-utf8-mem and tst-rxspencer-no-utf8.mtrace.
(tst-rxspencer-no-utf8-ARGS): New variable.
(tst-rxspencer-no-utf8-ENV): Likewise.
(tests target): Depend on $(objpfx)tst-rxspencer-no-utf8-mem
instead of $(objpfx)tst-rxspencer-mem.
($(objpfx)tst-rxspencer-mem): Change target to
$(objpfx)tst-rxspencer-no-utf8-mem.  Depend on
$(objpfx)tst-rxspencer-no-utf8.out instead of running test program.
* posix/tst-rxspencer-no-utf8.c: New file.

10 years agoSplit up rules for tests that compare output with baselines.
Joseph Myers [Fri, 14 Feb 2014 13:42:44 +0000 (13:42 +0000)]
Split up rules for tests that compare output with baselines.

This patch splits makefile rules that generate a file then run cmp to
check the contents of that file into separate rules to generate and
compare the file.  This simplifies making those tests generate PASS /
FAIL results, by removing the need to insert && between commands in
the test so that a $(evaluate-test) call is reached.  It also avoids
the oddity of the .out file being an intermediate file rather than the
final result generated, as noted for some of these tests in
<https://sourceware.org/ml/libc-alpha/2012-10/msg00894.html>.

In many cases, the rule to run the program was no longer needed
because the default rules for running test programs on the host to
generate a .out file sufficed.  (I'm not asserting the commands run
after this patch are *exactly* the same as before, simply that the
rules did nothing special that appeared deliberate or relevant to
anything about what the tests were testing.  In cases where the rules
redirected stderr as well as stdout, I left the existing rule's
redirection in place to avoid changing what gets compared with the
expected results.)

It's clear there is a lot in common between the various -cmp.out rules
and it might be possible in future to refactor them into more generic
support for the case of comparing test output against a baseline.
(Some baselines are *.exp, some *.expect, some directly embedded in
the makefiles, and nptl/tst-cleanupx0.expect appears unused.)

Tested x86_64.

* elf/Makefile ($(objpfx)order.out): Remove rule.
[$(run-built-tests) = yes] (tests): Depend on
$(objpfx)order-cmp.out.
($(objpfx)order-cmp.out): New rule.
[$(run-built-tests) = yes] (tests): Depend on
$(objpfx)tst-array1-cmp.out, $(objpfx)tst-array1-static-cmp.out,
$(objpfx)tst-array2-cmp.out, $(objpfx)tst-array3-cmp.out,
$(objpfx)tst-array4-cmp.out, $(objpfx)tst-array5-cmp.out and
$(objpfx)tst-array5-static-cmp.out.
($(objpfx)tst-array1.out): Remove rule.
($(objpfx)tst-array1-cmp.out): New rule.
($(objpfx)tst-array1-static.out): Remove rule.
($(objpfx)tst-array1-static-cmp.out): New rule.
($(objpfx)tst-array2.out): Remove rule.
($(objpfx)tst-array2-cmp.out): New rule.
($(objpfx)tst-array3.out): Remove rule.
($(objpfx)tst-array3-cmp.out): New rule.
($(objpfx)tst-array4.out): Remove rule.
($(objpfx)tst-array4-cmp.out): New rule.
($(objpfx)tst-array5.out): Remove rule.
($(objpfx)tst-array5-cmp.out): New rule.
($(objpfx)tst-array5-static.out): Remove rule.
($(objpfx)tst-array5-static-cmp.out): New rule.
[$(run-built-tests) = yes] (tests): Depend on
$(objpfx)order2-cmp.out.
($(objpfx)order2.out): Remove rule.
($(objpfx)order2-cmp.out): New rule.
($(objpfx)tst-initorder.out): Remove rule.
[$(run-built-tests) = yes] (tests): Depend on
$(objpfx)tst-initorder-cmp.out.
($(objpfx)tst-initorder-cmp.out): New rule.
($(objpfx)tst-initorder2.out): Remove rule.
[$(run-built-tests) = yes] (tests): Depend on
$(objpfx)tst-initorder2-cmp.out.
($(objpfx)tst-initorder2-cmp.out): New rule.
[$(run-built-tests) = yes] (tests): Depend on
$(objpfx)tst-unused-dep-cmp.out.
($(objpfx)tst-unused-dep-cmp.out): Do not run cmp.
($(objpfx)tst-unused-dep-cmp.out): New rule.
* stdio-common/Makefile [$(run-built-tests) = yes] (tests): Depend
on $(objpfx)tst-setvbuf1-cmp.out.
($(objpfx)tst-setvbuf1.out): Do not run cmp.
($(objpfx)tst-setvbuf1-cmp.out): New rule.
* string/Makefile [$(run-built-tests) = yes] (tests): Depend
$(objpfx)tst-svc-cmp.out instead of $(objpfx)tst-svc.out.
($(objpfx)tst-svc.out): Remove rule.
($(objpfx)tst-svc-cmp.out): New rule.

nptl:
* Makefile ($(objpfx)tst-cleanup0.out): Do not run cmp.
[$(run-built-tests) = yes] (tests): Depend on
$(objpfx)tst-cleanup0-cmp.out.
($(objpfx)tst-cleanup0-cmp.out): New rule.

10 years agoClean up trivially redundant __USE_MISC conditionals.
Joseph Myers [Thu, 13 Feb 2014 22:07:25 +0000 (22:07 +0000)]
Clean up trivially redundant __USE_MISC conditionals.

This patch cleans up cases of __USE_MISC that are trivially redundant
after the recent substitution of __USE_MISC for __USE_BSD and
__USE_SVID: either in constructs such as "defined __USE_MISC ||
defined __USE_MISC", or else (in the bits/mman.h case) a conditional
on __USE_MISC nested inside another __USE_MISC conditional.  (The
cleanups remaining after this patch are still quite large, but it
seems a reasonable piece to separate out.)

Tested x86_64.

* bits/mman.h [__USE_MISC]: Remove redundant conditionals.
* ctype/ctype.h [__USE_MISC]: Likewise.
* dirent/dirent.h [__USE_MISC]: Likewise.
* grp/grp.h [__USE_MISC]: Likewise.
* io/fcntl.h [__USE_MISC]: Likewise.
* io/sys/stat.h [__USE_MISC]: Likewise.
* libio/stdio.h [__USE_MISC]: Likewise.
* posix/unistd.h [__USE_MISC]: Likewise.
* pwd/pwd.h [__USE_MISC]: Likewise.
* stdlib.h [__USE_MISC]: Likewise.
* string/bits/string2.h [__USE_MISC]: Likewise.
* string/string.h [__USE_MISC]: Likewise.
* time/time.h [__USE_MISC]: Likewise.

10 years agoFix memory leak in _nss_dns_gethostbyname4_r with big DNS answer
Andreas Schwab [Thu, 13 Feb 2014 10:01:57 +0000 (11:01 +0100)]
Fix memory leak in _nss_dns_gethostbyname4_r with big DNS answer

10 years agoUpdate MIPS math-tests.h for GCC 4.9 using soft-fp.
Joseph Myers [Thu, 13 Feb 2014 00:46:45 +0000 (00:46 +0000)]
Update MIPS math-tests.h for GCC 4.9 using soft-fp.

GCC trunk now uses soft-fp for MIPS64 long double, so supporting
integration with hardware exceptions and rounding modes.  This patch
updates MIPS math-tests.h accordingly not to disable exception and
rounding mode tests in this case.

Tested mips64 and ulps updated to reflect the newly run tests.

* sysdeps/mips/math-tests.h: Include <features.h>.
[!__mips_soft_float && _MIPS_SIM != _ABIO32 && __GNUC_PREREQ (4, 9)]
(ROUNDING_TESTS_long_double): Do not define.
[!__mips_soft_float && _MIPS_SIM != _ABIO32 && __GNUC_PREREQ (4, 9)]
(EXCEPTION_TESTS_long_double): Likewise.
* sysdeps/mips/mips64/libm-test-ulps: Update.

10 years agoCombine __USE_BSD and __USE_SVID into __USE_MISC.
Joseph Myers [Wed, 12 Feb 2014 23:41:01 +0000 (23:41 +0000)]
Combine __USE_BSD and __USE_SVID into __USE_MISC.

This patch cleans up following the obsoletion of _BSD_SOURCE and
_SVID_SOURCE by combining __USE_BSD and __USE_SVID into __USE_MISC.

The only non-mechanical part of this patch is the changes to
features.h; everything else is simple substitution of __USE_MISC for
the old macros.  Thus, this patch leaves obviously redundant
conditionals such as "defined __USE_MISC || defined __USE_MISC", and
does not update #endif comments where they referred to BSD or SVID in
words instead of the literal macro name.  This is intended to
facilitate patch review by separating the less mechanical changes from
these purely mechanical changes into a separate patch.  (I do intend
to integrate all the changes from
<https://sourceware.org/ml/libc-alpha/2013-12/msg00226.html>, which I
believe includes all the trailing comment updates, in subsequent
patches.)

Tested x86_64.

* include/features.h (__USE_BSD): Remove macro definitions.
(__USE_SVID): Likewise.
(_BSD_SOURCE): Likewise.
(_SVID_SOURCE): Likewise.
[!defined _BSD_SOURCE && !defined _SVID_SOURCE]: Remove condition
from definition of _DEFAULT_SOURCE.
[_BSD_SOURCE || _SVID_SOURCE]: Change condition to
[_DEFAULT_SOURCE].
* bits/fcntl.h [__USE_BSD]: Change condition to [__USE_MISC].
* bits/mman.h [__USE_BSD]: Likewise.
* bits/termios.h [__USE_BSD]: Likewise.
* bits/waitstatus.h [__USE_BSD]: Likewise.
* ctype/ctype.h [__USE_SVID]: Likewise.
* dirent/dirent.h [__USE_BSD]: Likewise.
* grp/grp.h [__USE_SVID]: Likewise.
[__USE_BSD]: Likewise.
* inet/netinet/igmp.h [__USE_BSD]: Likewise.
* io/fcntl.h [__USE_BSD]: Likewise.
* io/ftw.h [__USE_BSD]: Likewise.
* io/sys/stat.h [__USE_BSD]: Likewise.
* libio/bits/stdio-ldbl.h [__USE_BSD]: Likewise.
* libio/bits/stdio2.h [__USE_BSD]: Likewise.
* libio/stdio.h [__USE_SVID]: Likewise.
[__USE_BSD]: Likewise.
* math/math.h [__USE_SVID]: Likewise.
[__USE_BSD]: Likewise.
* misc/bits/syslog-ldbl.h [__USE_BSD]: Likewise.
* misc/bits/syslog.h [__USE_BSD]: Likewise.
* misc/search.h [__USE_SVID]: Likewise.
* misc/sys/mman.h [__USE_BSD]: Likewise.
* misc/sys/syslog.h [__USE_BSD]: Likewise.
* misc/sys/uio.h [__USE_BSD]: Likewise.
* posix/bits/unistd.h [__USE_BSD]: Likewise.
* posix/glob.h [__USE_BSD]: Likewise.
* posix/regex.h [__USE_BSD]: Likewise.
* posix/sys/types.h [__USE_BSD]: Likewise.
[__USE_SVID]: Likewise.
* posix/sys/utsname.h [__USE_SVID]: Likewise.
* posix/sys/wait.h [__USE_BSD]: Likewise.
[__USE_SVID]: Likewise.
* posix/unistd.h [__USE_BSD]: Likewise.
[__USE_SVID]: Likewise.
* pwd/pwd.h [__USE_SVID]: Likewise.
* resolv/netdb.h [__USE_BSD]: Likewise.
* setjmp/setjmp.h [__USE_BSD]: Likewise.
* signal/signal.h [__USE_BSD]: Likewise.
[__USE_SVID]: Likewise.
* socket/sys/socket.h [__USE_BSD]: Likewise.
* stdlib/fmtmsg.h [__USE_SVID]: Likewise.
* stdlib/stdlib.h [__USE_BSD]: Likewise.
[__USE_SVID]: Likewise.
* string/bits/string2.h [__USE_BSD]: Likewise.
[__USE_SVID]: Likewise.
* string/bits/string3.h [__USE_BSD]: Likewise.
* string/endian.h [__USE_BSD]: Likewise.
* string/string.h [__USE_SVID]: Likewise.
[__USE_BSD]: Likewise.
* string/strings.h [__USE_BSD]: Likewise.
* sysdeps/generic/netinet/ip.h [__USE_BSD]: Likewise.
* sysdeps/gnu/netinet/ip_icmp.h [__USE_BSD]: Likewise.
* sysdeps/mach/hurd/bits/fcntl.h [__USE_BSD]: Likewise.
* sysdeps/mach/hurd/bits/stat.h [__USE_BSD]: Likewise.
* sysdeps/unix/sysv/linux/alpha/bits/mman.h [__USE_BSD]: Likewise.
* sysdeps/unix/sysv/linux/alpha/bits/termios.h [__USE_BSD]:
Likewise.
* sysdeps/unix/sysv/linux/bits/fcntl-linux.h [__USE_BSD]:
Likewise.
* sysdeps/unix/sysv/linux/bits/mman-linux.h [__USE_BSD]: Likewise.
* sysdeps/unix/sysv/linux/bits/sys_errlist.h [__USE_BSD]:
Likewise.
* sysdeps/unix/sysv/linux/bits/termios.h [__USE_BSD]: Likewise.
* sysdeps/unix/sysv/linux/mips/bits/termios.h [__USE_BSD]:
Likewise.
* sysdeps/unix/sysv/linux/netinet/if_ether.h [__USE_BSD]:
Likewise.
* sysdeps/unix/sysv/linux/netinet/if_fddi.h [__USE_BSD]: Likewise.
* sysdeps/unix/sysv/linux/netinet/if_tr.h [__USE_BSD]: Likewise.
* sysdeps/unix/sysv/linux/powerpc/bits/termios.h [__USE_BSD]:
Likewise.
* sysdeps/unix/sysv/linux/sparc/bits/termios.h [__USE_BSD]:
Likewise.
* sysdeps/x86/bits/string.h [__USE_BSD]: Likewise.
* sysvipc/sys/ipc.h [__USE_SVID]: Likewise.
* termios/termios.h [__USE_BSD]: Likewise.
* time/sys/time.h [__USE_BSD]: Likewise.
* time/time.h [__USE_BSD]: Likewise.
[__USE_SVID]: Likewise.

* sysdeps/unix/sysv/linux/hppa/bits/mman.h [__USE_BSD]: Change
condition to [__USE_MISC].

10 years agoRemove reference to subdir_lint.out.
Joseph Myers [Wed, 12 Feb 2014 23:37:13 +0000 (23:37 +0000)]
Remove reference to subdir_lint.out.

The toplevel Makefile's subdir_targets variable refers to
subdir_lint.out.  As far as I can tell, this is not defined or
referenced anywhere else in the tree.  Having .out makefile references
that don't refer to the output from testcases seems confusing; this
patch removes the reference to subdir_lint.out.

Tested x86_64.

* Makefile (subdir_targets): Remove subdir_lint.out.

10 years agoRemove indirection in stdio-common tests dependencies.
Joseph Myers [Wed, 12 Feb 2014 22:19:20 +0000 (22:19 +0000)]
Remove indirection in stdio-common tests dependencies.

stdio-common/Makefile has the tests target depend on two test output
files indirectly through rules do-tst-unbputc and do-tst-printf.  I
see no reason for such an indirection, and everywhere else the tests
just depend on the output files directly, so this patch removes the
indirection.

Tested x86_64.

* stdio-common/Makefile (do-tst-unbputc): Remove target.
(do-tst-printf): Likewise.
(tests): Depend directly on $(objpfx)tst-unbputc.out and
$(objpfx)tst-printf.out.

10 years agoStop io/ftwtest deleting its own output.
Joseph Myers [Wed, 12 Feb 2014 20:52:19 +0000 (20:52 +0000)]
Stop io/ftwtest deleting its own output.

If you rerun "make check" in a tree where some tests have already been
run, it will rerun io/ftwtest-sh because that test uses ftwtest.out,
the same name to which output is redirected, as its internal temporary
file, and then removes it on exit.

Clearly tests should not be removing the files to which their output
is redirected like that.  This patch changes the script to use a
different file as its internal temporary file, so the actual output
referenced in the makefile isn't removed.

Tested x86_64.

* io/ftwtest-sh (testout): Change to $tmp/ftwtest-tmp.out.

10 years agoMake ABI tests generate .out files.
Joseph Myers [Wed, 12 Feb 2014 20:51:13 +0000 (20:51 +0000)]
Make ABI tests generate .out files.

If you rerun "make check" in a tree where some tests have already been
run, it will rerun ABI tests because those do not create an output
file.

This patch changes those tests to create .out files so they only get
rerun if the dependencies (on the ABI baselines and the generated
.symlist files) indicate they should be rerun.

Tested x86_64.

* Makerules (check-abi-%): Change target to
$(objpfx)check-abi-%.out.
(check-abi target): Update dependencies.
(check-abi-pattern variable): Redirect output of diff to $@.
(check-abi variable): Likewise.
* elf/Makefile (check-abi): Update dependencies.

10 years agosoft-fp: support after-rounding tininess detection.
Joseph Myers [Wed, 12 Feb 2014 18:27:12 +0000 (18:27 +0000)]
soft-fp: support after-rounding tininess detection.

IEEE 754-2008 defines two ways in which tiny results can be detected,
"before rounding" (based on the infinite-precision result) and "after
rounding" (based on the result when rounded to normal precision as if
the exponent range were unbounded).  All binary operations on an
architecture must use the same choice of how tininess is detected.

soft-fp has so far implemented only before-rounding tininess
detection.  This patch adds support for after-rounding tininess
detection.  A new macro _FP_TININESS_AFTER_ROUNDING is added that
sfp-machine.h must define (soft-fp is meant to be self-contained so
the existing tininess.h files aren't used here, though the information
going in sfp-machine.h has been taken from them).  The soft-fp macros
dealing with raising underflow exceptions then handle the cases where
the choice matters specially, rounding a copy of the input to the
appropriate precision to see if a value that's tiny before rounding
isn't tiny after rounding.

Tested for mips64 using GCC trunk (which now uses soft-fp on MIPS, so
supporting exceptions and rounding modes for long double where not
previously supported - this is the immediate motivation for doing this
patch now) together with (a) a patch to sysdeps/mips/math-tests.h to
enable exceptions / rounding modes tests for long double for GCC 4.9
and later, and (b) corresponding changes applied to libgcc's soft-fp
and sfp-machine.h files.  In the libgcc context this is also tested on
x86_64 (also an after-rounding architecture) with testcases for
__float128 that I intend to add to the GCC testsuite when updating
soft-fp there.

(To be clear: this patch does not fix any glibc bugs that were
user-visible in past releases, since after-rounding architectures
didn't use soft-fp in any affected case with support for
floating-point exceptions - so there is no corresponding Bugzilla bug.
Rather, it works together with the GCC changes to use soft-fp on MIPS
to allow previously absent long double functionality to work properly,
and allows soft-fp to be used in glibc on after-rounding architectures
in cases where it couldn't previously be used.)

* soft-fp/op-common.h (_FP_DECL): Mark exponent as possibly
unused.
(_FP_PACK_SEMIRAW): Determine tininess based on rounding shifted
value if _FP_TININESS_AFTER_ROUNDING and unrounded value is in
subnormal range.
(_FP_PACK_CANONICAL): Determine tininess based on rounding to
normal precision if _FP_TININESS_AFTER_ROUNDING and unrounded
value has largest subnormal exponent.
* soft-fp/soft-fp.h [FP_NO_EXCEPTIONS]
(_FP_TININESS_AFTER_ROUNDING): Undefine and redefine to 0.
* sysdeps/aarch64/soft-fp/sfp-machine.h
(_FP_TININESS_AFTER_ROUNDING): New macro.
* sysdeps/alpha/soft-fp/sfp-machine.h
(_FP_TININESS_AFTER_ROUNDING): Likewise.
* sysdeps/arm/soft-fp/sfp-machine.h (_FP_TININESS_AFTER_ROUNDING):
Likewise.
* sysdeps/mips/mips64/soft-fp/sfp-machine.h
(_FP_TININESS_AFTER_ROUNDING): Likewise.
* sysdeps/mips/soft-fp/sfp-machine.h
(_FP_TININESS_AFTER_ROUNDING): Likewise.
* sysdeps/powerpc/soft-fp/sfp-machine.h
(_FP_TININESS_AFTER_ROUNDING): Likewise.
* sysdeps/sh/soft-fp/sfp-machine.h (_FP_TININESS_AFTER_ROUNDING):
Likewise.
* sysdeps/sparc/sparc32/soft-fp/sfp-machine.h
(_FP_TININESS_AFTER_ROUNDING): Likewise.
* sysdeps/sparc/sparc64/soft-fp/sfp-machine.h
(_FP_TININESS_AFTER_ROUNDING): Likewise.
* sysdeps/tile/sfp-machine.h (_FP_TININESS_AFTER_ROUNDING):
Likewise.

10 years agoUpdate x86_64 libm-test-ulps on AMD family 21h model 1 (bug 16545).
Dylan Alex Simon [Wed, 12 Feb 2014 15:55:10 +0000 (15:55 +0000)]
Update x86_64 libm-test-ulps on AMD family 21h model 1 (bug 16545).

10 years agoRelocate alpha from ports to libc
Richard Henderson [Wed, 12 Feb 2014 14:54:57 +0000 (06:54 -0800)]
Relocate alpha from ports to libc

Also fixed the following whitespace nits to satisfy the push:

sysdeps/alpha/alphaev6/memset.S:142: space before tab in indent.
sysdeps/alpha/configure:1: new blank line at EOF.
sysdeps/alpha/fpu/e_sqrt.c:126: space before tab in indent.
sysdeps/alpha/preconfigure:1: new blank line at EOF.
sysdeps/unix/sysv/linux/alpha/syscalls.list:1: new blank line at EOF.

10 years agoNEWS: Add 16447 to fixed bugs list.
Andreas Krebbel [Wed, 12 Feb 2014 08:33:43 +0000 (09:33 +0100)]
NEWS: Add 16447 to fixed bugs list.

10 years agoRemove _BSD_SOURCE and _SVID_SOURCE.
Joseph Myers [Tue, 11 Feb 2014 23:40:07 +0000 (23:40 +0000)]
Remove _BSD_SOURCE and _SVID_SOURCE.

This is a minimal patch to remove _BSD_SOURCE and _SVID_SOURCE from
the documented user API, making them into aliases for _DEFAULT_SOURCE
with a #warning given, but keeping most of the features.h logic using
those macros and all the exising __USE_* conditionals, on the basis
that all the consequent cleanups will go in followup patches.

Tested x86_64.

* include/features.h: Update comment documenting feature test
macros.
[_BSD_SOURCE || _SVID_SOURCE]: Give #warning.  Define
_DEFAULT_SOURCE.
* manual/creature.texi (_BSD_SOURCE): Remove documentation.
(_SVID_SOURCE): Likewise.
(_DEFAULT_SOURCE): Update description of default features.
(Feature Test Macros): Don't mention _SVID_SOURCE in conjunction
with _GNU_SOURCE.
* manual/filesys.texi (__ftw_func_t): Do not refer to _BSD_SOURCE.
(S_ISVTX): Likewise.
* manual/math.texi (Mathematical Constants): Likewise.
* manual/signal.texi (Interrupted Primitives): Likewise.
* manual/startup.texi (putenv): Do not refer to _SVID_SOURCE.
* math/test-matherr.c (_SVID_SOURCE): Do not define.
* sysvipc/sys/ipc.h [__USE_SVID && !__USE_XOPEN && __GNUC__ >= 2]:
Don't refer to _SVID_SOURCE in warning text.

10 years agoRegenerate x86_64 ulps.
Joseph Myers [Tue, 11 Feb 2014 23:15:36 +0000 (23:15 +0000)]
Regenerate x86_64 ulps.

10 years agoMerge MIPS dl-lookup.c into generic file.
Joseph Myers [Tue, 11 Feb 2014 22:33:07 +0000 (22:33 +0000)]
Merge MIPS dl-lookup.c into generic file.

MIPS has its own version of dl-lookup.c to deal with differences
between undefined symbol semantics in the PIC and non-PIC ABIs.  This
is often liable to get out of date with respect to the generic file
(for example, the recent __builtin_expect changes didn't cover ports,
and it's not obvious to anyone changing dl-lookup.c that there would
be architecture-specific versions).

This patch adds a macro that dl-machine.h can define that is used in
the appropriate place in dl-lookup.c, so that MIPS no longer needs its
own version of that file.

Tested for mips64 that the only changes to disassembly of installed
shared libraries appear to be ld.so changes attributable to different
line numbers and paths in assertions.

* elf/dl-lookup.c (ELF_MACHINE_SYM_NO_MATCH): Define if not
already defined.
(do_lookup_x): Use ELF_MACHINE_SYM_NO_MATCH.
* sysdeps/mips/dl-lookup.c: Remove.
* sysdeps/mips/dl-machine.h (ELF_MACHINE_SYM_NO_MATCH): New macro.

10 years agoBZ #16447: Fix ldbl-128 expl implementation.
Andreas Krebbel [Tue, 11 Feb 2014 12:47:47 +0000 (13:47 +0100)]
BZ #16447: Fix ldbl-128 expl implementation.

Extend the range of numbers handled via unsafe mode.
Add expl testcase and regenerate ULPs for s390.

10 years agoRemove unused variable from stdlib/setenv.c
Ondřej Bílka [Tue, 11 Feb 2014 11:43:33 +0000 (12:43 +0100)]
Remove unused variable from stdlib/setenv.c

10 years agoRelocate AArch64 from ports to libc.
Marcus Shawcroft [Mon, 10 Feb 2014 15:36:16 +0000 (15:36 +0000)]
Relocate AArch64 from ports to libc.

This patch moves the AArch64 port to the main sysdeps hierarchy.  The
move is essentially:

  git mv ports/sysdeps/aarch64 sysdeps/aarch64
  git mv ports/sysdeps/unix/sysv/linux/aarch64 sysdeps/unix/sysv/linux/aarch64

The README is updated and I've updated ChangeLog.aarch64 along the
lines of the ARM move.  The AArch64 build has been tested to confirm
that there were no changes in objdump -dr output or the shared
objects.

10 years agomanual/probes.texi: Use "triggered" instead of "hit"
Will Newton [Tue, 11 Feb 2014 10:11:32 +0000 (10:11 +0000)]
manual/probes.texi: Use "triggered" instead of "hit"

Use the term "triggered" instead of "hit" when talking about probe
points.

ChangeLog:

2014-02-11  Will Newton  <will.newton@linaro.org>

* manual/probes.texi (Mathematical Function Probes): Use
"triggered" instead of "hit".

10 years agomanual/probes.texi: Add documentation of setjmp/longjmp probes
Will Newton [Tue, 28 Jan 2014 14:29:35 +0000 (14:29 +0000)]
manual/probes.texi: Add documentation of setjmp/longjmp probes

Add some documentation of the setjmp, longjmp and longjmp_target
Systemtap probe points.

ChangeLog:

2014-02-11  Will Newton  <will.newton@linaro.org>

* manual/probes.texi (Internal Probes): Add documentation
of setjmp, longjmp and longjmp_target probes.

10 years agoinclude/stap-probe.h: Add comment about SystemTap argument format
Will Newton [Tue, 28 Jan 2014 14:26:38 +0000 (14:26 +0000)]
include/stap-probe.h: Add comment about SystemTap argument format

Add a comment pointing to the SystemTap wiki page that documents the
format of the arguments. Also add a pointer to the SystemTap and
gdb sources which seem to be the best place to get the architecture
specific details.

ChangeLog:

2014-02-11  Will Newton  <will.newton@linaro.org>

* include/stap-probe.h: Add comment about probe argument
format.

10 years agomalloc/mtrace.c: Cosmetic cleanup.
Will Newton [Thu, 6 Feb 2014 08:54:20 +0000 (08:54 +0000)]
malloc/mtrace.c: Cosmetic cleanup.

Remove an unused #define and use ANSI prototypes.

Generated code identical on x86_64-unknown-linux-gnu.

ChangeLog:

2014-02-11  Will Newton  <will.newton@linaro.org>

* malloc/mtrace.c (attribute_hidden): Remove unused macro
definition.  (tr_where, tr_freehook, tr_mallochook,
tr_reallochook, tr_memalignhook): Use ANSI protoype.

10 years agoFix tst-sscanf and tst-swscanf on 64-bit.
David S. Miller [Thu, 6 Feb 2014 06:13:13 +0000 (22:13 -0800)]
Fix tst-sscanf and tst-swscanf on 64-bit.

* stdio-common/tst-sscanf.c (main): Use 'long' for 'dummy' when
processing int_tests.

10 years agoFix whitespace in MIPS files to allow move.
Joseph Myers [Mon, 10 Feb 2014 23:31:30 +0000 (23:31 +0000)]
Fix whitespace in MIPS files to allow move.

10 years agoMove mips from ports to libc.
Joseph Myers [Mon, 10 Feb 2014 23:30:21 +0000 (23:30 +0000)]
Move mips from ports to libc.

I've moved the MIPS port from ports to the main sysdeps hierarchy.
Beyond the README update, the move of the files was simply

git mv ports/sysdeps/mips sysdeps/mips
git mv ports/sysdeps/unix/mips sysdeps/unix/mips
git mv ports/sysdeps/unix/sysv/linux/mips sysdeps/unix/sysv/linux/mips

and in addition to the ChangeLog entries here, I put a note at the top
of ports/ChangeLog.mips similar to those in other files.

Tested that disassembly of installed shared libraries for mips is the
same before and after this patch (except for ld.so where paths in
assertions are involved, as for arm).

* sysdeps/mips: Move directory from ports/sysdeps/mips.
* sysdeps/unix/mips: Move directory from ports/sysdeps/unix/mips.
* sysdeps/unix/sysv/linux/mips: Move directory from
ports/sysdeps/unix/sysv/linux/mips.
* README: Update listing for mips-*-linux-gnu and
mips64-*-linux-gnu.

* sysdeps/mips: Move directory to ../sysdeps/mips.
* sysdeps/unix/mips: Move directory to ../sysdeps/unix/mips.
* sysdeps/unix/sysv/linux/mips: Move directory to
../sysdeps/unix/sysv/linux/mips.

10 years agoMove shared umount.c from hppa to mips.
Joseph Myers [Mon, 10 Feb 2014 22:25:42 +0000 (22:25 +0000)]
Move shared umount.c from hppa to mips.

This patch prepares for moving mips from ports to libc by reversing
the #include ordering between mips and hppa.

Reversing #include ordering for umount.c is the conservative change in
preparation for moving the mips port.  In fact, it appears there are
several redundant umount.c files all implementing umount in terms of
the umount2 syscall; I've filed bug 16552 for eliminating that
redundancy properly.

Tested that disassembly of shared libraries for mips (o32, n32, n64)
is the same before and after this patch.

* sysdeps/unix/sysv/linux/hppa/umount.c: Move to
sysdeps/unix/sysv/linux/mips/mips64/umount.c and #include that
file.

* sysdeps/unix/sysv/linux/mips/mips64/umount.c: Move from
sysdeps/unix/sysv/linux/hppa/umount.c instead of #include of that
file.

10 years agoWhitespace fixes
Andreas Schwab [Mon, 10 Feb 2014 19:24:03 +0000 (20:24 +0100)]
Whitespace fixes

10 years agoMove m68k from ports to libc
Andreas Schwab [Mon, 10 Feb 2014 19:05:01 +0000 (20:05 +0100)]
Move m68k from ports to libc

10 years agoRemove mips dependency on alpha.
Joseph Myers [Mon, 10 Feb 2014 18:15:10 +0000 (18:15 +0000)]
Remove mips dependency on alpha.

This patch removes an unnecessary dependency of the mips port on alpha
by including a powerpc file directly where previously the mips file
included the alpha one which then included the powerpc one.

* sysdeps/unix/sysv/linux/mips/ipc_priv.h: Directly include
sysdeps/unix/sysv/linux/powerpc/ipc_priv.h instead of via
sysdeps/unix/sysv/linux/alpha/ipc_priv.h.

10 years agoMove tilegx, tilepro, and linux-generic from ports to libc.
Chris Metcalf [Mon, 10 Feb 2014 15:54:47 +0000 (10:54 -0500)]
Move tilegx, tilepro, and linux-generic from ports to libc.

I've moved the TILE-Gx and TILEPro ports to the main sysdeps hierarchy,
along with the linux-generic ports infrastructure.  Beyond the README
update, the move was just

    git mv ports/sysdeps/tile sysdeps/tile
    git mv ports/sysdeps/unix/sysv/linux/tile \
      sysdeps/unix/sysv/linux/tile
    git mv ports/sysdeps/unix/sysv/linux/generic \
      sysdeps/unix/sysv/linux/generic

I updated the relevant ChangeLogs along the lines of the ARM move
in commit c6bfe5c4d75 and tested the 64-bit tilegx build to confirm that
there were no changes in "objdump -dr" output in the shared objects.

10 years agoUse glibc_likely instead __builtin_expect.
Ondřej Bílka [Mon, 10 Feb 2014 13:45:42 +0000 (14:45 +0100)]
Use glibc_likely instead __builtin_expect.

10 years agoFix previous commit.
Ondřej Bílka [Mon, 10 Feb 2014 13:22:31 +0000 (14:22 +0100)]
Fix previous commit.

10 years agoDeduplicate setenv.
Ondřej Bílka [Mon, 10 Feb 2014 11:50:46 +0000 (12:50 +0100)]
Deduplicate setenv.

Setenv contained a code path that was redundant as it could be handled
in general case.

10 years agoRemove THREAD_STATS.
Ondřej Bílka [Mon, 10 Feb 2014 11:25:04 +0000 (12:25 +0100)]
Remove THREAD_STATS.

A THREAD_STATS macro duplicates gathering information that could be
obtained by systemtap probes instead.

10 years agoshm_open: sync with logic in sem_open
Mike Frysinger [Thu, 23 Jan 2014 06:16:14 +0000 (01:16 -0500)]
shm_open: sync with logic in sem_open

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
10 years agosem_open: allow RAMFS_MAGIC for mount points
Mike Frysinger [Thu, 23 Jan 2014 06:15:14 +0000 (01:15 -0500)]
sem_open: allow RAMFS_MAGIC for mount points

A ramfs mount supports the same requirements as a tmpfs, so accept that
as a magic type too.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
10 years agomanual: setjmp: fix typos/grammar
Mike Frysinger [Tue, 31 Dec 2013 09:43:43 +0000 (04:43 -0500)]
manual: setjmp: fix typos/grammar

Should hopefully be all obvious stuff.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
10 years agotst-backtrace4: expand output even on failures
Mike Frysinger [Mon, 30 Dec 2013 10:31:19 +0000 (10:31 +0000)]
tst-backtrace4: expand output even on failures

When debugging failures in this test, it's helpful to see as much output
as possible.  So rather than returning immediately, let the code run as
far as it can.  We still mark failures as soon as they happen.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
10 years agotst-longjmp_chk3: new test for checking sigaltstack edge cases
Mike Frysinger [Sun, 29 Dec 2013 23:15:03 +0000 (23:15 +0000)]
tst-longjmp_chk3: new test for checking sigaltstack edge cases

Make sure the longjmp checking logic catches stacks that are slightly
outside of a valid alternative signal stack.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
10 years agotests: unify fortification handler logic
Mike Frysinger [Sun, 29 Dec 2013 23:13:20 +0000 (23:13 +0000)]
tests: unify fortification handler logic

We have multiple tests that copy & paste the same logic for disabling the
fortification output.  Let's unify this in the test-skeleton instead.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
10 years agotst-longjmp_chk: add comments and convert to test-skeleton
Mike Frysinger [Sun, 29 Dec 2013 22:19:45 +0000 (22:19 +0000)]
tst-longjmp_chk: add comments and convert to test-skeleton

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
10 years agolinux: bits/in.h: sync with latest kernel headers
Mike Frysinger [Sat, 8 Feb 2014 11:57:48 +0000 (06:57 -0500)]
linux: bits/in.h: sync with latest kernel headers

Forgot to include ChangeLog update.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
10 years agolinux: bits/in.h: sync with latest kernel headers
Mike Frysinger [Thu, 30 Jan 2014 23:56:56 +0000 (18:56 -0500)]
linux: bits/in.h: sync with latest kernel headers

This pulls in the latest defines for {g,s}etsockopt.

Reviewed-by: Carlos O'Donell <carlos@redhat.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
10 years agotzselect: stop requiring ksh
Mike Frysinger [Sat, 25 Jan 2014 05:16:49 +0000 (00:16 -0500)]
tzselect: stop requiring ksh

This script works fine under bash (which we already require), so drop
the legacy ksh munging.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
10 years agolinux_fsinfo.h: sync with current linux/magic.h
Mike Frysinger [Thu, 23 Jan 2014 06:06:38 +0000 (01:06 -0500)]
linux_fsinfo.h: sync with current linux/magic.h

Import the current list of defines available in the kernel headers.

Reviewed-by: Carlos O'Donell <carlos@redhat.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
10 years agoFix whitespace in ARM files to allow move.
Joseph Myers [Sat, 8 Feb 2014 01:52:38 +0000 (01:52 +0000)]
Fix whitespace in ARM files to allow move.

10 years agoMove arm from ports to libc.
Joseph Myers [Sat, 8 Feb 2014 01:49:39 +0000 (01:49 +0000)]
Move arm from ports to libc.

I've moved the ARM port from ports to the main sysdeps hierarchy.
Beyond the README update, the move of the files was simply

git mv ports/sysdeps/arm sysdeps/arm
git mv ports/sysdeps/unix/arm sysdeps/unix/arm
git mv ports/sysdeps/unix/sysv/linux/arm sysdeps/unix/sysv/linux/arm

and in addition to the ChangeLog entries here, I put a note at the top
of ports/ChangeLog.arm similar to that at the top of
ChangeLog.powerpc.  There is deliberately no NEWS change, as I think
it makes the most sense to put in a general note above all ports
having moved if we can achieve that for 2.20.

Tested that disassembly of installed shared libraries for arm is the
same before and after this patch, except for data (not instructions)
in ld.so (there are assertions in sysdeps/arm/dl-machine.h, and the
path by which that file is found, and so by which it appears in the
assertion message, changes as a result of the move).

* sysdeps/arm: Move directory from ports/sysdeps/arm.
* sysdeps/unix/arm: Move directory from ports/sysdeps/unix/arm.
* sysdeps/unix/sysv/linux/arm: Move directory from
ports/sysdeps/unix/sysv/linux/arm.
* README: Update listing for arm-*-linux-gnueabi.

ports/ChangeLog.arm:
* sysdeps/arm: Move directory to ../sysdeps/arm.
* sysdeps/unix/arm: Move directory to ../sysdeps.arm.
* sysdeps/unix/sysv/linux/arm: Move directory to
../sysdeps/unix/sysv/linux/arm.

10 years agoMove shared sysdeps files from alpha to arm.
Joseph Myers [Sat, 8 Feb 2014 01:17:28 +0000 (01:17 +0000)]
Move shared sysdeps files from alpha to arm.

This patch prepares for moving arm from ports to libc (see overall
plan at <https://sourceware.org/ml/libc-alpha/2014-01/msg00373.html>
and discussion of ordering starting at
<https://sourceware.org/ml/libc-ports/2014-01/msg00071.html>) by
reversing the #include order between arm and alpha, so that arm can
move early as a test for the general pattern of moving architectures.
MicroBlaze files (that used the same alpha files) were made to include
the files directly from their new locations rather than indirecting.

Tested that disassembly of installed shared libraries for arm is the
same before and after this patch.

* sysdeps/unix/sysv/linux/alpha/msgctl.c: Move to
sysdeps/unix/sysv/linux/arm/msgctl.c and #include that file.
* sysdeps/unix/sysv/linux/alpha/semctl.c: Move to
sysdeps/unix/sysv/linux/arm/semctl.c and #include that file.
* sysdeps/unix/sysv/linux/alpha/shmctl.c: Move to
sysdeps/unix/sysv/linux/arm/shmctl.c and #include that file.

* sysdeps/unix/sysv/linux/arm/msgctl.c: Move from
sysdeps/unix/sysv/linux/alpha/msgctl.c instead of #include of that
file.
* sysdeps/unix/sysv/linux/arm/semctl.c: Move from
sysdeps/unix/sysv/linux/alpha/semctl.c instead of #include of that
file.
* sysdeps/unix/sysv/linux/arm/shmctl.c: Move from
sysdeps/unix/sysv/linux/alpha/shmctl.c instead of #include of that
file.

* sysdeps/unix/sysv/linux/microblaze/msgctl.c: Include
sysdeps/unix/sysv/linux/arm/msgctl.c instead of
sysdeps/unix/sysv/linux/alpha/msgctl.c.
* sysdeps/unix/sysv/linux/microblaze/semctl.c: Include
sysdeps/unix/sysv/linux/arm/semctl.c instead of
sysdeps/unix/sysv/linux/alpha/semctl.c.
* sysdeps/unix/sysv/linux/microblaze/shmctl.c: Include
sysdeps/unix/sysv/linux/arm/shmctl.c instead of
sysdeps/unix/sysv/linux/alpha/shmctl.c.

10 years agoRemove am33 port.
Joseph Myers [Sat, 8 Feb 2014 00:16:57 +0000 (00:16 +0000)]
Remove am33 port.

This patch removes the am33 port (no other port #includes any files
from it), as previously discussed (see
<https://sourceware.org/ml/libc-ports/2014-01/msg00046.html>).

10 years agoAvoid comma operator warnings.
Roland McGrath [Fri, 7 Feb 2014 23:26:28 +0000 (15:26 -0800)]
Avoid comma operator warnings.

10 years agoOpen development for 2.20 glibc-2.19.90
Allan McRae [Fri, 7 Feb 2014 22:10:29 +0000 (08:10 +1000)]
Open development for 2.20

10 years agoUpdate version.h and include/features.h for 2.19 release glibc-2.19
Allan McRae [Fri, 7 Feb 2014 09:04:38 +0000 (19:04 +1000)]
Update version.h and include/features.h for 2.19 release

10 years agoBug 15968 was fixed by commit 0748546f660d27a2ad29fa6174d456e2f6490758.
Joseph Myers [Fri, 7 Feb 2014 02:47:37 +0000 (02:47 +0000)]
Bug 15968 was fixed by commit 0748546f660d27a2ad29fa6174d456e2f6490758.

10 years agoBug 6981 was fixed by commit 1484e65736f4cab27e5051e0f06be8470e69af82.
Joseph Myers [Fri, 7 Feb 2014 02:36:28 +0000 (02:36 +0000)]
Bug 6981 was fixed by commit 1484e65736f4cab27e5051e0f06be8470e69af82.

10 years agoBZ #16529: Fix pedantic warning with netinet/in.h.
Carlos O'Donell [Thu, 6 Feb 2014 16:12:48 +0000 (11:12 -0500)]
BZ #16529: Fix pedantic warning with netinet/in.h.

When compiling with pedantic the following warning is seen:

gcc -Wall -pedantic -O0 -o test test.c
In file included from test.c:3:0:
/path/inet/netinet/in.h:111:21: warning: comma at end of \
enumerator list [-Wpedantic]
     IPPROTO_MH = 135,      /* IPv6 mobility header.  */
                     ^

It is valid C99 to have a trailing comma after the last item in
an enumeration. However it is not valid C90. If possible glibc
attempts to keep all headers C90 + long long without requiring
C99 features. In this case it's easy to fix the headers and it
removes the warning seem with -pedantic.

10 years agoUpdate contrib.texi
Siddhesh Poyarekar [Thu, 6 Feb 2014 05:31:35 +0000 (11:01 +0530)]
Update contrib.texi

Update blurb for Roland, Alex, Ryan, Joseph and Carlos.

10 years agoAdd missing ChangeLog from yesterday's sparc ULPs update.
David S. Miller [Thu, 6 Feb 2014 03:41:27 +0000 (19:41 -0800)]
Add missing ChangeLog from yesterday's sparc ULPs update.

10 years agoRevert "microblaze BZ #15705: Define MMAP2_PAGE_SHIFT"
David Holsgrove [Wed, 5 Feb 2014 23:57:56 +0000 (09:57 +1000)]
Revert "microblaze BZ #15705: Define MMAP2_PAGE_SHIFT"

This reverts commit 79b846ecc0275ceb02b5e2d3b03a34d7c43e6bf9.

Conflicts:

NEWS
ports/ChangeLog.microblaze

Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
10 years agoRevert "BZ 16133 has been fixed (async signal safe TLS)."
Allan McRae [Wed, 5 Feb 2014 11:22:19 +0000 (21:22 +1000)]
Revert "BZ 16133 has been fixed (async signal safe TLS)."

This reverts commit a494421f5268df333c589d71104a39bb6a9cff19.

Conflicts:
NEWS

10 years agoRevert "Patch [1/4] async-signal safe TLS."
Allan McRae [Wed, 5 Feb 2014 11:21:09 +0000 (21:21 +1000)]
Revert "Patch [1/4] async-signal safe TLS."

This reverts commit 69a17d9d245dc3551792e95e1823cc2d877592f3.

10 years agoRevert "Patch 3/4 of the effort to make TLS access async-signal-safe."
Allan McRae [Wed, 5 Feb 2014 11:21:00 +0000 (21:21 +1000)]
Revert "Patch 3/4 of the effort to make TLS access async-signal-safe."

This reverts commit 35e8f7ab94c910659de9d507aa0f3e1f8973d914.

10 years agoRevert "Patch 2/4 of the effort to make TLS access async-signal-safe."
Allan McRae [Wed, 5 Feb 2014 11:19:51 +0000 (21:19 +1000)]
Revert "Patch 2/4 of the effort to make TLS access async-signal-safe."

This reverts commit 1f33d36a8a9e78c81bed59b47f260723f56bb7e6.

Conflicts:
elf/dl-misc.c

Also reverts the follow commits that were bug fixes to new code introduced
in the above commit:
063b2acbce83549df82ab30f5af573f1b9c4bd19
b627fdd58554bc36bd344dc40a8787c4b7a9cc46
e81c64bba13d2d8b2a4e53254a82cc80f27c8497

10 years agoRevert "Async-signal safe TLS."
Allan McRae [Wed, 5 Feb 2014 11:14:59 +0000 (21:14 +1000)]
Revert "Async-signal safe TLS."

This reverts commit 7f507ee17aee720fa423fa38502bc3caa0dd03d7.

Conflicts:
ChangeLog
nptl/tst-tls7.c
nptl/tst-tls7mod.c

10 years agoFix comment in kernel-features.h.
Carlos O'Donell [Wed, 5 Feb 2014 15:33:42 +0000 (10:33 -0500)]
Fix comment in kernel-features.h.

Use "was" not "were."

10 years agoFix tst-setgetname for Linux kernels < 2.6.33.
Carlos O'Donell [Wed, 5 Feb 2014 15:10:34 +0000 (10:10 -0500)]
Fix tst-setgetname for Linux kernels < 2.6.33.

Support for /proc/self/task/$tid/comm as added in Linux 2.6.33,
therefore since the test tst-setgetname relies on this functionality
to operate we must skip the test in kernels < 2.6.33. We wrap the
checks with __ASSUME_PROC_PID_TASK_COMM such that in the future when
we move arch_minimum_kernel to 2.6.33 we can remove this code.

10 years agomicroblaze: Update libm-test-ulps
David Holsgrove [Mon, 3 Feb 2014 23:30:34 +0000 (09:30 +1000)]
microblaze: Update libm-test-ulps

Update libm-test-ulps for microblaze, and remove unneeded copy
libm-test-ulps_new.

ports/ChangeLog.microblaze

 2014-02-04  David Holsgrove <david.holsgrove@xilinx.com>

   * sysdeps/microblaze/libm-test-ulps: Update.
   * sysdeps/microblaze/libm-test-ulps_new: Deleted redundant file.

Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
10 years agomicroblaze BZ #15705: Define MMAP2_PAGE_SHIFT
David Holsgrove [Mon, 3 Feb 2014 23:26:15 +0000 (09:26 +1000)]
microblaze BZ #15705: Define MMAP2_PAGE_SHIFT

Define MMAP2_PAGE_SHIFT to -1 for microblaze so the correct shift
for the syscall is determined dynamically using getpagesize

ports/ChangeLog.microblaze

 2014-02-04  David Holsgrove <david.holsgrove@xilinx.com>

   * sysdeps/unix/sysv/linux/microblaze/mmap64.c: New file.

Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
10 years agomicroblaze: Use <fenv.h> fallback functions
David Holsgrove [Mon, 3 Feb 2014 23:22:42 +0000 (09:22 +1000)]
microblaze: Use <fenv.h> fallback functions

Delete redundant fegetround.c and fesetround.c for microblaze
and use the fallback functions instead.

ports/ChangeLog.microblaze

 2014-02-04  David Holsgrove <david.holsgrove@xilinx.com>

    * sysdeps/microblaze/fegetround.c: Delete redundant file.
    * sysdeps/microblaze/fesetround.c: Likewise.

Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
10 years agoUpdate NEWS for #16398
Siddhesh Poyarekar [Wed, 5 Feb 2014 07:20:22 +0000 (12:50 +0530)]
Update NEWS for #16398

10 years agoFix infinite loop in ftell when writing wide char data (BZ #16398)
Siddhesh Poyarekar [Wed, 5 Feb 2014 07:19:00 +0000 (12:49 +0530)]
Fix infinite loop in ftell when writing wide char data (BZ #16398)

ftell tries to avoid flushing the buffer when it is in write mode by
converting the wide char data and placing it into the binary buffer.
If the output buffer space is full and there is data to write, the
code reverts to flushing the buffer.  This breaks when there is space
in the buffer but it is not enough to convert the next character in
the wide data buffer, due to which __codecvt_do_out returns a
__codecvt_partial status.  In this case, ftell keeps running in an
infinite loop.

The fix here is to detect the __codecvt_partial status in addition to
checking if the buffer is full.  I have also added a test case that
demonstrates the infinite loop.

10 years agoUpdate contrib.texi
Siddhesh Poyarekar [Wed, 5 Feb 2014 06:52:58 +0000 (12:22 +0530)]
Update contrib.texi

This may not be a complete list of new contributors added to the list,
so I'd love it if more people look at contributions and suggest
additions.

10 years agoAdjust sparc ULPs.
David S. Miller [Wed, 5 Feb 2014 04:54:58 +0000 (20:54 -0800)]
Adjust sparc ULPs.

* sysdeps/sparc/fpu/libm-test-ulps: Update for some 64-bit differences from
32-bit.

10 years agoPowerPC: powerpc64le abilist for 2.17
Adhemerval Zanella [Tue, 4 Feb 2014 11:49:34 +0000 (09:49 -0200)]
PowerPC: powerpc64le abilist for 2.17

This patch is the abifiles for powerpc64le based on GLIBC 2.17.

10 years agoPowerPC: Change powerpc64le start ABI to 2.17.
Adhemerval Zanella [Tue, 4 Feb 2014 11:49:08 +0000 (09:49 -0200)]
PowerPC: Change powerpc64le start ABI to 2.17.

10 years agoabilist-pattern configurability
Adhemerval Zanella [Tue, 4 Feb 2014 11:48:47 +0000 (09:48 -0200)]
abilist-pattern configurability

This patch creates implicit rules to match the abifiles if
abilist-pattern is defined in the architecture Makefile. This allows
machine specific Makefiles to define different abifiles names
(for instance *-le.abilist for powerpc64le).

10 years agoUpdate x86_64 ULPs (AMD family 21, model 2)
Eric Wong [Tue, 4 Feb 2014 00:33:57 +0000 (10:33 +1000)]
Update x86_64 ULPs (AMD family 21, model 2)

Tested on an AMD FX-8320 CPU

10 years agoUpdate x86_64 ULPs (AMD Family 10h)
Eric Wong [Mon, 3 Feb 2014 23:41:18 +0000 (09:41 +1000)]
Update x86_64 ULPs (AMD Family 10h)

10 years agoRemove excessive redundant ChangeLog header lines.
Roland McGrath [Mon, 3 Feb 2014 22:37:53 +0000 (14:37 -0800)]
Remove excessive redundant ChangeLog header lines.

10 years ago[hppa] Regenerate libm-test-ulps.
Carlos O'Donell [Mon, 3 Feb 2014 21:21:13 +0000 (16:21 -0500)]
[hppa] Regenerate libm-test-ulps.

Regenerate libm-test-ulps from scratch.

10 years agoFix manual build warnings.
Carlos O'Donell [Mon, 3 Feb 2014 17:43:25 +0000 (12:43 -0500)]
Fix manual build warnings.

The mixed use of automatic and manual node next, previous,
and top specification causes warning when building the manual.
This fix explicitly specifies the node's next, previous and top
values to fix the warning.

10 years ago* manual/macros.texi: Add comments before MTASC-safety macros.
Alexandre Oliva [Mon, 3 Feb 2014 19:26:08 +0000 (17:26 -0200)]
* manual/macros.texi: Add comments before MTASC-safety macros.

10 years ago* manual/users.texi: Document MTASC-safety properties.
Alexandre Oliva [Mon, 3 Feb 2014 19:25:38 +0000 (17:25 -0200)]
* manual/users.texi: Document MTASC-safety properties.

10 years ago* manual/threads.texi (pthread_key_create, pthread_key_delete,
Alexandre Oliva [Mon, 3 Feb 2014 19:17:59 +0000 (17:17 -0200)]
* manual/threads.texi (pthread_key_create, pthread_key_delete,
pthread_getspecific, pthread_setspecific): Format with
@deftypefun, and add @safety note.
* manual/signal.texi: Move comments that analyze the above
functions to their home place.

10 years agoUpdate Slovenian translations
Allan McRae [Mon, 3 Feb 2014 00:12:05 +0000 (10:12 +1000)]
Update Slovenian translations

This page took 0.098359 seconds and 5 git commands to generate.