diff --git a/adb/sysdeps/errno.cpp b/adb/sysdeps/errno.cpp index 9a37ea2fd..e6af68b48 100644 --- a/adb/sysdeps/errno.cpp +++ b/adb/sysdeps/errno.cpp @@ -24,7 +24,7 @@ #include "adb.h" -// Use the linux asm-generic values for errno (which are used on all android archs but mips). +// Use the linux asm-generic values for errno (which are used on all android architectures). #define ERRNO_VALUES() \ ERRNO_VALUE(EACCES, 13); \ ERRNO_VALUE(EEXIST, 17); \ @@ -48,7 +48,7 @@ ERRNO_VALUE(ETXTBSY, 26) // Make sure these values are actually correct. -#if defined(__linux__) && !defined(__mips__) +#if defined(__linux__) #define ERRNO_VALUE(error_name, wire_value) static_assert((error_name) == (wire_value), "") ERRNO_VALUES(); #undef ERRNO_VALUE diff --git a/base/include/android-base/macros.h b/base/include/android-base/macros.h index 5abf5141f..546b2ec18 100644 --- a/base/include/android-base/macros.h +++ b/base/include/android-base/macros.h @@ -143,8 +143,4 @@ void UNUSED(const T&...) { #define ABI_STRING "x86" #elif defined(__x86_64__) #define ABI_STRING "x86_64" -#elif defined(__mips__) && !defined(__LP64__) -#define ABI_STRING "mips" -#elif defined(__mips__) && defined(__LP64__) -#define ABI_STRING "mips64" #endif diff --git a/debuggerd/crasher/Android.bp b/debuggerd/crasher/Android.bp index e86f499bd..61c539580 100644 --- a/debuggerd/crasher/Android.bp +++ b/debuggerd/crasher/Android.bp @@ -24,12 +24,6 @@ cc_defaults { arm64: { srcs: ["arm64/crashglue.S"], }, - mips: { - srcs: ["mips/crashglue.S"], - }, - mips64: { - srcs: ["mips64/crashglue.S"], - }, x86: { srcs: ["x86/crashglue.S"], }, diff --git a/debuggerd/crasher/mips/crashglue.S b/debuggerd/crasher/mips/crashglue.S deleted file mode 100644 index 70a664127..000000000 --- a/debuggerd/crasher/mips/crashglue.S +++ /dev/null @@ -1,48 +0,0 @@ - .set noat - - .globl crash1 - .globl crashnostack - -crash1: - li $0,0xdead0000+0 - li $1,0xdead0000+1 - li $2,0xdead0000+2 - li $3,0xdead0000+3 - li $4,0xdead0000+4 - li $5,0xdead0000+5 - li $6,0xdead0000+6 - li $7,0xdead0000+7 - li $8,0xdead0000+8 - li $9,0xdead0000+9 - li $10,0xdead0000+10 - li $11,0xdead0000+11 - li $12,0xdead0000+12 - li $13,0xdead0000+13 - li $14,0xdead0000+14 - li $15,0xdead0000+15 - li $16,0xdead0000+16 - li $17,0xdead0000+17 - li $18,0xdead0000+18 - li $19,0xdead0000+19 - li $20,0xdead0000+20 - li $21,0xdead0000+21 - li $22,0xdead0000+22 - li $23,0xdead0000+23 - li $24,0xdead0000+24 - li $25,0xdead0000+25 - li $26,0xdead0000+26 - li $27,0xdead0000+27 - li $28,0xdead0000+28 - # don't trash the stack otherwise the signal handler won't run - #li $29,0xdead0000+29 - li $30,0xdead0000+30 - li $31,0xdead0000+31 - - lw $zero,($0) - b . - - -crashnostack: - li $sp, 0 - lw $zero,($0) - b . diff --git a/debuggerd/crasher/mips64/crashglue.S b/debuggerd/crasher/mips64/crashglue.S deleted file mode 100644 index 70a664127..000000000 --- a/debuggerd/crasher/mips64/crashglue.S +++ /dev/null @@ -1,48 +0,0 @@ - .set noat - - .globl crash1 - .globl crashnostack - -crash1: - li $0,0xdead0000+0 - li $1,0xdead0000+1 - li $2,0xdead0000+2 - li $3,0xdead0000+3 - li $4,0xdead0000+4 - li $5,0xdead0000+5 - li $6,0xdead0000+6 - li $7,0xdead0000+7 - li $8,0xdead0000+8 - li $9,0xdead0000+9 - li $10,0xdead0000+10 - li $11,0xdead0000+11 - li $12,0xdead0000+12 - li $13,0xdead0000+13 - li $14,0xdead0000+14 - li $15,0xdead0000+15 - li $16,0xdead0000+16 - li $17,0xdead0000+17 - li $18,0xdead0000+18 - li $19,0xdead0000+19 - li $20,0xdead0000+20 - li $21,0xdead0000+21 - li $22,0xdead0000+22 - li $23,0xdead0000+23 - li $24,0xdead0000+24 - li $25,0xdead0000+25 - li $26,0xdead0000+26 - li $27,0xdead0000+27 - li $28,0xdead0000+28 - # don't trash the stack otherwise the signal handler won't run - #li $29,0xdead0000+29 - li $30,0xdead0000+30 - li $31,0xdead0000+31 - - lw $zero,($0) - b . - - -crashnostack: - li $sp, 0 - lw $zero,($0) - b . diff --git a/init/security.cpp b/init/security.cpp index 6cbe642c0..2450d654b 100644 --- a/init/security.cpp +++ b/init/security.cpp @@ -128,8 +128,7 @@ static bool SetHighestAvailableOptionValue(const std::string& path, int min, int #define MMAP_RND_PATH "/proc/sys/vm/mmap_rnd_bits" #define MMAP_RND_COMPAT_PATH "/proc/sys/vm/mmap_rnd_compat_bits" -// __attribute__((unused)) due to lack of mips support: see mips block in SetMmapRndBitsAction -static bool __attribute__((unused)) SetMmapRndBitsMin(int start, int min, bool compat) { +static bool SetMmapRndBitsMin(int start, int min, bool compat) { std::string path; if (compat) { path = MMAP_RND_COMPAT_PATH; @@ -174,9 +173,6 @@ Result SetMmapRndBitsAction(const BuiltinArguments&) { if (SetMmapRndBitsMin(16, 16, h64)) { return {}; } -#elif defined(__mips__) || defined(__mips64__) - // TODO: add mips support b/27788820 - return {}; #else LOG(ERROR) << "Unknown architecture"; #endif diff --git a/libcutils/Android.bp b/libcutils/Android.bp index 65af2b3d6..378bcc8aa 100644 --- a/libcutils/Android.bp +++ b/libcutils/Android.bp @@ -126,19 +126,6 @@ cc_library { }, }, - android_mips: { - srcs: ["arch-mips/android_memset.c"], - sanitize: { - misc_undefined: ["integer"], - }, - }, - android_mips64: { - srcs: ["arch-mips/android_memset.c"], - sanitize: { - misc_undefined: ["integer"], - }, - }, - android_x86: { srcs: [ "arch-x86/android_memset16.S", diff --git a/libcutils/arch-mips/android_memset.c b/libcutils/arch-mips/android_memset.c deleted file mode 100644 index c0fe3d1e6..000000000 --- a/libcutils/arch-mips/android_memset.c +++ /dev/null @@ -1,100 +0,0 @@ -/* - * Copyright (C) 2015 The Android Open Source Project - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT - * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -/* generic C version for any machine */ - -#include - -#ifdef __clang__ -__attribute__((no_sanitize("integer"))) -#endif -void android_memset16(uint16_t* dst, uint16_t value, size_t size) -{ - /* optimized version of - size >>= 1; - while (size--) - *dst++ = value; - */ - - size >>= 1; - if (((uintptr_t)dst & 2) && size) { - /* fill unpaired first elem separately */ - *dst++ = value; - size--; - } - /* dst is now 32-bit-aligned */ - /* fill body with 32-bit pairs */ - uint32_t value32 = (((uint32_t)value) << 16) | ((uint32_t)value); - android_memset32((uint32_t*) dst, value32, size<<1); - if (size & 1) { - dst[size-1] = value; /* fill unpaired last elem */ - } -} - - -#ifdef __clang__ -__attribute__((no_sanitize("integer"))) -#endif -void android_memset32(uint32_t* dst, uint32_t value, size_t size) -{ - /* optimized version of - size >>= 2; - while (size--) - *dst++ = value; - */ - - size >>= 2; - if (((uintptr_t)dst & 4) && size) { - /* fill unpaired first 32-bit elem separately */ - *dst++ = value; - size--; - } - /* dst is now 64-bit aligned */ - /* fill body with 64-bit pairs */ - uint64_t value64 = (((uint64_t)value) << 32) | ((uint64_t)value); - uint64_t* dst64 = (uint64_t*)dst; - - while (size >= 12) { - dst64[0] = value64; - dst64[1] = value64; - dst64[2] = value64; - dst64[3] = value64; - dst64[4] = value64; - dst64[5] = value64; - size -= 12; - dst64 += 6; - } - - /* fill remainder with original 32-bit single-elem loop */ - dst = (uint32_t*) dst64; - while (size != 0) { - size--; - *dst++ = value; - } - -} diff --git a/libutils/Android.bp b/libutils/Android.bp index 33117936c..9ddbedfbc 100644 --- a/libutils/Android.bp +++ b/libutils/Android.bp @@ -74,12 +74,6 @@ cc_defaults { "liblog", ], - arch: { - mips: { - cflags: ["-DALIGN_DOUBLE"], - }, - }, - target: { android: { cflags: ["-fvisibility=protected"], @@ -174,12 +168,6 @@ cc_library { "CallStack.cpp", ], - arch: { - mips: { - cflags: ["-DALIGN_DOUBLE"], - }, - }, - shared_libs: [ "libutils", "libbacktrace",