Adhemerval Zanella [Thu, 12 Jun 2014 02:22:49 +0000 (21:22 -0500)]
Update powerpc-fpu ULPs.
Joseph Myers [Wed, 11 Jun 2014 23:16:23 +0000 (23:16 +0000)]
conformtest: clean up POSIX expectations for sys/mman.h, sys/stat.h, sys/types.h.
Continuing the series of patches to clean up conformtest expectations
for "POSIX" (1995/6) based on review of the expectations against the
standard, this patch cleans up expectations for sys/mman.h, sys/stat.h
and sys/types.h. Tested x86_64; no new XFAILs needed.
* conform/data/sys/mman.h-data [POSIX] (size_t): Do not require
type.
[POSIX] (off_t): Likewise.
* conform/data/sys/stat.h-data (S_IRGRP): Require constant.
[POSIX] (S_ISBLK): Require macro.
[POSIX] (S_ISCHR): Likewise.
[POSIX] (S_ISDIR): Likewise.
[POSIX] (S_ISFIFO): Likewise.
[POSIX] (S_ISREG): Likewise.
[POSIX || XPG3 || XPG4 || UNIX98] (S_TYPEISTMO): Do not list
optional-macro.
* conform/data/sys/types.h-data [POSIX] (blkcnt_t): Do not require
type.
[POSIX] (time_t): Likewise.
[POSIX] (timer_t): Likewise.
Florian Weimer [Wed, 11 Jun 2014 21:12:52 +0000 (23:12 +0200)]
posix_spawn_file_actions_addopen needs to copy the path argument (BZ 17048)
POSIX requires that we make a copy, so we allocate a new string
and free it in posix_spawn_file_actions_destroy.
Reported by David Reid, Alex Gaynor, and Glyph Lefkowitz. This bug
may have security implications.
Chris Metcalf [Wed, 11 Jun 2014 19:52:53 +0000 (15:52 -0400)]
tile: Consolidate NPTL/non versions of vfork
Roland McGrath [Mon, 9 Jun 2014 20:45:09 +0000 (13:45 -0700)]
Tile: Define TLS_DEFINE_INIT_TP
Roland McGrath [Wed, 11 Jun 2014 19:23:56 +0000 (12:23 -0700)]
S390: Define TLS_DEFINE_INIT_TP
Roland McGrath [Wed, 11 Jun 2014 19:23:35 +0000 (12:23 -0700)]
Alpha: Define TLS_DEFINE_INIT_TP
Roland McGrath [Wed, 11 Jun 2014 19:23:17 +0000 (12:23 -0700)]
PowerPC: Define TLS_DEFINE_INIT_TP
Roland McGrath [Wed, 11 Jun 2014 19:23:01 +0000 (12:23 -0700)]
AArch64: Define TLS_DEFINE_INIT_TP
Vidya Ranganathan [Fri, 6 Jun 2014 12:56:07 +0000 (07:56 -0500)]
PowerPC: Optimized strcmp for PPC64/POWER7
Optimization is achieved on 8 byte aligned strings with double word
comparison using cmpb instruction. On unaligned strings loop unrolling
is applied for Power7 gain.
Siddhesh Poyarekar [Wed, 11 Jun 2014 08:46:29 +0000 (14:16 +0530)]
Validate bench.out against a JSON schema
This patch adds a JSON schema for the benchmark output file and also
adds a script that validates the generated output against the schema.
Adhemerval Zanella [Tue, 10 Jun 2014 19:13:12 +0000 (14:13 -0500)]
Fix ChangeLog indentation.
Chris Metcalf [Tue, 10 Jun 2014 17:45:36 +0000 (13:45 -0400)]
tile: move sysdeps/unix/sysv/linux/tile nptl files.
Wilco [Tue, 10 Jun 2014 14:50:25 +0000 (15:50 +0100)]
Add FE_NOMASK_ENV return value test.
Joseph Myers [Tue, 10 Jun 2014 12:07:15 +0000 (12:07 +0000)]
Fix log2 (1) in round-downward mode (bug 17042).
As with other issues of this kind, bug 17042 is log2 (1) wrongly
returning -0 instead of +0 in round-downward mode because of
implementations effectively in terms of log1p (x - 1). This patch
fixes the issue in the same way used for log and log10.
Tested x86_64 and x86 and ulps updated accordingly. Also tested for
mips64 to confirm a fix was needed for ldbl-128 and to validate that
fix (also applied to ldbl-128ibm since that version of log2l is
essentially the same as the ldbl-128 one).
[BZ #17042]
* sysdeps/i386/fpu/e_log2.S (__ieee754_log2): Take absolete value
when x - 1 is zero.
* sysdeps/i386/fpu/e_log2f.S (__ieee754_log2f): Likewise.
* sysdeps/i386/fpu/e_log2l.S (__ieee754_log2l): Likewise.
* sysdeps/ieee754/ldbl-128/e_log2l.c (__ieee754_log2l): Return
0.0L for an argument of 1.0L.
* sysdeps/ieee754/ldbl-128ibm/e_log2l.c (__ieee754_log2l):
Likewise.
* sysdeps/x86_64/fpu/e_log2l.S (__ieee754_log2l): Take absolute
value when x - 1 is zero.
* math/libm-test.inc (log2_test): Use ALL_RM_TEST.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
Bernard Ogden [Tue, 10 Jun 2014 03:22:20 +0000 (23:22 -0400)]
hppa: Remove lowlevellock.c.
The hppa port has no need of a custom lowlevellock.c, it should
use the generic version which is updated and correct. This
similarly fixes bug 15119 for hppa.
Roland McGrath [Mon, 9 Jun 2014 20:09:52 +0000 (13:09 -0700)]
SH: Define TLS_DEFINE_INIT_TP
Roland McGrath [Mon, 9 Jun 2014 22:54:19 +0000 (15:54 -0700)]
m68k: Define TLS_DEFINE_INIT_TP
Roland McGrath [Mon, 9 Jun 2014 21:04:45 +0000 (14:04 -0700)]
HPPA: Define TLS_DEFINE_INIT_TP
Roland McGrath [Mon, 9 Jun 2014 20:47:38 +0000 (13:47 -0700)]
MIPS: Define TLS_DEFINE_INIT_TP
Roland McGrath [Mon, 9 Jun 2014 19:53:16 +0000 (12:53 -0700)]
ARM: Define TLS_DEFINE_INIT_TP
Roland McGrath [Mon, 9 Jun 2014 19:52:55 +0000 (12:52 -0700)]
Start cleaning up TLS initial value for pthread_create.
Joseph Myers [Mon, 9 Jun 2014 18:19:44 +0000 (18:19 +0000)]
Remove special makefile rules / .sh files for some localedata tests.
The localedata tests tst-mbswcs and tst-wctype use custom .sh scripts
and makefile rules, but have no need to do so. tst-mbswcs.sh runs a
series of test programs in succession (and nothing special is done
with the output of the programs); this patch makes the separate tests
into ordinary tests run directly by the usual makefile rules.
tst-wctype.sh runs one test with an environment variable and input
redirection; generic makefile rules also cover that, so again this
patch converts it into an ordinary test. (The makefile dependency of
tst-wctype.out on sort-test.out that this patch removes appears to be
a cut-and-paste error; the test does not appear to use that file.
There is already a generic dependency of ordinary tests in this
directory on $(addprefix $(objpfx),$(CTYPE_FILES)).)
Tested x86_64.
localedata/ChangeLog:
* Makefile (test-srcs): Remove tst-mbswcs1, tst-mbswcs2,
tst-mbswcs3, tst-mbswcs4, tst-mbswcs5 and tst-wctype.
(generated): Remove tst-mbswcs.out.
(tests): Add tst-mbswcs1, tst-mbswcs2, tst-mbswcs3, tst-mbswcs4,
tst-mbswcs5 and tst-wctype.
(tests-special): Remove $(objpfx)tst-mbswcs.out and
$(objpfx)tst-wctype.out.
($(objpfx)tst-mbswcs.out): Remove rule.
($(objpfx)tst-wctype.out): Likewise.
(tst-wctype-ENV): New variable.
* tst-mbswcs.sh: Remove file.
* tst-wctype.sh: Likewise.
Joseph Myers [Mon, 9 Jun 2014 11:39:33 +0000 (11:39 +0000)]
conformtest: clean up POSIX expectations for termios.h, time.h.
Continuing the series of patches to clean up conformtest expectations
for "POSIX" (1995/6) based on review of the expectations against the
standard, this patch cleans up expectations for termios.h and time.h.
Tested x86_64; no new XFAILs needed.
* conform/data/termios.h-data [POSIX] (IUCLC): Do not expect
constant.
[POSIX] (IXANY): Likewise.
[POSIX] (OLCUC): Likewise.
[POSIX || POSIX2008] (CBAUD): Do not allow.
[POSIX || POSIX2008] (DEFECHO): Likewise.
[POSIX || POSIX2008] (ECHOCTL): Likewise.
[POSIX || POSIX2008] (ECHOKE): Likewise.
[POSIX || POSIX2008] (ECHOPRT): Likewise.
[POSIX || POSIX2008] (EXTA): Likewise.
[POSIX || POSIX2008] (EXTB): Likewise.
[POSIX || POSIX2008] (FLUSHO): Likewise.
[POSIX || POSIX2008] (LOBLK): Likewise.
[POSIX || POSIX2008] (PENDIN): Likewise.
[POSIX || POSIX2008] (SWTCH): Likewise.
[POSIX || POSIX2008] (VDISCARD): Likewise.
[POSIX || POSIX2008] (VDSUSP): Likewise.
[POSIX || POSIX2008] (VLNEXT): Likewise.
[POSIX || POSIX2008] (VREPRINT): Likewise.
[POSIX || POSIX2008] (VSTATUS): Likewise.
[POSIX || POSIX2008] (VWERASE): Likewise.
(B*): Change to B[
0123456789]*.
* conform/data/time.h-data [POSIX || UNIX98]
(CLOCK_PROCESS_CPUTIME_ID): Do not expect constant.
[POSIX || UNIX98] (CLOCK_THREAD_CPUTIME_ID): Likewise.
[POSIX || UNIX98] (CLOCK_MONOTONIC): Likewise.
[POSIX] (tm_*): Do not allow.
Joseph Myers [Sat, 7 Jun 2014 19:58:36 +0000 (19:58 +0000)]
Remove redundant C locale settings.
Various glibc build / install / test code has C locale settings that
are redundant with LC_ALL=C.
LC_ALL takes precedence over LANG, so anywhere that sets LC_ALL=C
(explicitly, or through it being in the default environment for
running tests) does not need to set LANG=C. LC_ALL=C also takes
precedence over LANGUAGE, since
2001-01-02 Ulrich Drepper <drepper@redhat.com>
* intl/dcigettext.c (guess_category_value): Rewrite so that LANGUAGE
value is ignored if the selected locale is the C locale.
* intl/tst-gettext.c: Set locale for above change.
* intl/tst-translit.c: Likewise.
and so settings of LANGUAGE=C are also redundant when LC_ALL=C is
set. One test also had LC_ALL=C in its -ENV setting, although it's
part of the default environment used for tests.
This patch removes the redundant settings. It removes a suggestion in
install.texi of setting LANGUAGE=C LC_ALL=C for "make install"; the
Makefile.in target "install" already sets LC_ALL_C so there's no need
for the user to set it (and nor should there be any need for the user
to set it).
If some build machine tool used by "make install" uses a version of
libintl predating that 2001 change, and the user has LANGUAGE set, the
removal of LANGUAGE=C from the Makefile.in "install" rule could in
principle affect the user's installation. However, I don't think we
need to be concerned about pre-2001 build tools.
Tested x86_64.
* Makefile (install): Don't set LANGUAGE.
* Makefile.in (install): Likewise.
* assert/Makefile (test-assert-ENV): Remove variable.
(test-assert-perr-ENV): Likewise.
* elf/Makefile (neededtest4-ENV): Likewise.
* iconvdata/Makefile ($(inst_gconvdir)/gconv-modules)
[$(cross-compiling) = no]: Don't set LANGUAGE.
* io/ftwtest-sh (LANG): Remove variable.
* libio/Makefile (tst-widetext-ENV): Likewise.
* manual/install.texi (Running make install): Don't refer to
environment settings for make install.
* INSTALL: Regenerated.
* nptl/tst-tls6.sh: Don't set LANG.
* posix/globtest.sh (LANG): Remove variable.
* string/Makefile (tester-ENV): Likewise.
(inl-tester-ENV): Likewise.
(noinl-tester-ENV): Likewise.
* sysdeps/s390/s390-64/Makefile ($(inst_gconvdir)/gconv-modules)
[$(cross-compiling) = no]: Don't set LANGUAGE.
* timezone/Makefile (build-testdata): Use $(built-program-cmd)
without explicit environment settings.
localedata/ChangeLog:
* tst-fmon.sh: Don't set LANGUAGE.
* tst-locale.sh: Likewise.
Roland McGrath [Fri, 6 Jun 2014 22:09:56 +0000 (15:09 -0700)]
Move NPTL public ABI headers for SH to sysdeps/sh/nptl/.
Chris Metcalf [Fri, 6 Jun 2014 22:25:31 +0000 (18:25 -0400)]
crypt: don't include ufc-crypt.h multiple times
The file has no inclusion guards, and contains typedefs that
cause errors when included multiple times with older (pre-C11)
compilers such as gcc 4.4.
Save the "#ifdef DOS" content to crypt-private.h even though
it's likely not particularly useful.
Joseph Myers [Fri, 6 Jun 2014 22:19:27 +0000 (22:19 +0000)]
Don't require test wrappers to preserve environment variables, use more consistent environment.
One wart in the original support for test wrappers for cross testing,
as noted in
<https://sourceware.org/ml/libc-alpha/2012-10/msg00722.html>, is the
requirement for test wrappers to pass a poorly-defined set of
environment variables from the build system to the system running the
glibc under test. Although some variables are passed explicitly via
$(test-wrapper-env), including LD_* variables that simply can't be
passed implicitly because of the side effects they'd have on the build
system's dynamic linker, others are passed implicitly, including
variables such as GCONV_PATH and LOCPATH that could potentially affect
the build system's libc (so effectively relying on any such effects
not breaking the wrappers). In addition, the code in
cross-test-ssh.sh for preserving environment variables is fragile (it
depends on how bash formats a list of exported variables, and could
well break for multi-line variable definitions where the contents
contain things looking like other variable definitions).
This patch moves to explicitly passing environment variables via
$(test-wrapper-env). Makefile variables that previously used
$(test-wrapper) are split up into -before-env and -after-env parts
that can be passed separately to the various .sh files used in
testing, so those files can then insert environment settings between
the two parts.
The common default environment settings in make-test-out are made into
a separate makefile variable that can also be passed to scripts,
rather than many scripts duplicating those settings (for testing an
installed glibc, it is desirable to have the GCONV_PATH setting on
just one place, so just that one place needs to support it pointing to
an installed sysroot instead of the build tree). The default settings
are included in the variables such as $(test-program-prefix), so that
if tests do not need any non-default settings they can continue to use
single variables rather than the split-up variables.
Although this patch cleans up LC_ALL=C settings (that being part of
the common defaults), various LANG=C and LANGUAGE=C settings remain.
Those are generally unnecessary and I propose a subsequent cleanup to
remove them. LC_ALL takes precedence over LANG, and while LANGUAGE
takes precedence over LC_ALL, it only does so for settings other than
LC_ALL=C. So LC_ALL=C on its own is sufficient to ensure the C
locale, and anything that gets LC_ALL=C does not need the other
settings.
While preparing this patch I noticed some tests with .sh files that
appeared to do nothing beyond what the generic makefile support for
tests can do (localedata/tst-wctype.sh - the makefiles support -ENV
variables and .input files - and localedata/tst-mbswcs.sh - just runs
five tests that could be run individually from the makefile). So I
propose another subsequent cleanup to move those to using the generic
support instead of special .sh files.
Tested x86_64 (native) and powerpc32 (cross).
* Makeconfig (run-program-env): New variable.
(run-program-prefix-before-env): Likewise.
(run-program-prefix-after-env): Likewise.
(run-program-prefix): Define in terms of new variables.
(built-program-cmd-before-env): New variable.
(built-program-cmd-after-env): Likewise.
(built-program-cmd): Define in terms of new variables.
(test-program-prefix-before-env): New variable.
(test-program-prefix-after-env): Likewise.
(test-program-prefix): Define in terms of new variables.
(test-program-cmd-before-env): New variable.
(test-program-cmd-after-env): Likewise.
(test-program-cmd): Define in terms of new variables.
* Rules (make-test-out): Use $(run-program-env).
* scripts/cross-test-ssh.sh (env_blacklist): Remove variable.
(help): Do not mention environment variables. Mention
--timeoutfactor option.
(timeoutfactor): New variable.
(blacklist_exports): Remove function.
(exports): Remove variable.
(command): Do not include ${exports}.
* manual/install.texi (Configuring and compiling): Do not mention
test wrappers preserving environment variables. Mention that last
assignment to a variable must take precedence.
* INSTALL: Regenerated.
* benchtests/Makefile (run-bench): Use $(run-program-env).
* catgets/Makefile ($(objpfx)test1.cat): Use
$(built-program-cmd-before-env), $(run-program-env) and
$(built-program-cmd-after-env).
($(objpfx)test2.cat): Do not specify environment variables
explicitly.
($(objpfx)de/libc.cat): Use $(built-program-cmd-before-env),
$(run-program-env) and $(built-program-cmd-after-env).
($(objpfx)test-gencat.out): Use $(test-program-cmd-before-env),
$(run-program-env) and $(test-program-cmd-after-env).
($(objpfx)sample.SJIS.cat): Do not specify environment variables
explicitly.
* catgets/test-gencat.sh: Use test_program_cmd_before_env,
run_program_env and test_program_cmd_after_env arguments.
* elf/Makefile ($(objpfx)tst-pathopt.out): Use $(run-program-env).
* elf/tst-pathopt.sh: Use run_program_env argument.
* iconvdata/Makefile ($(objpfx)iconv-test.out): Use
$(test-wrapper-env) and $(run-program-env).
* iconvdata/run-iconv-test.sh: Use test_wrapper_env and
run_program_env arguments.
* iconvdata/tst-table.sh: Do not set GCONV_PATH explicitly.
* intl/Makefile ($(objpfx)tst-gettext.out): Use
$(test-program-prefix-before-env), $(run-program-env) and
$(test-program-prefix-after-env).
($(objpfx)tst-gettext2.out): Likewise.
* intl/tst-gettext.sh: Use test_program_prefix_before_env,
run_program_env and test_program_prefix_after_env arguments.
* intl/tst-gettext2.sh: Likewise.
* intl/tst-gettext4.sh: Do not set environment variables
explicitly.
* intl/tst-gettext6.sh: Likewise.
* intl/tst-translit.sh: Likewise.
* malloc/Makefile ($(objpfx)tst-mtrace.out): Use
$(test-program-prefix-before-env), $(run-program-env) and
$(test-program-prefix-after-env).
* malloc/tst-mtrace.sh: Use test_program_prefix_before_env,
run_program_env and test_program_prefix_after_env arguments.
* math/Makefile (run-regen-ulps): Use $(run-program-env).
* nptl/Makefile ($(objpfx)tst-tls6.out): Use $(run-program-env).
* nptl/tst-tls6.sh: Use run_program_env argument. Set LANG=C
explicitly with each use of ${test_wrapper_env}.
* posix/Makefile ($(objpfx)wordexp-tst.out): Use
$(test-program-prefix-before-env), $(run-program-env) and
$(test-program-prefix-after-env).
* posix/tst-getconf.sh: Do not set environment variables
explicitly.
* posix/wordexp-tst.sh: Use test_program_prefix_before_env,
run_program_env and test_program_prefix_after_env arguments.
* stdio-common/tst-printf.sh: Do not set environment variables
explicitly.
* stdlib/Makefile ($(objpfx)tst-fmtmsg.out): Use
$(test-program-prefix-before-env), $(run-program-env) and
$(test-program-prefix-after-env).
* stdlib/tst-fmtmsg.sh: Use test_program_prefix_before_env,
run_program_env and test_program_prefix_after_env arguments.
Split $test calls into $test_pre and $test.
* timezone/Makefile (build-testdata): Use
$(built-program-cmd-before-env), $(run-program-env) and
$(built-program-cmd-after-env).
localedata/ChangeLog:
* Makefile ($(addprefix $(objpfx),$(CTYPE_FILES))): Use
$(built-program-cmd-before-env), $(run-program-env) and
$(built-program-cmd-after-env).
($(objpfx)sort-test.out): Use $(test-program-prefix-before-env),
$(run-program-env) and $(test-program-prefix-after-env).
($(objpfx)tst-fmon.out): Use $(run-program-prefix-before-env),
$(run-program-env) and $(run-program-prefix-after-env).
($(objpfx)tst-locale.out): Use $(built-program-cmd-before-env),
$(run-program-env) and $(built-program-cmd-after-env).
($(objpfx)tst-trans.out): Use $(run-program-prefix-before-env),
$(run-program-env), $(run-program-prefix-after-env),
$(test-program-prefix-before-env) and
$(test-program-prefix-after-env).
($(objpfx)tst-ctype.out): Use $(test-program-cmd-before-env),
$(run-program-env) and $(test-program-cmd-after-env).
($(objpfx)tst-wctype.out): Likewise.
($(objpfx)tst-langinfo.out): Likewise.
($(objpfx)tst-langinfo-static.out): Likewise.
* gen-locale.sh: Use localedef_before_env, run_program_env and
localedef_after_env arguments.
* sort-test.sh: Use test_program_prefix_before_env,
run_program_env and test_program_prefix_after_env arguments.
* tst-ctype.sh: Use tst_ctype_before_env, run_program_env and
tst_ctype_after_env arguments.
* tst-fmon.sh: Use run_program_prefix_before_env, run_program_env
and run_program_prefix_after_env arguments.
* tst-langinfo.sh: Use tst_langinfo_before_env, run_program_env
and tst_langinfo_after_env arguments.
* tst-locale.sh: Use localedef_before_env, run_program_env and
localedef_after_env arguments.
* tst-mbswcs.sh: Do not set environment variables explicitly.
* tst-numeric.sh: Likewise.
* tst-rpmatch.sh: Likewise.
* tst-trans.sh: Use run_program_prefix_before_env,
run_program_env, run_program_prefix_after_env,
test_program_prefix_before_env and test_program_prefix_after_env
arguments.
* tst-wctype.sh: Use tst_wctype_before_env, run_program_env and
tst_wctype_after_env arguments.
Adhemerval Zanella [Fri, 6 Jun 2014 14:37:07 +0000 (09:37 -0500)]
PowerPC: Fix optimized strncat strlen call
This patch fixes the optimized ppc64/power7 strncat strlen call for
static build without ifunc enabled. The strlen symbol to call in such
situation is just strlen, instead of __GI_strlen (since the __GI_
alias is just created for shared objects).
Siddhesh Poyarekar [Thu, 5 Jun 2014 21:29:49 +0000 (02:59 +0530)]
Inline nested function check_list
Ondřej Bílka [Thu, 5 Jun 2014 17:21:32 +0000 (19:21 +0200)]
Fix memory overrun in getifaddrs_internal. Fixes bug 15698.
Andreas Schwab [Tue, 12 Nov 2013 10:16:14 +0000 (11:16 +0100)]
Install uz_UZ.UTF-8 locale (BZ #16095)
Joseph Myers [Wed, 4 Jun 2014 23:37:25 +0000 (23:37 +0000)]
Include LOCPATH in default test environment.
Tests run using the default $(make-test-out) automatically get
GCONV_PATH and LC_ALL set, whether or not those environment variables
are actually needed for the individual test. However, they do not get
LOCPATH set, meaning that a large number of tests have -ENV settings
just to set LOCPATH.
This patch moves LOCPATH into the default environment used for all
tests, on the principle that like GCONV_PATH any settings needed to
use files associated with the newly built library, rather than any old
installed files, are appropriate to use by default.
A further motivation is that various tests using .sh files also set
some combination of LC_ALL, GCONV_PATH and LOCPATH. Preferably .sh
files should also use the default environment with any additions
required for the individual test. Now, it was suggested in
<https://sourceware.org/ml/libc-alpha/2014-05/msg00715.html> that
various Makefile variables used in testing should be derived by
composing the -before-env and -after-env variables used when explicit
environment settings are required. With such a change, it's also
natural for those variables to include the default settings (via some
intermediate makefile variable also used in make-test-out).
Because some .sh files only set variables that correspond to the
default settings, or a subset thereof, and this applies to more of the
.sh files once LOCPATH is in the default settings, doing so reduces
the size of a revised version of
<https://sourceware.org/ml/libc-alpha/2014-05/msg00596.html>: scripts
only needing the (expanded) default settings will not need to receive
the separate -before-env and -after-env variables, only the single
variable they do at present. So moving LOCPATH into the default
settings can reduce churn caused by subsequent patches.
Tested x86_64 and x86.
* Rules (make-test-out): Include
LOCPATH=$(common-objpfx)localedata in default environment.
* debug/Makefile (tst-chk1-ENV): Remove variable.
(tst-chk2-ENV): Likewise.
(tst-chk3-ENV): Likewise.
(tst-chk4-ENV): Likewise.
(tst-chk5-ENV): Likewise.
(tst-chk6-ENV): Likewise.
(tst-lfschk1-ENV): Likewise.
(tst-lfschk2-ENV): Likewise.
(tst-lfschk3-ENV): Likewise.
(tst-lfschk4-ENV): Likewise.
(tst-lfschk5-ENV): Likewise.
(tst-lfschk6-ENV): Likewise.
* iconvdata/Makefile (bug-iconv6-ENV): Likewise.
(tst-iconv7-ENV): Likewise.
* intl/Makefile (LOCPATH-ENV): Likewise.
(tst-codeset-ENV): Likewise.
(tst-gettext3-ENV): Likewise.
(tst-gettext5-ENV): Likewise.
* libio/Makefile (tst-widetext-ENV): Don't set LOCPATH.
(tst-fopenloc-ENV): Likewise.
(tst-fgetws-ENV): Remove variable.
(tst-ungetwc1-ENV): Likewise.
(tst-ungetwc2-ENV): Likewise.
(bug-ungetwc2-ENV): Likewise.
(tst-swscanf-ENV): Likewise.
(bug-ftell-ENV): Likewise.
(tst-fgetwc-ENV): Likewise.
(tst-fseek-ENV): Likewise.
(tst-ftell-partial-wide-ENV): Likewise.
(tst-ftell-active-handler-ENV): Likewise.
(tst-ftell-append-ENV): Likewise.
* posix/Makefile (tst-fnmatch-ENV): Likewise.
(tst-regexloc-ENV): Likewise.
(bug-regex1-ENV): Likewise.
(tst-regex-ENV): Likewise.
(tst-regex2-ENV): Likewise.
(bug-regex5-ENV): Likewise.
(bug-regex6-ENV): Likewise.
(bug-regex17-ENV): Likewise.
(bug-regex18-ENV): Likewise.
(bug-regex19-ENV): Likewise.
(bug-regex20-ENV): Likewise.
(bug-regex22-ENV): Likewise.
(bug-regex23-ENV): Likewise.
(bug-regex25-ENV): Likewise.
(bug-regex26-ENV): Likewise.
(bug-regex30-ENV): Likewise.
(bug-regex32-ENV): Likewise.
(bug-regex33-ENV): Likewise.
(bug-regex34-ENV): Likewise.
(bug-regex35-ENV): Likewise.
(tst-rxspencer-ENV): Likewise.
(tst-rxspencer-no-utf8-ENV): Likewise.
* stdio-common/Makefile (tst-sprintf-ENV): Likewise.
(tst-sscanf-ENV): Likewise.
(tst-swprintf-ENV): Likewise.
(tst-swscanf-ENV): Likewise.
(test-vfprintf-ENV): Likewise.
(scanf13-ENV): Likewise.
(bug14-ENV): Likewise.
(tst-grouping-ENV): Likewise.
* stdlib/Makefile (tst-strtod-ENV): Likewise.
(tst-strtod3-ENV): Likewise.
(tst-strtod4-ENV): Likewise.
(tst-strtod5-ENV): Likewise.
(testmb2-ENV): Likewise./
* string/Makefile (tst-strxfrm-ENV): Likewise.
(tst-strxfrm2-ENV): Likewise.
(bug-strcoll1-ENV): Likewise.
(test-strcasecmp-ENV): Likewise.
(test-strncasecmp-ENV): Likewise.
* time/Makefile (tst-strptime-ENV): Likewise.
(tst-ftime_l-ENV): Likewise.
* wcsmbs/Makefile (tst-btowc-ENV): Likewise.
(tst-mbrtowc-ENV): Likewise.
(tst-wcrtomb-ENV): Likewise.
(tst-mbrtowc2-ENV): Likewise.
(tst-c16c32-1-ENV): Likewise.
(tst-mbsnrtowcs-ENV): Likewise.
localedata/ChangeLog:
* Makefile (TEST_MBWC_ENV): Remove variable.
(tst_iswalnum-ENV): Likewise.
(tst_iswalpha-ENV): Likewise.
(tst_iswcntrl-ENV): Likewise.
(tst_iswctype-ENV): Likewise.
(tst_iswdigit-ENV): Likewise.
(tst_iswgraph-ENV): Likewise.
(tst_iswlower-ENV): Likewise.
(tst_iswprint-ENV): Likewise.
(tst_iswpunct-ENV): Likewise.
(tst_iswspace-ENV): Likewise.
(tst_iswupper-ENV): Likewise.
(tst_iswxdigit-ENV): Likewise.
(tst_mblen-ENV): Likewise.
(tst_mbrlen-ENV): Likewise.
(tst_mbrtowc-ENV): Likewise.
(tst_mbsrtowcs-ENV): Likewise.
(tst_mbstowcs-ENV): Likewise.
(tst_mbtowc-ENV): Likewise.
(tst_strcoll-ENV): Likewise.
(tst_strfmon-ENV): Likewise.
(tst_strxfrm-ENV): Likewise.
(tst_swscanf-ENV): Likewise.
(tst_towctrans-ENV): Likewise.
(tst_towlower-ENV): Likewise.
(tst_towupper-ENV): Likewise.
(tst_wcrtomb-ENV): Likewise.
(tst_wcscat-ENV): Likewise.
(tst_wcschr-ENV): Likewise.
(tst_wcscmp-ENV): Likewise.
(tst_wcscoll-ENV): Likewise.
(tst_wcscpy-ENV): Likewise.
(tst_wcscspn-ENV): Likewise.
(tst_wcslen-ENV): Likewise.
(tst_wcsncat-ENV): Likewise.
(tst_wcsncmp-ENV): Likewise.
(tst_wcsncpy-ENV): Likewise.
(tst_wcspbrk-ENV): Likewise.
(tst_wcsrtombs-ENV): Likewise.
(tst_wcsspn-ENV): Likewise.
(tst_wcsstr-ENV): Likewise.
(tst_wcstod-ENV): Likewise.
(tst_wcstok-ENV): Likewise.
(tst_wcstombs-ENV): Likewise.
(tst_wcswidth-ENV): Likewise.
(tst_wcsxfrm-ENV): Likewise.
(tst_wctob-ENV): Likewise.
(tst_wctomb-ENV): Likewise.
(tst_wctrans-ENV): Likewise.
(tst_wctype-ENV): Likewise.
(tst_wcwidth-ENV): Likewise.
(tst-digits-ENV): Likewise.
(tst-mbswcs6-ENV): Likewise.
(tst-xlocale1-ENV): Likewise.
(tst-xlocale2-ENV): Likewise.
(tst-strfmon1-ENV): Likewise.
(tst-strptime-ENV): Likewise.
(tst-setlocale-ENV): Don't set LOCPATH.
(bug-iconv-trans-ENV): Remove variable.
(tst-sscanf-ENV): Likewise.
(tst-leaks-ENV): Don't set LOCPATH.
(bug-setlocale1-ENV): Remove variable.
(bug-setlocale1-static-ENV): Likewise.
(tst-setlocale2-ENV): Likewise.
Ondřej Bílka [Wed, 4 Jun 2014 22:40:01 +0000 (00:40 +0200)]
Fix typo in manual.
David S. Miller [Tue, 3 Jun 2014 23:14:06 +0000 (16:14 -0700)]
Fixup ChangeLog and add missing NEWS entry for previous commits.
Guo Yixuan [Fri, 30 May 2014 04:53:16 +0000 (21:53 -0700)]
New test for pthread_spin_lock (bug 16882)
* nptl/tst-spin4.c: New test.
* nptl/Makefile (tests): Add tst-spin4.
Guo Yixuan [Fri, 30 May 2014 04:43:15 +0000 (21:43 -0700)]
Fixed pthread_spin_lock on sparc32/64 (bug 16882)
[BZ #16882]
* nptl/sysdeps/sparc/sparc32/pthread_spin_lock.S
(pthread_spin_lock): Branch out of spin loop to proper location.
* nptl/sysdeps/sparc/sparc64/pthread_spin_lock.S
(pthread_spin_lock): Likewise.
Andreas Schwab [Mon, 26 May 2014 16:01:31 +0000 (18:01 +0200)]
Fix invalid file descriptor reuse while sending DNS query (BZ #15946)
Richard Henderson [Tue, 3 Jun 2014 15:27:32 +0000 (11:27 -0400)]
aarch64: Remove nptl/vfork.S
Stefan Liebler [Tue, 3 Jun 2014 15:27:13 +0000 (17:27 +0200)]
S/390: Regenerate ULPs.
Richard Henderson [Fri, 23 May 2014 20:23:32 +0000 (16:23 -0400)]
aarch64: Consolidate NPTL/non versions of vfork
At the same time, incorporate the 0 -> 0x80000000 mapping
of the pid expected by raise.c.
Richard Henderson [Fri, 23 May 2014 19:44:23 +0000 (15:44 -0400)]
aarch64: Consolidate NPTL/non versions of clone
At the same time, rely on non-clobbered registers across syscall
so that we eliminate the stack frame that we previously ignored
in the unwind info.
Marcus Shawcroft [Tue, 3 Jun 2014 12:25:34 +0000 (12:25 +0000)]
[AArch64] Regenerate libm-test-ulps
Wilco [Tue, 3 Jun 2014 08:10:39 +0000 (08:10 +0000)]
[AArch64] Switch from FE_TOWARDZERO to _FPU_FPCR_RM_MASK
Wilco [Tue, 3 Jun 2014 08:08:36 +0000 (08:08 +0000)]
[AArch64] Cleanup declarations in math_private.h.
Konstantin Serebryany [Tue, 3 Jun 2014 11:09:08 +0000 (16:39 +0530)]
Remove redundant nested function b64_from_24bit
Move multiple definitions of the nested function b64_from_24bit into a
single function __b64_from_24bit.
Roland McGrath [Mon, 2 Jun 2014 21:29:19 +0000 (14:29 -0700)]
SH: Consolidate NPTL/non versions of vfork
Siddhesh Poyarekar [Mon, 2 Jun 2014 18:05:09 +0000 (23:35 +0530)]
Fix format specifier for n_mmaps
Wilco [Mon, 2 Jun 2014 11:44:21 +0000 (12:44 +0100)]
[AArch64] Remove ISB after FPCR write.
Wilco [Mon, 2 Jun 2014 11:20:17 +0000 (12:20 +0100)]
[AArch64] Rewrite feupdateenv (BZ 17009).
David S. Miller [Mon, 2 Jun 2014 02:19:18 +0000 (19:19 -0700)]
Update Sparc ULPS.
* sysdeps/sparc/fpu/libm-test-ulps: Update.
David S. Miller [Sun, 25 May 2014 01:58:01 +0000 (18:58 -0700)]
Fix excessive ULP for y1_upward (0x2p+0) in test-float and test-ifloat.
* sysdeps/ieee754/flt-32/e_j1f.c (__ieee754_y1f): Force computations
to occur in round to nearest mode when |x| >= 2.0
Richard Henderson [Thu, 29 May 2014 16:14:49 +0000 (12:14 -0400)]
aarch64: Remove PSEUDO_RET
Richard Henderson [Thu, 29 May 2014 15:57:39 +0000 (11:57 -0400)]
aarch64: Fix error return from __ioctl
Forgotten in
ca3cfa40c16ef34c74951a07a57cfcbcd58898b1
where the error branch was moved from PSEUDO_RET.
Marko Myllynen [Fri, 30 May 2014 17:50:21 +0000 (10:50 -0700)]
Replace __int128 with __int128_t
* sysdeps/x86_64/link-defines.sym (BND_SIZE): Replace __int128
with __int128_t.
Siddhesh Poyarekar [Fri, 30 May 2014 17:14:45 +0000 (22:44 +0530)]
Fix formatting in malloc_info
Siddhesh Poyarekar [Fri, 30 May 2014 17:13:52 +0000 (22:43 +0530)]
Add mmap usage in malloc_info output
The current malloc_info xml output only has information about
allocations on the heap. Display information about number of mappings
and total mmapped size to this to complete the picture.
Roland McGrath [Fri, 16 May 2014 19:57:10 +0000 (12:57 -0700)]
m68k: Convert fork.c to arch-fork.h
Ondřej Bílka [Fri, 30 May 2014 11:24:56 +0000 (13:24 +0200)]
Remove mi_arena nested function.
Ondřej Bílka [Fri, 30 May 2014 11:23:39 +0000 (13:23 +0200)]
Richard Henderson [Thu, 22 May 2014 20:57:20 +0000 (16:57 -0400)]
aarch64: Rely on syscalls preserving registers
In several cases we've had asm routines rely on syscalls not clobbering
call-clobbered registers, and that's now deemed ABI. So take advantage
of this in the INLINE_SYSCALL path as well.
Shrinks libc.so by about 1k.
Richard Henderson [Tue, 20 May 2014 20:34:59 +0000 (16:34 -0400)]
aarch64: Use tpidr_el0 rather than __errno_location in librt
Richard Henderson [Tue, 20 May 2014 20:17:20 +0000 (16:17 -0400)]
aarch64: Use tpidr_el0 rather than __read_tp in librt
Richard Henderson [Sun, 25 May 2014 18:57:53 +0000 (14:57 -0400)]
aarch64: Improve syscall-cancel stack frame
One push instead of N; use stp/ldp to halve the insns.
Richard Henderson [Sun, 25 May 2014 18:15:14 +0000 (14:15 -0400)]
aarch64: Pass regno parameter to SINGLE_THREAD_P
Use cbz instead of cmp+b.eq.
Richard Henderson [Sun, 25 May 2014 18:07:17 +0000 (14:07 -0400)]
aarch64: Share code in syscall-cancel.h
Fold nocancel and error handling paths.
Richard Henderson [Sun, 25 May 2014 17:00:00 +0000 (13:00 -0400)]
aarch64: Tabify sysdep-cancel.h
Eric Wong [Thu, 29 May 2014 04:11:29 +0000 (09:41 +0530)]
Avoid stat/fstat in statvfs/fstatvfs (BZ #15132)
Delay the use of stat/fstat until stat data is required. When the
kernel returns ST_VALID, stat data is not used by __internal_statvfs.
Roland McGrath [Thu, 29 May 2014 00:23:19 +0000 (17:23 -0700)]
SH: Consolidate NPTL/non versions of clone
Roland McGrath [Wed, 28 May 2014 18:23:16 +0000 (14:23 -0400)]
tile: Convert fork.c to arch-fork.h
Roland McGrath [Tue, 27 May 2014 22:43:45 +0000 (15:43 -0700)]
IA64: Convert fork.c to arch-fork.h
Roland McGrath [Tue, 27 May 2014 19:58:01 +0000 (12:58 -0700)]
SH: Convert fork.c to arch-fork.h
Ondřej Bílka [Tue, 27 May 2014 14:56:11 +0000 (16:56 +0200)]
Remove duplicate code in elf/dl-deps.c.
Andreas Schwab [Tue, 13 May 2014 14:40:41 +0000 (16:40 +0200)]
Remove second argument from TLS_INIT_TP macro
Will Newton [Fri, 23 May 2014 14:24:30 +0000 (15:24 +0100)]
ARM: Fix handling of concurrent TLS descriptor resolution
The current code for handling concurrent resolution says that the
ABI for _dl_tlsdesc_resolve_hold is the same as that of
_dl_tlsdesc_lazy_resolver. However _dl_tlsdesc_resolve_hold is
called from the trampoline directly rather than the lazy resolver
stub so, for example, r2 has not been pushed so does not needed
to be restored.
This fixes an intermittent failure in nptl/tst-tls3 when building
glibc for arm-linux-gnueabihf with -mtls-dialect=gnu2.
ChangeLog:
2014-05-27 Will Newton <will.newton@linaro.org>
[BZ #16990]
* sysdeps/arm/dl-tlsdesc.S (_dl_tlsdesc_resolve_hold): Save
and restore r2 rather than just restoring.
Siddhesh Poyarekar [Tue, 27 May 2014 08:24:19 +0000 (13:54 +0530)]
Fix offset computation for append+ mode on switching from read (BZ #16724)
The offset computation in write mode uses the fact that _IO_read_end
is kept in sync with the external file offset. This however is not
true when O_APPEND is in effect since switching to write mode ought to
send the external file offset to the end of file without making the
necessary adjustment to _IO_read_end.
Hence in append mode, offset computation when writing should only
consider the effect of unflushed writes, i.e. from _IO_write_base to
_IO_write_ptr.
The wiki has a detailed document that describes the rationale for
offsets returned by ftell in various conditions:
https://sourceware.org/glibc/wiki/File%20offsets%20in%20a%20stdio%20stream%20and%20ftell
Adhemerval Zanella [Mon, 26 May 2014 17:40:08 +0000 (12:40 -0500)]
Update powerpc-fpu ULPs.
Adhemerval Zanella [Wed, 21 May 2014 21:08:06 +0000 (16:08 -0500)]
PowerPC: Move remaining nptl/sysdeps/unix/sysv/linux/powerpc/ files.
Adhemerval Zanella [Wed, 21 May 2014 21:06:30 +0000 (16:06 -0500)]
PowerPC: Move NPTL ABI headers to sysdeps.
Adhemerval Zanella [Fri, 23 May 2014 12:43:37 +0000 (07:43 -0500)]
PowerPC: Move powerpc64 timer_*.c out of nptl/
Adhemerval Zanella [Wed, 21 May 2014 01:31:04 +0000 (20:31 -0500)]
PowerPC: Consolidate NPTL/non versions of clone
Adhemerval Zanella [Mon, 26 May 2014 16:41:28 +0000 (11:41 -0500)]
PowerPC: Consolidate NPTL/non versions of vfork
Carlos O'Donell [Mon, 26 May 2014 13:54:59 +0000 (09:54 -0400)]
Remove nested function mi_arena from malloc_info.
The nested function mi_arena was removed from malloc_info
and made into a non-nested static inline function of the same
name with the correct set of arguments passed from malloc_info.
This enables building glibc with compilers that don't support
nested functions. Future work on malloc_info should remove these
functions entirely to support JSON format output. Therefore we
do the minimum required to remove the nested function.
Adhemerval Zanella [Thu, 22 May 2014 19:48:38 +0000 (14:48 -0500)]
PowerPC: Remove 64 bits instructions in PPC32 code
This patch replaces the insrdi by insrwi in powerpc32 assembly.
Andreas Schwab [Mon, 26 May 2014 10:31:13 +0000 (12:31 +0200)]
Fix searching localedef input on I18NPATH (BZ #16984)
Stefan Liebler [Mon, 26 May 2014 09:14:25 +0000 (11:14 +0200)]
Disable lock elision for PTHREAD_MUTEX_NORMAL.
Stefan Liebler [Mon, 26 May 2014 09:12:44 +0000 (11:12 +0200)]
Fix typo in tst-mutex5 ifndef -> ifdef
Siddhesh Poyarekar [Sat, 22 Feb 2014 04:39:27 +0000 (10:09 +0530)]
benchtests: Add new directive for benchmark initialization hook
Add a new 'init' directive that specifies the name of the function to
call to do function-specific initialization. This is useful for
benchmarks that need to do a one-time initialization before the
functions are executed.
Kyle McMartin [Mon, 26 May 2014 07:03:22 +0000 (12:33 +0530)]
[AARCH64] correct alignment of TLS_TCB_ALIGN (BZ #16796)
This fixes a variety of testsuite failures for me:
tststatic.out Error 1
tststatic2.out Error 1
tst-tls9-static.out Error 1
tst-audit8.out Error 127
tst-audit9.out Error 127
tst-audit1.out Error 127
and also has the added benefit of making LD_AUDIT/sotruss work on
AArch64.
Otherwise, we bail out early in _dl_try_allocate_static_tls as the
alignment requirement of the PT_TLS section in libc is 16.
Siddhesh Poyarekar [Mon, 26 May 2014 06:10:08 +0000 (11:40 +0530)]
Use NSS_STATUS_TRYAGAIN to indicate insufficient buffer (BZ #16878)
The netgroups nss modules in the glibc tree use NSS_STATUS_UNAVAIL
(with errno as ERANGE) when the supplied buffer does not have
sufficient space for the result. This is wrong, because the canonical
way to indicate insufficient buffer is to set the errno to ERANGE and
the status to NSS_STATUS_TRYAGAIN, as is used by all other modules.
This fixes nscd behaviour when the nss_ldap module returns
NSS_STATUS_TRYAGAIN to indicate that a netgroup entry is too long to
fit into the supplied buffer.
Richard Henderson [Fri, 23 May 2014 20:37:15 +0000 (16:37 -0400)]
arm,aarch64: Remove SINGLE_THREAD_P_PIC
This macro was removed by
2005-11-16 Daniel Jacobowitz <dan@codesourcery.com>
but not applied to the (still separate) eabi port so necro'd
when the eabi port superceded the old abi. It was thence
copied into the new AArch64 port.
Richard Henderson [Tue, 20 May 2014 18:40:22 +0000 (14:40 -0400)]
aarch64: Tidy syscall error check
Move the error branch from the PSEUDO_RET macro to the PSEUDO macro.
This is in line with other architectures, and will enable further improvments.
Richard Henderson [Thu, 22 May 2014 15:38:05 +0000 (11:38 -0400)]
aarch64: Remove DOARGS/UNDOARGS macros
While they do something for AArch32, they're useless for AArch64.
Richard Henderson [Sun, 25 May 2014 16:33:00 +0000 (12:33 -0400)]
aarch64: Fix DO_CALL block comment
Richard Henderson [Sun, 25 May 2014 16:04:54 +0000 (09:04 -0700)]
alpha: Do non-default symbols in pt-vfork.S
Richard Henderson [Fri, 23 May 2014 23:03:28 +0000 (16:03 -0700)]
Only provide non-default symbols in libpthread for vfork
* nptl/pt-vfork.c (vfork_resolve): Rename from vfork_ifunc.
(vfork, __vfork): Define via compat_symbol.
Richard Henderson [Fri, 23 May 2014 22:24:20 +0000 (15:24 -0700)]
Only support ifunc in nptl/pt-vfork.c
* nptl/pt-vfork.c: Error if !HAVE_IFUNC.
[!HAVE_IFUNC] (vfork_compat): Remove.
[!HAVE_IFUNC] (DEFINE_VFORK): Remove.
Joseph Myers [Fri, 23 May 2014 20:37:40 +0000 (20:37 +0000)]
Define TSVTX in tar.h for older POSIX (bug 16978).
As noted in bug 16978, older POSIX versions include
in the specified contents of <tar.h>, with only the 2001 edition
introducing the notion of XSI-conditional definitions and conditioning
that definition. Thus, this macro should be defined for
!__USE_XOPEN2K as well as for __USE_XOPEN, and this patch duly defines
it in that case. Tested x86_64.
[BZ #16978]
* posix/tar.h [!__USE_XOPEN2K] (TSVTX): Define macro.
* conform/Makefile (test-xfail-POSIX/tar.h/conform): Remove
variable.
Richard Henderson [Thu, 22 May 2014 15:51:13 +0000 (08:51 -0700)]
alpha: Move remaining files out of sysdeps/unix/sysv/linux/alpha/nptl/
Richard Henderson [Thu, 22 May 2014 03:31:38 +0000 (20:31 -0700)]
alpha: Consolidate NPTL/non versions of vfork