Merge "Add HIDL boot-path libs to the PDK."
diff --git a/core/config_sanitizers.mk b/core/config_sanitizers.mk
index f5b45db..79604ac 100644
--- a/core/config_sanitizers.mk
+++ b/core/config_sanitizers.mk
@@ -235,6 +235,11 @@
# entire module.
LOCAL_ARM_MODE := thumb
my_cflags += $(CFI_EXTRA_CFLAGS)
+ # Only append the default visibility flag if -fvisibility has not already been
+ # set to hidden.
+ ifeq ($(filter -fvisibility=hidden,$(LOCAL_CFLAGS)),)
+ my_cflags += -fvisibility=default
+ endif
my_ldflags += $(CFI_EXTRA_LDFLAGS)
my_arflags += --plugin $(LLVM_PREBUILTS_PATH)/../lib64/LLVMgold.so
# Workaround for b/33678192. CFI jumptables need Thumb2 codegen. Revert when
@@ -242,6 +247,15 @@
ifneq ($(filter arm,$(TARGET_$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH)),)
my_ldflags += -march=armv7-a
endif
+
+ ifeq ($(LOCAL_FORCE_STATIC_EXECUTABLE),true)
+ my_ldflags := $(filter-out -fsanitize-cfi-cross-dso,$(my_ldflags))
+ my_cflags := $(filter-out -fsanitize-cfi-cross-dso,$(my_cflags))
+ else
+ # Apply the version script to non-static executables
+ my_ldflags += -Wl,--version-script,build/soong/cc/config/cfi_exports.map
+ LOCAL_ADDITIONAL_DEPENDENCIES += build/soong/cc/config/cfi_exports.map
+ endif
endif
# If local or global modules need ASAN, add linker flags.
@@ -293,11 +307,16 @@
endif
ifneq ($(my_sanitize_diag),)
- notrap_arg := $(subst $(space),$(comma),$(my_sanitize_diag)),
- my_cflags += -fno-sanitize-trap=$(notrap_arg)
- # Diagnostic requires a runtime library, unless ASan or TSan are also enabled.
- ifeq ($(filter address thread,$(my_sanitize)),)
- # Does not have to be the first DT_NEEDED unlike ASan.
- my_shared_libraries += $($(LOCAL_2ND_ARCH_VAR_PREFIX)UBSAN_RUNTIME_LIBRARY)
+ # TODO(vishwath): Add diagnostic support for static executables once
+ # we switch to clang-4393122 (which adds the static ubsan runtime
+ # that this depends on)
+ ifneq ($(LOCAL_FORCE_STATIC_EXECUTABLE),true)
+ notrap_arg := $(subst $(space),$(comma),$(my_sanitize_diag)),
+ my_cflags += -fno-sanitize-trap=$(notrap_arg)
+ # Diagnostic requires a runtime library, unless ASan or TSan are also enabled.
+ ifeq ($(filter address thread,$(my_sanitize)),)
+ # Does not have to be the first DT_NEEDED unlike ASan.
+ my_shared_libraries += $($(LOCAL_2ND_ARCH_VAR_PREFIX)UBSAN_RUNTIME_LIBRARY)
+ endif
endif
endif
diff --git a/core/definitions.mk b/core/definitions.mk
index 7016c4e..7518917 100644
--- a/core/definitions.mk
+++ b/core/definitions.mk
@@ -1556,7 +1556,7 @@
filelist="$$filelist $$ldir/$$ext$$f"; \
done ; \
$($(PRIVATE_2ND_ARCH_VAR_PREFIX)TARGET_AR) $($(PRIVATE_2ND_ARCH_VAR_PREFIX)TARGET_GLOBAL_ARFLAGS) \
- $(2) $$filelist
+ $(PRIVATE_ARFLAGS) $(2) $$filelist
endef
diff --git a/core/soong_config.mk b/core/soong_config.mk
index 6bb55f5..41e2382 100644
--- a/core/soong_config.mk
+++ b/core/soong_config.mk
@@ -113,6 +113,7 @@
$(call add_json_bool, Treble, $(filter true,$(PRODUCT_FULL_TREBLE)))
$(call add_json_bool, Uml, $(filter true,$(TARGET_USER_MODE_LINUX)))
$(call add_json_str, VendorPath, $(TARGET_COPY_OUT_VENDOR))
+$(call add_json_bool, MinimizeJavaDebugInfo, $(filter true,$(PRODUCT_MINIMIZE_JAVA_DEBUG_INFO)))
$(call add_json_bool, UseGoma, $(filter-out false,$(USE_GOMA)))
diff --git a/target/product/full_base.mk b/target/product/full_base.mk
index f2652eb..7aac435 100644
--- a/target/product/full_base.mk
+++ b/target/product/full_base.mk
@@ -53,3 +53,6 @@
# Get everything else from the parent package
$(call inherit-product, $(SRC_TARGET_DIR)/product/generic_no_telephony.mk)
+
+# Add adb keys to debuggable AOSP builds (if they exist)
+$(call inherit-product-if-exists, vendor/google/security/adb/vendor_key.mk)