[PATCH] Remove _Unwind_{Get,Set}{GR,IP} from ARM EHABI build.

Logan Chien tzuhsiang.chien at gmail.com
Wed Jan 21 09:22:18 PST 2015


Fix the conditional compilation guard.

It seems that I forgot to delete this when I was rebasing.


http://reviews.llvm.org/D7029

Files:
  include/unwind.h
  src/Unwind/Unwind-EHABI.cpp

Index: include/unwind.h
===================================================================
--- include/unwind.h
+++ include/unwind.h
@@ -208,11 +208,37 @@
                 _Unwind_VRS_DataRepresentation representation);
 #endif
 
+#if LIBCXXABI_ARM_EHABI
+static inline uintptr_t _Unwind_GetGR(struct _Unwind_Context* context,
+                                      int index) {
+  uintptr_t value = 0;
+  _Unwind_VRS_Get(context, _UVRSC_CORE, (uint32_t)index, _UVRSD_UINT32, &value);
+  return value;
+}
+
+static inline void _Unwind_SetGR(struct _Unwind_Context* context, int index,
+                                 uintptr_t new_value) {
+  _Unwind_VRS_Set(context, _UVRSC_CORE, (uint32_t)index,
+                  _UVRSD_UINT32, &new_value);
+}
+
+static inline uintptr_t _Unwind_GetIP(struct _Unwind_Context* context) {
+  // remove the thumb-bit before returning
+  return (_Unwind_GetGR(context, 15) & (~(uintptr_t)0x1));
+}
+
+static inline void _Unwind_SetIP(struct _Unwind_Context* context,
+                                 uintptr_t new_value) {
+  uintptr_t thumb_bit = _Unwind_GetGR(context, 15) & ((uintptr_t)0x1);
+  _Unwind_SetGR(context, 15, new_value | thumb_bit);
+}
+#else
 extern uintptr_t _Unwind_GetGR(struct _Unwind_Context *context, int index);
 extern void _Unwind_SetGR(struct _Unwind_Context *context, int index,
                           uintptr_t new_value);
 extern uintptr_t _Unwind_GetIP(struct _Unwind_Context *context);
 extern void _Unwind_SetIP(struct _Unwind_Context *, uintptr_t new_value);
+#endif
 
 extern uintptr_t _Unwind_GetRegionStart(struct _Unwind_Context *context);
 extern uintptr_t
Index: src/Unwind/Unwind-EHABI.cpp
===================================================================
--- src/Unwind/Unwind-EHABI.cpp
+++ src/Unwind/Unwind-EHABI.cpp
@@ -206,28 +206,6 @@
 
 } // end anonymous namespace
 
-uintptr_t _Unwind_GetGR(struct _Unwind_Context* context, int index) {
-  uintptr_t value = 0;
-  _Unwind_VRS_Get(context, _UVRSC_CORE, (uint32_t)index, _UVRSD_UINT32, &value);
-  return value;
-}
-
-void _Unwind_SetGR(struct _Unwind_Context* context, int index, uintptr_t
-    new_value) {
-  _Unwind_VRS_Set(context, _UVRSC_CORE, (uint32_t)index,
-                  _UVRSD_UINT32, &new_value);
-}
-
-uintptr_t _Unwind_GetIP(struct _Unwind_Context* context) {
-  // remove the thumb-bit before returning
-  return (_Unwind_GetGR(context, 15) & (~(uintptr_t)0x1));
-}
-
-void _Unwind_SetIP(struct _Unwind_Context* context, uintptr_t new_value) {
-  uintptr_t thumb_bit = _Unwind_GetGR(context, 15) & ((uintptr_t)0x1);
-  _Unwind_SetGR(context, 15, new_value | thumb_bit);
-}
-
 /**
  * Decodes an EHT entry.
  *

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D7029.18528.patch
Type: text/x-patch
Size: 2671 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20150121/68a26264/attachment.bin>


More information about the cfe-commits mailing list