Index: emulparams/elf64ltsmip_sym32.sh =================================================================== --- emulparams/elf64ltsmip_sym32.sh (revision 0) +++ emulparams/elf64ltsmip_sym32.sh (revision 0) @@ -0,0 +1,5 @@ +# N64 emulation compatible with forced 32-bit symbols (-msym32 GCC option). + +. ${srcdir}/emulparams/elf64ltsmip.sh + +TEXT_START_ADDR="0x10000000" Index: emulparams/elf64btsmip_sym32.sh =================================================================== --- emulparams/elf64btsmip_sym32.sh (revision 0) +++ emulparams/elf64btsmip_sym32.sh (revision 0) @@ -0,0 +1,5 @@ +# N64 emulation compatible with forced 32-bit symbols (-msym32 GCC option). + +. ${srcdir}/emulparams/elf64btsmip.sh + +TEXT_START_ADDR="0x10000000" Index: configure.tgt =================================================================== --- configure.tgt (revision 395172) +++ configure.tgt (working copy) @@ -445,16 +445,16 @@ mips*-*-vxworks*) targ_emul=elf32ebmipvx targ_extra_emuls="elf32elmipvxworks" ;; mips*-*-windiss) targ_emul=elf32mipswindiss ;; mips64*el-*-linux-*) targ_emul=elf32ltsmipn32 - targ_extra_emuls="elf32btsmipn32 elf32ltsmip elf32btsmip elf64ltsmip elf64btsmip" + targ_extra_emuls="elf32btsmipn32 elf32ltsmip elf32btsmip elf64ltsmip elf64ltsmip_sym32 elf64btsmip elf64btsmip_sym32" targ_extra_libpath=$targ_extra_emuls ;; mips64*-*-linux-*) targ_emul=elf32btsmipn32 - targ_extra_emuls="elf32ltsmipn32 elf32btsmip elf32ltsmip elf64btsmip elf64ltsmip" + targ_extra_emuls="elf32ltsmipn32 elf32btsmip elf32ltsmip elf64btsmip elf64btsmip_sym32 elf64ltsmip elf64ltsmip_sym32" targ_extra_libpath=$targ_extra_emuls ;; mips*el-*-linux-*) targ_emul=elf32ltsmip - targ_extra_emuls="elf32btsmip elf32ltsmipn32 elf64ltsmip elf32btsmipn32 elf64btsmip" + targ_extra_emuls="elf32btsmip elf32ltsmipn32 elf64ltsmip elf64ltsmip_sym32 elf32btsmipn32 elf64btsmip elf64btsmip_sym32" targ_extra_libpath=$targ_extra_emuls ;; mips*-*-linux-*) targ_emul=elf32btsmip - targ_extra_emuls="elf32ltsmip elf32btsmipn32 elf64btsmip elf32ltsmipn32 elf64ltsmip" + targ_extra_emuls="elf32ltsmip elf32btsmipn32 elf64btsmip elf64btsmip_sym32 elf32ltsmipn32 elf64ltsmip elf64ltsmip_sym32" targ_extra_libpath=$targ_extra_emuls ;; mips64*el-*-freebsd* | mips64*el-*-kfreebsd*-gnu) targ_emul=elf32ltsmipn32_fbsd Index: Makefile.am =================================================================== --- Makefile.am (revision 395172) +++ Makefile.am (working copy) @@ -487,10 +487,12 @@ ALL_64_EMULATION_SOURCES = \ eelf64bmip.c \ eelf64btsmip.c \ eelf64btsmip_fbsd.c \ + eelf64btsmip_sym32.c \ eelf64hppa.c \ eelf64lppc.c \ eelf64ltsmip.c \ eelf64ltsmip_fbsd.c \ + eelf64ltsmip_sym32.c \ eelf64mmix.c \ eelf64ppc.c \ eelf64ppc_fbsd.c \ @@ -2030,6 +2032,11 @@ eelf64btsmip_fbsd.c: $(srcdir)/emulparam $(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \ $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ${GENSCRIPTS} elf64btsmip_fbsd "$(tdir_elf64btsmip_fbsd)" +eelf64btsmip_sym32.c: $(srcdir)/emulparams/elf64btsmip_sym32.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 "$(tdir_elf64btsmip)" eelf64hppa.c: $(srcdir)/emulparams/elf64hppa.sh \ $(ELF_DEPS) $(srcdir)/scripttempl/elf64hppa.sc ${GEN_DEPENDS} ${GENSCRIPTS} elf64hppa "$(tdir_elf64hppa)" @@ -2048,6 +2055,11 @@ eelf64ltsmip_fbsd.c: $(srcdir)/emulparam $(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \ $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ${GENSCRIPTS} elf64ltsmip_fbsd "$(tdir_elf64ltsmip_fbsd)" +eelf64ltsmip_sym32.c: $(srcdir)/emulparams/elf64ltsmip_sym32.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)" eelf64mmix.c: $(srcdir)/emulparams/elf64mmix.sh \ $(ELF_DEPS) $(srcdir)/emultempl/mmix-elfnmmo.em \ $(srcdir)/emultempl/mmixelf.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} Index: Makefile.in =================================================================== --- Makefile.in (revision 395172) +++ Makefile.in (working copy) @@ -760,6 +760,7 @@ ALL_EMULATION_SOURCES = \ etic54xcoff.c \ etic80coff.c \ ev850.c \ + ev850_rh850.c \ evanilla.c \ evax.c \ evaxnbsd.c \ @@ -792,10 +793,12 @@ ALL_64_EMULATION_SOURCES = \ eelf64bmip.c \ eelf64btsmip.c \ eelf64btsmip_fbsd.c \ + eelf64btsmip_sym32.c \ eelf64hppa.c \ eelf64lppc.c \ eelf64ltsmip.c \ eelf64ltsmip_fbsd.c \ + eelf64ltsmip_sym32.c \ eelf64mmix.c \ eelf64ppc.c \ eelf64ppc_fbsd.c \ @@ -1204,10 +1207,12 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64bmip.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64btsmip.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64btsmip_fbsd.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64btsmip_sym32.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64hppa.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64lppc.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64ltsmip.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64ltsmip_fbsd.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64ltsmip_sym32.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64mmix.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64ppc.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64ppc_fbsd.Po@am__quote@ @@ -1419,6 +1424,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/etic54xcoff.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/etic80coff.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ev850.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ev850_rh850.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/evanilla.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/evax.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/evaxnbsd.Po@am__quote@ @@ -3500,6 +3506,11 @@ eelf64btsmip_fbsd.c: $(srcdir)/emulparam $(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \ $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ${GENSCRIPTS} elf64btsmip_fbsd "$(tdir_elf64btsmip_fbsd)" +eelf64btsmip_sym32.c: $(srcdir)/emulparams/elf64btsmip_sym32.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 "$(tdir_elf64btsmip)" eelf64hppa.c: $(srcdir)/emulparams/elf64hppa.sh \ $(ELF_DEPS) $(srcdir)/scripttempl/elf64hppa.sc ${GEN_DEPENDS} ${GENSCRIPTS} elf64hppa "$(tdir_elf64hppa)" @@ -3518,6 +3529,11 @@ eelf64ltsmip_fbsd.c: $(srcdir)/emulparam $(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \ $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ${GENSCRIPTS} elf64ltsmip_fbsd "$(tdir_elf64ltsmip_fbsd)" +eelf64ltsmip_sym32.c: $(srcdir)/emulparams/elf64ltsmip_sym32.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)" eelf64mmix.c: $(srcdir)/emulparams/elf64mmix.sh \ $(ELF_DEPS) $(srcdir)/emultempl/mmix-elfnmmo.em \ $(srcdir)/emultempl/mmixelf.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}