summaryrefslogtreecommitdiffstats
path: root/libpthread/nptl/sysdeps
diff options
context:
space:
mode:
Diffstat (limited to 'libpthread/nptl/sysdeps')
-rw-r--r--libpthread/nptl/sysdeps/pthread/Makefile12
-rw-r--r--libpthread/nptl/sysdeps/pthread/Subdirs1
-rwxr-xr-xlibpthread/nptl/sysdeps/pthread/configure159
-rw-r--r--libpthread/nptl/sysdeps/pthread/configure.in49
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/Makefile13
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/mips/Makefile4
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/mips/fork-nptl.c (renamed from libpthread/nptl/sysdeps/unix/sysv/linux/mips/fork.c)0
7 files changed, 21 insertions, 217 deletions
diff --git a/libpthread/nptl/sysdeps/pthread/Makefile b/libpthread/nptl/sysdeps/pthread/Makefile
index 0bd102d6e..fae8f0800 100644
--- a/libpthread/nptl/sysdeps/pthread/Makefile
+++ b/libpthread/nptl/sysdeps/pthread/Makefile
@@ -34,6 +34,14 @@ CSRC = pthread_barrier_wait.c pthread_cond_broadcast.c pthread_cond_signal.c \
pthread_spin_init.c pthread_spin_unlock.c sigaction.c \
unwind-forcedunwind.c
+#
+# Needed to get pthread types.
+#
+CFLAGS-pthread_barrier_wait.c = -D_GNU_SOURCE
+CFLAGS-pthread_spin_destroy.c = -D_GNU_SOURCE
+CFLAGS-pthread_spin_init.c = -D_GNU_SOURCE
+CFLAGS-pthread_spin_unlock.c = -D_GNU_SOURCE
+
COBJ-LIBP-ST = $(patsubst %.c, %.o, $(CSRC))
COBJ-LIBP-SH = $(patsubst %.c, %.os, $(CSRC))
@@ -49,10 +57,10 @@ endif
$(AR) $(ARFLAGS) $(PTDIR)../$(LIBPTHREAD_SHARED_ARCHIVE) $(COBJ-LIBP-SH)
$(COBJ-LIBP-ST): %.o : %.c
- $(CC) $(CFLAGS-LIBP) -c $< -o $@
+ $(CC) $(CFLAGS-$<) $(CFLAGS-LIBP) -c $< -o $@
$(COBJ-LIBP-SH): %.os : %.c
- $(CC) $(CFLAGS-LIBP) -DSHARED -c $< -o $@
+ $(CC) $(CFLAGS-$<) $(CFLAGS-LIBP) -DSHARED -c $< -o $@
clean:
$(RM) *.o *.os *~ core
diff --git a/libpthread/nptl/sysdeps/pthread/Subdirs b/libpthread/nptl/sysdeps/pthread/Subdirs
deleted file mode 100644
index 4d1f4d876..000000000
--- a/libpthread/nptl/sysdeps/pthread/Subdirs
+++ /dev/null
@@ -1 +0,0 @@
-nptl_db
diff --git a/libpthread/nptl/sysdeps/pthread/configure b/libpthread/nptl/sysdeps/pthread/configure
deleted file mode 100755
index 3cbe55e14..000000000
--- a/libpthread/nptl/sysdeps/pthread/configure
+++ /dev/null
@@ -1,159 +0,0 @@
-# This file is generated from configure.in by Autoconf. DO NOT EDIT!
-
-if test "x$libc_cv_gcc___thread" != xyes; then
- { { echo "$as_me:$LINENO: error: compiler support for __thread is required" >&5
-echo "$as_me: error: compiler support for __thread is required" >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-if test "x${libc_cv_visibility_attribute}" != xyes ||
- test "x${libc_cv_broken_visibility_attribute}" != xno; then
- { { echo "$as_me:$LINENO: error: working compiler support for visibility attribute is required" >&5
-echo "$as_me: error: working compiler support for visibility attribute is required" >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-if test "x$libc_cv_asm_cfi_directives" != xyes; then
- case "$base_machine" in
- i386 | x86_64 | powerpc | s390)
- { { echo "$as_me:$LINENO: error: CFI directive support in assembler is required" >&5
-echo "$as_me: error: CFI directive support in assembler is required" >&2;}
- { (exit 1); exit 1; }; } ;;
- *) ;;
- esac
-fi
-
-
-echo "$as_me:$LINENO: checking for forced unwind support" >&5
-echo $ECHO_N "checking for forced unwind support... $ECHO_C" >&6
-if test "${libc_cv_forced_unwind+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <unwind.h>
-int
-main ()
-{
-
-struct _Unwind_Exception exc;
-struct _Unwind_Context *context;
-_Unwind_GetCFA (context)
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- libc_cv_forced_unwind=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-libc_cv_forced_unwind=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $libc_cv_forced_unwind" >&5
-echo "${ECHO_T}$libc_cv_forced_unwind" >&6
-if test $libc_cv_forced_unwind = yes; then
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_FORCED_UNWIND 1
-_ACEOF
-
- old_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS -Werror -fexceptions"
- echo "$as_me:$LINENO: checking for C cleanup handling" >&5
-echo $ECHO_N "checking for C cleanup handling... $ECHO_C" >&6
-if test "${libc_cv_c_cleanup+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#include <stdio.h>
-void cl (void *a) { }
-int
-main ()
-{
-
- int a __attribute__ ((cleanup (cl)));
- puts ("test")
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- libc_cv_c_cleanup=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-libc_cv_c_cleanup=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $libc_cv_c_cleanup" >&5
-echo "${ECHO_T}$libc_cv_c_cleanup" >&6
- CFLAGS="$old_CFLAGS"
- if test $libc_cv_c_cleanup = no; then
- { { echo "$as_me:$LINENO: error: the compiler must support C cleanup handling" >&5
-echo "$as_me: error: the compiler must support C cleanup handling" >&2;}
- { (exit 1); exit 1; }; }
- fi
-else
- { { echo "$as_me:$LINENO: error: forced unwind support is required" >&5
-echo "$as_me: error: forced unwind support is required" >&2;}
- { (exit 1); exit 1; }; }
-fi
diff --git a/libpthread/nptl/sysdeps/pthread/configure.in b/libpthread/nptl/sysdeps/pthread/configure.in
deleted file mode 100644
index 17f18f0fb..000000000
--- a/libpthread/nptl/sysdeps/pthread/configure.in
+++ /dev/null
@@ -1,49 +0,0 @@
-dnl configure fragment for new libpthread implementation.
-GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
-
-if test "x$libc_cv_gcc___thread" != xyes; then
- AC_MSG_ERROR(compiler support for __thread is required)
-fi
-
-if test "x${libc_cv_visibility_attribute}" != xyes ||
- test "x${libc_cv_broken_visibility_attribute}" != xno; then
- AC_MSG_ERROR(working compiler support for visibility attribute is required)
-fi
-
-if test "x$libc_cv_asm_cfi_directives" != xyes; then
- dnl We need this only for some architectures.
- case "$base_machine" in
- i386 | x86_64 | powerpc | s390)
- AC_MSG_ERROR(CFI directive support in assembler is required) ;;
- *) ;;
- esac
-fi
-
-dnl Iff <unwind.h> is available, make sure it is the right one and it
-dnl contains struct _Unwind_Exception.
-AC_CACHE_CHECK(dnl
-for forced unwind support, libc_cv_forced_unwind, [dnl
-AC_TRY_LINK([#include <unwind.h>], [
-struct _Unwind_Exception exc;
-struct _Unwind_Context *context;
-_Unwind_GetCFA (context)],
-libc_cv_forced_unwind=yes, libc_cv_forced_unwind=no)])
-if test $libc_cv_forced_unwind = yes; then
- AC_DEFINE(HAVE_FORCED_UNWIND)
-dnl Check for C cleanup handling.
- old_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS -Werror -fexceptions"
- AC_CACHE_CHECK([for C cleanup handling], libc_cv_c_cleanup, [dnl
- AC_TRY_LINK([
-#include <stdio.h>
-void cl (void *a) { }], [
- int a __attribute__ ((cleanup (cl)));
- puts ("test")],
-libc_cv_c_cleanup=yes, libc_cv_c_cleanup=no)])
- CFLAGS="$old_CFLAGS"
- if test $libc_cv_c_cleanup = no; then
- AC_MSG_ERROR([the compiler must support C cleanup handling])
- fi
-else
- AC_MSG_ERROR(forced unwind support is required)
-fi
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/Makefile b/libpthread/nptl/sysdeps/unix/sysv/linux/Makefile
index e29cf113b..37ea6e05b 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/Makefile
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/Makefile
@@ -52,6 +52,11 @@ CSRC-LIBC-ST += libc-lowlevellock.c
CSRC-LIBP-ST += rtld-libc-lowlevellock.c
endif
+#
+# Needed to get pthread types.
+#
+CFLAGS-pt-fork.c = -D_GNU_SOURCE
+
COBJ-LIBP-ST = $(patsubst %.c, %.o, $(CSRC-LIBP-ST))
COBJ-LIBP-SH = $(patsubst %.c, %.os, $(CSRC-LIBP-SH))
COBJ-LIBC-ST = $(patsubst %.c, %.o, $(CSRC-LIBC-ST))
@@ -69,16 +74,16 @@ endif
$(AR) $(ARFLAGS) $(PTDIR)../$(LIBPTHREAD_SHARED_ARCHIVE) $(COBJ-LIBP-SH)
$(COBJ-LIBP-ST): %.o : %.c
- $(CC) $(CFLAGS-LIBP) -c $< -o $@
+ $(CC) $(CFLAGS-$<) $(CFLAGS-LIBP) -c $< -o $@
$(COBJ-LIBP-SH): %.os : %.c
- $(CC) $(CFLAGS-LIBP) -DSHARED -c $< -o $@
+ $(CC) $(CFLAGS-$<) $(CFLAGS-LIBP) -DSHARED -c $< -o $@
$(COBJ-LIBC-ST): %.o : %.c
- $(CC) $(CFLAGS-LIBC) -c $< -o $@
+ $(CC) $(CFLAGS-$<) $(CFLAGS-LIBC) -c $< -o $@
$(COBJ-LIBC-SH): %.os : %.c
- $(CC) $(CFLAGS-LIBC) -DSHARED -c $< -o $@
+ $(CC) $(CFLAGS-$<) $(CFLAGS-LIBC) -DSHARED -c $< -o $@
objs-pthread-libc: $(COBJ-LIBC-ST) $(COBJ-LIBC-SH)
ifeq ($(strip $(PTHREADS_DEBUG_SUPPORT)),y)
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/mips/Makefile b/libpthread/nptl/sysdeps/unix/sysv/linux/mips/Makefile
index 0e43e56e2..1978413ea 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/mips/Makefile
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/mips/Makefile
@@ -27,7 +27,7 @@ ASRC-LIBP-SH = $(ASRC-LIBP-ST)
CSRC-LIBP-ST = pthread_once.c
CSRC-LIBP-SH = $(CSRC-LIBP-ST)
-CSRC-LIBC-ST = fork.c
+CSRC-LIBC-ST = fork-nptl.c
CSRC-LIBC-SH = $(CSRC-LIBC-ST)
AOBJ-LIBP-ST = $(patsubst %.S, %.o, $(ASRC-LIBP-ST))
@@ -38,7 +38,7 @@ COBJ-LIBC-ST = $(patsubst %.c, %.o, $(CSRC-LIBC-ST))
COBJ-LIBC-SH = $(patsubst %.c, %.os, $(CSRC-LIBC-SH))
ifeq ($(UCLIBC_HAS_STDIO_FUTEXES),y)
-CFLAGS-fork.c = -D__USE_STDIO_FUTEXES__
+CFLAGS-fork-nptl.c = -D__USE_STDIO_FUTEXES__
endif
ar-target all: $(AOBJ-LIBP-ST) $(AOBJ-LIBP-SH) $(COBJ-LIBP-ST) $(COBJ-LIBP-SH)
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/mips/fork.c b/libpthread/nptl/sysdeps/unix/sysv/linux/mips/fork-nptl.c
index 06b7e1c69..06b7e1c69 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/mips/fork.c
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/mips/fork-nptl.c