summaryrefslogtreecommitdiffstats
path: root/0024-libitm-weak-symbols.patch
diff options
context:
space:
mode:
authorYaakov Selkowitz <yselkowi@redhat.com>2020-04-01 16:59:44 -0400
committerYaakov Selkowitz <yselkowi@redhat.com>2020-04-01 16:59:44 -0400
commit58aad36b016765d2b651b9167f0a4caa6142d5f9 (patch)
treebe3a18fceb890dbe20d8257a3a3b6cc072dad890 /0024-libitm-weak-symbols.patch
parent462d1befeec9662defcdb8380a79895bdbf1186a (diff)
downloadcygwin-gcc-58aad36b016765d2b651b9167f0a4caa6142d5f9.tar.gz
cygwin-gcc-58aad36b016765d2b651b9167f0a4caa6142d5f9.tar.xz
cygwin-gcc-58aad36b016765d2b651b9167f0a4caa6142d5f9.zip
cygwin-gcc 9.3.0
Diffstat (limited to '0024-libitm-weak-symbols.patch')
-rw-r--r--0024-libitm-weak-symbols.patch200
1 files changed, 0 insertions, 200 deletions
diff --git a/0024-libitm-weak-symbols.patch b/0024-libitm-weak-symbols.patch
deleted file mode 100644
index 9f3f6e0..0000000
--- a/0024-libitm-weak-symbols.patch
+++ /dev/null
@@ -1,200 +0,0 @@
-diff --git a/libitm/Makefile.am b/libitm/Makefile.am
-index 1dce82d..8b133b3 100644
---- a/libitm/Makefile.am
-+++ b/libitm/Makefile.am
-@@ -53,7 +53,6 @@ libitm_version_info = -version-info $(libtool_VERSION)
- # Force link with C, not C++. For now, while we're using C++ we don't
- # want or need libstdc++.
- libitm_la_DEPENDENCIES = $(libitm_version_dep)
--libitm_la_LINK = $(LINK) $(libitm_la_LDFLAGS)
- libitm_la_LDFLAGS = $(libitm_version_info) $(libitm_version_script)
-
- libitm_la_SOURCES = \
-diff --git a/libitm/Makefile.in b/libitm/Makefile.in
-index 138eeb1..f688e84 100644
---- a/libitm/Makefile.in
-+++ b/libitm/Makefile.in
-@@ -356,7 +356,6 @@ libitm_version_info = -version-info $(libtool_VERSION)
- # Force link with C, not C++. For now, while we're using C++ we don't
- # want or need libstdc++.
- libitm_la_DEPENDENCIES = $(libitm_version_dep)
--libitm_la_LINK = $(LINK) $(libitm_la_LDFLAGS)
- libitm_la_LDFLAGS = $(libitm_version_info) $(libitm_version_script)
- libitm_la_SOURCES = aatree.cc alloc.cc alloc_c.cc alloc_cpp.cc \
- barrier.cc beginend.cc clone.cc eh_cpp.cc local.cc query.cc \
-@@ -473,7 +472,7 @@ clean-toolexeclibLTLIBRARIES:
- rm -f "$${dir}/so_locations"; \
- done
- libitm.la: $(libitm_la_OBJECTS) $(libitm_la_DEPENDENCIES) $(EXTRA_libitm_la_DEPENDENCIES)
-- $(libitm_la_LINK) -rpath $(toolexeclibdir) $(libitm_la_OBJECTS) $(libitm_la_LIBADD) $(LIBS)
-+ $(CXXLINK) $(libitm_la_LDFLAGS) -rpath $(toolexeclibdir) $(libitm_la_OBJECTS) $(libitm_la_LIBADD) $(LIBS)
-
- mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-diff --git a/libitm/alloc_cpp.cc b/libitm/alloc_cpp.cc
-index 1d52e89..9722a0b 100644
---- a/libitm/alloc_cpp.cc
-+++ b/libitm/alloc_cpp.cc
-@@ -50,24 +50,30 @@ using namespace GTM;
- /* Everything from libstdc++ is weak, to avoid requiring that library
- to be linked into plain C applications using libitm.so. */
-
-+#if defined(__CYGWIN__) && defined(PIC)
-+#define WEAK
-+#else
-+#define WEAK __attribute__((weak))
-+#endif
-+
- extern "C" {
-
--extern void *_ZnwX (size_t) __attribute__((weak));
--extern void _ZdlPv (void *) __attribute__((weak));
--extern void _ZdlPvX (void *, size_t) __attribute__((weak));
--extern void *_ZnaX (size_t) __attribute__((weak));
--extern void _ZdaPv (void *) __attribute__((weak));
-+extern void *_ZnwX (size_t) WEAK;
-+extern void _ZdlPv (void *) WEAK;
-+extern void _ZdlPvX (void *, size_t) WEAK;
-+extern void *_ZnaX (size_t) WEAK;
-+extern void _ZdaPv (void *) WEAK;
-
- typedef const struct nothrow_t { } *c_nothrow_p;
-
--extern void *_ZnwXRKSt9nothrow_t (size_t, c_nothrow_p) __attribute__((weak));
--extern void _ZdlPvRKSt9nothrow_t (void *, c_nothrow_p) __attribute__((weak));
-+extern void *_ZnwXRKSt9nothrow_t (size_t, c_nothrow_p) WEAK;
-+extern void _ZdlPvRKSt9nothrow_t (void *, c_nothrow_p) WEAK;
- extern void _ZdlPvXRKSt9nothrow_t
--(void *, size_t, c_nothrow_p) __attribute__((weak));
--extern void *_ZnaXRKSt9nothrow_t (size_t, c_nothrow_p) __attribute__((weak));
--extern void _ZdaPvRKSt9nothrow_t (void *, c_nothrow_p) __attribute__((weak));
-+(void *, size_t, c_nothrow_p) WEAK;
-+extern void *_ZnaXRKSt9nothrow_t (size_t, c_nothrow_p) WEAK;
-+extern void _ZdaPvRKSt9nothrow_t (void *, c_nothrow_p) WEAK;
-
--#if !defined (HAVE_ELF_STYLE_WEAKREF)
-+#if !defined (HAVE_ELF_STYLE_WEAKREF) && !defined(PIC)
- void *_ZnwX (size_t) { return NULL; }
- void _ZdlPv (void *) { return; }
- void _ZdlPvX (void *, size_t) { return; }
-diff --git a/libitm/beginend.cc b/libitm/beginend.cc
-index 20b5547..3e19441 100644
---- a/libitm/beginend.cc
-+++ b/libitm/beginend.cc
-@@ -25,6 +25,24 @@
- #include "libitm_i.h"
- #include <pthread.h>
-
-+#if defined(__CYGWIN__) && defined(PIC)
-+#define WEAK
-+#else
-+#define WEAK __attribute__((weak))
-+#endif
-+
-+/* Everything from libgcc_s is weak, to avoid requiring that library
-+ to be linked into plain C applications using libitm.so. */
-+
-+extern "C" {
-+
-+extern void _Unwind_DeleteException (_Unwind_Exception*) WEAK;
-+
-+#if !defined (HAVE_ELF_STYLE_WEAKREF) && !defined(PIC)
-+void _Unwind_DeleteException (_Unwind_Exception *) { return; }
-+#endif /* HAVE_ELF_STYLE_WEAKREF */
-+
-+}
-
- using namespace GTM;
-
-diff --git a/libitm/configure.tgt b/libitm/configure.tgt
-index e84382f..8dbe036 100644
---- a/libitm/configure.tgt
-+++ b/libitm/configure.tgt
-@@ -141,7 +141,7 @@ case "${target}" in
- *-*-gnu* | *-*-k*bsd*-gnu \
- | *-*-netbsd* | *-*-freebsd* | *-*-openbsd* \
- | *-*-solaris2* | *-*-sysv4* | *-*-hpux11* \
-- | *-*-darwin* | *-*-aix* | *-*-dragonfly*)
-+ | *-*-darwin* | *-*-aix* | *-*-dragonfly* | *-*-cygwin*)
- # POSIX system. The OS is supported.
- ;;
-
-diff --git a/libitm/eh_cpp.cc b/libitm/eh_cpp.cc
-index a6c06b5..a4ba223 100644
---- a/libitm/eh_cpp.cc
-+++ b/libitm/eh_cpp.cc
-@@ -77,7 +77,11 @@ using namespace GTM;
- /* Everything from libstdc++ is weak, to avoid requiring that library
- to be linked into plain C applications using libitm.so. */
-
-+#if defined(__CYGWIN__) && defined(PIC)
-+#define WEAK
-+#else
- #define WEAK __attribute__((weak))
-+#endif
-
- extern "C" {
-
-@@ -95,14 +99,13 @@ extern void __cxa_end_catch (void) WEAK;
- extern void __cxa_tm_cleanup (void *, void *, unsigned int) WEAK;
- extern __cxa_eh_globals *__cxa_get_globals (void) WEAK;
-
--#if !defined (HAVE_ELF_STYLE_WEAKREF)
-+#if !defined (HAVE_ELF_STYLE_WEAKREF) && !defined(PIC)
- void *__cxa_allocate_exception (size_t) { return NULL; }
- void __cxa_free_exception (void *) { return; }
- void __cxa_throw (void *, void *, void *) { return; }
- void *__cxa_begin_catch (void *) { return NULL; }
- void __cxa_end_catch (void) { return; }
- void __cxa_tm_cleanup (void *, void *, unsigned int) { return; }
--void _Unwind_DeleteException (_Unwind_Exception *) { return; }
- __cxa_eh_globals *__cxa_get_globals (void) { return NULL; }
- #endif /* HAVE_ELF_STYLE_WEAKREF */
-
-@@ -176,9 +179,10 @@ _ITM_cxa_end_catch (void)
- void
- GTM::gtm_thread::init_cpp_exceptions ()
- {
-+ __cxa_eh_globals *(*__cxa_get_globals_ptr)() = &__cxa_get_globals;
- // Only save and restore the number of uncaught exceptions if this is
- // actually used in the program.
-- if (__cxa_get_globals != NULL && __cxa_get_globals () != 0)
-+ if (__cxa_get_globals_ptr != NULL && __cxa_get_globals () != 0)
- cxa_uncaught_count_ptr = &__cxa_get_globals ()->uncaughtExceptions;
- else
- cxa_uncaught_count_ptr = 0;
-diff --git a/libitm/libitm_i.h b/libitm/libitm_i.h
-index a8cff57..52d2069 100644
---- a/libitm/libitm_i.h
-+++ b/libitm/libitm_i.h
-@@ -37,11 +37,6 @@
- #include <string.h>
- #include <unwind.h>
- #include "local_atomic"
--
--/* Don't require libgcc_s.so for exceptions. */
--extern void _Unwind_DeleteException (_Unwind_Exception*) __attribute__((weak));
--
--
- #include "common.h"
-
- namespace GTM HIDDEN {
-diff --git a/libitm/method-serial.cc b/libitm/method-serial.cc
-index a151b66..3f47f58 100644
---- a/libitm/method-serial.cc
-+++ b/libitm/method-serial.cc
-@@ -24,12 +24,14 @@
-
- #include "libitm_i.h"
-
-+#if 0 // !defined(__CYGWIN__) || !defined(PIC)
- // Avoid a dependency on libstdc++ for the pure virtuals in abi_dispatch.
- extern "C" void HIDDEN
- __cxa_pure_virtual ()
- {
- abort ();
- }
-+#endif
-
- using namespace GTM;
-