diff --git a/libunwindstack/Android.bp b/libunwindstack/Android.bp index 3695f72f0..36449ebb8 100644 --- a/libunwindstack/Android.bp +++ b/libunwindstack/Android.bp @@ -116,12 +116,6 @@ cc_library { x86_64: { srcs: ["AsmGetRegsX86_64.S"], }, - mips: { - srcs: ["AsmGetRegsMips.S"], - }, - mips64: { - srcs: ["AsmGetRegsMips64.S"], - }, }, static_libs: [ diff --git a/libunwindstack/AsmGetRegsMips.S b/libunwindstack/AsmGetRegsMips.S deleted file mode 100644 index 183d0a928..000000000 --- a/libunwindstack/AsmGetRegsMips.S +++ /dev/null @@ -1,80 +0,0 @@ -/* - * Copyright (C) 2017 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. - */ - - .text - .type AsmGetRegs, %function - .globl AsmGetRegs - .ent AsmGetRegs - .balign 16 -AsmGetRegs: - .cfi_startproc - .cfi_def_cfa $sp, 0 - .set push - .set noreorder - .cpload $t9 - sw $zero, 0($a0) - .set noat - sw $at, 4($a0) - .set at - sw $v0, 8($a0) - sw $v1, 12($a0) - sw $a0, 16($a0) - sw $a1, 20($a0) - sw $a2, 24($a0) - sw $a3, 28($a0) - sw $t0, 32($a0) - sw $t1, 36($a0) - sw $t2, 40($a0) - sw $t3, 44($a0) - sw $t4, 48($a0) - sw $t5, 52($a0) - sw $t6, 56($a0) - sw $t7, 60($a0) - sw $s0, 64($a0) - sw $s1, 68($a0) - sw $s2, 72($a0) - sw $s3, 76($a0) - sw $s4, 80($a0) - sw $s5, 84($a0) - sw $s6, 88($a0) - sw $s7, 92($a0) - sw $t8, 96($a0) - sw $t9, 100($a0) - sw $k0, 104($a0) - sw $k1, 108($a0) - sw $gp, 112($a0) - sw $sp, 116($a0) - sw $s8, 120($a0) - sw $ra, 124($a0) - jalr $zero, $ra - sw $ra, 128($a0) // set PC to the calling function - - .set pop - .cfi_endproc - .size AsmGetRegs, .-AsmGetRegs - .end AsmGetRegs diff --git a/libunwindstack/AsmGetRegsMips64.S b/libunwindstack/AsmGetRegsMips64.S deleted file mode 100644 index 7a244f6f8..000000000 --- a/libunwindstack/AsmGetRegsMips64.S +++ /dev/null @@ -1,80 +0,0 @@ -/* - * Copyright (C) 2017 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. - */ - - .text - .type AsmGetRegs, %function - .globl AsmGetRegs - .ent AsmGetRegs - .balign 16 -AsmGetRegs: - .cfi_startproc - .cfi_def_cfa $sp, 0 - .set push - .set noreorder - .cpload $t9 - sd $zero, 0($a0) - .set noat - sd $at, 8($a0) - .set at - sd $v0, 16($a0) - sd $v1, 24($a0) - sd $a0, 32($a0) - sd $a1, 40($a0) - sd $a2, 48($a0) - sd $a3, 56($a0) - sd $a4, 64($a0) - sd $a5, 72($a0) - sd $a6, 80($a0) - sd $a7, 88($a0) - sd $t0, 96($a0) - sd $t1, 104($a0) - sd $t2, 112($a0) - sd $t3, 120($a0) - sd $s0, 128($a0) - sd $s1, 136($a0) - sd $s2, 144($a0) - sd $s3, 152($a0) - sd $s4, 160($a0) - sd $s5, 168($a0) - sd $s6, 176($a0) - sd $s7, 184($a0) - sd $t8, 192($a0) - sd $t9, 200($a0) - sd $k0, 208($a0) - sd $k1, 216($a0) - sd $gp, 224($a0) - sd $sp, 232($a0) - sd $s8, 240($a0) - sd $ra, 248($a0) - jalr $zero, $ra - sd $ra, 256($a0) // set PC to the calling function - - .set pop - .cfi_endproc - .size AsmGetRegs, .-AsmGetRegs - .end AsmGetRegs diff --git a/libunwindstack/Regs.cpp b/libunwindstack/Regs.cpp index c7dec5259..e0a785b3f 100644 --- a/libunwindstack/Regs.cpp +++ b/libunwindstack/Regs.cpp @@ -100,10 +100,6 @@ ArchEnum Regs::CurrentArch() { return ARCH_X86; #elif defined(__x86_64__) return ARCH_X86_64; -#elif defined(__mips__) && !defined(__LP64__) - return ARCH_MIPS; -#elif defined(__mips__) && defined(__LP64__) - return ARCH_MIPS64; #else abort(); #endif @@ -119,10 +115,6 @@ Regs* Regs::CreateFromLocal() { regs = new RegsX86(); #elif defined(__x86_64__) regs = new RegsX86_64(); -#elif defined(__mips__) && !defined(__LP64__) - regs = new RegsMips(); -#elif defined(__mips__) && defined(__LP64__) - regs = new RegsMips64(); #else abort(); #endif diff --git a/libunwindstack/include/unwindstack/RegsGetLocal.h b/libunwindstack/include/unwindstack/RegsGetLocal.h index f0b5e3a1d..300a3ecc5 100644 --- a/libunwindstack/include/unwindstack/RegsGetLocal.h +++ b/libunwindstack/include/unwindstack/RegsGetLocal.h @@ -81,7 +81,7 @@ inline __attribute__((__always_inline__)) void AsmGetRegs(void* reg_data) { : "x12", "x13", "memory"); } -#elif defined(__i386__) || defined(__x86_64__) || defined(__mips__) +#elif defined(__i386__) || defined(__x86_64__) extern "C" void AsmGetRegs(void* regs);