From f71c05a8e57d57d8933a2a90f8f8d350fe002847 Mon Sep 17 00:00:00 2001 From: Elliott Hughes Date: Fri, 6 Mar 2020 16:46:59 -0800 Subject: [PATCH] Remove unused mips workarounds. This was never really finished, and hasn't been supported for years. Test: treehugger Change-Id: I7668088d1449f33025aaf36fae0817894c84a877 --- core/binary.mk | 32 +++------------------- core/build-system.html | 2 -- core/clang/TARGET_mips.mk | 9 ------- core/clang/TARGET_mips64.mk | 9 ------- core/combo/TARGET_linux-mips.mk | 44 ------------------------------- core/combo/TARGET_linux-mips64.mk | 44 ------------------------------- core/config_sanitizers.mk | 6 ----- core/dex_preopt_config.mk | 10 ------- core/envsetup.mk | 2 +- core/java_renderscript.mk | 2 +- envsetup.sh | 10 +++---- tapasHelp.sh | 2 +- 12 files changed, 10 insertions(+), 162 deletions(-) delete mode 100644 core/clang/TARGET_mips.mk delete mode 100644 core/clang/TARGET_mips64.mk delete mode 100644 core/combo/TARGET_linux-mips.mk delete mode 100644 core/combo/TARGET_linux-mips64.mk diff --git a/core/binary.mk b/core/binary.mk index 38ff9d650a..e021b7dc76 100644 --- a/core/binary.mk +++ b/core/binary.mk @@ -110,19 +110,8 @@ ifneq ($(LOCAL_SDK_VERSION),) # Make sure we've built the NDK. my_additional_dependencies += $(SOONG_OUT_DIR)/ndk_base.timestamp - # mips32r6 is not supported by the NDK. No released NDK contains these - # libraries, but the r10 in prebuilts/ndk had a local hack to add them :( - # - # We need to find a real solution to this problem, but until we do just drop - # mips32r6 things back to r10 to get the tree building again. - ifeq (mips32r6,$(TARGET_$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH_VARIANT)) - ifeq ($(LOCAL_NDK_VERSION), current) - LOCAL_NDK_VERSION := r10 - endif - endif - my_arch := $(TARGET_$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH) - ifneq (,$(filter arm64 mips64 x86_64,$(my_arch))) + ifneq (,$(filter arm64 x86_64,$(my_arch))) my_min_sdk_version := 21 else my_min_sdk_version := $(MIN_SUPPORTED_SDK_VERSION) @@ -156,17 +145,11 @@ ifneq ($(LOCAL_SDK_VERSION),) $(my_built_ndk)/sysroot/usr/include/$(my_ndk_triple) \ $(my_ndk_sysroot)/usr/include \ - # x86_64 and and mips64 are both multilib toolchains, so their libraries are + # x86_64 is a multilib toolchain, so their libraries are # installed in /usr/lib64. Aarch64, on the other hand, is not a multilib # compiler, so its libraries are in /usr/lib. - # - # Mips32r6 is yet another variation, with libraries installed in libr6. - # - # For the rest, the libraries are installed simply to /usr/lib. - ifneq (,$(filter x86_64 mips64,$(my_arch))) + ifneq (,$(filter x86_64,$(my_arch))) my_ndk_libdir_name := lib64 - else ifeq (mips32r6,$(TARGET_$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH_VARIANT)) - my_ndk_libdir_name := libr6 else my_ndk_libdir_name := lib endif @@ -180,11 +163,7 @@ ifneq ($(LOCAL_SDK_VERSION),) # hashes (which are much faster!), but shipping to older devices requires # the old style hash. Fortunately, we can build with both and it'll work # anywhere. - # - # This is not currently supported on MIPS architectures. - ifeq (,$(filter mips mips64,$(TARGET_$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH))) - my_ldflags += -Wl,--hash-style=both - endif + my_ldflags += -Wl,--hash-style=both # We don't want to expose the relocation packer to the NDK just yet. LOCAL_PACK_MODULE_RELOCATIONS := false @@ -195,9 +174,6 @@ ifneq ($(LOCAL_SDK_VERSION),) my_ndk_stl_shared_lib_fullpath := my_ndk_stl_static_lib := my_cpu_variant := $(TARGET_$(LOCAL_2ND_ARCH_VAR_PREFIX)CPU_ABI) - ifeq (mips32r6,$(TARGET_$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH_VARIANT)) - my_cpu_variant := mips32r6 - endif LOCAL_NDK_STL_VARIANT := $(strip $(LOCAL_NDK_STL_VARIANT)) ifeq (,$(LOCAL_NDK_STL_VARIANT)) LOCAL_NDK_STL_VARIANT := system diff --git a/core/build-system.html b/core/build-system.html index cc242d9b6e..9cd7b0bc7e 100644 --- a/core/build-system.html +++ b/core/build-system.html @@ -467,8 +467,6 @@ set to and some examples.

TARGET_ARCH
arm
arm64
- mips
- mips64
x86
x86_64 diff --git a/core/clang/TARGET_mips.mk b/core/clang/TARGET_mips.mk deleted file mode 100644 index 3e54a6626a..0000000000 --- a/core/clang/TARGET_mips.mk +++ /dev/null @@ -1,9 +0,0 @@ -$(clang_2nd_arch_prefix)RS_TRIPLE := renderscript32-linux-androideabi -$(clang_2nd_arch_prefix)RS_TRIPLE_CFLAGS := -RS_COMPAT_TRIPLE := mipsel-linux-android - -$(clang_2nd_arch_prefix)TARGET_LIBPROFILE_RT := $(LLVM_RTLIB_PATH)/libclang_rt.profile-mipsel-android.a - -# Address sanitizer clang config -$(clang_2nd_arch_prefix)ADDRESS_SANITIZER_LINKER := /system/bin/linker_asan -$(clang_2nd_arch_prefix)ADDRESS_SANITIZER_LINKER_FILE := /system/bin/bootstrap/linker_asan diff --git a/core/clang/TARGET_mips64.mk b/core/clang/TARGET_mips64.mk deleted file mode 100644 index cb6a3cde23..0000000000 --- a/core/clang/TARGET_mips64.mk +++ /dev/null @@ -1,9 +0,0 @@ -RS_TRIPLE := renderscript64-linux-android -RS_TRIPLE_CFLAGS := -RS_COMPAT_TRIPLE := mips64el-linux-android - -TARGET_LIBPROFILE_RT := $(LLVM_RTLIB_PATH)/libclang_rt.profile-mips64el-android.a - -# Address sanitizer clang config -$(clang_2nd_arch_prefix)ADDRESS_SANITIZER_LINKER := /system/bin/linker_asan64 -$(clang_2nd_arch_prefix)ADDRESS_SANITIZER_LINKER_FILE := /system/bin/bootstrap/linker_asan64 diff --git a/core/combo/TARGET_linux-mips.mk b/core/combo/TARGET_linux-mips.mk deleted file mode 100644 index 9f14aa20d2..0000000000 --- a/core/combo/TARGET_linux-mips.mk +++ /dev/null @@ -1,44 +0,0 @@ -# -# Copyright (C) 2010 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -# Configuration for Linux on MIPS. -# Included by combo/select.mk - -# You can set TARGET_ARCH_VARIANT to use an arch version other -# than mips32r2-fp. Each value should correspond to a file named -# $(BUILD_COMBOS)/arch/.mk which must contain -# makefile variable definitions. Their -# purpose is to allow module Android.mk files to selectively compile -# different versions of code based upon the funtionality and -# instructions available in a given architecture version. -# -# The blocks also define specific arch_variant_cflags, which -# include defines, and compiler settings for the given architecture -# version. -# -ifeq ($(strip $(TARGET_$(combo_2nd_arch_prefix)ARCH_VARIANT)),) -TARGET_$(combo_2nd_arch_prefix)ARCH_VARIANT := mips32r2-fp -endif - -include $(BUILD_SYSTEM)/combo/fdo.mk - -define $(combo_var_prefix)transform-shared-lib-to-toc -$(call _gen_toc_command_for_elf,$(1),$(2)) -endef - -$(combo_2nd_arch_prefix)TARGET_PACK_MODULE_RELOCATIONS := true - -$(combo_2nd_arch_prefix)TARGET_LINKER := /system/bin/linker diff --git a/core/combo/TARGET_linux-mips64.mk b/core/combo/TARGET_linux-mips64.mk deleted file mode 100644 index ae17e465ac..0000000000 --- a/core/combo/TARGET_linux-mips64.mk +++ /dev/null @@ -1,44 +0,0 @@ -# -# Copyright (C) 2013 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -# Configuration for Linux on MIPS64. -# Included by combo/select.mk - -# You can set TARGET_ARCH_VARIANT to use an arch version other -# than mips64r6. Each value should correspond to a file named -# $(BUILD_COMBOS)/arch/.mk which must contain -# makefile variable definitions. Their -# purpose is to allow module Android.mk files to selectively compile -# different versions of code based upon the funtionality and -# instructions available in a given architecture version. -# -# The blocks also define specific arch_variant_cflags, which -# include defines, and compiler settings for the given architecture -# version. -# -ifeq ($(strip $(TARGET_ARCH_VARIANT)),) -TARGET_ARCH_VARIANT := mips64r6 -endif - -include $(BUILD_SYSTEM)/combo/fdo.mk - -define $(combo_var_prefix)transform-shared-lib-to-toc -$(call _gen_toc_command_for_elf,$(1),$(2)) -endef - -TARGET_PACK_MODULE_RELOCATIONS := true - -TARGET_LINKER := /system/bin/linker64 diff --git a/core/config_sanitizers.mk b/core/config_sanitizers.mk index efb21e7c6a..8c76a8d17b 100644 --- a/core/config_sanitizers.mk +++ b/core/config_sanitizers.mk @@ -134,12 +134,6 @@ ifneq ($(filter address,$(my_sanitize)),) my_sanitize_diag := $(filter-out cfi,$(my_sanitize_diag)) endif -# CFI needs gold linker, and mips toolchain does not have one. -ifneq ($(filter mips mips64,$(TARGET_$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH)),) - my_sanitize := $(filter-out cfi,$(my_sanitize)) - my_sanitize_diag := $(filter-out cfi,$(my_sanitize_diag)) -endif - # Disable sanitizers which need the UBSan runtime for host targets. ifdef LOCAL_IS_HOST_MODULE my_sanitize := $(filter-out cfi,$(my_sanitize)) diff --git a/core/dex_preopt_config.mk b/core/dex_preopt_config.mk index ccf53f5229..598ac2d836 100644 --- a/core/dex_preopt_config.mk +++ b/core/dex_preopt_config.mk @@ -56,16 +56,6 @@ DEX2OAT_IMAGE_XMX := $(call get-product-default-property,dalvik.vm.image-dex2oat DEX2OAT_XMS := $(call get-product-default-property,dalvik.vm.dex2oat-Xms) DEX2OAT_XMX := $(call get-product-default-property,dalvik.vm.dex2oat-Xmx) -ifeq ($(TARGET_ARCH),$(filter $(TARGET_ARCH),mips mips64)) -# MIPS specific overrides. -# For MIPS the ART image is loaded at a lower address. This causes issues -# with the image overlapping with memory on the host cross-compiling and -# building the image. We therefore limit the Xmx value. This isn't done -# via a property as we want the larger Xmx value if we're running on a -# MIPS device. -DEX2OAT_XMX := 128m -endif - ifeq ($(WRITE_SOONG_VARIABLES),true) $(call json_start) diff --git a/core/envsetup.mk b/core/envsetup.mk index 04a970ffde..e38329daa3 100644 --- a/core/envsetup.mk +++ b/core/envsetup.mk @@ -101,7 +101,7 @@ TARGET_BUILD_APPS ?= # --------------------------------------------------------------- # Set up configuration for host machine. We don't do cross- -# compiles except for arm/mips, so the HOST is whatever we are +# compiles except for arm, so the HOST is whatever we are # running on # HOST_OS diff --git a/core/java_renderscript.mk b/core/java_renderscript.mk index 672863ba49..bfcf59e325 100644 --- a/core/java_renderscript.mk +++ b/core/java_renderscript.mk @@ -129,7 +129,7 @@ LOCAL_JNI_SHARED_LIBRARIES += libRSSupportIO endif my_arch := $(TARGET_$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH) -ifneq (,$(filter arm64 mips64 x86_64,$(my_arch))) +ifneq (,$(filter arm64 x86_64,$(my_arch))) my_min_sdk_version := 21 else my_min_sdk_version := $(MIN_SUPPORTED_SDK_VERSION) diff --git a/envsetup.sh b/envsetup.sh index fa8ba64388..791a43d78e 100644 --- a/envsetup.sh +++ b/envsetup.sh @@ -8,7 +8,7 @@ Invoke ". build/envsetup.sh" from your shell to add the following functions to y Selects as the product to build, and as the variant to build, and stores those selections in the environment to be read by subsequent invocations of 'm' etc. -- tapas: tapas [ ...] [arm|x86|mips|arm64|x86_64|mips64] [eng|userdebug|user] +- tapas: tapas [ ...] [arm|x86|arm64|x86_64] [eng|userdebug|user] - croot: Changes directory to the top of the tree, or a subdirectory thereof. - m: Makes from the top of the tree. - mm: Builds and installs all of the modules in the current directory, and their @@ -218,8 +218,6 @@ function setpaths() arm64) toolchaindir=aarch64/aarch64-linux-android-$targetgccversion/bin; toolchaindir2=arm/arm-linux-androideabi-$targetgccversion2/bin ;; - mips|mips64) toolchaindir=mips/mips64el-linux-android-$targetgccversion/bin - ;; *) echo "Can't find toolchain for unknown architecture: $ARCH" toolchaindir=xxxxxxxxx @@ -701,10 +699,10 @@ function _lunch() function tapas() { local showHelp="$(echo $* | xargs -n 1 echo | \grep -E '^(help)$' | xargs)" - local arch="$(echo $* | xargs -n 1 echo | \grep -E '^(arm|x86|mips|arm64|x86_64|mips64)$' | xargs)" + local arch="$(echo $* | xargs -n 1 echo | \grep -E '^(arm|x86|arm64|x86_64)$' | xargs)" local variant="$(echo $* | xargs -n 1 echo | \grep -E '^(user|userdebug|eng)$' | xargs)" local density="$(echo $* | xargs -n 1 echo | \grep -E '^(ldpi|mdpi|tvdpi|hdpi|xhdpi|xxhdpi|xxxhdpi|alldpi)$' | xargs)" - local apps="$(echo $* | xargs -n 1 echo | \grep -E -v '^(user|userdebug|eng|arm|x86|mips|arm64|x86_64|mips64|ldpi|mdpi|tvdpi|hdpi|xhdpi|xxhdpi|xxxhdpi|alldpi)$' | xargs)" + local apps="$(echo $* | xargs -n 1 echo | \grep -E -v '^(user|userdebug|eng|arm|x86|arm64|x86_64|ldpi|mdpi|tvdpi|hdpi|xhdpi|xxhdpi|xxxhdpi|alldpi)$' | xargs)" if [ "$showHelp" != "" ]; then $(gettop)/build/make/tapasHelp.sh @@ -727,10 +725,8 @@ function tapas() local product=aosp_arm case $arch in x86) product=aosp_x86;; - mips) product=aosp_mips;; arm64) product=aosp_arm64;; x86_64) product=aosp_x86_64;; - mips64) product=aosp_mips64;; esac if [ -z "$variant" ]; then variant=eng diff --git a/tapasHelp.sh b/tapasHelp.sh index 38b3e345bb..0f461304a3 100755 --- a/tapasHelp.sh +++ b/tapasHelp.sh @@ -6,7 +6,7 @@ SCRIPT_DIR="${PWD}" cd ../.. TOP="${PWD}" -message='usage: tapas [ ...] [arm|x86|mips|arm64|x86_64|mips64] [eng|userdebug|user] +message='usage: tapas [ ...] [arm|x86|arm64|x86_64] [eng|userdebug|user] tapas selects individual apps to be built by the Android build system. Unlike "lunch", "tapas" does not request the building of images for a device.