am 3fd3e2f8: am 152ef50c: Merge "Use common_clang_cflags"
* commit '3fd3e2f8d32b89cc4c75bf51e1b81373fc555cc1':
diff --git a/Android.build.mk b/Android.build.mk
index 05fe986..a4a3b93 100644
--- a/Android.build.mk
+++ b/Android.build.mk
@@ -19,12 +19,6 @@
LOCAL_MODULE := $(module)
LOCAL_MODULE_TAGS := $(module_tag)
ifeq ($(build_type),host)
-# Flags for host clang builds
-LOCAL_CFLAGS := -Wno-header-guard \
- -Wno-absolute-value \
- -Wno-unknown-warning-option \
- -Wno-extern-c-compat
-
# Always make host multilib
LOCAL_MULTILIB := both
else
diff --git a/Android.mk b/Android.mk
index c3b63a4..321d99b 100644
--- a/Android.mk
+++ b/Android.mk
@@ -38,7 +38,10 @@
-Wno-maybe-uninitialized \
# src/mi/backtrace.c is misdetected as a bogus header guard by clang 3.5
-common_clang_cflags += -Wno-header-guard
+# src/x86_64/Gstash_frame.c has unnecessary calls to labs.
+common_clang_cflags += \
+ -Wno-header-guard \
+ -Wno-absolute-value \
ifneq ($(debug),true)
common_cflags += \
diff --git a/include/libunwind-aarch64.h b/include/libunwind-aarch64.h
index 3d5fb68..700ed17 100644
--- a/include/libunwind-aarch64.h
+++ b/include/libunwind-aarch64.h
@@ -56,6 +56,9 @@
typedef struct
{
/* no aarch64-specific auxiliary proc-info */
+ /* ANDROID support update. */
+ char __reserved;
+ /* End of ANDROID update. */
}
unw_tdep_proc_info_t;
@@ -165,6 +168,9 @@
typedef struct unw_tdep_save_loc
{
/* Additional target-dependent info on a save location. */
+ /* ANDROID support update. */
+ char __reserved;
+ /* End of ANDROID update. */
}
unw_tdep_save_loc_t;
diff --git a/include/libunwind-arm.h b/include/libunwind-arm.h
index cba380f..495948e 100644
--- a/include/libunwind-arm.h
+++ b/include/libunwind-arm.h
@@ -247,6 +247,9 @@
typedef struct unw_tdep_save_loc
{
/* Additional target-dependent info on a save location. */
+ /* ANDROID support update. */
+ char __reserved;
+ /* End of ANDROID update. */
}
unw_tdep_save_loc_t;
@@ -287,6 +290,9 @@
typedef struct
{
/* no arm-specific auxiliary proc-info */
+ /* ANDROID support update. */
+ char __reserved;
+ /* End of ANDROID update. */
}
unw_tdep_proc_info_t;
diff --git a/include/libunwind-hppa.h b/include/libunwind-hppa.h
index 74ea70d..b5fba56 100644
--- a/include/libunwind-hppa.h
+++ b/include/libunwind-hppa.h
@@ -97,6 +97,9 @@
typedef struct unw_tdep_save_loc
{
/* Additional target-dependent info on a save location. */
+ /* ANDROID support update. */
+ char __reserved;
+ /* End of ANDROID update. */
}
unw_tdep_save_loc_t;
@@ -110,6 +113,9 @@
typedef struct
{
/* no PA-RISC-specific auxiliary proc-info */
+ /* ANDROID support update. */
+ char __reserved;
+ /* End of ANDROID update. */
}
unw_tdep_proc_info_t;
diff --git a/include/libunwind-ia64.h b/include/libunwind-ia64.h
index fb2fbfe..4dcc4f9 100644
--- a/include/libunwind-ia64.h
+++ b/include/libunwind-ia64.h
@@ -83,6 +83,9 @@
typedef struct
{
/* no ia64-specific auxiliary proc-info */
+ /* ANDROID support update. */
+ char __reserved;
+ /* End of ANDROID update. */
}
unw_tdep_proc_info_t;
diff --git a/include/libunwind-mips.h b/include/libunwind-mips.h
index cf22fc9..83e44de 100644
--- a/include/libunwind-mips.h
+++ b/include/libunwind-mips.h
@@ -124,6 +124,9 @@
typedef struct unw_tdep_save_loc
{
/* Additional target-dependent info on a save location. */
+ /* ANDROID support update. */
+ char __reserved;
+ /* End of ANDROID update. */
}
unw_tdep_save_loc_t;
@@ -136,6 +139,9 @@
typedef struct
{
/* no mips-specific auxiliary proc-info */
+ /* ANDROID support update. */
+ char __reserved;
+ /* End of ANDROID update. */
}
unw_tdep_proc_info_t;
diff --git a/include/libunwind-ppc32.h b/include/libunwind-ppc32.h
index d5342b1..51852e8 100644
--- a/include/libunwind-ppc32.h
+++ b/include/libunwind-ppc32.h
@@ -175,6 +175,9 @@
typedef struct unw_tdep_save_loc
{
/* Additional target-dependent info on a save location. */
+ /* ANDROID support update. */
+ char __reserved;
+ /* End of ANDROID update. */
}
unw_tdep_save_loc_t;
@@ -192,6 +195,9 @@
typedef struct
{
/* no ppc32-specific auxiliary proc-info */
+ /* ANDROID support update. */
+ char __reserved;
+ /* End of ANDROID update. */
}
unw_tdep_proc_info_t;
diff --git a/include/libunwind-ppc64.h b/include/libunwind-ppc64.h
index 66420b3..e0dbaaa 100644
--- a/include/libunwind-ppc64.h
+++ b/include/libunwind-ppc64.h
@@ -232,6 +232,9 @@
typedef struct unw_tdep_save_loc
{
/* Additional target-dependent info on a save location. */
+ /* ANDROID support update. */
+ char __reserved;
+ /* End of ANDROID update. */
}
unw_tdep_save_loc_t;
@@ -249,6 +252,9 @@
typedef struct
{
/* no ppc64-specific auxiliary proc-info */
+ /* ANDROID support update. */
+ char __reserved;
+ /* End of ANDROID update. */
}
unw_tdep_proc_info_t;
diff --git a/include/libunwind-sh.h b/include/libunwind-sh.h
index a3edc86..8f36a25 100644
--- a/include/libunwind-sh.h
+++ b/include/libunwind-sh.h
@@ -91,6 +91,9 @@
typedef struct unw_tdep_save_loc
{
/* Additional target-dependent info on a save location. */
+ /* ANDROID support update. */
+ char __reserved;
+ /* End of ANDROID update. */
}
unw_tdep_save_loc_t;
@@ -99,6 +102,9 @@
typedef struct
{
/* no sh-specific auxiliary proc-info */
+ /* ANDROID support update. */
+ char __reserved;
+ /* End of ANDROID update. */
}
unw_tdep_proc_info_t;
diff --git a/include/libunwind-x86.h b/include/libunwind-x86.h
index 32533df..e46632d 100644
--- a/include/libunwind-x86.h
+++ b/include/libunwind-x86.h
@@ -158,6 +158,9 @@
typedef struct unw_tdep_save_loc
{
/* Additional target-dependent info on a save location. */
+ /* ANDROID support update. */
+ char __reserved;
+ /* End of ANDROID update. */
}
unw_tdep_save_loc_t;
@@ -169,6 +172,9 @@
typedef struct
{
/* no x86-specific auxiliary proc-info */
+ /* ANDROID support update. */
+ char __reserved;
+ /* End of ANDROID update. */
}
unw_tdep_proc_info_t;
diff --git a/include/libunwind-x86_64.h b/include/libunwind-x86_64.h
index 526b1ea..ed8cb11 100644
--- a/include/libunwind-x86_64.h
+++ b/include/libunwind-x86_64.h
@@ -111,6 +111,9 @@
typedef struct unw_tdep_save_loc
{
/* Additional target-dependent info on a save location. */
+ /* ANDROID support update. */
+ char __reserved;
+ /* End of ANDROID update. */
}
unw_tdep_save_loc_t;
@@ -120,6 +123,9 @@
typedef struct
{
/* no x86-64-specific auxiliary proc-info */
+ /* ANDROID support update. */
+ char __reserved;
+ /* End of ANDROID update. */
}
unw_tdep_proc_info_t;
diff --git a/src/arm/Gex_tables.c b/src/arm/Gex_tables.c
index 6086987..7b3e151 100644
--- a/src/arm/Gex_tables.c
+++ b/src/arm/Gex_tables.c
@@ -510,28 +510,7 @@
if (UNW_TRY_METHOD(UNW_ARM_METHOD_DWARF))
{
- struct dwarf_callback_data cb_data;
-
- memset (&cb_data, 0, sizeof (cb_data));
- cb_data.ip = ip;
- cb_data.pi = pi;
- cb_data.need_unwind_info = need_unwind_info;
- cb_data.di.format = -1;
- cb_data.di_debug.format = -1;
-
- SIGPROCMASK (SIG_SETMASK, &unwi_full_mask, &saved_mask);
- ret = dl_iterate_phdr (dwarf_callback, &cb_data);
- SIGPROCMASK (SIG_SETMASK, &saved_mask, NULL);
-
- if (cb_data.single_fde)
- /* already got the result in *pi */
- return 0;
-
- if (cb_data.di_debug.format != -1)
- ret = tdep_search_unwind_table (as, ip, &cb_data.di_debug, pi,
- need_unwind_info, arg);
- else
- ret = -UNW_ENOINFO;
+ ret = dwarf_find_proc_info (as, ip, pi, need_unwind_info, arg);
}
if (ret < 0 && UNW_TRY_METHOD (UNW_ARM_METHOD_EXIDX))