svn commit: r363976 - projects/clang1100-import/contrib/llvm-project/libunwind/src

Dimitry Andric dim at FreeBSD.org
Thu Aug 6 19:08:29 UTC 2020


Author: dim
Date: Thu Aug  6 19:08:28 2020
New Revision: 363976
URL: https://svnweb.freebsd.org/changeset/base/363976

Log:
  Reapply r355803 (by mmel):
  
  Fix LLVM libunwnwind _Unwind_Backtrace symbol version for ARM.
  In original  GNU libgcc, _Unwind_Backtrace is published with GCC_3.3 version
  for all architectures but ARM. For ARM should be publishes with GCC_4.3.0
  version. This was originally omitted in r255095, fixed in r318024 and omitted
  aging in LLVM libunwind implementation in r354347.
  
  For ARM _Unwind_Backtrace should be published as default with GCC_4.3.0
  version , (because this is right original version) and again as
  normal(not-default) with GCC_3.3 version (to maintain ABI compatibility
  compiled/linked with wrong pre r318024 libgcc)
  
  PR:	233664

Modified:
  projects/clang1100-import/contrib/llvm-project/libunwind/src/UnwindLevel1-gcc-ext.c

Modified: projects/clang1100-import/contrib/llvm-project/libunwind/src/UnwindLevel1-gcc-ext.c
==============================================================================
--- projects/clang1100-import/contrib/llvm-project/libunwind/src/UnwindLevel1-gcc-ext.c	Thu Aug  6 19:05:59 2020	(r363975)
+++ projects/clang1100-import/contrib/llvm-project/libunwind/src/UnwindLevel1-gcc-ext.c	Thu Aug  6 19:08:28 2020	(r363976)
@@ -181,6 +181,10 @@ _Unwind_Backtrace(_Unwind_Trace_Fn callback, void *ref
     }
   }
 }
+#ifdef __arm__
+/* Preserve legacy libgcc (pre r318024) ARM ABI mistake */
+__sym_compat(_Unwind_Backtrace, _Unwind_Backtrace, GCC_3.3);
+#endif
 
 
 /// Find DWARF unwind info for an address 'pc' in some function.


More information about the svn-src-projects mailing list