--- bfd/config.bfd.orig	2015-07-17 20:05:04.921108109 +0000
+++ bfd/config.bfd	2015-07-17 20:42:54.567978553 +0000
@@ -1084,15 +1084,15 @@
     ;;
   mips64*el-*-freebsd* | mips64*el-*-kfreebsd*-gnu)
     # FreeBSD vectors
-    targ_defvec=mips_elf32_ntradfbsd_le_vec
-    targ_selvecs="mips_elf32_ntradfbsd_be_vec mips_elf32_tradfbsd_le_vec mips_elf32_tradfbsd_be_vec mips_elf64_tradfbsd_le_vec mips_elf64_tradfbsd_be_vec"
+    targ_defvec=mips_elf64_tradfbsd_le_vec
+    targ_selvecs="mips_elf64_tradfbsd_le_vec mips_elf32_ntradfbsd_le_vec mips_elf32_ntradfbsd_be_vec mips_elf32_tradfbsd_le_vec mips_elf32_tradfbsd_be_vec mips_elf64_tradfbsd_be_vec"
     # Generic vectors
     targ_selvecs="${targ_selvecs} mips_elf32_ntrad_le_vec mips_elf32_ntrad_be_vec mips_elf32_trad_le_vec mips_elf32_trad_be_vec mips_elf64_trad_le_vec mips_elf64_trad_be_vec"
     ;;
   mips64*-*-freebsd* | mips64*-*-kfreebsd*-gnu)
     # FreeBSD vectors
-    targ_defvec=mips_elf32_ntradfbsd_be_vec
-    targ_selvecs="mips_elf32_ntradfbsd_le_vec mips_elf32_tradfbsd_be_vec mips_elf32_tradfbsd_le_vec mips_elf64_tradfbsd_be_vec mips_elf64_tradfbsd_le_vec"
+    targ_defvec=mips_elf64_tradfbsd_be_vec
+    targ_selvecs="mips_elf64_tradfbsd_be_vec mips_elf32_ntradfbsd_be_vec mips_elf32_ntradfbsd_le_vec mips_elf32_tradfbsd_be_vec mips_elf32_tradfbsd_le_vec mips_elf64_tradfbsd_le_vec"
     # Generic vectors
     targ_selvecs="${targ_selvecs} mips_elf32_ntrad_be_vec mips_elf32_ntrad_le_vec mips_elf32_trad_be_vec mips_elf32_trad_le_vec mips_elf64_trad_be_vec mips_elf64_trad_le_vec"
     ;;

--- ./ld/configure.tgt.orig	2021-01-09 19:47:34.000000000 +0900
+++ ./ld/configure.tgt	2021-05-13 16:24:16.129568000 +0900
@@ -548,13 +548,13 @@
 			targ_extra_libpath=$targ_extra_emuls
 			;;
 mips64*el-*-freebsd* | mips64*el-*-kfreebsd*-gnu)
-			targ_emul=elf32ltsmipn32_fbsd
-			targ_extra_emuls="elf32ltsmip elf32btsmip elf32ltsmipn32 elf32btsmipn32 elf64ltsmip elf64btsmip elf32ltsmip_fbsd elf32btsmip_fbsd elf32btsmipn32_fbsd elf64ltsmip_fbsd elf64btsmip_fbsd"
+			targ_emul=elf64ltsmip_fbsd
+			targ_extra_emuls="elf32ltsmip_fbsd elf32btsmip_fbsd elf32ltsmipn32_fbsd elf32btsmipn32_fbsd elf64ltsmip_fbsd elf64btsmip_fbsd elf32ltsmip elf32btsmip elf32ltsmipn32 elf32btsmipn32 elf64ltsmip elf64btsmip"
 			targ_extra_libpath=$targ_extra_emuls
 			;;
 mips64*-*-freebsd* | mips64*-*-kfreebsd*-gnu)
-			targ_emul=elf32btsmipn32_fbsd
-			targ_extra_emuls="elf32ltsmip elf32btsmip elf32ltsmipn32 elf32btsmipn32 elf64ltsmip elf64btsmip elf32ltsmip_fbsd elf32btsmip_fbsd elf32ltsmipn32_fbsd elf64ltsmip_fbsd elf64btsmip_fbsd"
+			targ_emul=elf64btsmip_fbsd
+			targ_extra_emuls="elf32btsmip_fbsd elf32ltsmip_fbsd elf32btsmipn32_fbsd elf32ltsmipn32_fbsd elf64btsmip_fbsd elf64ltsmip_fbsd elf32ltsmip elf32btsmip elf32ltsmipn32 elf32btsmipn32 elf64ltsmip elf64btsmip"
 			targ_extra_libpath=$targ_extra_emuls
 			;;
 mips*el-*-freebsd* | mips*el-*-kfreebsd*-gnu)
