===================================================================
@@ -1267,7 +1267,7 @@
case ${target} in
x86_64-*-linux*)
default_gnu_indirect_function=glibc-2011 ;;
- x86_64-*-kfreebsd*-gnu) tm_file="${tm_file} kfreebsd-gnu.h" ;;
+ x86_64-*-kfreebsd*-gnu) tm_file="${tm_file} kfreebsd-gnu.h i386/kfreebsd-gnu.h" ;;
x86_64-*-knetbsd*-gnu) tm_file="${tm_file} knetbsd-gnu.h" ;;
esac
tmake_file="${tmake_file} i386/t-linux64 i386/t-crtstuff i386/t-crtpc i386/t-crtfm t-dfprules"
===================================================================
@@ -91,7 +91,7 @@
done. */
/* These macros may be overridden in k*bsd-gnu.h and i386/k*bsd-gnu.h. */
-#define LINK_EMULATION "elf_i386"
+#define LINK_EMULATION(em) em
#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
#undef ASM_SPEC
@@ -100,7 +100,7 @@
#undef SUBTARGET_EXTRA_SPECS
#define SUBTARGET_EXTRA_SPECS \
- { "link_emulation", LINK_EMULATION },\
+ { "link_emulation", LINK_EMULATION("elf_i386") },\
{ "dynamic_linker", LINUX_DYNAMIC_LINKER }
#undef LINK_SPEC
===================================================================
@@ -19,7 +19,15 @@
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
-#undef LINK_EMULATION
-#define LINK_EMULATION "elf_i386_fbsd"
+#ifdef GLIBC_DYNAMIC_LINKER32
+#undef GLIBC_DYNAMIC_LINKER32
+#define GLIBC_DYNAMIC_LINKER32 "/lib/ld.so.1"
+#endif
+
+#ifdef GLIBC_DYNAMIC_LINKER64
+#undef GLIBC_DYNAMIC_LINKER64
+#define GLIBC_DYNAMIC_LINKER64 "/lib/ld-kfreebsd-x86-64.so.1"
+#endif
+
#undef REG_NAME
#define REG_NAME(reg) sc_ ## reg
===================================================================
@@ -75,7 +75,8 @@
%{!mno-sse2avx:%{mavx:-msse2avx}} %{msse2avx:%{!mavx:-msse2avx}}"
#undef LINK_SPEC
-#define LINK_SPEC "%{" SPEC_64 ":-m elf_x86_64} %{" SPEC_32 ":-m elf_i386} \
+#define LINK_SPEC "%{" SPEC_64 ":-m " LINK_EMULATION("elf_x86_64") "} \
+ %{" SPEC_32 ":-m " LINK_EMULATION("elf_i386") "} \
%{shared:-shared} \
%{!shared: \
%{!static: \
===================================================================
@@ -35,3 +35,6 @@
#undef GLIBC_DYNAMIC_LINKER
#define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1"
#endif
+
+#undef LINK_EMULATION
+#define LINK_EMULATION(em) em "_fbsd"