diff -ruN binutils-2.39/bfd/config.bfd binutils-2.39-patched/bfd/config.bfd --- binutils-2.39/bfd/config.bfd 2022-07-08 06:46:47.000000000 -0300 +++ binutils-2.39-patched/bfd/config.bfd 2022-08-07 18:29:37.305269269 -0300 @@ -695,6 +695,11 @@ targ_selvecs="i386_elf32_vec" want64=true ;; + x86_64-*-astral*) + targ_defvec=x86_64_elf64_vec + targ_selvecs=i386_elf32_vec + want64=true + ;; x86_64-*-netbsd* | x86_64-*-openbsd*) targ_defvec=x86_64_elf64_vec targ_selvecs="i386_elf32_vec iamcu_elf32_vec i386_coff_vec i386_pei_vec x86_64_pe_vec x86_64_pei_vec" diff -ruN binutils-2.39/config.sub binutils-2.39-patched/config.sub --- binutils-2.39/config.sub 2022-07-08 06:46:47.000000000 -0300 +++ binutils-2.39-patched/config.sub 2022-08-07 18:26:48.218610095 -0300 @@ -1754,7 +1754,7 @@ | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \ | midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \ | nsk* | powerunix* | genode* | zvmoe* | qnx* | emx* | zephyr* \ - | fiwix* ) + | fiwix* | astral* ) ;; # This one is extra strict with allowed versions sco3.2v2 | sco3.2v[4-9]* | sco5v6*) diff -ruN binutils-2.39/gas/configure.tgt binutils-2.39-patched/gas/configure.tgt --- binutils-2.39/gas/configure.tgt 2022-07-08 06:46:47.000000000 -0300 +++ binutils-2.39-patched/gas/configure.tgt 2022-08-07 18:31:46.391930215 -0300 @@ -221,6 +221,7 @@ h8300-*-elf) fmt=elf ;; h8300-*-linux*) fmt=elf em=linux ;; + i386-*-astral*) fmt=elf ;; i386-*-beospe*) fmt=coff em=pe ;; i386-*-beos*) fmt=elf ;; i386-*-elfiamcu) fmt=elf arch=iamcu ;; diff -ruN binutils-2.39/ld/configure.tgt binutils-2.39-patched/ld/configure.tgt --- binutils-2.39/ld/configure.tgt 2022-07-29 04:37:48.000000000 -0300 +++ binutils-2.39-patched/ld/configure.tgt 2022-08-07 18:34:19.615256758 -0300 @@ -986,6 +986,10 @@ ;; visium-*-elf) targ_emul=elf32visium ;; +x86_64-*-astral*) + targ_emul=elf_x86_64_astral + targ_extra_emuls="elf_i386_astral elf_x86_64 elf_i386" + ;; x86_64-*-rdos*) targ_emul=elf64rdos ;; x86_64-*-cloudabi*) targ_emul=elf_x86_64_cloudabi diff -ruN binutils-2.39/ld/emulparams/elf_i386_astral.sh binutils-2.39-patched/ld/emulparams/elf_i386_astral.sh --- binutils-2.39/ld/emulparams/elf_i386_astral.sh 1969-12-31 21:00:00.000000000 -0300 +++ binutils-2.39-patched/ld/emulparams/elf_i386_astral.sh 2022-08-07 19:16:14.135145355 -0300 @@ -0,0 +1,4 @@ +source_sh ${srcdir}/emulparams/elf_i386.sh +TEXT_START_ADDR=0x10000000 +GENERATE_SHLIB_SCRIPT=yes +GENERATE_PIE_SCRIPT=yes diff -ruN binutils-2.39/ld/emulparams/elf_x86_64_astral.sh binutils-2.39-patched/ld/emulparams/elf_x86_64_astral.sh --- binutils-2.39/ld/emulparams/elf_x86_64_astral.sh 1969-12-31 21:00:00.000000000 -0300 +++ binutils-2.39-patched/ld/emulparams/elf_x86_64_astral.sh 2022-08-07 18:36:20.838584720 -0300 @@ -0,0 +1,4 @@ +source_sh ${srcdir}/emulparams/elf_x86_64.sh +TEXT_START_ADDR=0x10000000 +GENERATE_SHLIB_SCRIPT=yes +GENERATE_PIE_SCRIPT=yes diff -ruN binutils-2.39/ld/Makefile.am binutils-2.39-patched/ld/Makefile.am --- binutils-2.39/ld/Makefile.am 2022-07-08 06:46:48.000000000 -0300 +++ binutils-2.39-patched/ld/Makefile.am 2022-08-07 19:17:46.965141264 -0300 @@ -275,6 +275,7 @@ eelf32xtensa.c \ eelf32z80.c \ eelf_i386.c \ + eelf_i386_astral.c \ eelf_i386_be.c \ eelf_i386_fbsd.c \ eelf_i386_haiku.c \ @@ -453,6 +454,7 @@ eelf64tilegx_be.c \ eelf_mipsel_haiku.c \ eelf_x86_64.c \ + eelf_x86_64_astral.c \ eelf_x86_64_cloudabi.c \ eelf_x86_64_fbsd.c \ eelf_x86_64_haiku.c \ @@ -766,6 +768,7 @@ @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_astral.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@ @@ -941,6 +944,7 @@ @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_astral.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 -ruN binutils-2.39/ld/Makefile.in binutils-2.39-patched/ld/Makefile.in --- binutils-2.39/ld/Makefile.in 2022-08-05 06:56:53.000000000 -0300 +++ binutils-2.39-patched/ld/Makefile.in 2022-08-07 19:17:51.741807718 -0300 @@ -529,6 +529,7 @@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ +runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -772,6 +773,7 @@ eelf32xtensa.c \ eelf32z80.c \ eelf_i386.c \ + eelf_i386_astral.c \ eelf_i386_be.c \ eelf_i386_fbsd.c \ eelf_i386_haiku.c \ @@ -949,6 +951,7 @@ eelf64tilegx_be.c \ eelf_mipsel_haiku.c \ eelf_x86_64.c \ + eelf_x86_64_astral.c \ eelf_x86_64_cloudabi.c \ eelf_x86_64_fbsd.c \ eelf_x86_64_haiku.c \ @@ -1441,6 +1444,7 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64tilegx.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64tilegx_be.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_i386.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_i386_astral.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_i386_be.Po@am__quote@ @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@ @@ -1451,6 +1455,7 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_mipsel_haiku.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_s390.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_x86_64.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_x86_64_astral.Po@am__quote@ @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@ @@ -2432,6 +2437,7 @@ @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_astral.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@ @@ -2607,6 +2613,7 @@ @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_astral.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@