aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3/config/os/hpux/os_defines.h
diff options
context:
space:
mode:
Diffstat (limited to 'libstdc++-v3/config/os/hpux/os_defines.h')
-rw-r--r--libstdc++-v3/config/os/hpux/os_defines.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/libstdc++-v3/config/os/hpux/os_defines.h b/libstdc++-v3/config/os/hpux/os_defines.h
index 9dd4fb41af6..6414b4108b4 100644
--- a/libstdc++-v3/config/os/hpux/os_defines.h
+++ b/libstdc++-v3/config/os/hpux/os_defines.h
@@ -84,9 +84,23 @@ namespace std
typedef long int __padding_type;
#endif
+// GCC on IA64 HP-UX uses the HP-UX system unwind library,
+// it does not have the _Unwind_Resume_or_Rethrow entry point
+// because that is not part of the standard IA64 Unwind ABI.
+#if defined (__ia64__)
+#define _LIBUNWIND_STD_ABI 1
+#endif
+
/* We need explicit instantiation of the atomicity lock on HPPA if
there is no weak support. */
#if !defined(_GLIBCPP_SUPPORTS_WEAK) && defined (__hppa__)
#define _GLIBCPP_INST_ATOMICITY_LOCK 1
#endif
+
+/* Don't use pragma weak in gthread headers. HP-UX rejects programs
+ with unsatisfied external references even if all of those references
+ are weak; gthread relies on such unsatisfied references being resolved
+ to null pointers when weak symbol support is on. */
+#define _GLIBCPP_GTHREAD_USE_WEAK 0
+
#endif