Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f67c6410 authored by Christopher Ferris's avatar Christopher Ferris
Browse files

Create a bare bones host libbacktrace on mac.

This allows the libbacktrace library to compile for host on mac.

Bug: 12474939
Change-Id: I32cbcf996e6fe9057e5065ba21f89086343704a0
parent 68870199
Loading
Loading
Loading
Loading
+33 −14
Original line number Original line Diff line number Diff line
@@ -168,18 +168,15 @@ LOCAL_ADDITIONAL_DEPENDENCIES := \
include $(BUILD_NATIVE_TEST)
include $(BUILD_NATIVE_TEST)


#----------------------------------------------------------------------------
#----------------------------------------------------------------------------
# Only linux-x86 host versions of libbacktrace supported.
# Only x86 host versions of libbacktrace supported.
#----------------------------------------------------------------------------
#----------------------------------------------------------------------------
ifeq ($(HOST_OS)-$(HOST_ARCH),linux-x86)
ifeq ($(HOST_ARCH),x86)


#----------------------------------------------------------------------------
#----------------------------------------------------------------------------
# The host libbacktrace library using libcorkscrew
# The host libbacktrace library using libcorkscrew
#----------------------------------------------------------------------------
#----------------------------------------------------------------------------
include $(CLEAR_VARS)
include $(CLEAR_VARS)


LOCAL_SRC_FILES += \
	$(common_src) \
	Corkscrew.cpp \


LOCAL_CFLAGS += \
LOCAL_CFLAGS += \
	$(common_cflags) \
	$(common_cflags) \
@@ -187,30 +184,50 @@ LOCAL_CFLAGS += \
LOCAL_CONLYFLAGS += \
LOCAL_CONLYFLAGS += \
	$(common_conlyflags) \
	$(common_conlyflags) \


LOCAL_CPPFLAGS += \
	$(common_cppflags) \

LOCAL_C_INCLUDES := \
LOCAL_C_INCLUDES := \
	$(common_c_includes) \
	$(common_c_includes) \
	system/core/libcorkscrew \


LOCAL_SHARED_LIBRARIES := \
LOCAL_SHARED_LIBRARIES := \
	libgccdemangle \
	libgccdemangle \
	liblog \
	liblog \

LOCAL_MODULE := libbacktrace
LOCAL_MODULE_TAGS := optional

LOCAL_ADDITIONAL_DEPENDENCIES := \
	$(LOCAL_PATH)/Android.mk

ifeq ($(HOST_OS),linux)
LOCAL_SRC_FILES += \
	$(common_src) \
	Corkscrew.cpp \

LOCAL_C_INCLUDES += \
	system/core/libcorkscrew \

LOCAL_SHARED_LIBRARIES := \
	libcorkscrew \
	libcorkscrew \


LOCAL_CPPFLAGS += \
	$(common_cppflags) \

LOCAL_LDLIBS += \
LOCAL_LDLIBS += \
	-ldl \
	-ldl \
	-lrt \
	-lrt \


LOCAL_MODULE := libbacktrace
else
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES += \
	map_info.c \


LOCAL_ADDITIONAL_DEPENDENCIES := \
endif
	$(LOCAL_PATH)/Android.mk


include $(BUILD_HOST_SHARED_LIBRARY)
include $(BUILD_HOST_SHARED_LIBRARY)


#----------------------------------------------------------------------------
# The host test is only supported on linux.
#----------------------------------------------------------------------------
ifeq ($(HOST_OS),linux)

#----------------------------------------------------------------------------
#----------------------------------------------------------------------------
# libbacktrace host test library, all optimizations turned off
# libbacktrace host test library, all optimizations turned off
#----------------------------------------------------------------------------
#----------------------------------------------------------------------------
@@ -263,4 +280,6 @@ LOCAL_ADDITIONAL_DEPENDENCIES := \


include $(BUILD_HOST_NATIVE_TEST)
include $(BUILD_HOST_NATIVE_TEST)


endif # HOST_OS-HOST_ARCH == linux-x86
endif # HOST_OS == linux

endif # HOST_ARCH == x86
+1 −1
Original line number Original line Diff line number Diff line
@@ -87,7 +87,7 @@ std::string Backtrace::GetFunctionName(uintptr_t pc, uintptr_t* offset) {
  if (!func_name.empty()) {
  if (!func_name.empty()) {
#if defined(__APPLE__)
#if defined(__APPLE__)
    // Mac OS' __cxa_demangle demangles "f" as "float"; last tested on 10.7.
    // Mac OS' __cxa_demangle demangles "f" as "float"; last tested on 10.7.
    if (symbol_name[0] != '_') {
    if (func_name[0] != '_') {
      return func_name;
      return func_name;
    }
    }
#endif
#endif
+0 −1
Original line number Original line Diff line number Diff line
@@ -18,7 +18,6 @@
#define _LIBBACKTRACE_BACKTRACE_THREAD_H
#define _LIBBACKTRACE_BACKTRACE_THREAD_H


#include <inttypes.h>
#include <inttypes.h>
#include <pthread.h>
#include <sys/types.h>
#include <sys/types.h>


#include "Backtrace.h"
#include "Backtrace.h"