From 579c9bc8a48a34b4fc5065a49febf7f80b2dd4c4 Mon Sep 17 00:00:00 2001 From: Colin Cross Date: Wed, 12 Feb 2014 22:32:07 -0800 Subject: [PATCH] build debuggerd and debuggerd64 on 64-bit architectures Change-Id: I1518d45ae0c5e0fed31d071fdaf19a67bad1bdfc --- debuggerd/Android.mk | 68 +++++++++----------------------------- debuggerd/debuggerd.mk | 75 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 91 insertions(+), 52 deletions(-) create mode 100644 debuggerd/debuggerd.mk diff --git a/debuggerd/Android.mk b/debuggerd/Android.mk index e0a2d9659..77fcbe0c2 100644 --- a/debuggerd/Android.mk +++ b/debuggerd/Android.mk @@ -1,59 +1,13 @@ -# Copyright 2005 The Android Open Source Project - LOCAL_PATH:= $(call my-dir) -include $(CLEAR_VARS) -LOCAL_SRC_FILES:= \ - backtrace.cpp \ - debuggerd.cpp \ - getevent.cpp \ - tombstone.cpp \ - utility.cpp \ - $(TARGET_ARCH)/machine.cpp \ +debuggerd_2nd_arch_var_prefix := +include $(LOCAL_PATH)/debuggerd.mk -LOCAL_CONLYFLAGS := -std=gnu99 -LOCAL_CPPFLAGS := -std=gnu++11 -LOCAL_CFLAGS := \ - -Wall \ - -Wno-array-bounds \ - -Werror \ - -Wno-unused-parameter \ - -ifeq ($(TARGET_IS_64_BIT),true) - LOCAL_MODULE := debuggerd64 -else - LOCAL_MODULE := debuggerd +ifdef TARGET_2ND_ARCH +debuggerd_2nd_arch_var_prefix := $(TARGET_2ND_ARCH_VAR_PREFIX) +include $(LOCAL_PATH)/debuggerd.mk endif -ifeq ($(ARCH_ARM_HAVE_VFP),true) -LOCAL_CFLAGS += -DWITH_VFP -endif # ARCH_ARM_HAVE_VFP -ifeq ($(ARCH_ARM_HAVE_VFP_D32),true) -LOCAL_CFLAGS += -DWITH_VFP_D32 -endif # ARCH_ARM_HAVE_VFP_D32 - -LOCAL_SHARED_LIBRARIES := \ - libbacktrace \ - libc \ - libcutils \ - liblog \ - libselinux \ - -include external/stlport/libstlport.mk - -include $(BUILD_EXECUTABLE) - -include $(CLEAR_VARS) -LOCAL_SRC_FILES := crasher.c -LOCAL_SRC_FILES += $(TARGET_ARCH)/crashglue.S -LOCAL_MODULE := crasher -LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES) -LOCAL_MODULE_TAGS := optional -LOCAL_CFLAGS += -fstack-protector-all -Wno-unused-parameter -Wno-free-nonheap-object -#LOCAL_FORCE_STATIC_EXECUTABLE := true -LOCAL_SHARED_LIBRARIES := libcutils liblog libc -include $(BUILD_EXECUTABLE) - ifeq ($(ARCH_ARM_HAVE_VFP),true) include $(CLEAR_VARS) @@ -62,10 +16,20 @@ ifeq ($(ARCH_ARM_HAVE_VFP_D32),true) LOCAL_CFLAGS += -DWITH_VFP_D32 endif # ARCH_ARM_HAVE_VFP_D32 -LOCAL_SRC_FILES := vfp-crasher.c $(TARGET_ARCH)/vfp.S +LOCAL_SRC_FILES := vfp-crasher.c arm/vfp.S LOCAL_MODULE := vfp-crasher LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES) LOCAL_MODULE_TAGS := optional LOCAL_SHARED_LIBRARIES := libcutils liblog libc +LOCAL_MODULE_TARGET_ARCH := arm include $(BUILD_EXECUTABLE) endif # ARCH_ARM_HAVE_VFP == true + +include $(CLEAR_VARS) +LOCAL_SRC_FILES := vfp-crasher.c arm64/vfp.S +LOCAL_MODULE := vfp-crasher64 +LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES) +LOCAL_MODULE_TAGS := optional +LOCAL_SHARED_LIBRARIES := libcutils liblog libc +LOCAL_MODULE_TARGET_ARCH := arm64 +include $(BUILD_EXECUTABLE) diff --git a/debuggerd/debuggerd.mk b/debuggerd/debuggerd.mk new file mode 100644 index 000000000..a3982c159 --- /dev/null +++ b/debuggerd/debuggerd.mk @@ -0,0 +1,75 @@ +# Copyright 2005 The Android Open Source Project + +LOCAL_PATH:= $(call my-dir) +include $(CLEAR_VARS) + +LOCAL_SRC_FILES:= \ + backtrace.cpp \ + debuggerd.cpp \ + getevent.cpp \ + tombstone.cpp \ + utility.cpp \ + +LOCAL_SRC_FILES_arm := arm/machine.cpp +LOCAL_SRC_FILES_arm64 := arm64/machine.cpp +LOCAL_SRC_FILES_mips := mips/machine.cpp +LOCAL_SRC_FILES_x86 := x86/machine.cpp +LOCAL_SRC_FILES_x86_64 := x86_64/machine.cpp + +LOCAL_CONLYFLAGS := -std=gnu99 +LOCAL_CPPFLAGS := -std=gnu++11 +LOCAL_CFLAGS := \ + -Wall \ + -Wno-array-bounds \ + -Werror \ + -Wno-unused-parameter \ + +ifeq ($(ARCH_ARM_HAVE_VFP),true) +LOCAL_CFLAGS_arm += -DWITH_VFP +endif # ARCH_ARM_HAVE_VFP +ifeq ($(ARCH_ARM_HAVE_VFP_D32),true) +LOCAL_CFLAGS_arm += -DWITH_VFP_D32 +endif # ARCH_ARM_HAVE_VFP_D32 + +LOCAL_SHARED_LIBRARIES := \ + libbacktrace \ + libc \ + libcutils \ + liblog \ + libselinux \ + +include external/stlport/libstlport.mk + +ifeq ($(TARGET_IS_64_BIT)|$(debuggerd_2nd_arch_var_prefix),true|) +LOCAL_MODULE := debuggerd64 +LOCAL_NO_2ND_ARCH := true +else +LOCAL_MODULE := debuggerd +LOCAL_32_BIT_ONLY := true +endif + +include $(BUILD_EXECUTABLE) + +include $(CLEAR_VARS) +LOCAL_SRC_FILES := crasher.c +LOCAL_SRC_FILES_arm := arm/crashglue.S +LOCAL_SRC_FILES_arm64 := arm64/crashglue.S +LOCAL_SRC_FILES_mips := mips/crashglue.S +LOCAL_SRC_FILES_x86 := x86/crashglue.S +LOCAL_SRC_FILES_x86_64 := x86_64/crashglue.S +LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES) +LOCAL_MODULE_TAGS := optional +LOCAL_CFLAGS += -fstack-protector-all -Wno-unused-parameter -Wno-free-nonheap-object +#LOCAL_FORCE_STATIC_EXECUTABLE := true +LOCAL_SHARED_LIBRARIES := libcutils liblog libc + +LOCAL_2ND_ARCH_VAR_PREFIX := $(debuggerd_2nd_arch_var_prefix) + +ifeq ($(TARGET_IS_64_BIT)|$(debuggerd_2nd_arch_var_prefix),true|) +LOCAL_MODULE := crasher64 +LOCAL_NO_2ND_ARCH := true +else +LOCAL_MODULE := crasher +LOCAL_32_BIT_ONLY := true +endif +include $(BUILD_EXECUTABLE)