[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Commits] r21337 - in /fsf/trunk/libc: ./ catgets/ elf/ grp/ iconv/ iconvdata/ include/ intl/ io/ libio/ localedata/ malloc/ misc/ npt...
- To: commits@xxxxxxxxxx
- Subject: [Commits] r21337 - in /fsf/trunk/libc: ./ catgets/ elf/ grp/ iconv/ iconvdata/ include/ intl/ io/ libio/ localedata/ malloc/ misc/ npt...
- From: eglibc@xxxxxxxxxx
- Date: Thu, 25 Oct 2012 00:02:09 -0000
Author: eglibc
Date: Thu Oct 25 00:02:08 2012
New Revision: 21337
Log:
Import glibc-mainline for 2012-10-25
Added:
fsf/trunk/libc/ports/sysdeps/hppa/nptl/tst-oddstacklimit.c
fsf/trunk/libc/rt/clock-compat.c
Modified:
fsf/trunk/libc/ChangeLog
fsf/trunk/libc/Makeconfig
fsf/trunk/libc/NEWS
fsf/trunk/libc/Rules
fsf/trunk/libc/catgets/Makefile
fsf/trunk/libc/config.h.in
fsf/trunk/libc/configure
fsf/trunk/libc/configure.in
fsf/trunk/libc/elf/Makefile
fsf/trunk/libc/elf/tst-pathopt.sh
fsf/trunk/libc/elf/tst-rtld-load-self.sh
fsf/trunk/libc/grp/Makefile
fsf/trunk/libc/iconv/Makefile
fsf/trunk/libc/iconvdata/Makefile
fsf/trunk/libc/iconvdata/run-iconv-test.sh
fsf/trunk/libc/include/time.h
fsf/trunk/libc/intl/Makefile
fsf/trunk/libc/io/Makefile
fsf/trunk/libc/io/fcntl.h
fsf/trunk/libc/io/ftwtest-sh
fsf/trunk/libc/libio/Makefile
fsf/trunk/libc/localedata/ChangeLog
fsf/trunk/libc/localedata/Makefile
fsf/trunk/libc/malloc/Makefile
fsf/trunk/libc/misc/Makefile
fsf/trunk/libc/nptl/ChangeLog
fsf/trunk/libc/nptl/Makefile
fsf/trunk/libc/nptl/tst-oddstacklimit.c
fsf/trunk/libc/nptl/tst-tls6.sh
fsf/trunk/libc/nscd/Makefile
fsf/trunk/libc/ports/ChangeLog.alpha
fsf/trunk/libc/ports/ChangeLog.arm
fsf/trunk/libc/ports/ChangeLog.hppa
fsf/trunk/libc/ports/ChangeLog.ia64
fsf/trunk/libc/ports/ChangeLog.m68k
fsf/trunk/libc/ports/ChangeLog.mips
fsf/trunk/libc/ports/ChangeLog.powerpc
fsf/trunk/libc/ports/ChangeLog.tile
fsf/trunk/libc/ports/sysdeps/hppa/nptl/Makefile
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/alpha/nptl/libc.abilist
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/arm/nptl/libc.abilist
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/ia64/get_clockfreq.c
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/ia64/nptl/libc.abilist
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/m68k/coldfire/nptl/libc.abilist
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/m68k/m680x0/nptl/libc.abilist
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/bits/fcntl.h
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/mips32/nptl/libc.abilist
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/mips64/n64/nptl/libc.abilist
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libc.abilist
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libc.abilist
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/libc.abilist
fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/tile/tilepro/nptl/libc.abilist
fsf/trunk/libc/posix/Makefile
fsf/trunk/libc/posix/globtest.sh
fsf/trunk/libc/resolv/Makefile
fsf/trunk/libc/rt/Makefile
fsf/trunk/libc/rt/Versions
fsf/trunk/libc/rt/clock_getcpuclockid.c
fsf/trunk/libc/rt/clock_getres.c
fsf/trunk/libc/rt/clock_gettime.c
fsf/trunk/libc/rt/clock_nanosleep.c
fsf/trunk/libc/rt/clock_settime.c
fsf/trunk/libc/stdio-common/Makefile
fsf/trunk/libc/stdlib/Makefile
fsf/trunk/libc/string/Makefile
fsf/trunk/libc/sysdeps/posix/clock_getres.c
fsf/trunk/libc/sysdeps/unix/clock_gettime.c
fsf/trunk/libc/sysdeps/unix/clock_nanosleep.c
fsf/trunk/libc/sysdeps/unix/clock_settime.c
fsf/trunk/libc/sysdeps/unix/sysv/linux/clock_getcpuclockid.c
fsf/trunk/libc/sysdeps/unix/sysv/linux/clock_nanosleep.c
fsf/trunk/libc/sysdeps/unix/sysv/linux/i386/get_clockfreq.c
fsf/trunk/libc/sysdeps/unix/sysv/linux/i386/nptl/libc.abilist
fsf/trunk/libc/sysdeps/unix/sysv/linux/powerpc/Makefile
fsf/trunk/libc/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/nptl/libc.abilist
fsf/trunk/libc/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libc.abilist
fsf/trunk/libc/sysdeps/unix/sysv/linux/s390/bits/fcntl.h
fsf/trunk/libc/sysdeps/unix/sysv/linux/s390/s390-32/nptl/libc.abilist
fsf/trunk/libc/sysdeps/unix/sysv/linux/s390/s390-64/nptl/libc.abilist
fsf/trunk/libc/sysdeps/unix/sysv/linux/sh/nptl/libc.abilist
fsf/trunk/libc/sysdeps/unix/sysv/linux/sparc/bits/fcntl.h
fsf/trunk/libc/sysdeps/unix/sysv/linux/sparc/sparc32/nptl/libc.abilist
fsf/trunk/libc/sysdeps/unix/sysv/linux/sparc/sparc64/get_clockfreq.c
fsf/trunk/libc/sysdeps/unix/sysv/linux/sparc/sparc64/nptl/libc.abilist
fsf/trunk/libc/sysdeps/unix/sysv/linux/x86/bits/fcntl.h
fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/64/nptl/libc.abilist
fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/nptl/libc.abilist
Modified: fsf/trunk/libc/ChangeLog
==============================================================================
--- fsf/trunk/libc/ChangeLog (original)
+++ fsf/trunk/libc/ChangeLog Thu Oct 25 00:02:08 2012
@@ -1,4 +1,171 @@
+2012-10-24 Joseph Myers <joseph@xxxxxxxxxxxxxxxx>
+ Jim Blandy <jimb@xxxxxxxxxxxxxxxx>
+
+ * Makeconfig (test-wrapper): New variable,
+ (test-wrapper-env): Likewise.
+ [$(cross-compiling) = yes && $(test-wrapper) != ""]
+ (run-built-tests): Define to yes.
+ (run-program-prefix): Use $(test-wrapper).
+ (built-program-cmd): Likewise.
+ * Rules (make-test-out): Use $(test-wrapper-env) and
+ $(host-built-program-cmd).
+ * elf/Makefile ($(objpfx)order.out): Use $(test-wrapper).
+ ($(objpfx)tst-pathopt.out): Pass $(test-wrapper-env) to
+ tst-pathopt.sh.
+ ($(objpfx)tst-rtld-load-self.out): Pass $(test-wrapper) and
+ $(test-wrapper-env) to tst-rtld-load-self.sh.
+ ($(objpfx)order2.out): Use $(test-wrapper).
+ ($(objpfx)tst-initorder.out): Likewise.
+ ($(objpfx)tst-initorder2.out): Likewise.
+ ($(objpfx)tst-unused-dep.out): Use $(test-wrapper-env).
+ * elf/tst-pathopt.sh (run_program_prefix): Remove unused variable.
+ (test_wrapper_env): New variable. Use it to run ld.so.
+ * elf/tst-rtld-load-self.sh (test_wrapper): New variable.
+ Use it to run ld.so.
+ (test_wrapper_env): Likewise.
+ * iconvdata/Makefile ($(objpfx)iconv-test.out): Pass
+ $(test-wrapper) to run-iconv-test.sh.
+ * iconvdata/run-iconv-test.sh (test_wrapper): New variable.
+ (ICONV): Use $test_wrapper.
+ * posix/Makefile ($(objpfx)globtest.out): Pass
+ $(run-via-rtld-prefix), $(test-wrapper) and $(test-wrapper-env) to
+ globtest.sh, not $(run-program-prefix).
+ * posix/globtest.sh (run_via_rtld_prefix): New variable.
+ (test_wrapper): Likewise.
+ (test_wrapper_env): Likewise. Use it to run globtest with HOME
+ set together with run_via_rtld_prefix.
+ (run_program_prefix): Define in terms of test_wrapper and
+ run_via_rtld_prefix.
+
+2012-10-24 Roland McGrath <roland@xxxxxxxxxxxxx>
+
+ * nscd/Makefile ($(objpfx)nscd): Remove librt dependency.
+ * posix/Makefile ($(objpfx)tst-regex, $(objpfx)tst-regex2):
+ Targets removed.
+
+ [BZ #14743]
+ * include/time.h: Remove librt_hidden_proto (clock_gettime).
+ Declare __clock_getres, __clock_gettime, __clock_settime,
+ __clock_nanosleep, and __clock_getcpuclockid.
+ * rt/clock_gettime.c: Define __clock_gettime as an alias.
+ Remove librt_hidden_def (clock_gettime).
+ * sysdeps/unix/clock_gettime.c: Likewise.
+ * rt/clock_getcpuclockid.c: Define __clock_getcpuclockid as an alias.
+ * sysdeps/unix/sysv/linux/clock_getcpuclockid.c: Likewise.
+ * rt/clock_getres.c: Define __clock_getres as an alias.
+ * sysdeps/posix/clock_getres.c: Likewise.
+ * rt/clock_settime.c: Define __clock_settime as an alias.
+ * sysdeps/unix/clock_settime.c: Likewise.
+ * rt/clock_nanosleep.c: Define __clock_nanosleep as an alias.
+ * sysdeps/unix/clock_nanosleep.c: Likewise.
+ * sysdeps/unix/sysv/linux/clock_nanosleep.c: Likewise.
+ * rt/clock-compat.c: New file.
+ * rt/Makefile (librt-routines): Add clock-compat and move
+ $(clock-routines) to ...
+ (routines): ... here, new variable.
+ * sysdeps/unix/sysv/linux/powerpc/Makefile (sysdep_routines):
+ Don't add get_clockfreq here.
+ * rt/Versions (libc: GLIBC_2.17): New version set.
+ Add clock_* symbols here.
+ (libc: GLIBC_PRIVATE): New version set. Add __clock_* symbols here.
+ * sysdeps/unix/sysv/linux/i386/nptl/libc.abilist
+ (GLIBC_2.17): Add clock_* symbols.
+ * sysdeps/unix/sysv/linux/sparc/sparc32/nptl/libc.abilist: Likewise.
+ * sysdeps/unix/sysv/linux/sparc/sparc64/nptl/libc.abilist: Likewise.
+ * sysdeps/unix/sysv/linux/sh/nptl/libc.abilist: Likewise.
+ * sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libc.abilist:
+ Likewise.
+ * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/nptl/libc.abilist:
+ Likewise.
+ * sysdeps/unix/sysv/linux/x86_64/64/nptl/libc.abilist: Likewise.
+ * sysdeps/unix/sysv/linux/x86_64/x32/nptl/libc.abilist: Likewise.
+ * sysdeps/unix/sysv/linux/s390/s390-64/nptl/libc.abilist: Likewise.
+ * sysdeps/unix/sysv/linux/s390/s390-32/nptl/libc.abilist: Likewise.
+ * NEWS: Mention the move.
+
+ * sysdeps/unix/sysv/linux/i386/get_clockfreq.c (__get_clockfreq):
+ Use __open, __read, __close rather than their public counterparts.
+ * sysdeps/unix/sysv/linux/sparc/sparc64/get_clockfreq.c
+ (__get_clockfreq_via_cpuinfo): Likewise.
+ (__get_clockfreq_via_proc_openprom): Likewise, and __getdirentries.
+ (__get_clockfreq_via_dev_openprom): Likewise, and __ioctl.
+
+ * config.h.in (HAVE_IFUNC): New #undef.
+ * configure.in: Define it if libc_cv_ld_gnu_indirect_function
+ was successful.
+ * configure: Regenerated.
+
+2012-10-24 Mike Frysinger <vapier@xxxxxxxxxx>
+
+ * configure.in: Move READELF check to start of file.
+ (libc_cv_ld_gnu_indirect_function): Change to a link test. Rename from
+ libc_cv_asm_gnu_indirect_function in the process.
+ * configure: Regenerated.
+
+2012-10-24 Mike Frysinger <vapier@xxxxxxxxxx>
+
+ * configure.in (libc_cv_gcc_static_libgcc): Drop -q flag to grep and
+ send the output to /dev/null.
+ (libc_cv_cc_with_libunwind): Likewise.
+ (libc_cv_as_noexecstack): Likewise.
+ * configure: Regenerate.
+
+2012-10-24 Joseph Myers <joseph@xxxxxxxxxxxxxxxx>
+
+ * io/ftwtest-sh (tmp): Define to ${objpfx}io, not using `pwd`.
+
+ * posix/globtest.sh (TMPDIR): Do not set.
+ (testdir): Define using ${common_objpfx}posix not $TMPDIR.
+ (testout): Likewise.
+
+2012-10-24 Andreas Jaeger <aj@xxxxxxx>
+
+ * io/fcntl.h: Always define mode_t, off_t, pid_t and use these
+ types for creat, creat64, lockf, posix_fadvise, posix_fallocate.
+ [__USE_LARGEFILE64 && !__off64_t_defined]: Define off64_t.
+ [__USE_LARGEFILE64]: Use off64_t in declaration of lock64,
+ posix_fadvise64, posix_fallocate64.
+
+ * sysdeps/unix/sysv/linux/x86/bits/fcntl.h (F_GETLK, F_SETLK)
+ (F_SETLKW) [__x86_64]: Remove, provided by <bits/fcntl-linux.h>.
+ (F_GETLK, F_SETLK, F_SETLKW) [!__USE_FILE_OFFSET64 && !__x86_64__]:
+ Likewise.
+ (F_GETLK, F_SETLK, F_SETLKW) [__USE_FILE_OFFSET64 && ! __x86_64__]:
+ Likewise.
+ (F_GETLK64, F_SETLK64, F_SETLKW64) [!__x86_64__]: Likewise.
+
+ * sysdeps/unix/sysv/linux/sparc/bits/fcntl.h (F_GETLK, F_SETLK)
+ (F_SETLKW) [__USE_FILE_OFFSET64]: Remove, provided by
+ <bits/fcntl-linux.h>.
+ (F_GETLK64, F_SETLK64, F_SETLKW64) [__WORDSIZE == 64]: Likewise.
+
+ * sysdeps/unix/sysv/linux/s390/bits/fcntl.h (F_DUPFD, F_GETFD)
+ (F_SETFD, F_GETFL, F_SETFL): Remove, provided by <bits/fcntl-linux.h>.
+ (F_GETLK, F_SETLK, F_SETLKW) [__WORDSIZE == 64]: Likewise.
+ (F_GETLK, F_SETLK, F_SETLKW, F_GETLK64, F_SETLK64, F_SETLKW64)
+ [__WORDSIZE != 64]: Likewise.
+
2012-10-23 Joseph Myers <joseph@xxxxxxxxxxxxxxxx>
+
+ * Makeconfig (run-built-tests): New variable.
+ * Rules [$(cross-compiling) = yes]: Change condition to
+ [$(run-built-tests) = no].
+ * catgets/Makefile [$(cross-compiling) != yes]: Change condition
+ to [$(run-built-tests) = yes].
+ * elf/Makefile [$(cross-compiling) = no]: Likewise
+ * grp/Makefile [$(cross-compiling) = no]: Likewise.
+ * iconv/Makefile [$(cross-compiling) != yes]: Likewise.
+ * iconvdata/Makefile [$(cross-compiling) = no]: Likewise.
+ * intl/Makefile [$(cross-compiling) = no]: Likewise.
+ * io/Makefile [$(cross-compiling) = no]: Likewise.
+ * libio/Makefile [$(cross-compiling) = no]: Likewise.
+ * malloc/Makefile [$(cross-compiling) = no]: Likewise.
+ * misc/Makefile [$(cross-compiling) = no]: Likewise.
+ * posix/Makefile [$(cross-compiling) = no]: Likewise.
+ * resolv/Makefile [$(cross-compiling) = no]: Likewise.
+ * stdio-common/Makefile [$(cross-compiling) = no]: Likewise.
+ * stdlib/Makefile [$(cross-compiling) = no]: Likewise.
+ * string/Makefile [$(cross-compiling) = no]: Likewise.
* posix/Makefile ($(objpfx)globtest.out): Pass
$(run-program-prefix) to globtest.sh, not $(elf-objpfx) and
Modified: fsf/trunk/libc/Makeconfig
==============================================================================
--- fsf/trunk/libc/Makeconfig (original)
+++ fsf/trunk/libc/Makeconfig Thu Oct 25 00:02:08 2012
@@ -564,6 +564,27 @@
csu-objpfx = $(common-objpfx)csu/
elf-objpfx = $(common-objpfx)elf/
+# A command that, prepended to the name and arguments of a program,
+# and run on the build system, causes that program with those
+# arguments to be run on the host for which the library is built.
+ifndef test-wrapper
+test-wrapper =
+endif
+# Likewise, but the name of the program is preceded by
+# <variable>=<value> assignments for environment variables.
+ifndef test-wrapper-env
+test-wrapper-env = $(test-wrapper) env
+endif
+
+# Whether to run test programs built for the library's host system.
+ifndef run-built-tests
+ifeq (yes|,$(cross-compiling)|$(test-wrapper))
+run-built-tests = no
+else
+run-built-tests = yes
+endif
+endif
+
# How to run a program we just linked with our library.
# The program binary is assumed to be $(word 2,$^).
built-program-file = $(dir $(word 2,$^))$(notdir $(word 2,$^))
@@ -591,12 +612,13 @@
# of a program built with the newly built library, produces a command
# that, executed on the build system on which "make" is run, runs that
# program.
-run-program-prefix = $(run-via-rtld-prefix)
+run-program-prefix = $(test-wrapper) $(run-via-rtld-prefix)
# $(built-program-cmd) is a command that, executed on the build system
# on which "make" is run, runs the newly built program that is the
# second dependency of the makefile target in which
# $(built-program-cmd) is used.
-built-program-cmd = $(run-via-rtld-prefix) $(built-program-file)
+built-program-cmd = $(test-wrapper) \
+ $(run-via-rtld-prefix) $(built-program-file)
# $(host-built-program-cmd) is a command that, executed on the host
# for which the library is built, runs the newly built program that is
# the second dependency of the makefile target in which
Modified: fsf/trunk/libc/NEWS
==============================================================================
--- fsf/trunk/libc/NEWS (original)
+++ fsf/trunk/libc/NEWS Thu Oct 25 00:02:08 2012
@@ -16,7 +16,8 @@
14328, 14331, 14336, 14337, 14347, 14349, 14376, 14417, 14459, 14476,
14477, 14505, 14510, 14516, 14518, 14519, 14530, 14532, 14538, 14543,
14544, 14545, 14557, 14562, 14568, 14576, 14579, 14583, 14587, 14602,
- 14621, 14638, 14645, 14648, 14652, 14660, 14661, 14683, 14694, 14716.
+ 14621, 14638, 14645, 14648, 14652, 14660, 14661, 14683, 14694, 14716,
+ 14743.
* Support for STT_GNU_IFUNC symbols added for s390 and s390x.
Optimized versions of memcpy, memset, and memcmp added for System z10 and
@@ -54,6 +55,13 @@
enabled, and fail on encrypted strings using the MD5 or DES algorithm
when the mode is enabled.
+* The `clock_*' suite of functions (declared in <time.h>) is now available
+ directly in the main C library. Previously it was necessary to link with
+ -lrt to use these functions. This change has the effect that a
+ single-threaded program that uses a function such as `clock_gettime' (and
+ is not linked with -lrt) will no longer implicitly load the pthreads
+ library at runtime and so will not suffer the overheads associated with
+ multi-thread support in other code such as the C++ runtime library.
Version 2.16
@@ -81,7 +89,7 @@
14043, 14044, 14048, 14049, 14050, 14053, 14055, 14059, 14064, 14075,
14080, 14083, 14103, 14104, 14109, 14112, 14117, 14122, 14123, 14134,
14153, 14183, 14188, 14199, 14210, 14218, 14229, 14241, 14273, 14277,
- 14278,
+ 14278.
* Support for the x32 ABI on x86-64 added. The x32 target is selected by
configuring glibc with:
Modified: fsf/trunk/libc/Rules
==============================================================================
--- fsf/trunk/libc/Rules (original)
+++ fsf/trunk/libc/Rules Thu Oct 25 00:02:08 2012
@@ -94,7 +94,7 @@
else
others: $(addprefix $(objpfx),$(extra-objs))
endif
-ifeq ($(cross-compiling),yes)
+ifeq ($(run-built-tests),no)
tests: $(addprefix $(objpfx),$(tests) $(test-srcs))
xtests: tests
else
@@ -180,8 +180,9 @@
# These are the implicit rules for making test outputs
# from the test programs and whatever input files are present.
-make-test-out = GCONV_PATH=$(common-objpfx)iconvdata LC_ALL=C \
- $($*-ENV) $(built-program-cmd) $($*-ARGS)
+make-test-out = $(test-wrapper-env) \
+ GCONV_PATH=$(common-objpfx)iconvdata LC_ALL=C \
+ $($*-ENV) $(host-built-program-cmd) $($*-ARGS)
$(objpfx)%-bp.out: %.input $(objpfx)%-bp
$(make-test-out) > $@ < $(word 1,$^)
$(objpfx)%.out: %.input $(objpfx)%
Modified: fsf/trunk/libc/catgets/Makefile
==============================================================================
--- fsf/trunk/libc/catgets/Makefile (original)
+++ fsf/trunk/libc/catgets/Makefile Thu Oct 25 00:02:08 2012
@@ -50,7 +50,7 @@
tst-catgets-ENV = NLSPATH="$(objpfx)%l/%N.cat" LANG=de
-ifneq ($(cross-compiling),yes)
+ifeq ($(run-built-tests),yes)
tests: $(objpfx)de/libc.cat $(objpfx)test1.cat $(objpfx)test2.cat \
$(objpfx)test-gencat.out
# This test just checks whether the program produces any error or not.
Modified: fsf/trunk/libc/config.h.in
==============================================================================
--- fsf/trunk/libc/config.h.in (original)
+++ fsf/trunk/libc/config.h.in Thu Oct 25 00:02:08 2012
@@ -179,6 +179,9 @@
/* Define if the dynamic linker should consult an ld.so.cache file. */
#undef USE_LDCONFIG
+
+/* Define if STT_GNU_IFUNC support actually works. */
+#undef HAVE_IFUNC
/*
*/
Modified: fsf/trunk/libc/configure
==============================================================================
--- fsf/trunk/libc/configure (original)
+++ fsf/trunk/libc/configure Thu Oct 25 00:02:08 2012
@@ -631,7 +631,6 @@
SYSINCLUDES
AUTOCONF
NM
-READELF
AWK
SED
MAKEINFO
@@ -664,6 +663,7 @@
use_default_link
sysheaders
with_fp
+READELF
ac_ct_CXX
CXXFLAGS
CXX
@@ -3397,6 +3397,98 @@
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}readelf", so it can be a program name with args.
+set dummy ${ac_tool_prefix}readelf; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_READELF+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$READELF"; then
+ ac_cv_prog_READELF="$READELF" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_READELF="${ac_tool_prefix}readelf"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+READELF=$ac_cv_prog_READELF
+if test -n "$READELF"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $READELF" >&5
+$as_echo "$READELF" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_READELF"; then
+ ac_ct_READELF=$READELF
+ # Extract the first word of "readelf", so it can be a program name with args.
+set dummy readelf; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_READELF+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_READELF"; then
+ ac_cv_prog_ac_ct_READELF="$ac_ct_READELF" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_READELF="readelf"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_READELF=$ac_cv_prog_ac_ct_READELF
+if test -n "$ac_ct_READELF"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_READELF" >&5
+$as_echo "$ac_ct_READELF" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_READELF" = x; then
+ READELF="false"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ READELF=$ac_ct_READELF
+ fi
+else
+ READELF="$ac_cv_prog_READELF"
+fi
+
if test "`cd $srcdir; /bin/pwd`" = "`/bin/pwd`"; then
as_fn_error $? "you must configure in a separate build directory" "$LINENO" 5
@@ -4053,25 +4145,36 @@
fi
-# For the multi-arch option we need support in the assembler.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for assembler gnu_indirect_function symbol type support" >&5
-$as_echo_n "checking for assembler gnu_indirect_function symbol type support... " >&6; }
-if ${libc_cv_asm_gnu_indirect_function+:} false; then :
+# For the multi-arch option we need support in the assembler & linker.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for assembler and linker STT_GNU_IFUNC support" >&5
+$as_echo_n "checking for assembler and linker STT_GNU_IFUNC support... " >&6; }
+if ${libc_cv_ld_gnu_indirect_function+:} false; then :
$as_echo_n "(cached) " >&6
else
cat > conftest.s <<EOF
.type foo,%gnu_indirect_function
+foo:
+.globl _start
+_start:
+.globl __start
+__start:
+.data
+.long foo
EOF
-if ${CC-cc} -c $ASFLAGS conftest.s 1>&5 2>&5;
-then
- libc_cv_asm_gnu_indirect_function=yes
-else
- libc_cv_asm_gnu_indirect_function=no
+libc_cv_ld_gnu_indirect_function=no
+if ${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS \
+ -nostartfiles -nostdlib \
+ -o conftest conftest.s 1>&5 2>&5; then
+ # Do a link to see if the backend supports IFUNC relocs.
+ $READELF -r conftest 1>&5
+ LC_ALL=C $READELF -r conftest | grep 'no relocations' >/dev/null || {
+ libc_cv_ld_gnu_indirect_function=yes
+ }
fi
rm -f conftest*
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_asm_gnu_indirect_function" >&5
-$as_echo "$libc_cv_asm_gnu_indirect_function" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_ld_gnu_indirect_function" >&5
+$as_echo "$libc_cv_ld_gnu_indirect_function" >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether .text pseudo-op must be used" >&5
$as_echo_n "checking whether .text pseudo-op must be used... " >&6; }
@@ -4101,7 +4204,7 @@
$as_echo "yes" >&6; }
fi
-if test x"$libc_cv_asm_gnu_indirect_function" != xyes; then
+if test x"$libc_cv_ld_gnu_indirect_function" != xyes; then
if test x"$multi_arch" = xyes; then
as_fn_error $? "--enable-multi-arch support requires assembler and linker support" "$LINENO" 5
else
@@ -5066,98 +5169,6 @@
if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}readelf", so it can be a program name with args.
-set dummy ${ac_tool_prefix}readelf; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_READELF+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$READELF"; then
- ac_cv_prog_READELF="$READELF" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_READELF="${ac_tool_prefix}readelf"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-READELF=$ac_cv_prog_READELF
-if test -n "$READELF"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $READELF" >&5
-$as_echo "$READELF" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_READELF"; then
- ac_ct_READELF=$READELF
- # Extract the first word of "readelf", so it can be a program name with args.
-set dummy readelf; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_READELF+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_READELF"; then
- ac_cv_prog_ac_ct_READELF="$ac_ct_READELF" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_READELF="readelf"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_READELF=$ac_cv_prog_ac_ct_READELF
-if test -n "$ac_ct_READELF"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_READELF" >&5
-$as_echo "$ac_ct_READELF" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_READELF" = x; then
- READELF="false"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- READELF=$ac_ct_READELF
- fi
-else
- READELF="$ac_cv_prog_READELF"
-fi
-
-if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}nm", so it can be a program name with args.
set dummy ${ac_tool_prefix}nm; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
@@ -5384,7 +5395,7 @@
if ${libc_cv_gcc_static_libgcc+:} false; then :
$as_echo_n "(cached) " >&6
else
- if $CC -v -static-libgcc 2>&1 | grep -q 'unrecognized option.*static-libgcc'; then
+ if $CC -v -static-libgcc 2>&1 | grep 'unrecognized option.*static-libgcc' >/dev/null; then
libc_cv_gcc_static_libgcc=
else
libc_cv_gcc_static_libgcc=-static-libgcc
@@ -6139,7 +6150,7 @@
int main (void) { return 0; }
EOF
if ${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -static -o conftest \
- conftest.c -v 2>&1 >/dev/null | grep -q " -lunwind "; then
+ conftest.c -v 2>&1 >/dev/null | grep ' -lunwind ' >/dev/null; then
libc_cv_cc_with_libunwind=yes
else
libc_cv_cc_with_libunwind=no
@@ -6370,7 +6381,7 @@
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; } \
- && grep -q .note.GNU-stack conftest.s \
+ && grep .note.GNU-stack conftest.s >/dev/null \
&& { ac_try='${CC-cc} $ASFLAGS -Wa,--noexecstack
-c -o conftest.o conftest.s 1>&5'
{ { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
@@ -7444,6 +7455,13 @@
fi
+
+# A sysdeps configure fragment can reset this if IFUNC is not actually
+# usable even though the assembler knows how to generate the symbol type.
+if test x"$libc_cv_ld_gnu_indirect_function" = xyes; then
+ $as_echo "#define HAVE_IFUNC 1" >>confdefs.h
+
+fi
# This is far from the AC_ARG_ENABLE that sets it so that a sysdeps
# configure fragment can override the value to prevent this AC_DEFINE.
Modified: fsf/trunk/libc/configure.in
==============================================================================
--- fsf/trunk/libc/configure.in (original)
+++ fsf/trunk/libc/configure.in Thu Oct 25 00:02:08 2012
@@ -23,6 +23,7 @@
AC_PROG_CPP
# We need the C++ compiler only for testing.
AC_PROG_CXX
+AC_CHECK_TOOL(READELF, readelf, false)
if test "`cd $srcdir; /bin/pwd`" = "`/bin/pwd`"; then
AC_MSG_ERROR([you must configure in a separate build directory])
@@ -566,17 +567,28 @@
AC_DEFINE(USE_REGPARMS)
fi
-# For the multi-arch option we need support in the assembler.
-AC_CACHE_CHECK([for assembler gnu_indirect_function symbol type support],
- libc_cv_asm_gnu_indirect_function, [dnl
+# For the multi-arch option we need support in the assembler & linker.
+AC_CACHE_CHECK([for assembler and linker STT_GNU_IFUNC support],
+ libc_cv_ld_gnu_indirect_function, [dnl
cat > conftest.s <<EOF
.type foo,%gnu_indirect_function
-EOF
-if ${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD;
-then
- libc_cv_asm_gnu_indirect_function=yes
-else
- libc_cv_asm_gnu_indirect_function=no
+foo:
+.globl _start
+_start:
+.globl __start
+__start:
+.data
+.long foo
+EOF
+libc_cv_ld_gnu_indirect_function=no
+if ${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS \
+ -nostartfiles -nostdlib \
+ -o conftest conftest.s 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD; then
+ # Do a link to see if the backend supports IFUNC relocs.
+ $READELF -r conftest 1>&AS_MESSAGE_LOG_FD
+ LC_ALL=C $READELF -r conftest | grep 'no relocations' >/dev/null || {
+ libc_cv_ld_gnu_indirect_function=yes
+ }
fi
rm -f conftest*])
@@ -596,7 +608,7 @@
AC_MSG_RESULT(yes)
fi
-if test x"$libc_cv_asm_gnu_indirect_function" != xyes; then
+if test x"$libc_cv_ld_gnu_indirect_function" != xyes; then
if test x"$multi_arch" = xyes; then
AC_MSG_ERROR([--enable-multi-arch support requires assembler and linker support])
else
@@ -930,7 +942,6 @@
[GNU Awk[^0-9]*\([0-9][0-9.]*\)],
[[3-9].*], critic_missing="$critic_missing gawk")
-AC_CHECK_TOOL(READELF, readelf, false)
AC_CHECK_TOOL(NM, nm, false)
AC_CHECK_PROGS(AUTOCONF, autoconf, no)
@@ -1011,7 +1022,7 @@
fi
AC_CACHE_CHECK(whether GCC supports -static-libgcc, libc_cv_gcc_static_libgcc, [dnl
-if $CC -v -static-libgcc 2>&1 | grep -q 'unrecognized option.*static-libgcc'; then
+if $CC -v -static-libgcc 2>&1 | grep 'unrecognized option.*static-libgcc' >/dev/null; then
libc_cv_gcc_static_libgcc=
else
libc_cv_gcc_static_libgcc=-static-libgcc
@@ -1376,7 +1387,7 @@
int main (void) { return 0; }
EOF
if ${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -static -o conftest \
- conftest.c -v 2>&1 >/dev/null | grep -q " -lunwind "; then
+ conftest.c -v 2>&1 >/dev/null | grep ' -lunwind ' >/dev/null; then
libc_cv_cc_with_libunwind=yes
else
libc_cv_cc_with_libunwind=no
@@ -1526,7 +1537,7 @@
EOF
if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS
-S -o conftest.s conftest.c 1>&AS_MESSAGE_LOG_FD]) \
- && grep -q .note.GNU-stack conftest.s \
+ && grep .note.GNU-stack conftest.s >/dev/null \
&& AC_TRY_COMMAND([${CC-cc} $ASFLAGS -Wa,--noexecstack
-c -o conftest.o conftest.s 1>&AS_MESSAGE_LOG_FD])
then
@@ -2112,6 +2123,12 @@
fi
AC_SUBST(libc_cv_gcc_unwind_find_fde)
+# A sysdeps configure fragment can reset this if IFUNC is not actually
+# usable even though the assembler knows how to generate the symbol type.
+if test x"$libc_cv_ld_gnu_indirect_function" = xyes; then
+ AC_DEFINE(HAVE_IFUNC)
+fi
+
# This is far from the AC_ARG_ENABLE that sets it so that a sysdeps
# configure fragment can override the value to prevent this AC_DEFINE.
AC_SUBST(use_nscd)
Modified: fsf/trunk/libc/elf/Makefile
==============================================================================
--- fsf/trunk/libc/elf/Makefile (original)
+++ fsf/trunk/libc/elf/Makefile Thu Oct 25 00:02:08 2012
@@ -161,7 +161,7 @@
endif
endif
endif
-ifeq ($(cross-compiling),no)
+ifeq ($(run-built-tests),yes)
tests: $(objpfx)tst-leaks1-mem $(objpfx)tst-leaks1-static-mem \
$(objpfx)noload-mem
endif
@@ -438,7 +438,7 @@
generated += $(addsuffix .so,$(strip $(modules-names)))
ifeq (yes,$(build-shared))
-ifeq ($(cross-compiling),no)
+ifeq ($(run-built-tests),yes)
tests: $(objpfx)tst-pathopt.out $(objpfx)tst-rtld-load-self.out
endif
endif
@@ -644,6 +644,7 @@
$(objpfx)order: $(addprefix $(objpfx),dep4.so dep3.so dep2.so dep1.so)
$(objpfx)order.out: $(objpfx)order
+ $(test-wrapper) \
$(elf-objpfx)$(rtld-installed-name) \
--library-path $(rpath-link)$(patsubst %,:%,$(sysdep-library-path)) \
$(objpfx)order > $@
@@ -710,10 +711,10 @@
$(objpfx)tst-pathopt: $(libdl)
$(objpfx)tst-pathopt.out: tst-pathopt.sh $(objpfx)tst-pathopt \
$(objpfx)pathoptobj.so
- $(SHELL) $< $(common-objpfx)
+ $(SHELL) $< $(common-objpfx) '$(test-wrapper-env)'
$(objpfx)tst-rtld-load-self.out: tst-rtld-load-self.sh $(objpfx)ld.so
- $(SHELL) $^ > $@
+ $(SHELL) $^ '$(test-wrapper)' '$(test-wrapper-env)' > $@
$(objpfx)initfirst: $(libdl)
$(objpfx)initfirst.out: $(objpfx)firstobj.so
@@ -1035,6 +1036,7 @@
$(objpfx)order2: $(libdl)
$(objpfx)order2.out: $(objpfx)order2 $(objpfx)order2mod1.so \
$(objpfx)order2mod2.so
+ $(test-wrapper) \
$(elf-objpfx)$(rtld-installed-name) \
--library-path $(rpath-link)$(patsubst %,:%,$(sysdep-library-path)) \
$(objpfx)order2 > $@
@@ -1129,6 +1131,7 @@
$(objpfx)tst-unique4: $(objpfx)tst-unique4lib.so
$(objpfx)tst-initorder.out: $(objpfx)tst-initorder
+ $(test-wrapper) \
$(elf-objpfx)${rtld-installed-name} \
--library-path $(rpath-link)$(patsubst %,:%,$(sysdep-library-path)) \
$< > $@
@@ -1150,6 +1153,7 @@
include $(o-iterator)
$(objpfx)tst-initorder2.out: $(objpfx)tst-initorder2
+ $(test-wrapper) \
$(elf-objpfx)${rtld-installed-name} \
--library-path $(rpath-link)$(patsubst %,:%,$(sysdep-library-path)) \
$< > $@
@@ -1174,11 +1178,12 @@
$(objpfx)tst-relsort1.out: $(objpfx)tst-relsort1mod1.so \
$(objpfx)tst-relsort1mod2.so
-ifeq ($(cross-compiling),no)
+ifeq ($(run-built-tests),yes)
tests: $(objpfx)tst-unused-dep.out
endif
$(objpfx)tst-unused-dep.out: $(objpfx)testobj1.so
+ $(test-wrapper-env) \
LD_TRACE_LOADED_OBJECTS=1 \
LD_DEBUG=unused \
LD_PRELOAD= \
Modified: fsf/trunk/libc/elf/tst-pathopt.sh
==============================================================================
--- fsf/trunk/libc/elf/tst-pathopt.sh (original)
+++ fsf/trunk/libc/elf/tst-pathopt.sh Thu Oct 25 00:02:08 2012
@@ -20,7 +20,7 @@
set -e
common_objpfx=$1
-run_program_prefix=$2
+test_wrapper_env=$2
test -e ${common_objpfx}elf/will-be-empty &&
rm -fr ${common_objpfx}elf/will-be-empty
@@ -29,6 +29,7 @@
cp ${common_objpfx}elf/pathoptobj.so ${common_objpfx}elf/for-renamed/renamed.so
+${test_wrapper_env} \
LOCPATH=${common_objpfx}localedata GCONV_PATH=${common_objpfx}iconvdata \
LC_ALL=C LD_LIBRARY_PATH=${common_objpfx}elf/will-be-empty:${common_objpfx}elf/for-renamed:${common_objpfx}.:${common_objpfx}dlfcn \
${common_objpfx}elf/ld.so ${common_objpfx}elf/tst-pathopt \
Modified: fsf/trunk/libc/elf/tst-rtld-load-self.sh
==============================================================================
--- fsf/trunk/libc/elf/tst-rtld-load-self.sh (original)
+++ fsf/trunk/libc/elf/tst-rtld-load-self.sh Thu Oct 25 00:02:08 2012
@@ -21,25 +21,28 @@
set -e
rtld=$1
+test_wrapper=$2
+test_wrapper_env=$3
result=0
echo '# normal mode'
-$rtld $rtld 2>&1 && rc=0 || rc=$?
+${test_wrapper} $rtld $rtld 2>&1 && rc=0 || rc=$?
echo "# exit status $rc"
test $rc -le 127 || result=1
echo '# list mode'
-$rtld --list $rtld 2>&1 && rc=0 || rc=$?
+${test_wrapper} $rtld --list $rtld 2>&1 && rc=0 || rc=$?
echo "# exit status $rc"
test $rc -eq 0 || result=1
echo '# verify mode'
-$rtld --verify $rtld 2>&1 && rc=0 || rc=$?
+${test_wrapper} $rtld --verify $rtld 2>&1 && rc=0 || rc=$?
echo "# exit status $rc"
test $rc -eq 2 || result=1
echo '# trace mode'
-LD_TRACE_LOADED_OBJECTS=1 $rtld $rtld 2>&1 && rc=0 || rc=$?
+${test_wrapper_env} LD_TRACE_LOADED_OBJECTS=1 \
+ $rtld $rtld 2>&1 && rc=0 || rc=$?
echo "# exit status $rc"
test $rc -eq 0 || result=1
Modified: fsf/trunk/libc/grp/Makefile
==============================================================================
--- fsf/trunk/libc/grp/Makefile (original)
+++ fsf/trunk/libc/grp/Makefile Thu Oct 25 00:02:08 2012
@@ -50,7 +50,7 @@
endif
-ifeq (no,$(cross-compiling))
+ifeq ($(run-built-tests),yes)
# tst_fgetgrent currently only works with shared libraries
ifeq (yes,$(build-shared))
tests: $(objpfx)tst_fgetgrent.out
Modified: fsf/trunk/libc/iconv/Makefile
==============================================================================
--- fsf/trunk/libc/iconv/Makefile (original)
+++ fsf/trunk/libc/iconv/Makefile Thu Oct 25 00:02:08 2012
@@ -69,7 +69,7 @@
$(objpfx)iconv_prog: $(iconv_prog-modules:%=$(objpfx)%.o)
$(objpfx)iconvconfig: $(iconvconfig-modules:%=$(objpfx)%.o)
-ifneq ($(cross-compiling),yes)
+ifeq ($(run-built-tests),yes)
xtests: test-iconvconfig
endif
Modified: fsf/trunk/libc/iconvdata/Makefile
==============================================================================
--- fsf/trunk/libc/iconvdata/Makefile (original)
+++ fsf/trunk/libc/iconvdata/Makefile Thu Oct 25 00:02:08 2012
@@ -267,7 +267,7 @@
include ../Rules
-ifeq (no,$(cross-compiling))
+ifeq ($(run-built-tests),yes)
ifeq (yes,$(build-shared))
tests: $(objpfx)iconv-test.out $(objpfx)tst-tables.out
ifneq (no,$(PERL))
@@ -299,7 +299,7 @@
$(objpfx)iconv-test.out: run-iconv-test.sh $(objpfx)gconv-modules \
$(addprefix $(objpfx),$(modules.so)) \
$(common-objdir)/iconv/iconv_prog TESTS
- $(SHELL) $< $(common-objdir) > $@
+ $(SHELL) $< $(common-objdir) '$(test-wrapper)' > $@
$(objpfx)tst-tables.out: tst-tables.sh $(objpfx)gconv-modules \
$(addprefix $(objpfx),$(modules.so)) \
Modified: fsf/trunk/libc/iconvdata/run-iconv-test.sh
==============================================================================
--- fsf/trunk/libc/iconvdata/run-iconv-test.sh (original)
+++ fsf/trunk/libc/iconvdata/run-iconv-test.sh Thu Oct 25 00:02:08 2012
@@ -21,6 +21,7 @@
set -e
codir=$1
+test_wrapper="$2"
# We use always the same temporary file.
temp1=$codir/iconvdata/iconv-test.xxx
@@ -39,6 +40,7 @@
# How the start the iconv(1) program.
ICONV='$codir/elf/ld.so --library-path $LIBPATH --inhibit-rpath ${from}.so \
$codir/iconv/iconv_prog'
+ICONV="$test_wrapper $ICONV"
# Which echo?
if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
Modified: fsf/trunk/libc/include/time.h
==============================================================================
--- fsf/trunk/libc/include/time.h (original)
+++ fsf/trunk/libc/include/time.h Thu Oct 25 00:02:08 2012
@@ -19,7 +19,11 @@
libc_hidden_proto (strftime)
libc_hidden_proto (strptime)
-librt_hidden_proto (clock_gettime)
+extern __typeof (clock_getres) __clock_getres;
+extern __typeof (clock_gettime) __clock_gettime;
+extern __typeof (clock_settime) __clock_settime;
+extern __typeof (clock_nanosleep) __clock_nanosleep;
+extern __typeof (clock_getcpuclockid) __clock_getcpuclockid;
/* Now define the internal interfaces. */
struct tm;
Modified: fsf/trunk/libc/intl/Makefile
==============================================================================
--- fsf/trunk/libc/intl/Makefile (original)
+++ fsf/trunk/libc/intl/Makefile Thu Oct 25 00:02:08 2012
@@ -48,7 +48,7 @@
include ../Rules
-ifeq (no,$(cross-compiling))
+ifeq ($(run-built-tests),yes)
ifeq (yes,$(build-shared))
ifneq ($(strip $(MSGFMT)),:)
tests: $(objpfx)tst-translit.out $(objpfx)tst-gettext2.out \
Modified: fsf/trunk/libc/io/Makefile
==============================================================================
--- fsf/trunk/libc/io/Makefile (original)
+++ fsf/trunk/libc/io/Makefile Thu Oct 25 00:02:08 2012
@@ -98,7 +98,7 @@
tst-statvfs-ARGS = $(objpfx)tst-statvfs tst-statvfs.c /tmp
-ifeq ($(cross-compiling),no)
+ifeq ($(run-built-tests),yes)
tests: $(objpfx)ftwtest.out
$(objpfx)ftwtest.out: ftwtest-sh $(objpfx)ftwtest
Modified: fsf/trunk/libc/io/fcntl.h
==============================================================================
--- fsf/trunk/libc/io/fcntl.h (original)
+++ fsf/trunk/libc/io/fcntl.h Thu Oct 25 00:02:08 2012
@@ -34,28 +34,32 @@
numbers and flag bits for `open', `fcntl', et al. */
#include <bits/fcntl.h>
-#if defined __USE_XOPEN || defined __USE_XOPEN2K
-/* The Single Unix specification says that some more types are
- available here. */
-# ifndef __mode_t_defined
+/* POSIX.1-2001 specifies that these types are defined by <fcntl.h>.
+ Earlier POSIX standards permitted any type ending in `_t' to be defined
+ by any POSIX header, so we don't conditionalize the definitions here. */
+#ifndef __mode_t_defined
typedef __mode_t mode_t;
-# define __mode_t_defined
-# endif
-
-# ifndef __off_t_defined
-# ifndef __USE_FILE_OFFSET64
+# define __mode_t_defined
+#endif
+
+#ifndef __off_t_defined
+# ifndef __USE_FILE_OFFSET64
typedef __off_t off_t;
-# else
+# else
typedef __off64_t off_t;
-# endif
-# define __off_t_defined
-# endif
-
-# ifndef __pid_t_defined
+# endif
+# define __off_t_defined
+#endif
+
+#if defined __USE_LARGEFILE64 && !defined __off64_t_defined
+typedef __off64_t off64_t;
+# define __off64_t_defined
+#endif
+
+#ifndef __pid_t_defined
typedef __pid_t pid_t;
-# define __pid_t_defined
-# endif
-#endif /* X/Open */
+# define __pid_t_defined
+#endif
/* For XPG all symbols from <sys/stat.h> should also be available. */
#if defined __USE_XOPEN || defined __USE_XOPEN2K8
@@ -202,17 +206,17 @@
This function is a cancellation point and therefore not marked with
__THROW. */
#ifndef __USE_FILE_OFFSET64
-extern int creat (const char *__file, __mode_t __mode) __nonnull ((1));
+extern int creat (const char *__file, mode_t __mode) __nonnull ((1));
#else
# ifdef __REDIRECT
-extern int __REDIRECT (creat, (const char *__file, __mode_t __mode),
+extern int __REDIRECT (creat, (const char *__file, mode_t __mode),
creat64) __nonnull ((1));
# else
# define creat creat64
# endif
#endif
#ifdef __USE_LARGEFILE64
-extern int creat64 (const char *__file, __mode_t __mode) __nonnull ((1));
+extern int creat64 (const char *__file, mode_t __mode) __nonnull ((1));
#endif
#if !defined F_LOCK && (defined __USE_MISC || (defined __USE_XOPEN_EXTENDED \
@@ -231,7 +235,7 @@
# define F_TEST 3 /* Test a region for other processes locks. */
# ifndef __USE_FILE_OFFSET64
-extern int lockf (int __fd, int __cmd, __off_t __len);
+extern int lockf (int __fd, int __cmd, off_t __len);
# else
# ifdef __REDIRECT
extern int __REDIRECT (lockf, (int __fd, int __cmd, __off64_t __len), lockf64);
@@ -240,7 +244,7 @@
# endif
# endif
# ifdef __USE_LARGEFILE64
-extern int lockf64 (int __fd, int __cmd, __off64_t __len);
+extern int lockf64 (int __fd, int __cmd, off64_t __len);
# endif
#endif
@@ -248,7 +252,7 @@
/* Advice the system about the expected behaviour of the application with
respect to the file associated with FD. */
# ifndef __USE_FILE_OFFSET64
-extern int posix_fadvise (int __fd, __off_t __offset, __off_t __len,
+extern int posix_fadvise (int __fd, off_t __offset, off_t __len,
int __advise) __THROW;
# else
# ifdef __REDIRECT_NTH
@@ -260,7 +264,7 @@
# endif
# endif
# ifdef __USE_LARGEFILE64
-extern int posix_fadvise64 (int __fd, __off64_t __offset, __off64_t __len,
+extern int posix_fadvise64 (int __fd, off64_t __offset, off64_t __len,
int __advise) __THROW;
# endif
@@ -270,7 +274,7 @@
This function is a possible cancellation point and therefore not
marked with __THROW. */
# ifndef __USE_FILE_OFFSET64
-extern int posix_fallocate (int __fd, __off_t __offset, __off_t __len);
+extern int posix_fallocate (int __fd, off_t __offset, off_t __len);
# else
# ifdef __REDIRECT
extern int __REDIRECT (posix_fallocate, (int __fd, __off64_t __offset,
@@ -281,7 +285,7 @@
# endif
# endif
# ifdef __USE_LARGEFILE64
-extern int posix_fallocate64 (int __fd, __off64_t __offset, __off64_t __len);
+extern int posix_fallocate64 (int __fd, off64_t __offset, off64_t __len);
# endif
#endif
Modified: fsf/trunk/libc/io/ftwtest-sh
==============================================================================
--- fsf/trunk/libc/io/ftwtest-sh (original)
+++ fsf/trunk/libc/io/ftwtest-sh Thu Oct 25 00:02:08 2012
@@ -44,7 +44,7 @@
export LANG
# First create our scenario:
-tmp=`pwd | sed 's|\(.\)/*$|\1|'`
+tmp=${objpfx}io
tmpdir=$tmp/ftwtest.d
trap 'chmod -fR a+x $tmpdir; rm -fr $tmpdir $testout' 1 2 3 15
Modified: fsf/trunk/libc/libio/Makefile
==============================================================================
--- fsf/trunk/libc/libio/Makefile (original)
+++ fsf/trunk/libc/libio/Makefile Thu Oct 25 00:02:08 2012
@@ -175,7 +175,7 @@
include ../Rules
-ifeq (no,$(cross-compiling))
+ifeq ($(run-built-tests),yes)
tests: $(objpfx)test-freopen.out
ifeq (yes,$(build-shared))
# Run tst-fopenloc.check only if shared library is enabled since it
Modified: fsf/trunk/libc/localedata/ChangeLog
==============================================================================
--- fsf/trunk/libc/localedata/ChangeLog (original)
+++ fsf/trunk/libc/localedata/ChangeLog Thu Oct 25 00:02:08 2012
@@ -1,3 +1,8 @@
+2012-10-23 Joseph Myers <joseph@xxxxxxxxxxxxxxxx>
+
+ * Makefile [$(cross-compiling) = no]: Change condition to
+ [$(run-built-tests) = yes].
+
2012-10-22 Jim Blandy <jimb@xxxxxxxxxxxxxxxx>
Joseph Myers <joseph@xxxxxxxxxxxxxxxx>
Modified: fsf/trunk/libc/localedata/Makefile
==============================================================================
--- fsf/trunk/libc/localedata/Makefile (original)
+++ fsf/trunk/libc/localedata/Makefile Thu Oct 25 00:02:08 2012
@@ -59,7 +59,7 @@
# Get $(inst_i18ndir) defined.
include ../Makeconfig
-ifeq (no,$(cross-compiling))
+ifeq ($(run-built-tests),yes)
locale_test_suite := tst_iswalnum tst_iswalpha tst_iswcntrl \
tst_iswctype tst_iswdigit tst_iswgraph \
tst_iswlower tst_iswprint tst_iswpunct \
@@ -113,7 +113,7 @@
CFLAGS-tst-trans.c = -Wno-format
-ifeq (no,$(cross-compiling))
+ifeq ($(run-built-tests),yes)
# We have to generate locales
LOCALES := de_DE.ISO-8859-1 de_DE.UTF-8 en_US.ANSI_X3.4-1968 \
en_US.ISO-8859-1 ja_JP.EUC-JP da_DK.ISO-8859-1 \
Modified: fsf/trunk/libc/malloc/Makefile
==============================================================================
--- fsf/trunk/libc/malloc/Makefile (original)
+++ fsf/trunk/libc/malloc/Makefile Thu Oct 25 00:02:08 2012
@@ -104,7 +104,7 @@
lib: $(objpfx)libmcheck.a
-ifeq (no,$(cross-compiling))
+ifeq ($(run-built-tests),yes)
ifeq (yes,$(build-shared))
ifneq ($(PERL),no)
tests: $(objpfx)tst-mtrace.out
Modified: fsf/trunk/libc/misc/Makefile
==============================================================================
--- fsf/trunk/libc/misc/Makefile (original)
+++ fsf/trunk/libc/misc/Makefile Thu Oct 25 00:02:08 2012
@@ -77,7 +77,7 @@
tests := tst-dirname tst-tsearch tst-fdset tst-efgcvt tst-mntent tst-hsearch \
tst-error1 tst-pselect tst-insremque tst-mntent2 bug-hsearch1
-ifeq (no,$(cross-compiling))
+ifeq ($(run-built-tests),yes)
tests: $(objpfx)tst-error1-mem
endif
Modified: fsf/trunk/libc/nptl/ChangeLog
==============================================================================
--- fsf/trunk/libc/nptl/ChangeLog (original)
+++ fsf/trunk/libc/nptl/ChangeLog Thu Oct 25 00:02:08 2012
@@ -1,3 +1,35 @@
+2012-10-24 Joseph Myers <joseph@xxxxxxxxxxxxxxxx>
+ Jim Blandy <jimb@xxxxxxxxxxxxxxxx>
+
+ * Makefile ($(objpfx)tst-tls6.out): Pass $(test-wrapper-env) to
+ tst-tls6.sh.
+ * tst-tls6.sh (test_wrapper_env): New variable. Use it to run
+ programs with LD_PRELOAD set.
+
+2012-10-24 Roland McGrath <roland@xxxxxxxxxxxxx>
+
+ * Makefile ($(objpfx)tst-cond11, $(objpfx)tst-cond19): Targets removed.
+ ($(objpfx)tst-sem5, $(objpfx)tst-cancel18): Likewise.
+ ((objpfx)tst-cancelx18, $(objpfx)tst-clock2): Likewise.
+ ($(objpfx)tst-rwlock14): Likewise.
+
+2012-10-24 Joseph Myers <joseph@xxxxxxxxxxxxxxxx>
+
+ * Makefile (tests): Remove tst-oddstacklimit.
+ (test-srcs): New variable.
+ (tst-oddstacklimit-ENV): Remove.
+ [$(run-built-tests) = yes] (tests): Depend on
+ $(objpfx)tst-oddstacklimit.out.
+ [$(run-built-tests) = yes] ($(objpfx)tst-oddstacklimit.out): New
+ target.
+ * tst-oddstacklimit.c: Do not include "tst-basic1.c". Use
+ setrlimit before executing tst-basic1 test passed to --command.
+
+2012-10-23 Joseph Myers <joseph@xxxxxxxxxxxxxxxx>
+
+ * Makefile [$(cross-compiling) = no]: Change condition to
+ [$(run-built-tests) = yes].
+
2012-10-23 Jim Blandy <jimb@xxxxxxxxxxxxxxxx>
Joseph Myers <joseph@xxxxxxxxxxxxxxxx>
Modified: fsf/trunk/libc/nptl/Makefile
==============================================================================
--- fsf/trunk/libc/nptl/Makefile (original)
+++ fsf/trunk/libc/nptl/Makefile Thu Oct 25 00:02:08 2012
@@ -257,19 +257,15 @@
tst-context1 \
tst-sched1 \
tst-backtrace1 \
- tst-oddstacklimit \
tst-abstime \
tst-vfork1 tst-vfork2 tst-vfork1x tst-vfork2x \
tst-getpid1 tst-getpid2 tst-getpid3 \
tst-initializers1 $(patsubst %,tst-initializers1-%,c89 gnu89 c99 gnu99)
xtests = tst-setuid1 tst-setuid1-static tst-mutexpp1 tst-mutexpp6 tst-mutexpp10
+test-srcs = tst-oddstacklimit
# Files which must not be linked with libpthread.
tests-nolibpthread = tst-unload
-
-# This sets the stack resource limit to 1023kb, which is not a multiple
-# of the page size since every architecture's page size is > 1k.
-tst-oddstacklimit-ENV = ; ulimit -s 1023;
gen-as-const-headers = pthread-errnos.sym
@@ -448,7 +444,7 @@
tst-atfork2-ENV = MALLOC_TRACE=$(objpfx)tst-atfork2.mtrace
$(objpfx)tst-atfork2mod.so: $(shared-thread-library)
-ifeq ($(cross-compiling),no)
+ifeq ($(run-built-tests),yes)
tests: $(objpfx)tst-stack3-mem
endif
tst-stack3-ENV = MALLOC_TRACE=$(objpfx)tst-stack3.mtrace
@@ -472,7 +468,7 @@
LDFLAGS-tst-tls5mod.so = -Wl,-soname,tst-tls5mod.so
ifeq ($(build-shared),yes)
-ifeq ($(cross-compiling),no)
+ifeq ($(run-built-tests),yes)
tests: $(objpfx)tst-tls6.out
endif
$(objpfx)tst-tls6.out: tst-tls6.sh $(objpfx)tst-tls5 \
@@ -480,7 +476,7 @@
$(objpfx)tst-tls5modc.so $(objpfx)tst-tls5modd.so \
$(objpfx)tst-tls5mode.so $(objpfx)tst-tls5modf.so
$(SHELL) $< $(common-objpfx) $(elf-objpfx) \
- $(rtld-installed-name)
+ $(rtld-installed-name) '$(test-wrapper-env)'
endif
$(objpfx)tst-dlsym1: $(libdl) $(shared-thread-library)
@@ -488,31 +484,18 @@
$(objpfx)tst-fini1: $(shared-thread-library) $(objpfx)tst-fini1mod.so
ifeq (yes,$(build-shared))
-$(objpfx)tst-cond11: $(common-objpfx)rt/librt.so
-$(objpfx)tst-cond19: $(common-objpfx)rt/librt.so
-$(objpfx)tst-sem5: $(common-objpfx)rt/librt.so
-$(objpfx)tst-cancel17: $(common-objpfx)rt/librt.so
-$(objpfx)tst-cancelx17: $(common-objpfx)rt/librt.so
-$(objpfx)tst-cancel18: $(common-objpfx)rt/librt.so
-$(objpfx)tst-cancelx18: $(common-objpfx)rt/librt.so
-$(objpfx)tst-clock2: $(common-objpfx)rt/librt.so
-$(objpfx)tst-rwlock14: $(common-objpfx)rt/librt.so
+librt = $(common-objpfx)rt/librt.so
+else
+librt = $(common-objpfx)rt/librt.a
+endif
+
+$(objpfx)tst-cancel17: $(librt)
+$(objpfx)tst-cancelx17: $(librt)
$(objpfx)tst-_res1mod2.so: $(objpfx)tst-_res1mod1.so
LDFLAGS-tst-_res1mod1.so = -Wl,-soname,tst-_res1mod1.so
LDFLAGS-tst-_res1mod2.so = -Wl,-soname,tst-_res1mod2.so
$(objpfx)tst-_res1: $(objpfx)tst-_res1mod1.so $(objpfx)tst-_res1mod2.so \
$(shared-thread-library)
-else
-$(objpfx)tst-cond11: $(common-objpfx)rt/librt.a
-$(objpfx)tst-cond19: $(common-objpfx)rt/librt.a
-$(objpfx)tst-sem5: $(common-objpfx)rt/librt.a
-$(objpfx)tst-cancel17: $(common-objpfx)rt/librt.a
-$(objpfx)tst-cancelx17: $(common-objpfx)rt/librt.a
-$(objpfx)tst-cancel18: $(common-objpfx)rt/librt.a
-$(objpfx)tst-cancelx18: $(common-objpfx)rt/librt.a
-$(objpfx)tst-clock2: $(common-objpfx)rt/librt.a
-$(objpfx)tst-rwlock14: $(common-objpfx)rt/librt.a
-endif
LDLIBS-tst-cancel24 = $(no-as-needed) -lstdc++
LDLIBS-tst-cancel24-static = $(LDLIBS-tst-cancel24)
@@ -583,7 +566,7 @@
LDFLAGS-pthread.so += -e __nptl_main
endif
-ifeq (no,$(cross-compiling))
+ifeq ($(run-built-tests),yes)
ifeq (yes,$(build-shared))
tests: $(objpfx)tst-cancel-wrappers.out
$(objpfx)tst-cancel-wrappers.out: tst-cancel-wrappers.sh
@@ -606,6 +589,13 @@
tst-stackguard1-ARGS = --command "$(host-built-program-cmd) --child"
tst-stackguard1-static-ARGS = --command "$(objpfx)tst-stackguard1-static --child"
+ifeq ($(run-built-tests),yes)
+tests: $(objpfx)tst-oddstacklimit.out
+
+$(objpfx)tst-oddstacklimit.out: $(objpfx)tst-oddstacklimit $(objpfx)tst-basic1
+ $(run-program-prefix) $< --command '$(host-built-program-cmd)' > $@
+endif
+
# The tests here better do not run in parallel
ifneq ($(filter %tests,$(MAKECMDGOALS)),)
.NOTPARALLEL:
Modified: fsf/trunk/libc/nptl/tst-oddstacklimit.c
==============================================================================
--- fsf/trunk/libc/nptl/tst-oddstacklimit.c (original)
+++ fsf/trunk/libc/nptl/tst-oddstacklimit.c Thu Oct 25 00:02:08 2012
@@ -1,1 +1,72 @@
-#include "tst-basic1.c"
+/* Test NPTL with stack limit that is not a multiple of the page size.
+ Copyright (C) 2012 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
+
+#include <errno.h>
+#include <stdio.h>
+#include <string.h>
+#include <sys/resource.h>
+#include <sys/wait.h>
+
+/* This sets the stack resource limit to 1023kb, which is not a multiple
+ of the page size since every architecture's page size is > 1k. */
+#ifndef ODD_STACK_LIMIT
+# define ODD_STACK_LIMIT (1023 * 1024)
+#endif
+
+static const char *command;
+
+static int
+do_test (void)
+{
+ int ret;
+ struct rlimit rlim;
+
+ ret = getrlimit (RLIMIT_STACK, &rlim);
+ if (ret != 0)
+ {
+ printf ("getrlimit failed: %s\n", strerror (errno));
+ return 1;
+ }
+ rlim.rlim_cur = ODD_STACK_LIMIT;
+ ret = setrlimit (RLIMIT_STACK, &rlim);
+ if (ret != 0)
+ {
+ printf ("setrlimit failed: %s\n", strerror (errno));
+ return 1;
+ }
+ ret = system (command);
+ if (ret == -1)
+ {
+ printf ("system failed: %s\n", strerror (errno));
+ return 1;
+ }
+ if (WIFEXITED (ret))
+ return WEXITSTATUS (ret);
+ else
+ return 1;
+}
+
+#define OPT_COMMAND 10000
+#define CMDLINE_OPTIONS \
+ { "command", required_argument, NULL, OPT_COMMAND },
+#define CMDLINE_PROCESS \
+ case OPT_COMMAND: \
+ command = optarg; \
+ break;
+#define TEST_FUNCTION do_test ()
+#include "../test-skeleton.c"
Modified: fsf/trunk/libc/nptl/tst-tls6.sh
==============================================================================
--- fsf/trunk/libc/nptl/tst-tls6.sh (original)
+++ fsf/trunk/libc/nptl/tst-tls6.sh Thu Oct 25 00:02:08 2012
@@ -22,6 +22,7 @@
common_objpfx=$1; shift
elf_objpfx=$1; shift
rtld_installed_name=$1; shift
+test_wrapper_env=$1; shift
logfile=$common_objpfx/nptl/tst-tls6.out
# We have to find libc and nptl
@@ -40,33 +41,38 @@
for aligned in a e f; do
echo "preload tst-tls5mod{$aligned,b,c,d}.so" >> $logfile
echo "===============" >> $logfile
- LD_PRELOAD=`echo ${common_objpfx}nptl/tst-tls5mod{$aligned,b,c,d}.so \
- | sed 's/:$//;s/: /:/g'` ${tst_tls5} >> $logfile || fail=1
+ ${test_wrapper_env} \
+ LD_PRELOAD="`echo ${common_objpfx}nptl/tst-tls5mod{$aligned,b,c,d}.so \
+ | sed 's/:$//;s/: /:/g'`" ${tst_tls5} >> $logfile || fail=1
echo >> $logfile
echo "preload tst-tls5mod{b,$aligned,c,d}.so" >> $logfile
echo "===============" >> $logfile
- LD_PRELOAD=`echo ${common_objpfx}nptl/tst-tls5mod{b,$aligned,c,d}.so \
- | sed 's/:$//;s/: /:/g'` ${tst_tls5} >> $logfile || fail=1
+ ${test_wrapper_env} \
+ LD_PRELOAD="`echo ${common_objpfx}nptl/tst-tls5mod{b,$aligned,c,d}.so \
+ | sed 's/:$//;s/: /:/g'`" ${tst_tls5} >> $logfile || fail=1
echo >> $logfile
echo "preload tst-tls5mod{b,c,d,$aligned}.so" >> $logfile
echo "===============" >> $logfile
- LD_PRELOAD=`echo ${common_objpfx}nptl/tst-tls5mod{b,c,d,$aligned}.so \
- | sed 's/:$//;s/: /:/g'` ${tst_tls5} >> $logfile || fail=1
+ ${test_wrapper_env} \
+ LD_PRELOAD="`echo ${common_objpfx}nptl/tst-tls5mod{b,c,d,$aligned}.so \
+ | sed 's/:$//;s/: /:/g'`" ${tst_tls5} >> $logfile || fail=1
echo >> $logfile
done
echo "preload tst-tls5mod{d,a,b,c,e}" >> $logfile
echo "===============" >> $logfile
-LD_PRELOAD=`echo ${common_objpfx}nptl/tst-tls5mod{d,a,b,c,e}.so \
- | sed 's/:$//;s/: /:/g'` ${tst_tls5} >> $logfile || fail=1
+${test_wrapper_env} \
+LD_PRELOAD="`echo ${common_objpfx}nptl/tst-tls5mod{d,a,b,c,e}.so \
+ | sed 's/:$//;s/: /:/g'`" ${tst_tls5} >> $logfile || fail=1
echo >> $logfile
echo "preload tst-tls5mod{d,a,b,e,f}" >> $logfile
echo "===============" >> $logfile
-LD_PRELOAD=`echo ${common_objpfx}nptl/tst-tls5mod{d,a,b,e,f}.so \
- | sed 's/:$//;s/: /:/g'` ${tst_tls5} >> $logfile || fail=1
+${test_wrapper_env} \
+LD_PRELOAD="`echo ${common_objpfx}nptl/tst-tls5mod{d,a,b,e,f}.so \
+ | sed 's/:$//;s/: /:/g'`" ${tst_tls5} >> $logfile || fail=1
echo >> $logfile
exit $fail
Modified: fsf/trunk/libc/nscd/Makefile
==============================================================================
--- fsf/trunk/libc/nscd/Makefile (original)
+++ fsf/trunk/libc/nscd/Makefile Thu Oct 25 00:02:08 2012
@@ -101,9 +101,7 @@
$(objpfx)nscd: $(nscd-modules:%=$(objpfx)%.o)
ifeq ($(build-shared),yes)
-$(objpfx)nscd: $(common-objpfx)rt/librt.so $(shared-thread-library) \
- $(common-objpfx)nis/libnsl.so
+$(objpfx)nscd: $(shared-thread-library) $(common-objpfx)nis/libnsl.so
else
-$(objpfx)nscd: $(common-objpfx)rt/librt.a $(static-thread-library) \
- $(common-objpfx)nis/libnsl.a
+$(objpfx)nscd: $(static-thread-library) $(common-objpfx)nis/libnsl.a
endif
Modified: fsf/trunk/libc/ports/ChangeLog.alpha
==============================================================================
--- fsf/trunk/libc/ports/ChangeLog.alpha (original)
+++ fsf/trunk/libc/ports/ChangeLog.alpha Thu Oct 25 00:02:08 2012
@@ -1,3 +1,8 @@
+2012-10-19 Roland McGrath <roland@xxxxxxxxxxxxx>
+
+ * sysdeps/unix/sysv/linux/alpha/nptl/libc.abilist
+ (GLIBC_2.17): Add clock_* symbols.
+
2012-10-09 Roland McGrath <roland@xxxxxxxxxxxxx>
* sysdeps/alpha/configure: Regenerated.
Modified: fsf/trunk/libc/ports/ChangeLog.arm
==============================================================================
--- fsf/trunk/libc/ports/ChangeLog.arm (original)
+++ fsf/trunk/libc/ports/ChangeLog.arm Thu Oct 25 00:02:08 2012
@@ -1,3 +1,8 @@
+2012-10-22 Roland McGrath <roland@xxxxxxxxxxxxx>
+
+ * sysdeps/unix/sysv/linux/arm/nptl/libc.abilist
+ (GLIBC_2.17): Add clock_* symbols.
+
2012-10-22 Andreas Jaeger <aj@xxxxxxx>
* ports/sysdeps/unix/sysv/linux/arm/bits/fcntl.h (__O_LARGEFILE):
Modified: fsf/trunk/libc/ports/ChangeLog.hppa
==============================================================================
--- fsf/trunk/libc/ports/ChangeLog.hppa (original)
+++ fsf/trunk/libc/ports/ChangeLog.hppa Thu Oct 25 00:02:08 2012
@@ -1,3 +1,8 @@
+2012-10-24 Joseph Myers <joseph@xxxxxxxxxxxxxxxx>
+
+ * sysdeps/hppa/nptl/Makefile (tst-oddstacklimit-ENV): Remove.
+ * sysdeps/hppa/nptl/tst-oddstacklimit.c: New file.
+
2012-10-10 Carlos O'Donell <carlos@xxxxxxxxxxxxxxxx>
* sysdeps/unix/sysv/linux/hppa/nptl/pthread.h: Update.
Modified: fsf/trunk/libc/ports/ChangeLog.ia64
==============================================================================
--- fsf/trunk/libc/ports/ChangeLog.ia64 (original)
+++ fsf/trunk/libc/ports/ChangeLog.ia64 Thu Oct 25 00:02:08 2012
@@ -1,3 +1,11 @@
+2012-10-19 Roland McGrath <roland@xxxxxxxxxxxxx>
+
+ * sysdeps/unix/sysv/linux/ia64/nptl/libc.abilist
+ (GLIBC_2.17): Add clock_* symbols.
+
+ * sysdeps/unix/sysv/linux/ia64/get_clockfreq.c (__get_clockfreq):
+ Use __open, __read, __close rather than their public counterparts.
+
2012-10-09 Roland McGrath <roland@xxxxxxxxxxxxx>
* sysdeps/ia64/configure: Regenerated.
Modified: fsf/trunk/libc/ports/ChangeLog.m68k
==============================================================================
--- fsf/trunk/libc/ports/ChangeLog.m68k (original)
+++ fsf/trunk/libc/ports/ChangeLog.m68k Thu Oct 25 00:02:08 2012
@@ -1,3 +1,9 @@
+2012-10-19 Roland McGrath <roland@xxxxxxxxxxxxx>
+
+ * sysdeps/unix/sysv/linux/m68k/coldfire/nptl/libc.abilist:
+ (GLIBC_2.17): Add clock_* symbols.
+ * sysdeps/unix/sysv/linux/m68k/m680x0/nptl/libc.abilist: Likewise.
+
2012-10-02 Siddhesh Poyarekar <siddhesh@xxxxxxxxxx>
* sysdeps/unix/sysv/linux/m68k/nptl/lowlevellock.h: Fix clone
Modified: fsf/trunk/libc/ports/ChangeLog.mips
==============================================================================
--- fsf/trunk/libc/ports/ChangeLog.mips (original)
+++ fsf/trunk/libc/ports/ChangeLog.mips Thu Oct 25 00:02:08 2012
@@ -1,3 +1,15 @@
+2012-10-19 Roland McGrath <roland@xxxxxxxxxxxxx>
+
+ * sysdeps/unix/sysv/linux/mips/mips32/nptl/libc.abilist
+ (GLIBC_2.17): Add clock_* symbols.
+ * sysdeps/unix/sysv/linux/mips/mips64/n64/nptl/libc.abilist: Likewise.
+
+2012-10-24 Andreas Jaeger <aj@xxxxxxx>
+
+ * sysdeps/unix/sysv/linux/mips/bits/fcntl.h: Remove all
+ definitions and declarations that are provided by
+ <bits/fcntl-linux.h> and include <bits/fcntl-linux.h>.
+
2012-10-03 Steve Ellcey <sellcey@xxxxxxxx>
* sysdeps/mips/ieee754.h: Move to...
Modified: fsf/trunk/libc/ports/ChangeLog.powerpc
==============================================================================
--- fsf/trunk/libc/ports/ChangeLog.powerpc (original)
+++ fsf/trunk/libc/ports/ChangeLog.powerpc Thu Oct 25 00:02:08 2012
@@ -1,3 +1,8 @@
+2012-10-19 Roland McGrath <roland@xxxxxxxxxxxxx>
+
+ * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libc.abilist
+ (GLIBC_2.17): Add clock_* symbols.
+
2012-09-26 Joseph Myers <joseph@xxxxxxxxxxxxxxxx>
* sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libc.abilist:
@@ -180,7 +185,7 @@
* sysdeps/powerpc/nofpu/Makefile
[subdirs-soft-fp] (sysdep_routines): Remove gcc-quad-routines.
[subdirs-math] (CPPFLAGS): Add -I../soft-fp.
- [subdirs-math] (CFLAGS-e_powl.c): Add -fno-builtin-fabsl.
+ [subdirs-math] (CFLAGS-e_powl.c): Add -fno-builtin-fabsl.
[subdirs-math] (CFLAGS-s_ccoshl.c): Likewise.
[subdirs-math] (CFLAGS-s_csinhl.c): Likewise.
[subdirs-math] (CFLAGS-s_clogl.c): Likewise.
Modified: fsf/trunk/libc/ports/ChangeLog.tile
==============================================================================
--- fsf/trunk/libc/ports/ChangeLog.tile (original)
+++ fsf/trunk/libc/ports/ChangeLog.tile Thu Oct 25 00:02:08 2012
@@ -1,3 +1,12 @@
+2012-10-19 Roland McGrath <roland@xxxxxxxxxxxxx>
+
+ * sysdeps/unix/sysv/linux/tile/tilepro/nptl/libc.abilist:
+ (GLIBC_2.17): Add clock_* symbols.
+ * sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/libc.abilist:
+ Likewise.
+ * sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libc.abilist:
+ Likewise.
+
2012-10-11 Chris Metcalf <cmetcalf@xxxxxxxxxx>
* sysdeps/unix/sysv/linux/tile/tilegx/sched_getcpu.c: New file.
Modified: fsf/trunk/libc/ports/sysdeps/hppa/nptl/Makefile
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/hppa/nptl/Makefile (original)
+++ fsf/trunk/libc/ports/sysdeps/hppa/nptl/Makefile Thu Oct 25 00:02:08 2012
@@ -1,4 +1,4 @@
-# Copyright (C) 2005 Free Software Foundation, Inc.
+# Copyright (C) 2005-2012 Free Software Foundation, Inc.
# This file is part of the GNU C Library.
#
# The GNU C Library is free software; you can redistribute it and/or
@@ -18,9 +18,3 @@
ifeq ($(subdir),csu)
gen-as-const-headers += tcb-offsets.sym
endif
-
-# This sets the stack resource limit to 8193kb, which is not a multiple
-# of the page size, and therefore an odd sized stack limit. We override
-# this because the default is too small to run with.
-tst-oddstacklimit-ENV = ; ulimit -s 8193;
-
Added: fsf/trunk/libc/ports/sysdeps/hppa/nptl/tst-oddstacklimit.c
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/hppa/nptl/tst-oddstacklimit.c (added)
+++ fsf/trunk/libc/ports/sysdeps/hppa/nptl/tst-oddstacklimit.c Thu Oct 25 00:02:08 2012
@@ -1,0 +1,26 @@
+/* Test NPTL with stack limit that is not a multiple of the page size.
+ HPPA version.
+ Copyright (C) 2012 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
+
+/* This sets the stack resource limit to 8193kb, which is not a multiple
+ of the page size, and therefore an odd sized stack limit. We override
+ this because the default is too small to run with. */
+
+#define ODD_STACK_LIMIT (8193 * 1024)
+
+#include <sysdeps/../nptl/tst-oddstacklimit.c>
Modified: fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/alpha/nptl/libc.abilist
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/alpha/nptl/libc.abilist (original)
+++ fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/alpha/nptl/libc.abilist Thu Oct 25 00:02:08 2012
@@ -1813,6 +1813,11 @@
timespec_get F
GLIBC_2.17
GLIBC_2.17 A
+ clock_getcpuclockid F
+ clock_getres F
+ clock_gettime F
+ clock_nanosleep F
+ clock_settime F
secure_getenv F
GLIBC_2.2
GLIBC_2.2 A
Modified: fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/arm/nptl/libc.abilist
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/arm/nptl/libc.abilist (original)
+++ fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/arm/nptl/libc.abilist Thu Oct 25 00:02:08 2012
@@ -80,6 +80,11 @@
timespec_get F
GLIBC_2.17
GLIBC_2.17 A
+ clock_getcpuclockid F
+ clock_getres F
+ clock_gettime F
+ clock_nanosleep F
+ clock_settime F
secure_getenv F
GLIBC_2.4
GLIBC_2.4 A
Modified: fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/ia64/get_clockfreq.c
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/ia64/get_clockfreq.c (original)
+++ fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/ia64/get_clockfreq.c Thu Oct 25 00:02:08 2012
@@ -1,5 +1,5 @@
/* Get frequency of the system processor. IA-64/Linux version.
- Copyright (C) 2001 Free Software Foundation, Inc.
+ Copyright (C) 2001-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -37,7 +37,7 @@
if (result != 0)
return result;
- fd = open ("/proc/cpuinfo", O_RDONLY);
+ fd = __open ("/proc/cpuinfo", O_RDONLY);
if (__builtin_expect (fd != -1, 1))
{
/* XXX AFAIK the /proc filesystem can generate "files" only up
@@ -45,7 +45,7 @@
char buf[4096];
ssize_t n;
- n = read (fd, buf, sizeof buf);
+ n = __read (fd, buf, sizeof buf);
if (__builtin_expect (n, 1) > 0)
{
char *mhz = memmem (buf, n, "itc MHz", 7);
@@ -81,7 +81,7 @@
}
}
- close (fd);
+ __close (fd);
}
return result;
Modified: fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/ia64/nptl/libc.abilist
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/ia64/nptl/libc.abilist (original)
+++ fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/ia64/nptl/libc.abilist Thu Oct 25 00:02:08 2012
@@ -80,6 +80,11 @@
timespec_get F
GLIBC_2.17
GLIBC_2.17 A
+ clock_getcpuclockid F
+ clock_getres F
+ clock_gettime F
+ clock_nanosleep F
+ clock_settime F
secure_getenv F
GLIBC_2.2
GLIBC_2.2 A
Modified: fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/m68k/coldfire/nptl/libc.abilist
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/m68k/coldfire/nptl/libc.abilist (original)
+++ fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/m68k/coldfire/nptl/libc.abilist Thu Oct 25 00:02:08 2012
@@ -81,6 +81,11 @@
timespec_get F
GLIBC_2.17
GLIBC_2.17 A
+ clock_getcpuclockid F
+ clock_getres F
+ clock_gettime F
+ clock_nanosleep F
+ clock_settime F
secure_getenv F
GLIBC_2.4
GLIBC_2.4 A
Modified: fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/m68k/m680x0/nptl/libc.abilist
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/m68k/m680x0/nptl/libc.abilist (original)
+++ fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/m68k/m680x0/nptl/libc.abilist Thu Oct 25 00:02:08 2012
@@ -1769,6 +1769,11 @@
timespec_get F
GLIBC_2.17
GLIBC_2.17 A
+ clock_getcpuclockid F
+ clock_getres F
+ clock_gettime F
+ clock_nanosleep F
+ clock_settime F
secure_getenv F
GLIBC_2.2
GLIBC_2.2 A
Modified: fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/bits/fcntl.h
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/bits/fcntl.h (original)
+++ fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/bits/fcntl.h Thu Oct 25 00:02:08 2012
@@ -1,6 +1,5 @@
/* O_*, F_*, FD_* bit values for Linux.
- Copyright (C) 1995, 1996, 1997, 1998, 2000, 2002, 2003, 2004, 2006,
- 2007, 2009, 2010, 2011 Free Software Foundation, Inc.
+ Copyright (C) 1995-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -22,58 +21,26 @@
#endif
#include <sgidefs.h>
-#include <sys/types.h>
-#ifdef __USE_GNU
-# include <bits/uio.h>
-#endif
-
-/* open/fcntl - O_SYNC is only implemented on blocks devices and on files
- located on an ext2 file system */
-#define O_ACCMODE 0003
-#define O_RDONLY 00
-#define O_WRONLY 01
-#define O_RDWR 02
#define O_APPEND 0x0008
#define O_SYNC 0x4010
#define O_NONBLOCK 0x0080
-#define O_NDELAY O_NONBLOCK
#define O_CREAT 0x0100 /* not fcntl */
#define O_TRUNC 0x0200 /* not fcntl */
#define O_EXCL 0x0400 /* not fcntl */
#define O_NOCTTY 0x0800 /* not fcntl */
-#define O_FSYNC O_SYNC
#define O_ASYNC 0x1000
-#ifdef __USE_XOPEN2K8
-# define O_NOFOLLOW 0x20000 /* Do not follow links. */
-# define O_DIRECTORY 0x10000 /* Must be a directory. */
-# define O_CLOEXEC 02000000 /* Set close_on_exec. */
-#endif
-#ifdef __USE_GNU
-# define O_DIRECT 0x8000 /* Direct disk access hint. */
-# define O_NOATIME 0x40000 /* Do not set atime. */
-# define O_PATH 010000000 /* Resolve pathname but do not open file. */
+#define __O_DIRECT 0x8000 /* Direct disk access hint. */
+#define __O_DSYNC 0x0010 /* Synchronize data. */
+
+#if _MIPS_SIM == _ABI64
+/* Not necessary, files are always with 64bit off_t. */
+# define __O_LARGEFILE 0
+#else
+# define __O_LARGEFILE 0x2000 /* Allow large file opens. */
#endif
-/* For now Linux has no synchronisity options for data and read operations.
- We define the symbols here but let them do the same as O_SYNC since
- this is a superset. */
-#if defined __USE_POSIX199309 || defined __USE_UNIX98
-# define O_DSYNC 0x0010 /* Synchronize data. */
-# define O_RSYNC O_SYNC /* Synchronize read operations. */
-#endif
-
-#ifdef __USE_LARGEFILE64
-# define O_LARGEFILE 0x2000 /* Allow large file opens. */
-#endif
-
-/* Values for the second argument to `fcntl'. */
-#define F_DUPFD 0 /* Duplicate file descriptor. */
-#define F_GETFD 1 /* Get file descriptor flags. */
-#define F_SETFD 2 /* Set file descriptor flags. */
-#define F_GETFL 3 /* Get file status flags. */
-#define F_SETFL 4 /* Set file status flags. */
#ifndef __USE_FILE_OFFSET64
# define F_GETLK 14 /* Get record locking info. */
# define F_SETLK 6 /* Set record locking info (non-blocking). */
@@ -84,72 +51,18 @@
# define F_SETLKW F_SETLKW64 /* Set record locking info (blocking). */
#endif
-#define F_GETLK64 33 /* Get record locking info. */
-#define F_SETLK64 34 /* Set record locking info (non-blocking). */
-#define F_SETLKW64 35 /* Set record locking info (blocking). */
-
-#if defined __USE_BSD || defined __USE_UNIX98 || defined __USE_XOPEN2K8
-# define F_SETOWN 24 /* Get owner (process receiving SIGIO). */
-# define F_GETOWN 23 /* Set owner (process receiving SIGIO). */
+#if _MIPS_SIM != _ABI64
+# define F_GETLK64 33 /* Get record locking info. */
+# define F_SETLK64 34 /* Set record locking info (non-blocking). */
+# define F_SETLKW64 35 /* Set record locking info (blocking). */
+#else
+# define F_GETLK64 14 /* Get record locking info. */
+# define F_SETLK64 6 /* Set record locking info (non-blocking).*/
+# define F_SETLKW64 7 /* Set record locking info (blocking). */
#endif
-#ifdef __USE_GNU
-# define F_SETSIG 10 /* Set number of signal to be sent. */
-# define F_GETSIG 11 /* Get number of signal to be sent. */
-# define F_SETOWN_EX 15 /* Get owner (thread receiving SIGIO). */
-# define F_GETOWN_EX 16 /* Set owner (thread receiving SIGIO). */
-#endif
-
-#ifdef __USE_GNU
-# define F_SETLEASE 1024 /* Set a lease. */
-# define F_GETLEASE 1025 /* Enquire what lease is active. */
-# define F_NOTIFY 1026 /* Request notfications on a directory. */
-# define F_SETPIPE_SZ 1031 /* Set pipe page size array. */
-# define F_GETPIPE_SZ 1032 /* Set pipe page size array. */
-#endif
-#ifdef __USE_XOPEN2K8
-# define F_DUPFD_CLOEXEC 1030 /* Duplicate file descriptor with
- close-on-exit set. */
-#endif
-
-/* For F_[GET|SET]FD. */
-#define FD_CLOEXEC 1 /* actually anything with low bit set goes */
-
-/* For posix fcntl() and `l_type' field of a `struct flock' for lockf(). */
-#define F_RDLCK 0 /* Read lock. */
-#define F_WRLCK 1 /* Write lock. */
-#define F_UNLCK 2 /* Remove lock. */
-
-/* For old implementation of bsd flock(). */
-#define F_EXLCK 4 /* or 3 */
-#define F_SHLCK 8 /* or 4 */
-
-#ifdef __USE_BSD
-/* Operations for bsd flock(), also used by the kernel implementation. */
-# define LOCK_SH 1 /* shared lock */
-# define LOCK_EX 2 /* exclusive lock */
-# define LOCK_NB 4 /* or'd with one of the above to prevent
- blocking */
-# define LOCK_UN 8 /* remove lock */
-#endif
-
-#ifdef __USE_GNU
-# define LOCK_MAND 32 /* This is a mandatory flock: */
-# define LOCK_READ 64 /* ... which allows concurrent read operations. */
-# define LOCK_WRITE 128 /* ... which allows concurrent write operations. */
-# define LOCK_RW 192 /* ... Which allows concurrent read & write operations. */
-#endif
-
-#ifdef __USE_GNU
-/* Types of directory notifications that may be requested with F_NOTIFY. */
-# define DN_ACCESS 0x00000001 /* File accessed. */
-# define DN_MODIFY 0x00000002 /* File modified. */
-# define DN_CREATE 0x00000004 /* File created. */
-# define DN_DELETE 0x00000008 /* File removed. */
-# define DN_RENAME 0x00000010 /* File renamed. */
-# define DN_ATTRIB 0x00000020 /* File changed attibutes. */
-# define DN_MULTISHOT 0x80000000 /* Don't remove notifier. */
-#endif
+#define __F_SETOWN 24 /* Get owner (process receiving SIGIO). */
+#define __F_GETOWN 23 /* Set owner (process receiving SIGIO). */
struct flock
{
@@ -187,148 +100,5 @@
};
#endif
-#ifdef __USE_GNU
-/* Owner types. */
-enum __pid_type
- {
- F_OWNER_TID = 0, /* Kernel thread. */
- F_OWNER_PID, /* Process. */
- F_OWNER_PGRP, /* Process group. */
- F_OWNER_GID = F_OWNER_PGRP /* Alternative, obsolete name. */
- };
-
-/* Structure to use with F_GETOWN_EX and F_SETOWN_EX. */
-struct f_owner_ex
- {
- enum __pid_type type; /* Owner type of ID. */
- __pid_t pid; /* ID of owner. */
- };
-#endif
-
-/* Define some more compatibility macros to be backward compatible with
- BSD systems which did not managed to hide these kernel macros. */
-#ifdef __USE_BSD
-# define FAPPEND O_APPEND
-# define FFSYNC O_FSYNC
-# define FASYNC O_ASYNC
-# define FNONBLOCK O_NONBLOCK
-# define FNDELAY O_NDELAY
-#endif /* Use BSD. */
-
-/* Advise to `posix_fadvise'. */
-#ifdef __USE_XOPEN2K
-# define POSIX_FADV_NORMAL 0 /* No further special treatment. */
-# define POSIX_FADV_RANDOM 1 /* Expect random page references. */
-# define POSIX_FADV_SEQUENTIAL 2 /* Expect sequential page references. */
-# define POSIX_FADV_WILLNEED 3 /* Will need these pages. */
-# define POSIX_FADV_DONTNEED 4 /* Don't need these pages. */
-# define POSIX_FADV_NOREUSE 5 /* Data will be accessed once. */
-#endif
-
-
-#ifdef __USE_GNU
-/* Flags for SYNC_FILE_RANGE. */
-# define SYNC_FILE_RANGE_WAIT_BEFORE 1 /* Wait upon writeout of all pages
- in the range before performing the
- write. */
-# define SYNC_FILE_RANGE_WRITE 2 /* Initiate writeout of all those
- dirty pages in the range which are
- not presently under writeback. */
-# define SYNC_FILE_RANGE_WAIT_AFTER 4 /* Wait upon writeout of all pages in
- the range after performing the
- write. */
-
-/* Flags for SPLICE and VMSPLICE. */
-# define SPLICE_F_MOVE 1 /* Move pages instead of copying. */
-# define SPLICE_F_NONBLOCK 2 /* Don't block on the pipe splicing
- (but we may still block on the fd
- we splice from/to). */
-# define SPLICE_F_MORE 4 /* Expect more data. */
-# define SPLICE_F_GIFT 8 /* Pages passed in are a gift. */
-
-
-/* File handle structure. */
-struct file_handle
-{
- unsigned int handle_bytes;
- int handle_type;
- /* File identifier. */
- unsigned char f_handle[0];
-};
-
-/* Maximum handle size (for now). */
-# define MAX_HANDLE_SZ 128
-#endif
-
-__BEGIN_DECLS
-
-#ifdef __USE_GNU
-
-/* Provide kernel hint to read ahead. */
-extern ssize_t readahead (int __fd, __off64_t __offset, size_t __count)
- __THROW;
-
-
-/* Selective file content synch'ing. */
-extern int sync_file_range (int __fd, __off64_t __offset, __off64_t __count,
- unsigned int __flags);
-
-
-/* Splice address range into a pipe.
-
- This function is a possible cancellation point and therefore not
- marked with __THROW. */
-extern ssize_t vmsplice (int __fdout, const struct iovec *__iov,
- size_t __count, unsigned int __flags);
-
-/* Splice two files together.
-
- This function is a possible cancellation point and therefore not
- marked with __THROW. */
-extern ssize_t splice (int __fdin, __off64_t *__offin, int __fdout,
- __off64_t *__offout, size_t __len,
- unsigned int __flags);
-
-/* In-kernel implementation of tee for pipe buffers.
-
- This function is a possible cancellation point and therefore not
- marked with __THROW. */
-extern ssize_t tee (int __fdin, int __fdout, size_t __len,
- unsigned int __flags);
-
-/* Reserve storage for the data of the file associated with FD.
-
- This function is a possible cancellation point and therefore not
- marked with __THROW. */
-# ifndef __USE_FILE_OFFSET64
-extern int fallocate (int __fd, int __mode, __off_t __offset, __off_t __len);
-# else
-# ifdef __REDIRECT
-extern int __REDIRECT (fallocate, (int __fd, int __mode, __off64_t __offset,
- __off64_t __len),
- fallocate64);
-# else
-# define fallocate fallocate64
-# endif
-# endif
-# ifdef __USE_LARGEFILE64
-extern int fallocate64 (int __fd, int __mode, __off64_t __offset,
- __off64_t __len);
-# endif
-
-
-/* Map file name to file handle. */
-extern int name_to_handle_at (int __dfd, const char *__name,
- struct file_handle *__handle, int *__mnt_id,
- int __flags) __THROW;
-
-/* Open file using the file handle.
-
- This function is a possible cancellation point and therefore not
- marked with __THROW. */
-extern int open_by_handle_at (int __mountdirfd, struct file_handle *__handle,
- int __flags);
-
-#endif
-
-__END_DECLS
+/* Include generic Linux declarations. */
+#include <bits/fcntl-linux.h>
Modified: fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/mips32/nptl/libc.abilist
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/mips32/nptl/libc.abilist (original)
+++ fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/mips32/nptl/libc.abilist Thu Oct 25 00:02:08 2012
@@ -2244,4 +2244,9 @@
_gp_disp A
GLIBC_2.17
GLIBC_2.17 A
+ clock_getcpuclockid F
+ clock_getres F
+ clock_gettime F
+ clock_nanosleep F
+ clock_settime F
secure_getenv F
Modified: fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/mips64/n64/nptl/libc.abilist
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/mips64/n64/nptl/libc.abilist (original)
+++ fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/mips64/n64/nptl/libc.abilist Thu Oct 25 00:02:08 2012
@@ -1390,6 +1390,11 @@
timespec_get F
GLIBC_2.17
GLIBC_2.17 A
+ clock_getcpuclockid F
+ clock_getres F
+ clock_gettime F
+ clock_nanosleep F
+ clock_settime F
secure_getenv F
GLIBC_2.2
GLIBC_2.2 A
Modified: fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libc.abilist
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libc.abilist (original)
+++ fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libc.abilist Thu Oct 25 00:02:08 2012
@@ -1774,6 +1774,11 @@
timespec_get F
GLIBC_2.17
GLIBC_2.17 A
+ clock_getcpuclockid F
+ clock_getres F
+ clock_gettime F
+ clock_nanosleep F
+ clock_settime F
secure_getenv F
__ppc_get_timebase_freq F
GLIBC_2.2
Modified: fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libc.abilist
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libc.abilist (original)
+++ fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libc.abilist Thu Oct 25 00:02:08 2012
@@ -2082,4 +2082,9 @@
timespec_get F
GLIBC_2.17
GLIBC_2.17 A
+ clock_getcpuclockid F
+ clock_getres F
+ clock_gettime F
+ clock_nanosleep F
+ clock_settime F
secure_getenv F
Modified: fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/libc.abilist
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/libc.abilist (original)
+++ fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/libc.abilist Thu Oct 25 00:02:08 2012
@@ -2082,4 +2082,9 @@
timespec_get F
GLIBC_2.17
GLIBC_2.17 A
+ clock_getcpuclockid F
+ clock_getres F
+ clock_gettime F
+ clock_nanosleep F
+ clock_settime F
secure_getenv F
Modified: fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/tile/tilepro/nptl/libc.abilist
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/tile/tilepro/nptl/libc.abilist (original)
+++ fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/tile/tilepro/nptl/libc.abilist Thu Oct 25 00:02:08 2012
@@ -2082,4 +2082,9 @@
timespec_get F
GLIBC_2.17
GLIBC_2.17 A
+ clock_getcpuclockid F
+ clock_getres F
+ clock_gettime F
+ clock_nanosleep F
+ clock_settime F
secure_getenv F
Modified: fsf/trunk/libc/posix/Makefile
==============================================================================
--- fsf/trunk/libc/posix/Makefile (original)
+++ fsf/trunk/libc/posix/Makefile Thu Oct 25 00:02:08 2012
@@ -112,12 +112,13 @@
include ../Rules
-ifeq (no,$(cross-compiling))
+ifeq ($(run-built-tests),yes)
# globtest and wordexp-test currently only works with shared libraries
ifeq (yes,$(build-shared))
tests: $(objpfx)globtest.out $(objpfx)wordexp-tst.out
$(objpfx)globtest.out: globtest.sh $(objpfx)globtest
- $(SHELL) $< $(common-objpfx) '$(run-program-prefix)'
+ $(SHELL) $< $(common-objpfx) '$(run-via-rtld-prefix)' \
+ '$(test-wrapper)' '$(test-wrapper-env)'
$(objpfx)wordexp-tst.out: wordexp-tst.sh $(objpfx)wordexp-test
$(SHELL) $< $(common-objpfx) '$(run-program-prefix)'
endif
@@ -211,7 +212,7 @@
# Run a test on the header files we use.
# XXX Please note that for now we ignore the result of this test.
tests: $(objpfx)annexc.out
-ifeq (no,$(cross-compiling))
+ifeq ($(run-built-tests),yes)
tests: $(objpfx)bug-regex2-mem $(objpfx)bug-regex14-mem \
$(objpfx)bug-regex21-mem $(objpfx)bug-regex31-mem $(objpfx)tst-rxspencer-mem\
$(objpfx)tst-pcre-mem $(objpfx)tst-boost-mem $(objpfx)tst-getconf.out \
@@ -276,14 +277,6 @@
$(objpfx)tst-getconf.out: tst-getconf.sh $(objpfx)getconf
$(SHELL) $< $(common-objpfx) '$(built-program-cmd)'
-
-ifeq (yes,$(build-shared))
-$(objpfx)tst-regex: $(common-objpfx)rt/librt.so
-$(objpfx)tst-regex2: $(common-objpfx)rt/librt.so
-else
-$(objpfx)tst-regex: $(common-objpfx)rt/librt.a
-$(objpfx)tst-regex2: $(common-objpfx)rt/librt.a
-endif
$(objpfx)bug-ga2-mem: $(objpfx)bug-ga2.out
$(common-objpfx)malloc/mtrace $(objpfx)bug-ga2.mtrace > $@
Modified: fsf/trunk/libc/posix/globtest.sh
==============================================================================
--- fsf/trunk/libc/posix/globtest.sh (original)
+++ fsf/trunk/libc/posix/globtest.sh Thu Oct 25 00:02:08 2012
@@ -20,7 +20,10 @@
set -e
common_objpfx=$1; shift
-run_program_prefix=$1; shift
+run_via_rtld_prefix=$1; shift
+test_wrapper=$1; shift
+test_wrapper_env=$1; shift
+run_program_prefix="${test_wrapper} ${run_via_rtld_prefix}"
logfile=$common_objpfx/posix/globtest.out
#CMP=cmp
@@ -42,9 +45,10 @@
export LANG
# Create the arena
-: ${TMPDIR=/tmp}
-testdir=$(mktemp -d $TMPDIR/globtest-dir.XXXXXX)
-testout=$(mktemp $TMPDIR/globtest-out.XXXXXX)
+testdir=${common_objpfx}posix/globtest-dir
+testout=${common_objpfx}posix/globtest-out
+rm -rf $testdir $testout
+mkdir $testdir
trap 'chmod 777 $testdir/noread; rm -fr $testdir $testout' 1 2 3 15
@@ -757,8 +761,9 @@
`dir6/file1[ab]'
`nondir\/'
EOF
+${test_wrapper_env} \
HOME="$testdir" \
-${run_program_prefix} \
+${run_via_rtld_prefix} \
${common_objpfx}posix/globtest -ct "$testdir" \
'~/dir1/file1_1' '~/dir1/file1_9' '~/dir3\*/file1' '~/dir3\*/file2' \
'~\/dir1/file1_2' |
Modified: fsf/trunk/libc/resolv/Makefile
==============================================================================
--- fsf/trunk/libc/resolv/Makefile (original)
+++ fsf/trunk/libc/resolv/Makefile Thu Oct 25 00:02:08 2012
@@ -108,7 +108,7 @@
tst-leaks-ENV = MALLOC_TRACE=$(objpfx)tst-leaks.mtrace
$(objpfx)mtrace-tst-leaks: $(objpfx)tst-leaks.out
$(common-objpfx)malloc/mtrace $(objpfx)tst-leaks.mtrace > $@
-ifeq (no,$(cross-compiling))
+ifeq ($(run-built-tests),yes)
ifneq (no,$(PERL))
tests: $(objpfx)mtrace-tst-leaks
endif
@@ -117,7 +117,7 @@
tst-leaks2-ENV = MALLOC_TRACE=$(objpfx)tst-leaks2.mtrace
$(objpfx)mtrace-tst-leaks2: $(objpfx)tst-leaks2.out
$(common-objpfx)malloc/mtrace $(objpfx)tst-leaks2.mtrace > $@
-ifeq (no,$(cross-compiling))
+ifeq ($(run-built-tests),yes)
ifneq (no,$(PERL))
xtests: $(objpfx)mtrace-tst-leaks2
endif
Modified: fsf/trunk/libc/rt/Makefile
==============================================================================
--- fsf/trunk/libc/rt/Makefile (original)
+++ fsf/trunk/libc/rt/Makefile Thu Oct 25 00:02:08 2012
@@ -36,9 +36,12 @@
mq_notify mq_send mq_receive mq_timedsend \
mq_timedreceive
+routines = $(clock-routines)
+
librt-routines = $(aio-routines) \
- $(clock-routines) $(timer-routines) \
- $(shm-routines) $(mq-routines)
+ $(timer-routines) \
+ $(shm-routines) $(mq-routines) \
+ clock-compat
tests := tst-shm tst-clock tst-clock_nanosleep tst-timer tst-timer2 \
tst-aio tst-aio64 tst-aio2 tst-aio3 tst-aio4 tst-aio5 tst-aio6 \
Modified: fsf/trunk/libc/rt/Versions
==============================================================================
--- fsf/trunk/libc/rt/Versions (original)
+++ fsf/trunk/libc/rt/Versions Thu Oct 25 00:02:08 2012
@@ -1,3 +1,15 @@
+libc {
+ GLIBC_2.17 {
+ # c*
+ clock_getres; clock_gettime; clock_settime; clock_getcpuclockid;
+ clock_nanosleep;
+ }
+ GLIBC_PRIVATE {
+ __clock_getres; __clock_gettime; __clock_settime; __clock_getcpuclockid;
+ __clock_nanosleep;
+ }
+}
+
librt {
GLIBC_2.1 {
# AIO functions.
@@ -6,7 +18,7 @@
aio_suspend64; aio_write; aio_write64; lio_listio; lio_listio64;
}
GLIBC_2.2 {
- # c*
+ # These have moved to libc and are still here only for compatibility.
clock_getres; clock_gettime; clock_settime; clock_getcpuclockid;
clock_nanosleep;
Added: fsf/trunk/libc/rt/clock-compat.c
==============================================================================
--- fsf/trunk/libc/rt/clock-compat.c (added)
+++ fsf/trunk/libc/rt/clock-compat.c Thu Oct 25 00:02:08 2012
@@ -1,0 +1,65 @@
+/* ABI compatibility redirects for clock_* symbols in librt.
+ Copyright (C) 2012 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
+
+#include <shlib-compat.h>
+
+/* The clock_* symbols were originally defined in librt and so
+ are part of its ABI. As of 2.17, they have moved to libc.
+ So we supply definitions for librt that just redirect to
+ their libc counterparts. */
+
+#if SHLIB_COMPAT (librt, GLIBC_2_2, GLIBC_2_17)
+
+#include <time.h>
+
+#ifdef HAVE_IFUNC
+# define COMPAT_REDIRECT(name, proto, arglist) \
+ __typeof (name) *name##_ifunc (void) asm (#name); \
+ __typeof (name) *name##_ifunc (void) \
+ { \
+ return &__##name; \
+ } \
+ asm (".type " #name ", %gnu_indirect_function");
+#else
+# define COMPAT_REDIRECT(name, proto, arglist) \
+ int \
+ name proto \
+ { \
+ return __##name arglist; \
+ }
+#endif
+
+COMPAT_REDIRECT (clock_getres,
+ (clockid_t clock_id, struct timespec *res),
+ (clock_id, res))
+COMPAT_REDIRECT (clock_gettime,
+ (clockid_t clock_id, struct timespec *tp),
+ (clock_id, tp))
+COMPAT_REDIRECT (clock_settime,
+ (clockid_t clock_id, const struct timespec *tp),
+ (clock_id, tp))
+COMPAT_REDIRECT (clock_getcpuclockid,
+ (pid_t pid, clockid_t *clock_id),
+ (pid, clock_id))
+COMPAT_REDIRECT (clock_nanosleep,
+ (clockid_t clock_id, int flags,
+ const struct timespec *req,
+ struct timespec *rem),
+ (clock_id, flags, req, rem))
+
+#endif
Modified: fsf/trunk/libc/rt/clock_getcpuclockid.c
==============================================================================
--- fsf/trunk/libc/rt/clock_getcpuclockid.c (original)
+++ fsf/trunk/libc/rt/clock_getcpuclockid.c Thu Oct 25 00:02:08 2012
@@ -1,4 +1,5 @@
-/* Copyright (C) 2000, 2001 Free Software Foundation, Inc.
+/* Get a clockid_t for the process CPU clock of a given process. Generic.
+ Copyright (C) 2000-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -36,3 +37,4 @@
return ENOENT;
#endif
}
+strong_alias (clock_getcpuclockid, __clock_getcpuclockid)
Modified: fsf/trunk/libc/rt/clock_getres.c
==============================================================================
--- fsf/trunk/libc/rt/clock_getres.c (original)
+++ fsf/trunk/libc/rt/clock_getres.c Thu Oct 25 00:02:08 2012
@@ -1,4 +1,5 @@
-/* Copyright (C) 1999 Free Software Foundation, Inc.
+/* Get the resolution of a clock. Stub version.
+ Copyright (C) 1999-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -25,5 +26,6 @@
__set_errno (ENOSYS);
return -1;
}
+strong_alias (clock_getres, __clock_getres)
stub_warning (clock_getres)
#include <stub-tag.h>
Modified: fsf/trunk/libc/rt/clock_gettime.c
==============================================================================
--- fsf/trunk/libc/rt/clock_gettime.c (original)
+++ fsf/trunk/libc/rt/clock_gettime.c Thu Oct 25 00:02:08 2012
@@ -1,4 +1,5 @@
-/* Copyright (C) 1999, 2005 Free Software Foundation, Inc.
+/* Get the current value of a clock. Stub version.
+ Copyright (C) 1999-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -25,6 +26,6 @@
__set_errno (ENOSYS);
return -1;
}
-librt_hidden_def (clock_gettime)
+strong_alias (clock_gettime, __clock_gettime)
stub_warning (clock_gettime)
#include <stub-tag.h>
Modified: fsf/trunk/libc/rt/clock_nanosleep.c
==============================================================================
--- fsf/trunk/libc/rt/clock_nanosleep.c (original)
+++ fsf/trunk/libc/rt/clock_nanosleep.c Thu Oct 25 00:02:08 2012
@@ -33,5 +33,6 @@
/* Not implemented. */
return ENOSYS;
}
+strong_alias (clock_nanosleep, __clock_nanosleep)
stub_warning (clock_nanosleep)
#include <stub-tag.h>
Modified: fsf/trunk/libc/rt/clock_settime.c
==============================================================================
--- fsf/trunk/libc/rt/clock_settime.c (original)
+++ fsf/trunk/libc/rt/clock_settime.c Thu Oct 25 00:02:08 2012
@@ -1,4 +1,5 @@
-/* Copyright (C) 1999 Free Software Foundation, Inc.
+/* Set a clock to a given value. Stub version.
+ Copyright (C) 1999-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -25,5 +26,6 @@
__set_errno (ENOSYS);
return -1;
}
+strong_alias (clock_settime, __clock_settime)
stub_warning (clock_settime)
#include <stub-tag.h>
Modified: fsf/trunk/libc/stdio-common/Makefile
==============================================================================
--- fsf/trunk/libc/stdio-common/Makefile (original)
+++ fsf/trunk/libc/stdio-common/Makefile Thu Oct 25 00:02:08 2012
@@ -63,7 +63,7 @@
include ../Rules
-ifeq ($(cross-compiling),no)
+ifeq ($(run-built-tests),yes)
.PHONY: do-tst-unbputc do-tst-printf
tests: do-tst-unbputc do-tst-printf
Modified: fsf/trunk/libc/stdlib/Makefile
==============================================================================
--- fsf/trunk/libc/stdlib/Makefile (original)
+++ fsf/trunk/libc/stdlib/Makefile Thu Oct 25 00:02:08 2012
@@ -122,7 +122,7 @@
# Run a test on the header files we use.
tests: $(objpfx)isomac.out
-ifeq (no,$(cross-compiling))
+ifeq ($(run-built-tests),yes)
tests: $(objpfx)tst-fmtmsg.out
endif
Modified: fsf/trunk/libc/string/Makefile
==============================================================================
--- fsf/trunk/libc/string/Makefile (original)
+++ fsf/trunk/libc/string/Makefile Thu Oct 25 00:02:08 2012
@@ -78,7 +78,7 @@
CFLAGS-bug-strstr1.c = -fno-builtin
CFLAGS-bug-strcasestr1.c = -fno-builtin
-ifeq ($(cross-compiling),no)
+ifeq ($(run-built-tests),yes)
tests: $(objpfx)tst-svc.out
$(objpfx)tst-svc.out: tst-svc.input $(objpfx)tst-svc
GCONV_PATH=$(common-objpfx)iconvdata LC_ALL=C \
Modified: fsf/trunk/libc/sysdeps/posix/clock_getres.c
==============================================================================
--- fsf/trunk/libc/sysdeps/posix/clock_getres.c (original)
+++ fsf/trunk/libc/sysdeps/posix/clock_getres.c Thu Oct 25 00:02:08 2012
@@ -1,5 +1,5 @@
/* clock_getres -- Get the resolution of a POSIX clockid_t.
- Copyright (C) 1999,2000,2001,2003,2004,2008 Free Software Foundation, Inc.
+ Copyright (C) 1999-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -115,3 +115,4 @@
return retval;
}
+strong_alias (clock_getres, __clock_getres)
Modified: fsf/trunk/libc/sysdeps/unix/clock_gettime.c
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/clock_gettime.c (original)
+++ fsf/trunk/libc/sysdeps/unix/clock_gettime.c Thu Oct 25 00:02:08 2012
@@ -1,5 +1,5 @@
/* clock_gettime -- Get the current time from a POSIX clockid_t. Unix version.
- Copyright (C) 1999-2004, 2005, 2007, 2011 Free Software Foundation, Inc.
+ Copyright (C) 1999-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -132,4 +132,4 @@
return retval;
}
-librt_hidden_def (clock_gettime)
+strong_alias (clock_gettime, __clock_gettime)
Modified: fsf/trunk/libc/sysdeps/unix/clock_nanosleep.c
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/clock_nanosleep.c (original)
+++ fsf/trunk/libc/sysdeps/unix/clock_nanosleep.c Thu Oct 25 00:02:08 2012
@@ -1,5 +1,5 @@
/* High-resolution sleep with the specified clock.
- Copyright (C) 2000, 2001, 2003, 2004 Free Software Foundation, Inc.
+ Copyright (C) 2000-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -98,3 +98,4 @@
return __builtin_expect (nanosleep (req, rem), 0) ? errno : 0;
}
+strong_alias (clock_nanosleep, __clock_nanosleep)
Modified: fsf/trunk/libc/sysdeps/unix/clock_settime.c
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/clock_settime.c (original)
[... 476 lines stripped ...]
_______________________________________________
Commits mailing list
Commits@xxxxxxxxxx
http://eglibc.org/cgi-bin/mailman/listinfo/commits