Index: ChangeLog =================================================================== --- ChangeLog (revision 195931) +++ ChangeLog (working copy) @@ -1,3 +1,11 @@ +2013-02-18 Catherine Moore + Joseph Myers + Chao-ying Fu + + * config/mips/mips16.S: Don't build for microMIPS. + * config/mips/linux-unwind.h: Handle microMIPS frame. + * config/mips/crtn.S (fini, init): New labels. + 2013-02-08 Georg-Johann Lay PR target/54222 Index: config/mips/mips16.S =================================================================== --- config/mips/mips16.S (revision 195931) +++ config/mips/mips16.S (working copy) @@ -21,6 +21,10 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see . */ +#ifdef __mips_micromips + /* DO NOTHING */ +#else + /* This file contains mips16 floating point support functions. These functions are called by mips16 code to handle floating point when -msoft-float is not used. They accept the arguments and return @@ -718,3 +722,4 @@ #endif /* !__mips_single_float */ #endif +#endif /* __mips_micromips */ Index: config/mips/linux-unwind.h =================================================================== --- config/mips/linux-unwind.h (revision 195931) +++ config/mips/linux-unwind.h (working copy) @@ -51,6 +51,11 @@ _Unwind_Ptr new_cfa, reg_offset; int i; + /* A MIPS16 or microMIPS frame. Signal frames always use the standard + ISA encoding. */ + if ((_Unwind_Ptr) pc & 3) + return _URC_END_OF_STACK; + /* 24021061 li v0, 0x1061 (rt_sigreturn)*/ /* 0000000c syscall */ /* or */ Index: config/mips/crtn.S =================================================================== --- config/mips/crtn.S (revision 195931) +++ config/mips/crtn.S (working copy) @@ -31,6 +31,7 @@ #endif .section .init,"ax",@progbits +init: #ifdef __mips64 ld RA,40($sp) daddu $sp,$sp,48 @@ -41,6 +42,7 @@ j RA .section .fini,"ax",@progbits +fini: #ifdef __mips64 ld RA,40($sp) daddu $sp,$sp,48