This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
[PATCH #2] mips*-kfreebsd-gnu support in LD
- From: Robert Millan <rmh at gnu dot org>
- To: binutils at sourceware dot org
- Date: Tue, 14 Dec 2010 17:02:32 +0100
- Subject: [PATCH #2] mips*-kfreebsd-gnu support in LD
This patch adds mips*-kfreebsd-gnu (and mips*-freebsd)
support to LD.
ChangeLog entry included with patch header.
2010-12-14 Robert Millan <rmh@gnu.org>
* configure.tgt: Recognize mips-freebsd and mips-kfreebsd-gnu.
* emulparams/elf32btsmip_fbsd.sh: New file.
* emulparams/elf32btsmipn32_fbsd.sh: Likewise.
* emulparams/elf32ltsmip_fbsd.sh: Likewise.
* emulparams/elf32ltsmipn32_fbsd.sh: Likewise.
* emulparams/elf64btsmip_fbsd.sh: Likewise.
* emulparams/elf64ltsmip_fbsd.sh: Likewise.
* Makefile.am: Add build rules for `eelf32btsmip_fbsd.c',
`eelf32btsmipn32_fbsd.c', `eelf32ltsmip_fbsd.c',
`eelf32ltsmipn32_fbsd.c', `eelf64btsmip_fbsd.c' and
`eelf64ltsmip_fbsd.c'.
* Makefile.in: Regenerate.
diff -Nur binutils.old/ld/configure.tgt binutils/ld/configure.tgt
--- binutils.old/ld/configure.tgt 2010-11-30 02:14:08.000000000 +0100
+++ binutils/ld/configure.tgt 2010-12-14 16:58:45.000000000 +0100
@@ -412,6 +412,14 @@
mips*-*-linux-*) targ_emul=elf32btsmip
targ_extra_emuls="elf32ltsmip elf32btsmipn32 elf64btsmip elf32ltsmipn32 elf64ltsmip"
targ_extra_libpath=$targ_extra_emuls ;;
+mips*el-*-freebsd-* | mips*el-*-kfreebsd*-gnu)
+ targ_emul=elf32ltsmip_fbsd
+ targ_extra_emuls="elf32ltsmip elf32btsmip elf32ltsmipn32 elf32btsmipn32 elf64ltsmip elf64btsmip elf32ltsmipn32_fbsd elf32btsmip_fbsd elf32btsmipn32_fbsd elf64ltsmip_fbsd elf64btsmip_fbsd"
+ targ_extra_libpath=$targ_extra_emuls ;;
+mips*-*-freebsd-* | mips*-*-kfreebsd*-gnu)
+ targ_emul=elf32btsmip_fbsd
+ targ_extra_emuls="elf32ltsmip elf32btsmip elf32ltsmipn32 elf32btsmipn32 elf64ltsmip elf64btsmip elf32ltsmip_fbsd elf32btsmipn32_fbsd elf32ltsmipn32_fbsd elf64ltsmip_fbsd elf64btsmip_fbsd"
+ targ_extra_libpath=$targ_extra_emuls ;;
mips*-*-lnews*) targ_emul=mipslnews ;;
mips*-*-sysv4*) targ_emul=elf32btsmip
;;
diff -Nur binutils.old/ld/emulparams/elf32btsmip_fbsd.sh binutils/ld/emulparams/elf32btsmip_fbsd.sh
--- binutils.old/ld/emulparams/elf32btsmip_fbsd.sh 1970-01-01 01:00:00.000000000 +0100
+++ binutils/ld/emulparams/elf32btsmip_fbsd.sh 2010-12-14 16:50:21.000000000 +0100
@@ -0,0 +1,5 @@
+. ${srcdir}/emulparams/elf32btsmip.sh
+. ${srcdir}/emulparams/elf_fbsd.sh
+OUTPUT_FORMAT="elf32-tradbigmips-freebsd"
+BIG_OUTPUT_FORMAT="elf32-tradbigmips-freebsd"
+LITTLE_OUTPUT_FORMAT="elf32-tradlittlemips-freebsd"
diff -Nur binutils.old/ld/emulparams/elf32btsmipn32_fbsd.sh binutils/ld/emulparams/elf32btsmipn32_fbsd.sh
--- binutils.old/ld/emulparams/elf32btsmipn32_fbsd.sh 1970-01-01 01:00:00.000000000 +0100
+++ binutils/ld/emulparams/elf32btsmipn32_fbsd.sh 2010-12-14 16:50:21.000000000 +0100
@@ -0,0 +1,5 @@
+. ${srcdir}/emulparams/elf32ltsmipn32.sh
+. ${srcdir}/emulparams/elf_fbsd.sh
+OUTPUT_FORMAT="elf32-ntradbigmips-freebsd"
+BIG_OUTPUT_FORMAT="elf32-ntradbigmips-freebsd"
+LITTLE_OUTPUT_FORMAT="elf32-ntradlittlemips-freebsd"
diff -Nur binutils.old/ld/emulparams/elf32ltsmip_fbsd.sh binutils/ld/emulparams/elf32ltsmip_fbsd.sh
--- binutils.old/ld/emulparams/elf32ltsmip_fbsd.sh 1970-01-01 01:00:00.000000000 +0100
+++ binutils/ld/emulparams/elf32ltsmip_fbsd.sh 2010-12-14 16:50:21.000000000 +0100
@@ -0,0 +1,5 @@
+. ${srcdir}/emulparams/elf32ltsmip.sh
+. ${srcdir}/emulparams/elf_fbsd.sh
+OUTPUT_FORMAT="elf32-tradlittlemips-freebsd"
+BIG_OUTPUT_FORMAT="elf32-tradbigmips-freebsd"
+LITTLE_OUTPUT_FORMAT="elf32-tradlittlemips-freebsd"
diff -Nur binutils.old/ld/emulparams/elf32ltsmipn32_fbsd.sh binutils/ld/emulparams/elf32ltsmipn32_fbsd.sh
--- binutils.old/ld/emulparams/elf32ltsmipn32_fbsd.sh 1970-01-01 01:00:00.000000000 +0100
+++ binutils/ld/emulparams/elf32ltsmipn32_fbsd.sh 2010-12-14 16:50:21.000000000 +0100
@@ -0,0 +1,5 @@
+. ${srcdir}/emulparams/elf32ltsmipn32.sh
+. ${srcdir}/emulparams/elf_fbsd.sh
+OUTPUT_FORMAT="elf32-ntradlittlemips-freebsd"
+BIG_OUTPUT_FORMAT="elf32-ntradbigmips-freebsd"
+LITTLE_OUTPUT_FORMAT="elf32-ntradlittlemips-freebsd"
diff -Nur binutils.old/ld/emulparams/elf64btsmip_fbsd.sh binutils/ld/emulparams/elf64btsmip_fbsd.sh
--- binutils.old/ld/emulparams/elf64btsmip_fbsd.sh 1970-01-01 01:00:00.000000000 +0100
+++ binutils/ld/emulparams/elf64btsmip_fbsd.sh 2010-12-14 16:50:21.000000000 +0100
@@ -0,0 +1,5 @@
+. ${srcdir}/emulparams/elf64btsmip.sh
+. ${srcdir}/emulparams/elf_fbsd.sh
+OUTPUT_FORMAT="elf64-tradbigmips-freebsd"
+BIG_OUTPUT_FORMAT="elf64-tradbigmips-freebsd"
+LITTLE_OUTPUT_FORMAT="elf64-tradlittlemips-freebsd"
diff -Nur binutils.old/ld/emulparams/elf64ltsmip_fbsd.sh binutils/ld/emulparams/elf64ltsmip_fbsd.sh
--- binutils.old/ld/emulparams/elf64ltsmip_fbsd.sh 1970-01-01 01:00:00.000000000 +0100
+++ binutils/ld/emulparams/elf64ltsmip_fbsd.sh 2010-12-14 16:50:21.000000000 +0100
@@ -0,0 +1,5 @@
+. ${srcdir}/emulparams/elf64ltsmip.sh
+. ${srcdir}/emulparams/elf_fbsd.sh
+OUTPUT_FORMAT="elf64-tradlittlemips-freebsd"
+BIG_OUTPUT_FORMAT="elf64-tradbigmips-freebsd"
+LITTLE_OUTPUT_FORMAT="elf64-tradlittlemips-freebsd"
diff -Nur binutils.old/ld/Makefile.am binutils/ld/Makefile.am
--- binutils.old/ld/Makefile.am 2010-11-15 23:30:47.000000000 +0100
+++ binutils/ld/Makefile.am 2010-12-14 16:51:19.000000000 +0100
@@ -189,10 +189,14 @@
eelf32bmip.c \
eelf32bmipn32.c \
eelf32btsmip.c \
+ eelf32btsmip_fbsd.c \
eelf32crx.c \
eelf32btsmipn32.c \
+ eelf32btsmipn32_fbsd.c \
eelf32ltsmip.c \
+ eelf32ltsmip_fbsd.c \
eelf32ltsmipn32.c \
+ eelf32ltsmipn32_fbsd.c \
eelf32ebmip.c \
eelf32ebmipvxworks.c \
eelf32elmip.c \
@@ -455,7 +459,9 @@
eelf64alpha_nbsd.c \
eelf64bmip.c \
eelf64btsmip.c \
+ eelf64btsmip_fbsd.c \
eelf64ltsmip.c \
+ eelf64ltsmip_fbsd.c \
eelf64hppa.c \
eelf64mmix.c \
emmo.c \
@@ -931,6 +937,10 @@
$(srcdir)/emulparams/elf32bmip.sh $(ELF_DEPS) \
$(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32btsmip "$(tdir_elf32btsmip)"
+eelf32btsmip_fbsd.c: $(srcdir)/emulparams/elf32btsmip_fbsd.sh \
+ $(srcdir)/emulparams/elf32bmip.sh $(ELF_DEPS) \
+ $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32btsmip_fbsd "$(tdir_elf32btsmip_fbsd)"
eelf32crx.c: $(srcdir)/emulparams/elf32crx.sh \
$(ELF_DEPS) $(srcdir)/emultempl/crxelf.em \
$(srcdir)/scripttempl/elf32crx.sc ${GEN_DEPENDS}
@@ -939,16 +949,30 @@
$(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \
$(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32btsmipn32 "$(tdir_elf32btsmipn32)"
+eelf32btsmipn32_fbsd.c: $(srcdir)/emulparams/elf32btsmipn32_fbsd.sh \
+ $(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \
+ $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32btsmipn32_fbsd "$(tdir_elf32btsmipn32_fbsd)"
eelf32ltsmip.c: $(srcdir)/emulparams/elf32ltsmip.sh \
$(srcdir)/emulparams/elf32btsmip.sh $(srcdir)/emulparams/elf32bmip.sh \
$(ELF_DEPS) $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc \
${GEN_DEPENDS}
${GENSCRIPTS} elf32ltsmip "$(tdir_elf32ltsmip)"
+eelf32ltsmip_fbsd.c: $(srcdir)/emulparams/elf32ltsmip_fbsd.sh \
+ $(srcdir)/emulparams/elf32btsmip.sh $(srcdir)/emulparams/elf32bmip.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc \
+ ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32ltsmip_fbsd "$(tdir_elf32ltsmip_fbsd)"
eelf32ltsmipn32.c: $(srcdir)/emulparams/elf32ltsmipn32.sh \
$(srcdir)/emulparams/elf32btsmipn32.sh \
$(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \
$(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32ltsmipn32 "$(tdir_elf32ltsmipn32)"
+eelf32ltsmipn32_fbsd.c: $(srcdir)/emulparams/elf32ltsmipn32_fbsd.sh \
+ $(srcdir)/emulparams/elf32btsmipn32.sh \
+ $(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \
+ $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32ltsmipn32_fbsd "$(tdir_elf32ltsmipn32_fbsd)"
eelf32ebmip.c: $(srcdir)/emulparams/elf32ebmip.sh \
$(srcdir)/emulparams/elf32bmip.sh $(ELF_DEPS) \
$(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
@@ -1156,11 +1180,21 @@
$(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \
$(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf64btsmip "$(tdir_elf64btsmip)"
+eelf64btsmip_fbsd.c: $(srcdir)/emulparams/elf64btsmip_fbsd.sh \
+ $(srcdir)/emulparams/elf64bmip-defs.sh \
+ $(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \
+ $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf64btsmip_fbsd "$(tdir_elf64btsmip_fbsd)"
eelf64ltsmip.c: $(srcdir)/emulparams/elf64ltsmip.sh \
$(srcdir)/emulparams/elf64btsmip.sh $(srcdir)/emulparams/elf64bmip-defs.sh \
$(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \
$(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf64ltsmip "$(tdir_elf64ltsmip)"
+eelf64ltsmip_fbsd.c: $(srcdir)/emulparams/elf64ltsmip_fbsd.sh \
+ $(srcdir)/emulparams/elf64btsmip_fbsd.sh $(srcdir)/emulparams/elf64bmip-defs.sh \
+ $(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \
+ $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf64ltsmip_fbsd "$(tdir_elf64ltsmip_fbsd)"
eelf_i386.c: $(srcdir)/emulparams/elf_i386.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf_i386 "$(tdir_elf_i386)"