diff '--color=auto' -ruN ../binutils-2.37/bfd/config.bfd ./binutils-2.37/bfd/config.bfd --- ../binutils-2.37/bfd/config.bfd 2021-07-08 13:37:19.000000000 +0200 +++ ./binutils-2.37/bfd/config.bfd 2022-01-11 18:51:11.272879682 +0100 @@ -223,6 +223,18 @@ case "${targ}" in # START OF targmatch.h + i[3-7]86-*-aleksa*) + targ_defvec=i386_elf32_vec + targ_selvecs= + targ64_selvecs=x86_64_elf64_vec + ;; +#ifdef BFD64 + x86_64-*-aleksa*) + targ_defvec=x86_64_elf64_vec + targ_selvecs=i386_elf32_vec + want64=true + ;; +#endif #ifdef BFD64 aarch64-*-darwin*) targ_defvec=aarch64_mach_o_vec diff '--color=auto' -ruN ../binutils-2.37/config.sub ./binutils-2.37/config.sub --- ../binutils-2.37/config.sub 2021-07-08 13:37:19.000000000 +0200 +++ ./binutils-2.37/config.sub 2022-01-11 18:51:18.386212846 +0100 @@ -1729,7 +1729,8 @@ | skyos* | haiku* | rdos* | toppers* | drops* | es* \ | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \ | midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \ - | nsk* | powerunix* | genode* | zvmoe* | qnx* | emx*) + | nsk* | powerunix* | genode* | zvmoe* | qnx* | emx* \ + | aleksa*) ;; # This one is extra strict with allowed versions sco3.2v2 | sco3.2v[4-9]* | sco5v6*) diff '--color=auto' -ruN ../binutils-2.37/gas/configure.tgt binutils-2.37/gas/configure.tgt --- ../binutils-2.37/gas/configure.tgt ./2021-07-08 13:37:19.000000000 +0200 +++ ./binutils-2.37/gas/configure.tgt 2022-01-11 18:51:33.739545802 +0100 @@ -123,6 +123,7 @@ generic_target=${cpu_type}-$vendor-$os # Note: This table is alpha-sorted, please try to keep it that way. case ${generic_target} in + i386-*-aleksa*) fmt=elf ;; aarch64*-*-elf*) fmt=elf;; aarch64*-*-fuchsia*) fmt=elf;; aarch64*-*-genode*) fmt=elf;; diff '--color=auto' -ruN ../binutils-2.37/ld/configure.tgt ./binutils-2.37/ld/configure.tgt --- ../binutils-2.37/ld/configure.tgt 2021-07-08 13:37:20.000000000 +0200 +++ ./binutils-2.37/ld/configure.tgt 2022-01-11 18:51:48.049545452 +0100 @@ -43,6 +43,15 @@ # Please try to keep this table more or less in alphabetic order - it # makes it much easier to lookup a specific archictecture. case "${targ}" in +i[3-7]86-*-aleksa*) + targ_emul=elf_i386_aleksa + targ_extra_emuls=elf_i386 + targ64_extra_emuls="elf_x86_64_aleksa elf_x86_64" + ;; +x86_64-*-aleksa*) + targ_emul=elf_x86_64_aleksa + targ_extra_emuls="elf_i386_aleksa elf_x86_64 elf_i386" + ;; aarch64_be-*-elf) targ_emul=aarch64elfb targ_extra_emuls="aarch64elf aarch64elf32 aarch64elf32b armelfb armelf" ;; diff '--color=auto' -ruN ../binutils-2.37/ld/emulparams/elf_i386_aleksa.sh ./binutils-2.37/ld/emulparams/elf_i386_aleksa.sh --- ../binutils-2.37/ld/emulparams/elf_i386_aleksa.sh 1970-01-01 01:00:00.000000000 +0100 +++ ./binutils-2.37/ld/emulparams/elf_i386_aleksa.sh 2022-01-11 18:50:49.516213552 +0100 @@ -0,0 +1,3 @@ +. ${srcdir}/emulparams/elf_i386.sh +GENERATE_SHLIB_SCRIPT=yes +GENERATE_PIE_SCRIPT=yes diff '--color=auto' -ruN ../binutils-2.37/ld/emulparams/elf_x86_64_aleksa.sh ./binutils-2.37/ld/emulparams/elf_x86_64_aleksa.sh --- ../binutils-2.37/ld/emulparams/elf_x86_64_aleksa.sh 1970-01-01 01:00:00.000000000 +0100 +++ ./binutils-2.37/ld/emulparams/elf_x86_64_aleksa.sh 2022-01-11 18:50:49.516213552 +0100 @@ -0,0 +1 @@ +. ${srcdir}/emulparams/elf_x86_64.sh diff '--color=auto' -ruN ../binutils-2.37/ld/Makefile.am ./binutils-2.37/ld/Makefile.am --- ../binutils-2.37/ld/Makefile.am 2021-07-08 13:37:20.000000000 +0200 +++ ./binutils-2.37/ld/Makefile.am 2022-01-11 18:50:49.516213552 +0100 @@ -277,6 +277,7 @@ eelf32xtensa.c \ eelf32z80.c \ eelf_i386.c \ + eelf_i386_aleksa.c \ eelf_i386_be.c \ eelf_i386_fbsd.c \ eelf_i386_ldso.c \ @@ -453,6 +454,7 @@ eelf_k1om.c \ eelf_k1om_fbsd.c \ eelf_x86_64.c \ + eelf_x86_64_aleksa.c \ eelf_x86_64_cloudabi.c \ eelf_x86_64_fbsd.c \ eelf_x86_64_sol2.c \