This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GNU C Library master sources branch master updated. glibc-2.22-471-g3e2ee6f


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  3e2ee6f0e3471ceb4c49f8287676a7050401bf8f (commit)
      from  72f1463df85a522bfd1568e47bd81371522ee358 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=3e2ee6f0e3471ceb4c49f8287676a7050401bf8f

commit 3e2ee6f0e3471ceb4c49f8287676a7050401bf8f
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Tue Oct 27 21:46:03 2015 +0000

    Remove sysdeps/nptl/configure.ac.
    
    sysdeps/nptl/configure.ac tests for forced unwind support and the C
    cleanup attribute, giving errors if either is unsupported.  It does
    nothing beyond running those two tests.
    
    Both the attribute, and _Unwind_GetCFA which is used in the forced
    unwind test, were added in GCC 3.3.  Thus these tests are long
    obsolete, and this patch removes the configure fragment running them,
    along with associated conditionals.
    
    Tested for x86_64 and x86 (testsuite, and that installed stripped
    shared libraries are unchanged by the patch).
    
    	* sysdeps/nptl/configure.ac: Remove file.
    	* sysdeps/nptl/configure: Remove generated file.
    	* configure.ac (libc_cv_forced_unwind): Do not substitute.
    	* configure: Regenerated.
    	* config.h.in (HAVE_FORCED_UNWIND): Remove #undef.
    	* config.make.in (have-forced-unwind): Remove variable.
    	* nptl/Makefile [$(have-forced-unwind) = yes]: Make code
    	unconditional.
    	* nptl/descr.h [HAVE_FORCED_UNWIND]: Likewise.
    	* nptl/unwind.c [HAVE_FORCED_UNWIND]: Likewise.
    	(__pthread_unwind) [!HAVE_FORCED_UNWIND]: Remove conditional code.
    	* nptl/version.c [HAVE_FORCED_UNWIND]: Make code unconditional.
    	* sysdeps/nptl/Makefile [$(have-forced-unwind) = yes]: Make code
    	unconditional.

diff --git a/ChangeLog b/ChangeLog
index 0a70fee..a9cfb3b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,20 @@
+2015-10-27  Joseph Myers  <joseph@codesourcery.com>
+
+	* sysdeps/nptl/configure.ac: Remove file.
+	* sysdeps/nptl/configure: Remove generated file.
+	* configure.ac (libc_cv_forced_unwind): Do not substitute.
+	* configure: Regenerated.
+	* config.h.in (HAVE_FORCED_UNWIND): Remove #undef.
+	* config.make.in (have-forced-unwind): Remove variable.
+	* nptl/Makefile [$(have-forced-unwind) = yes]: Make code
+	unconditional.
+	* nptl/descr.h [HAVE_FORCED_UNWIND]: Likewise.
+	* nptl/unwind.c [HAVE_FORCED_UNWIND]: Likewise.
+	(__pthread_unwind) [!HAVE_FORCED_UNWIND]: Remove conditional code.
+	* nptl/version.c [HAVE_FORCED_UNWIND]: Make code unconditional.
+	* sysdeps/nptl/Makefile [$(have-forced-unwind) = yes]: Make code
+	unconditional.
+
 2015-10-27  Paul E. Murphy  <murphyp@linux.vnet.ibm.com>
 
 	[BZ #19174]
diff --git a/config.h.in b/config.h.in
index 1418756..79efc54 100644
--- a/config.h.in
+++ b/config.h.in
@@ -119,9 +119,6 @@
 /* Mach/i386 specific: define if the `i386_set_gdt' RPC is available.  */
 #undef	HAVE_I386_SET_GDT
 
-/* Defined if forced unwind support is available.  */
-#undef	HAVE_FORCED_UNWIND
-
 /* Defined of libidn is available.  */
 #undef HAVE_LIBIDN
 
diff --git a/config.make.in b/config.make.in
index 5e4bbc8..75bb9cc 100644
--- a/config.make.in
+++ b/config.make.in
@@ -53,7 +53,6 @@ have-protected-data = @libc_cv_protected_data@
 with-fp = @with_fp@
 enable-timezone-tools = @enable_timezone_tools@
 unwind-find-fde = @libc_cv_gcc_unwind_find_fde@
-have-forced-unwind = @libc_cv_forced_unwind@
 have-fpie = @libc_cv_fpie@
 stack-protector = @stack_protector@
 have-selinux = @have_selinux@
diff --git a/configure b/configure
index 8f4bb72..22e18aa 100755
--- a/configure
+++ b/configure
@@ -600,7 +600,6 @@ shared
 static
 ldd_rewrite_script
 use_ldconfig
-libc_cv_forced_unwind
 libc_cv_rootsbindir
 libc_cv_localstatedir
 libc_cv_sysconfdir
@@ -6717,7 +6716,6 @@ fi
 
 
 
-
 if test x$use_ldconfig = xyes; then
   $as_echo "#define USE_LDCONFIG 1" >>confdefs.h
 
diff --git a/configure.ac b/configure.ac
index ad5f3cc..784b3bd 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1858,7 +1858,6 @@ AC_SUBST(libc_cv_localedir)
 AC_SUBST(libc_cv_sysconfdir)
 AC_SUBST(libc_cv_localstatedir)
 AC_SUBST(libc_cv_rootsbindir)
-AC_SUBST(libc_cv_forced_unwind)
 
 if test x$use_ldconfig = xyes; then
   AC_DEFINE(USE_LDCONFIG)
diff --git a/nptl/Makefile b/nptl/Makefile
index 311b1a7..7b816a3 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -311,14 +311,12 @@ LDFLAGS-pthread.so = -Wl,--enable-new-dtags,-z,nodelete,-z,initfirst
 CFLAGS-tst-cleanup2.c = -fno-builtin
 CFLAGS-tst-cleanupx2.c = -fno-builtin
 
-ifeq ($(have-forced-unwind),yes)
 tests += tst-cancelx2 tst-cancelx3 tst-cancelx4 tst-cancelx5 \
 	 tst-cancelx6 tst-cancelx7 tst-cancelx8 tst-cancelx9 tst-cancelx10 \
 	 tst-cancelx11 tst-cancelx12 tst-cancelx13 tst-cancelx14 tst-cancelx15 \
 	 tst-cancelx16 tst-cancelx17 tst-cancelx18 tst-cancelx20 tst-cancelx21 \
 	 tst-cleanupx0 tst-cleanupx1 tst-cleanupx2 tst-cleanupx3 tst-cleanupx4 \
 	 tst-oncex3 tst-oncex4
-endif
 ifeq ($(build-shared),yes)
 tests += tst-atfork2 tst-tls3 tst-tls4 tst-tls5 tst-_res1 tst-fini1 \
 	 tst-stackguard1
diff --git a/nptl/descr.h b/nptl/descr.h
index a502048..bd99c36 100644
--- a/nptl/descr.h
+++ b/nptl/descr.h
@@ -32,9 +32,7 @@
 #include <dl-sysdep.h>
 #include "../nptl_db/thread_db.h"
 #include <tls.h>
-#ifdef HAVE_FORCED_UNWIND
-# include <unwind.h>
-#endif
+#include <unwind.h>
 #define __need_res_state
 #include <resolv.h>
 #include <kernel-features.h>
@@ -362,10 +360,8 @@ struct pthread
   /* Next descriptor with a pending event.  */
   struct pthread *nextevent;
 
-#ifdef HAVE_FORCED_UNWIND
   /* Machine-specific unwind info.  */
   struct _Unwind_Exception exc;
-#endif
 
   /* If nonzero pointer to area allocated for the stack and its
      size.  */
diff --git a/nptl/unwind.c b/nptl/unwind.c
index 904187e..5a41c1b 100644
--- a/nptl/unwind.c
+++ b/nptl/unwind.c
@@ -25,8 +25,6 @@
 #include "pthreadP.h"
 #include <jmpbuf-unwind.h>
 
-#ifdef HAVE_FORCED_UNWIND
-
 #ifdef _STACK_GROWS_DOWN
 # define FRAME_LEFT(frame, other, adj) \
   ((uintptr_t) frame - adj >= (uintptr_t) other - adj)
@@ -107,8 +105,6 @@ unwind_cleanup (_Unwind_Reason_Code reason, struct _Unwind_Exception *exc)
   __libc_fatal ("FATAL: exception not rethrown\n");
 }
 
-#endif	/* have forced unwind */
-
 
 void
 __cleanup_fct_attribute __attribute ((noreturn))
@@ -117,42 +113,12 @@ __pthread_unwind (__pthread_unwind_buf_t *buf)
   struct pthread_unwind_buf *ibuf = (struct pthread_unwind_buf *) buf;
   struct pthread *self = THREAD_SELF;
 
-#ifdef HAVE_FORCED_UNWIND
   /* This is not a catchable exception, so don't provide any details about
      the exception type.  We do need to initialize the field though.  */
   THREAD_SETMEM (self, exc.exception_class, 0);
   THREAD_SETMEM (self, exc.exception_cleanup, &unwind_cleanup);
 
   _Unwind_ForcedUnwind (&self->exc, unwind_stop, ibuf);
-#else
-  /* Handle the compatibility stuff first.  Execute all handlers
-     registered with the old method.  We don't execute them in order,
-     instead, they will run first.  */
-  struct _pthread_cleanup_buffer *oldp = ibuf->priv.data.cleanup;
-  struct _pthread_cleanup_buffer *curp = THREAD_GETMEM (self, cleanup);
-
-  if (curp != oldp)
-    {
-      do
-	{
-	  /* Pointer to the next element.  */
-	  struct _pthread_cleanup_buffer *nextp = curp->__prev;
-
-	  /* Call the handler.  */
-	  curp->__routine (curp->__arg);
-
-	  /* To the next.  */
-	  curp = nextp;
-	}
-      while (curp != oldp);
-
-      /* Mark the current element as handled.  */
-      THREAD_SETMEM (self, cleanup, curp);
-    }
-
-  /* We simply jump to the registered setjmp buffer.  */
-  __libc_unwind_longjmp ((struct __jmp_buf_tag *) ibuf->cancel_jmp_buf, 1);
-#endif
   /* NOTREACHED */
 
   /* We better do not get here.  */
diff --git a/nptl/version.c b/nptl/version.c
index cfa2acb..ba01a65 100644
--- a/nptl/version.c
+++ b/nptl/version.c
@@ -27,9 +27,7 @@ static const char banner[] =
 This is free software; see the source for copying conditions.\n\
 There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A\n\
 PARTICULAR PURPOSE.\n"
-#ifdef HAVE_FORCED_UNWIND
 "Forced unwind support included.\n"
-#endif
 ;
 
 
diff --git a/sysdeps/nptl/Makefile b/sysdeps/nptl/Makefile
index e9339a3..212561b 100644
--- a/sysdeps/nptl/Makefile
+++ b/sysdeps/nptl/Makefile
@@ -24,11 +24,9 @@ ifeq ($(subdir),rt)
 librt-sysdep_routines += timer_routines librt-cancellation
 CFLAGS-librt-cancellation.c += -fexceptions -fasynchronous-unwind-tables
 
-ifeq ($(have-forced-unwind),yes)
 tests += tst-mqueue8x
 CFLAGS-tst-mqueue8x.c += -fexceptions
 endif
-endif
 
 ifeq ($(subdir),posix)
 CFLAGS-confstr.c += -DLIBPTHREAD_VERSION='"NPTL $(version)"'
diff --git a/sysdeps/nptl/configure b/sysdeps/nptl/configure
deleted file mode 100644
index 18bae6b..0000000
--- a/sysdeps/nptl/configure
+++ /dev/null
@@ -1,78 +0,0 @@
-# This file is generated from configure.ac by Autoconf.  DO NOT EDIT!
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for forced unwind support" >&5
-$as_echo_n "checking for forced unwind support... " >&6; }
-if ${libc_cv_forced_unwind+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  old_CPPFLAGS="$CPPFLAGS"
-# Without inhibit_libc #define'd, GCC's unwind.h (at least for ia64)
-# will try to include <stdlib.h>, which doesn't exist yet if we're
-# building libc in a bare environment.
-CPPFLAGS="$CPPFLAGS -Dinhibit_libc=1"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <unwind.h>
-int
-main ()
-{
-
-struct _Unwind_Exception exc;
-struct _Unwind_Context *context;
-_Unwind_GetCFA (context)
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  libc_cv_forced_unwind=yes
-else
-  libc_cv_forced_unwind=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-CPPFLAGS="$old_CPPFLAGS"
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_forced_unwind" >&5
-$as_echo "$libc_cv_forced_unwind" >&6; }
-if test $libc_cv_forced_unwind = yes; then
-  $as_echo "#define HAVE_FORCED_UNWIND 1" >>confdefs.h
-
-  old_CFLAGS="$CFLAGS"
-  CFLAGS="$CFLAGS -Werror -fexceptions"
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C cleanup handling" >&5
-$as_echo_n "checking for C cleanup handling... " >&6; }
-if ${libc_cv_c_cleanup+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-extern void some_function (void);
-void cl (void *a) { }
-int
-main ()
-{
-
-  int a __attribute__ ((cleanup (cl)));
-  some_function ()
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  libc_cv_c_cleanup=yes
-else
-  libc_cv_c_cleanup=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_c_cleanup" >&5
-$as_echo "$libc_cv_c_cleanup" >&6; }
-  CFLAGS="$old_CFLAGS"
-  if test $libc_cv_c_cleanup = no; then
-    as_fn_error $? "the compiler must support C cleanup handling" "$LINENO" 5
-  fi
-else
-  as_fn_error $? "forced unwind support is required" "$LINENO" 5
-fi
diff --git a/sysdeps/nptl/configure.ac b/sysdeps/nptl/configure.ac
deleted file mode 100644
index 1ee3d57..0000000
--- a/sysdeps/nptl/configure.ac
+++ /dev/null
@@ -1,37 +0,0 @@
-dnl configure fragment for new libpthread implementation.
-GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
-
-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
-old_CPPFLAGS="$CPPFLAGS"
-# Without inhibit_libc #define'd, GCC's unwind.h (at least for ia64)
-# will try to include <stdlib.h>, which doesn't exist yet if we're
-# building libc in a bare environment.
-CPPFLAGS="$CPPFLAGS -Dinhibit_libc=1"
-AC_TRY_COMPILE([#include <unwind.h>], [
-struct _Unwind_Exception exc;
-struct _Unwind_Context *context;
-_Unwind_GetCFA (context)],
-libc_cv_forced_unwind=yes, libc_cv_forced_unwind=no)
-CPPFLAGS="$old_CPPFLAGS"])
-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_COMPILE([
-extern void some_function (void);
-void cl (void *a) { }], [
-  int a __attribute__ ((cleanup (cl)));
-  some_function ()],
-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

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                 |   17 ++++++++++
 config.h.in               |    3 --
 config.make.in            |    1 -
 configure                 |    2 -
 configure.ac              |    1 -
 nptl/Makefile             |    2 -
 nptl/descr.h              |    6 +---
 nptl/unwind.c             |   34 -------------------
 nptl/version.c            |    2 -
 sysdeps/nptl/Makefile     |    2 -
 sysdeps/nptl/configure    |   78 ---------------------------------------------
 sysdeps/nptl/configure.ac |   37 ---------------------
 12 files changed, 18 insertions(+), 167 deletions(-)
 delete mode 100644 sysdeps/nptl/configure
 delete mode 100644 sysdeps/nptl/configure.ac


hooks/post-receive
-- 
GNU C Library master sources


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]