svn commit: r302475 - in head/contrib/llvm/projects/libunwind: include src

Ed Maste emaste at FreeBSD.org
Sat Jul 9 00:35:22 UTC 2016


Author: emaste
Date: Sat Jul  9 00:35:20 2016
New Revision: 302475
URL: https://svnweb.freebsd.org/changeset/base/302475

Log:
  libunwind: limit stack usage in unwind cursor
  
  This may be reworked upstream but in the interim should address the
  stack usage issue reported in the PR.
  
  PR:		206384
  MFC after:	1 week
  Sponsored by:	The FreeBSD Foundation

Modified:
  head/contrib/llvm/projects/libunwind/include/__libunwind_config.h
  head/contrib/llvm/projects/libunwind/src/DwarfParser.hpp

Modified: head/contrib/llvm/projects/libunwind/include/__libunwind_config.h
==============================================================================
--- head/contrib/llvm/projects/libunwind/include/__libunwind_config.h	Fri Jul  8 23:44:09 2016	(r302474)
+++ head/contrib/llvm/projects/libunwind/include/__libunwind_config.h	Sat Jul  9 00:35:20 2016	(r302475)
@@ -22,30 +22,37 @@
 #  define _LIBUNWIND_TARGET_I386 1
 #  define _LIBUNWIND_CONTEXT_SIZE 8
 #  define _LIBUNWIND_CURSOR_SIZE 19
+#  define _LIBUNWIND_MAX_REGISTER 9
 # elif defined(__x86_64__)
 #  define _LIBUNWIND_TARGET_X86_64 1
 #  define _LIBUNWIND_CONTEXT_SIZE 21
 #  define _LIBUNWIND_CURSOR_SIZE 33
+#  define _LIBUNWIND_MAX_REGISTER 17
 # elif defined(__ppc__)
 #  define _LIBUNWIND_TARGET_PPC 1
 #  define _LIBUNWIND_CONTEXT_SIZE 117
 #  define _LIBUNWIND_CURSOR_SIZE 128
+#  define _LIBUNWIND_MAX_REGISTER 113
 # elif defined(__aarch64__)
 #  define _LIBUNWIND_TARGET_AARCH64 1
 #  define _LIBUNWIND_CONTEXT_SIZE 66
 #  define _LIBUNWIND_CURSOR_SIZE 78
+#  define _LIBUNWIND_MAX_REGISTER 96
 # elif defined(__arm__)
 #  define _LIBUNWIND_TARGET_ARM 1
 #  define _LIBUNWIND_CONTEXT_SIZE 60
 #  define _LIBUNWIND_CURSOR_SIZE 67
+#  define _LIBUNWIND_MAX_REGISTER 96
 # elif defined(__or1k__)
 #  define _LIBUNWIND_TARGET_OR1K 1
 #  define _LIBUNWIND_CONTEXT_SIZE 16
 #  define _LIBUNWIND_CURSOR_SIZE 28
+#  define _LIBUNWIND_MAX_REGISTER 32
 # elif defined(__riscv__)
 #  define _LIBUNWIND_TARGET_RISCV 1
 #  define _LIBUNWIND_CONTEXT_SIZE 128 /* XXX */
 #  define _LIBUNWIND_CURSOR_SIZE 140 /* XXX */
+#  define _LIBUNWIND_MAX_REGISTER 96
 # else
 #  error "Unsupported architecture."
 # endif
@@ -58,6 +65,7 @@
 # define _LIBUNWIND_TARGET_OR1K 1
 # define _LIBUNWIND_CONTEXT_SIZE 128
 # define _LIBUNWIND_CURSOR_SIZE 140
+# define _LIBUNWIND_MAX_REGISTER 120
 #endif // _LIBUNWIND_IS_NATIVE_ONLY
 
 #endif // ____LIBUNWIND_CONFIG_H__

Modified: head/contrib/llvm/projects/libunwind/src/DwarfParser.hpp
==============================================================================
--- head/contrib/llvm/projects/libunwind/src/DwarfParser.hpp	Fri Jul  8 23:44:09 2016	(r302474)
+++ head/contrib/llvm/projects/libunwind/src/DwarfParser.hpp	Sat Jul  9 00:35:20 2016	(r302475)
@@ -62,7 +62,7 @@ public:
   };
 
   enum {
-    kMaxRegisterNumber = 120
+    kMaxRegisterNumber = _LIBUNWIND_MAX_REGISTER
   };
   enum RegisterSavedWhere {
     kRegisterUnused,


More information about the svn-src-all mailing list