===================================================================
@@ -746,12 +746,12 @@ mips*-*-netbsd*) # NetBSD/mips, either
;;
mips64*-*-linux* | mipsisa64*-*-linux*)
extra_parts="$extra_parts crtfastmath.o"
- tmake_file="${tmake_file} t-crtfm mips/t-mips16 mips/t-tpbit"
+ tmake_file="${tmake_file} t-crtfm mips/t-mips16 mips/t-tpbit t-slibgcc-libgcc"
md_unwind_header=mips/linux-unwind.h
;;
mips*-*-linux*) # Linux MIPS, either endian.
extra_parts="$extra_parts crtfastmath.o"
- tmake_file="${tmake_file} t-crtfm mips/t-mips16"
+ tmake_file="${tmake_file} t-crtfm mips/t-mips16 t-slibgcc-libgcc"
md_unwind_header=mips/linux-unwind.h
;;
mips*-*-openbsd*)
===================================================================
@@ -84,7 +84,3 @@ GCC_4.4.0 {
__mips16_call_stub_dc_9
__mips16_call_stub_dc_10
}
-
-GCC_4.7.0 {
- __mips16_rdhwr
-}
===================================================================
@@ -712,6 +712,9 @@ CALL_STUB_RET (__mips16_call_stub_dc_10,
#ifdef L_m16rdhwr
STARTFN (__mips16_rdhwr)
+ /* Forced always hidden, because the PLT resolver function would
+ not preserve all necessary registers. */
+ .hidden __mips16_rdhwr
.set push
.set mips32r2
.set noreorder