summaryrefslogtreecommitdiffstats
path: root/libunwind/include
diff options
context:
space:
mode:
authorMartin Storsjo <martin@martin.st>2017-10-30 19:06:34 +0000
committerMartin Storsjo <martin@martin.st>2017-10-30 19:06:34 +0000
commitc18d5c05cbcc9fe7f8f741338bb835417108e17b (patch)
treea305c896949b6c2983452ddfcba9f3b8eaa9a85d /libunwind/include
parentddfdb32b302da2cf1b20d4c64444f9f58d5b8533 (diff)
downloadbcm5719-llvm-c18d5c05cbcc9fe7f8f741338bb835417108e17b.tar.gz
bcm5719-llvm-c18d5c05cbcc9fe7f8f741338bb835417108e17b.zip
Change unw_word_t to always have the same size as the pointer size
This matches the original libunwind API. This also unifies the type between ARM EHABI and the other configurations, and allows getting rid of a number of casts in log messages. The cursor size updates for ppc and or1k are untested, but unw_proc_info_t shrinks by 4 uint64_t units on i386 at least. Differential Revision: https://reviews.llvm.org/D39365 llvm-svn: 316942
Diffstat (limited to 'libunwind/include')
-rw-r--r--libunwind/include/__libunwind_config.h6
-rw-r--r--libunwind/include/libunwind.h3
2 files changed, 4 insertions, 5 deletions
diff --git a/libunwind/include/__libunwind_config.h b/libunwind/include/__libunwind_config.h
index 255ce55e73b..6d69085d83a 100644
--- a/libunwind/include/__libunwind_config.h
+++ b/libunwind/include/__libunwind_config.h
@@ -26,7 +26,7 @@
# if defined(__i386__)
# define _LIBUNWIND_TARGET_I386
# define _LIBUNWIND_CONTEXT_SIZE 8
-# define _LIBUNWIND_CURSOR_SIZE 19
+# define _LIBUNWIND_CURSOR_SIZE 15
# define _LIBUNWIND_HIGHEST_DWARF_REGISTER _LIBUNWIND_HIGHEST_DWARF_REGISTER_X86
# elif defined(__x86_64__)
# define _LIBUNWIND_TARGET_X86_64 1
@@ -41,7 +41,7 @@
# elif defined(__ppc__)
# define _LIBUNWIND_TARGET_PPC 1
# define _LIBUNWIND_CONTEXT_SIZE 117
-# define _LIBUNWIND_CURSOR_SIZE 128
+# define _LIBUNWIND_CURSOR_SIZE 124
# define _LIBUNWIND_HIGHEST_DWARF_REGISTER _LIBUNWIND_HIGHEST_DWARF_REGISTER_PPC
# elif defined(__aarch64__)
# define _LIBUNWIND_TARGET_AARCH64 1
@@ -61,7 +61,7 @@
# elif defined(__or1k__)
# define _LIBUNWIND_TARGET_OR1K 1
# define _LIBUNWIND_CONTEXT_SIZE 16
-# define _LIBUNWIND_CURSOR_SIZE 28
+# define _LIBUNWIND_CURSOR_SIZE 24
# define _LIBUNWIND_HIGHEST_DWARF_REGISTER _LIBUNWIND_HIGHEST_DWARF_REGISTER_OR1K
# else
# error "Unsupported architecture."
diff --git a/libunwind/include/libunwind.h b/libunwind/include/libunwind.h
index 4df418398f9..04840440d88 100644
--- a/libunwind/include/libunwind.h
+++ b/libunwind/include/libunwind.h
@@ -72,11 +72,10 @@ typedef struct unw_cursor_t unw_cursor_t;
typedef struct unw_addr_space *unw_addr_space_t;
typedef int unw_regnum_t;
+typedef uintptr_t unw_word_t;
#if defined(_LIBUNWIND_ARM_EHABI)
-typedef uint32_t unw_word_t;
typedef uint64_t unw_fpreg_t;
#else
-typedef uint64_t unw_word_t;
typedef double unw_fpreg_t;
#endif
OpenPOWER on IntegriCloud