This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[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)"


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]