diff --git a/bfd/config.bfd b/bfd/config.bfd index 1b0111fd410..18186adfbaf 100644 --- a/bfd/config.bfd +++ b/bfd/config.bfd @@ -588,6 +588,19 @@ case "${targ}" in targ_selvecs=hppa_elf32_vec ;; + i[3-7]86-*-orion*) + targ_defvec=i386_elf32_vec + targ_selvecs= + targ64_selvecs=x86_64_elf64_vec + ;; +#ifdef BFD64 + x86_64-*-orion*) + targ_defvec=x86_64_elf64_vec + targ_selvecs=i386_elf32_vec + want64=true + ;; +#endif + i[3-7]86-*-elf* | i[3-7]86-*-rtems* | i[3-7]86-*-genode*) targ_defvec=i386_elf32_vec targ_selvecs="iamcu_elf32_vec i386_coff_vec" diff --git a/config.sub b/config.sub index dba16e84c77..75725a12201 100755 --- a/config.sub +++ b/config.sub @@ -1724,7 +1724,7 @@ case $os in # The portable systems comes first. # Each alternative MUST end in a * to match a version number. gnu* | android* | bsd* | mach* | minix* | genix* | ultrix* | irix* \ - | *vms* | esix* | aix* | cnk* | sunos | sunos[34]* \ + | *vms* | esix* | aix* | cnk* | sunos | sunos[34]* | orion* \ | hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \ | sym* | plan9* | psp* | sim* | xray* | os68k* | v88r* \ | hiux* | abug | nacl* | netware* | windows* \ diff --git a/gas/configure.tgt b/gas/configure.tgt index 765ba73633d..6b4afe65c4e 100644 --- a/gas/configure.tgt +++ b/gas/configure.tgt @@ -222,6 +222,7 @@ case ${generic_target} in h8300-*-elf) fmt=elf ;; h8300-*-linux*) fmt=elf em=linux ;; + i386-*-orion*) fmt=elf em=gnu ;; i386-*-beospe*) fmt=coff em=pe ;; i386-*-beos*) fmt=elf ;; i386-*-elfiamcu) fmt=elf arch=iamcu ;; diff --git a/ld/Makefile.am b/ld/Makefile.am index 12b2c3c453f..b238144ab8a 100644 --- a/ld/Makefile.am +++ b/ld/Makefile.am @@ -275,6 +275,7 @@ ALL_EMULATION_SOURCES = \ eelf32xtensa.c \ eelf32z80.c \ eelf_i386.c \ + eelf_i386_orion.c \ eelf_i386_be.c \ eelf_i386_fbsd.c \ eelf_i386_haiku.c \ @@ -454,6 +455,7 @@ ALL_64_EMULATION_SOURCES = \ eelf64tilegx_be.c \ eelf_mipsel_haiku.c \ eelf_x86_64.c \ + eelf_x86_64_orion.c \ eelf_x86_64_cloudabi.c \ eelf_x86_64_fbsd.c \ eelf_x86_64_haiku.c \ @@ -770,6 +772,7 @@ $(ALL_EMULATION_SOURCES) $(ALL_64_EMULATION_SOURCES): $(GEN_DEPENDS) @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32xtensa.Pc@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32z80.Pc@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_i386.Pc@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_i386_orion.Pc@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_i386_be.Pc@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_i386_fbsd.Pc@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_i386_haiku.Pc@am__quote@ @@ -946,6 +949,7 @@ $(ALL_EMULATION_SOURCES) $(ALL_64_EMULATION_SOURCES): $(GEN_DEPENDS) @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64tilegx_be.Pc@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_mipsel_haiku.Pc@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_x86_64.Pc@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_x86_64_orion.Pc@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_x86_64_cloudabi.Pc@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_x86_64_fbsd.Pc@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_x86_64_haiku.Pc@am__quote@ diff --git a/ld/Makefile.in b/ld/Makefile.in index 3d5685d6bae..1dd798f8e59 100644 --- a/ld/Makefile.in +++ b/ld/Makefile.in @@ -776,6 +776,7 @@ ALL_EMULATION_SOURCES = \ eelf32xtensa.c \ eelf32z80.c \ eelf_i386.c \ + eelf_i386_orion.c \ eelf_i386_be.c \ eelf_i386_fbsd.c \ eelf_i386_haiku.c \ @@ -954,6 +955,7 @@ ALL_64_EMULATION_SOURCES = \ eelf64tilegx_be.c \ eelf_mipsel_haiku.c \ eelf_x86_64.c \ + eelf_x86_64_orion.c \ eelf_x86_64_cloudabi.c \ eelf_x86_64_fbsd.c \ eelf_x86_64_haiku.c \ @@ -1456,6 +1458,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_i386_fbsd.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_i386_haiku.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_i386_ldso.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_i386_orion.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_i386_sol2.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_i386_vxworks.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_iamcu.Po@am__quote@ @@ -1465,6 +1468,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_x86_64_cloudabi.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_x86_64_fbsd.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_x86_64_haiku.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_x86_64_orion.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_x86_64_sol2.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eh8300elf.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eh8300elf_linux.Po@am__quote@ @@ -2444,6 +2448,7 @@ $(ALL_EMULATION_SOURCES) $(ALL_64_EMULATION_SOURCES): $(GEN_DEPENDS) @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32xtensa.Pc@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32z80.Pc@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_i386.Pc@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_i386_orion.Pc@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_i386_be.Pc@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_i386_fbsd.Pc@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_i386_haiku.Pc@am__quote@ @@ -2620,6 +2625,7 @@ $(ALL_EMULATION_SOURCES) $(ALL_64_EMULATION_SOURCES): $(GEN_DEPENDS) @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64tilegx_be.Pc@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_mipsel_haiku.Pc@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_x86_64.Pc@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_x86_64_orion.Pc@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_x86_64_cloudabi.Pc@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_x86_64_fbsd.Pc@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_x86_64_haiku.Pc@am__quote@ diff --git a/ld/configure.tgt b/ld/configure.tgt index de04a44b812..d8e3fc42341 100644 --- a/ld/configure.tgt +++ b/ld/configure.tgt @@ -341,6 +341,10 @@ hppa*-*-netbsd*) targ_emul=hppanbsd ;; hppa*-*-openbsd*) targ_emul=hppaobsd ;; +i[3-7]86-*-orion*) targ_emul=elf_i386_orion + targ_extra_emuls=elf_i386 + targ64_extra_emuls="elf_x86_64_orion elf_x86_64" + ;; i[3-7]86-*-nto-qnx*) targ_emul=i386nto ;; i[3-7]86-*-go32) targ_emul=i386go32 @@ -991,6 +995,9 @@ vax-*-linux-*) targ_emul=elf32vax ;; visium-*-elf) targ_emul=elf32visium ;; +x86_64-*-orion*) targ_emul=elf_x86_64_orion + targ_extra_emuls="elf_i386_orion elf_x86_64 elf_i386" + ;; x86_64-*-rdos*) targ_emul=elf64rdos ;; x86_64-*-cloudabi*) targ_emul=elf_x86_64_cloudabi diff --git a/ld/emulparams/elf_i386_orion.sh b/ld/emulparams/elf_i386_orion.sh new file mode 100644 index 00000000000..9d11a528132 --- /dev/null +++ b/ld/emulparams/elf_i386_orion.sh @@ -0,0 +1 @@ +source_sh ${srcdir}/emulparams/elf_i386.sh diff --git a/ld/emulparams/elf_x86_64_orion.sh b/ld/emulparams/elf_x86_64_orion.sh new file mode 100644 index 00000000000..59e7df71afc --- /dev/null +++ b/ld/emulparams/elf_x86_64_orion.sh @@ -0,0 +1 @@ +source_sh ${srcdir}/emulparams/elf_x86_64.sh