glibc:rth/aa-memset

Last commit made on 2014-06-16
Get this branch:
git clone -b rth/aa-memset https://git.launchpad.net/glibc

Branch merges

Branch information

Name:
rth/aa-memset
Repository:
lp:glibc

Recent commits

1268f9e... by Richard Henderson

neon for memset; higher minimums to enter loops

449b455... by Richard Henderson

aarch64: Rewrite memset

08f41f0... by Roland McGrath <email address hidden>

ARM: Define TLS_DEFINE_INIT_TP

962b744... by Roland McGrath <email address hidden>

Start cleaning up TLS initial value for pthread_create.

2976fea... by Joseph Myers <email address hidden>

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.

09f19b0... by Joseph Myers <email address hidden>

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.

686554b... by Joseph Myers <email address hidden>

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 <email address hidden>

 * 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.

68e6b6b... by Roland McGrath <email address hidden>

Move NPTL public ABI headers for SH to sysdeps/sh/nptl/.

4d3ae03... by Chris Metcalf <email address hidden>

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.

8540f6d... by Joseph Myers <email address hidden>

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.