+2018-11-23 Rafael Ávila de Espíndola <rafael@espindo.la>
+
+ [BZ #19767]
+ * nptl/Makefile (tests-static): Add tst-cond11-static.
+ (tests): Likewise.
+ * nptl/tst-cond11-static.c: New File.
+ * sysdeps/unix/sysv/linux/Makefile (tests-static): Add
+ tst-affinity-static.
+ (tests): Likewise.
+ * sysdeps/unix/sysv/linux/sysdep-vdso.h: Check USE_VSYSCALL
+ instead of SHARED.
+ * sysdeps/unix/sysv/linux/sysdep.h (ALWAYS_USE_VSYSCALL): New.
+ (USE_VSYSCALL): Likewise.
+ * sysdeps/unix/sysv/linux/tst-affinity-static.c: New file.
+ * sysdeps/unix/sysv/linux/x86/libc-vdso.h: Check USE_VSYSCALL
+ instead of SHARED.
+ * sysdeps/unix/sysv/linux/x86_64/init-first.c: Don't check
+ SHARED.
+ * sysdeps/unix/sysv/linux/x86_64/sysdep.h (ALWAYS_USE_VSYSCALL):
+ New.
+
2018-11-23 Joseph Myers <joseph@codesourcery.com>
[BZ #23915]
tests-static += tst-locale1 tst-locale2 tst-stackguard1-static \
tst-cancel21-static tst-cancel24-static tst-cond8-static \
tst-mutex8-static tst-mutexpi8-static tst-sem11-static \
- tst-sem12-static
+ tst-sem12-static tst-cond11-static
+
tests += tst-cancel21-static tst-cancel24-static \
- tst-cond8-static
+ tst-cond8-static tst-cond11-static
tests-internal += tst-sem11-static tst-sem12-static tst-stackguard1-static
xtests-static += tst-setuid1-static
--- /dev/null
+#include "tst-cond11.c"
tests += tst-affinity tst-affinity-pid
+tests-static := tst-affinity-static
+tests += $(tests-static)
+
CFLAGS-fork.c = $(libio-mtsafe)
CFLAGS-getpid.o = -fomit-frame-pointer
CFLAGS-getpid.os = -fomit-frame-pointer
funcptr (args)
#endif
-#if defined SHARED && defined HAVE_VSYSCALL
+#if USE_VSYSCALL && defined HAVE_VSYSCALL
# include <libc-vdso.h>
# define INTERNAL_VSYSCALL(name, err, nr, args...) \
INTERNAL_SYSCALL (name, err, nr, ##args)
-#endif /* defined SHARED && defined HAVE_VSYSCALL */
+#endif /* USE_VSYSCALL && defined HAVE_VSYSCALL */
#endif /* SYSDEP_VDSO_LINUX_H */
#include <bits/wordsize.h>
#include <kernel-features.h>
+/* By default only shared builds use vdso. */
+#ifndef ALWAYS_USE_VSYSCALL
+#define ALWAYS_USE_VSYSCALL 0
+#endif
+
+#define USE_VSYSCALL (defined (SHARED) || ALWAYS_USE_VSYSCALL)
+
/* Set error number and return -1. A target may choose to return the
internal function, __syscall_error, which sets errno and returns -1.
We use -1l, instead of -1, so that it can be casted to (void *). */
--- /dev/null
+#include "tst-affinity.c"
#include <time.h>
#include <sys/time.h>
-#ifdef SHARED
+#if USE_VSYSCALL
# include <sysdep-vdso.h>
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
-#ifdef SHARED
-# include <time.h>
-# include <sysdep.h>
-# include <dl-vdso.h>
-# include <libc-vdso.h>
+#include <time.h>
+#include <sysdep.h>
+#include <dl-vdso.h>
+#include <libc-vdso.h>
long int (*VDSO_SYMBOL(clock_gettime)) (clockid_t, struct timespec *)
attribute_hidden;
VDSO_SYMBOL(getcpu) = p;
}
-# define VDSO_SETUP __vdso_platform_setup
-#endif
+#define VDSO_SETUP __vdso_platform_setup
#include <csu/init-first.c>
#ifndef _LINUX_X86_64_SYSDEP_H
#define _LINUX_X86_64_SYSDEP_H 1
+/* Always enable vsyscalls on x86_64 */
+#define ALWAYS_USE_VSYSCALL 1
+
/* There is some commonality. */
#include <sysdeps/unix/sysv/linux/sysdep.h>
#include <sysdeps/unix/x86_64/sysdep.h>