This is the mail archive of the binutils@sources.redhat.com 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] MIPS ld: n32 ABI support


Hi All,

this adds support for n32 ABI vectors to ld.


Thiemo


2002-07-19  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>

	/ld/ChangeLog
	* Makefile.am (eelf32btsmipn32.o, eelf32ltsmipn32.o): New emulations
	for n32 ABI support.
	* Makefile.in: Regenerate.
	* configure.tgt (mips64*el-*-linux-gnu*,mips64*-*-linux-gnu*): Add
	n32 ABI emulations for these 64 bit targets.
	* emulparams/elf32bmipn32.sh: Expand comment.
	* emulparams/elf32btsmipn32.sh: New file, for traditional big endian
	n32 ABI.
	* emulparams/elf32ltsmipn32.sh: Likewise for little endian.


diff -BurpNX /bigdisk/src/gcc-exclude source-orig/ld/Makefile.am source/ld/Makefile.am
--- source-orig/ld/Makefile.am	Fri Jul 19 18:12:16 2002
+++ source/ld/Makefile.am	Fri Jul 19 18:12:23 2002
@@ -155,7 +155,9 @@ ALL_EMULATIONS = \
 	eelf32bmip.o \
 	eelf32bmipn32.o \
 	eelf32btsmip.o \
+	eelf32btsmipn32.o \
 	eelf32ltsmip.o \
+	eelf32ltsmipn32.o \
 	eelf32ebmip.o \
 	eelf32elmip.o \
 	eelf32fr30.o \
@@ -562,10 +564,18 @@ eelf32btsmip.c: $(srcdir)/emulparams/elf
   $(srcdir)/emulparams/elf32bmip.sh \
   $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
 	${GENSCRIPTS} elf32btsmip "$(tdir_elf32btsmip)"
+eelf32btsmipn32.c: $(srcdir)/emulparams/elf32btsmipn32.sh \
+  $(srcdir)/emulparams/elf32bmip.sh \
+  $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+	${GENSCRIPTS} elf32btsmipn32 "$(tdir_elf32btsmipn32)"
 eelf32ltsmip.c: $(srcdir)/emulparams/elf32ltsmip.sh \
   $(srcdir)/emulparams/elf32btsmip.sh $(srcdir)/emulparams/elf32bmip.sh \
   $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
 	${GENSCRIPTS} elf32ltsmip "$(tdir_elf32ltsmip)"
+eelf32ltsmipn32.c: $(srcdir)/emulparams/elf32ltsmipn32.sh \
+  $(srcdir)/emulparams/elf32btsmip.sh $(srcdir)/emulparams/elf32bmip.sh \
+  $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+	${GENSCRIPTS} elf32ltsmipn32 "$(tdir_elf32ltsmipn32)"
 eelf32ebmip.c: $(srcdir)/emulparams/elf32ebmip.sh \
   $(srcdir)/emulparams/elf32bmip.sh \
   $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
diff -BurpNX /bigdisk/src/gcc-exclude source-orig/ld/configure.tgt source/ld/configure.tgt
--- source-orig/ld/configure.tgt	Fri Jul 19 18:12:16 2002
+++ source/ld/configure.tgt	Fri Jul 19 18:12:23 2002
@@ -388,6 +388,12 @@ mips*el-*-rtems*)	targ_emul=elf32elmip ;
 mips*-*-rtems*)		targ_emul=elf32ebmip ;;
 mips*el-*-vxworks*)	targ_emul=elf32elmip ;;
 mips*-*-vxworks*)	targ_emul=elf32ebmip ;;
+mips64*el-*-linux-gnu*)	targ_emul=elf32ltsmipn32
+			targ_extra_emuls="elf32btsmipn32 elf32ltsmip elf32btsmip elf64ltsmip elf64btsmip"
+			;;
+mips64*-*-linux-gnu*)	targ_emul=elf32btsmipn32
+			targ_extra_emuls="elf32ltsmipn32 elf32btsmip elf32ltsmip elf64btsmip elf64ltsmip"
+			;;
 mips*el-*-linux-gnu*)	targ_emul=elf32ltsmip
 			targ_extra_emuls="elf32btsmip elf64ltsmip elf64btsmip"
 			;;
diff -BurpNX /bigdisk/src/gcc-exclude source-orig/ld/emulparams/elf32bmipn32.sh source/ld/emulparams/elf32bmipn32.sh
--- source-orig/ld/emulparams/elf32bmipn32.sh	Sun Nov 25 04:27:54 2001
+++ source/ld/emulparams/elf32bmipn32.sh	Fri Jul 12 13:18:58 2002
@@ -1,5 +1,5 @@
 # If you change this file, please also look at files which source this one:
-# elf64bmip.sh elf64btsmip.sh
+# elf64bmip.sh elf64btsmip.sh elf32btsmipn32.sh
 
 # This is an ELF platform.
 SCRIPT_NAME=elf
diff -BurpNX /bigdisk/src/gcc-exclude source-orig/ld/emulparams/elf32btsmipn32.sh source/ld/emulparams/elf32btsmipn32.sh
--- source-orig/ld/emulparams/elf32btsmipn32.sh	Thu Jan  1 01:00:00 1970
+++ source/ld/emulparams/elf32btsmipn32.sh	Fri Jul 12 13:18:58 2002
@@ -0,0 +1,17 @@
+# If you change this file, please also look at files which source this one:
+# elf32ltsmipn32.sh
+
+. ${srcdir}/emulparams/elf32bmipn32.sh
+OUTPUT_FORMAT="elf32-ntradbigmips"
+BIG_OUTPUT_FORMAT="elf32-ntradbigmips"
+LITTLE_OUTPUT_FORMAT="elf32-ntradlittlemips"
+
+unset EXECUTABLE_SYMBOLS
+unset WRITABLE_RODATA
+
+# Magic sections.
+OTHER_TEXT_SECTIONS='*(.mips16.fn.*) *(.mips16.call.*)'
+OTHER_SECTIONS='
+  .gptab.sdata : { *(.gptab.data) *(.gptab.sdata) }
+  .gptab.sbss : { *(.gptab.bss) *(.gptab.sbss) }
+'
diff -BurpNX /bigdisk/src/gcc-exclude source-orig/ld/emulparams/elf32ltsmipn32.sh source/ld/emulparams/elf32ltsmipn32.sh
--- source-orig/ld/emulparams/elf32ltsmipn32.sh	Thu Jan  1 01:00:00 1970
+++ source/ld/emulparams/elf32ltsmipn32.sh	Fri Jul 12 13:18:58 2002
@@ -0,0 +1,4 @@
+. ${srcdir}/emulparams/elf32btsmipn32.sh
+OUTPUT_FORMAT="elf32-ntradlittlemips"
+BIG_OUTPUT_FORMAT="elf32-ntradbigmips"
+LITTLE_OUTPUT_FORMAT="elf32-ntradlittlemips"


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