svn commit: r318714 - in stable/11/contrib/gcc: . config/arm
Michal Meloun
mmel at FreeBSD.org
Tue May 23 07:21:28 UTC 2017
Author: mmel
Date: Tue May 23 07:21:26 2017
New Revision: 318714
URL: https://svnweb.freebsd.org/changeset/base/318714
Log:
MFC r318024,r318025:
r318024:
Fix _Unwind_Backtrace symbol version for ARM.
r318025:
Revert accidentally changed std.armv6 in r318024.
Modified:
stable/11/contrib/gcc/config/arm/libgcc-bpabi.ver
stable/11/contrib/gcc/config/arm/libunwind-arm.S
stable/11/contrib/gcc/libgcc-std.ver
Directory Properties:
stable/11/ (props changed)
Modified: stable/11/contrib/gcc/config/arm/libgcc-bpabi.ver
==============================================================================
--- stable/11/contrib/gcc/config/arm/libgcc-bpabi.ver Tue May 23 07:20:29 2017 (r318713)
+++ stable/11/contrib/gcc/config/arm/libgcc-bpabi.ver Tue May 23 07:21:26 2017 (r318714)
@@ -81,3 +81,11 @@ GCC_3.5 {
# GNU-specific entry point.
__gnu_unwind_frame
}
+
+%exclude {
+ _Unwind_Backtrace
+}
+
+GCC_4.3.0 {
+ _Unwind_Backtrace
+}
Modified: stable/11/contrib/gcc/config/arm/libunwind-arm.S
==============================================================================
--- stable/11/contrib/gcc/config/arm/libunwind-arm.S Tue May 23 07:20:29 2017 (r318713)
+++ stable/11/contrib/gcc/config/arm/libunwind-arm.S Tue May 23 07:21:26 2017 (r318714)
@@ -133,4 +133,22 @@ UNWIND_WRAPPER _Unwind_Resume_or_Rethrow
UNWIND_WRAPPER _Unwind_ForcedUnwind 3
UNWIND_WRAPPER _Unwind_Backtrace 2
+/*
+ * Originally, we incorrectly export _Unwind_Backtrace symbol
+ * with GCC_3.3 version, but real GCC libgcc export it as GCC_4.3.0.
+ * To maintain backward compatibility, export it with both versions where
+ * GCC_4.3.0 is default one.
+ *
+ * The workaround is complicated by next two issues:
+ * - old GNU ld cannot handle two (or more) symbol versions
+ * targeting same function.
+ * - the .weakref crashes clang 4.0
+ */
+ .globl SYM(_Unwind_Backtrace33)
+ TYPE(_Unwind_Backtrace33)
+SYM(_Unwind_Backtrace33):
+ b _Unwind_Backtrace
+
+ .symver SYM(_Unwind_Backtrace33),_Unwind_Backtrace at GCC_3.3
+
#endif /* ndef __symbian__ */
Modified: stable/11/contrib/gcc/libgcc-std.ver
==============================================================================
--- stable/11/contrib/gcc/libgcc-std.ver Tue May 23 07:20:29 2017 (r318713)
+++ stable/11/contrib/gcc/libgcc-std.ver Tue May 23 07:21:26 2017 (r318714)
@@ -275,7 +275,7 @@ GCC_4.2.0 {
_Unwind_GetIPInfo
}
-%inherit GCC_4.3 GCC_4.2.0
+%inherit GCC_4.3.0 GCC_4.2.0
GCC_4.3.0 {
# byte swapping routines
__bswapsi2
More information about the svn-src-stable-11
mailing list