diff -Naur -x Makefile.in -x aclocal.m4 binutils-2.37-orig/bfd/config.bfd binutils-2.37/bfd/config.bfd --- binutils-2.37-orig/bfd/config.bfd 2021-07-08 13:37:19.000000000 +0200 +++ binutils-2.37/bfd/config.bfd 2021-09-17 21:43:33.046584668 +0200 @@ -739,6 +739,13 @@ targ_underscore=yes ;; +#ifdef BFD64 + x86_64-*-karlos*) + targ_defvec=x86_64_elf64_vec + want64=true + ;; +#endif + ia16-*-elf) targ_defvec=i386_elf32_vec targ_selvecs="i386_msdos_vec i386_aout_vec" diff -Naur -x Makefile.in -x aclocal.m4 binutils-2.37-orig/config.sub binutils-2.37/config.sub --- binutils-2.37-orig/config.sub 2021-07-08 13:37:19.000000000 +0200 +++ binutils-2.37/config.sub 2021-09-17 21:34:30.728424266 +0200 @@ -1729,6 +1729,7 @@ | skyos* | haiku* | rdos* | toppers* | drops* | es* \ | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \ | midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \ + | karlos* \ | nsk* | powerunix* | genode* | zvmoe* | qnx* | emx*) ;; # This one is extra strict with allowed versions diff -Naur -x Makefile.in -x aclocal.m4 binutils-2.37-orig/gas/configure.tgt binutils-2.37/gas/configure.tgt --- binutils-2.37-orig/gas/configure.tgt 2021-07-08 13:37:19.000000000 +0200 +++ binutils-2.37/gas/configure.tgt 2021-09-17 21:43:15.221415056 +0200 @@ -259,6 +259,7 @@ i386-*-*nt*) fmt=coff em=pe ;; i386-*-rdos*) fmt=elf ;; i386-*-darwin*) fmt=macho ;; + i386-*-karlos*) fmt=elf ;; ia16-*-elf*) fmt=elf ;; diff -Naur -x Makefile.in -x aclocal.m4 binutils-2.37-orig/ld/Makefile.am binutils-2.37/ld/Makefile.am --- binutils-2.37-orig/ld/Makefile.am 2021-07-08 13:37:20.000000000 +0200 +++ binutils-2.37/ld/Makefile.am 2021-09-17 23:11:24.688453612 +0200 @@ -456,6 +456,7 @@ eelf_x86_64_cloudabi.c \ eelf_x86_64_fbsd.c \ eelf_x86_64_sol2.c \ + eelf_x86_64_karlos.c \ ehppa64linux.c \ ei386pep.c \ emmo.c @@ -942,6 +943,7 @@ @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_sol2.Pc@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_x86_64_karlos.Pc@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ehppa64linux.Pc@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ei386pep.Pc@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emmo.Pc@am__quote@ diff -Naur -x Makefile.in -x aclocal.m4 binutils-2.37-orig/ld/configure.tgt binutils-2.37/ld/configure.tgt --- binutils-2.37-orig/ld/configure.tgt 2021-07-08 13:37:20.000000000 +0200 +++ binutils-2.37/ld/configure.tgt 2021-09-17 22:38:47.128321309 +0200 @@ -1001,6 +1001,9 @@ targ_extra_emuls=i386pe targ_extra_ofiles="deffilep.o pep-dll.o pe-dll.o" ;; +x86_64-*-karlos*) targ_emul=elf_x86_64_karlos + targ_extra_emuls="elf_x86_64" + ;; xc16x-*-elf) targ_emul=elf32xc16x targ_extra_emuls="elf32xc16xl elf32xc16xs" ;; @@ -1085,6 +1088,10 @@ NATIVE_LIB_DIRS='/usr/local/lib /usr/ccs/lib /lib /usr/lib' ;; +*-*-karlos*) + NATIVE_LIB_DIRS='/lib' + ;; + esac case "${target}" in diff -Naur -x Makefile.in -x aclocal.m4 binutils-2.37-orig/ld/emulparams/elf_x86_64_karlos.sh binutils-2.37/ld/emulparams/elf_x86_64_karlos.sh --- binutils-2.37-orig/ld/emulparams/elf_x86_64_karlos.sh 1970-01-01 01:00:00.000000000 +0100 +++ binutils-2.37/ld/emulparams/elf_x86_64_karlos.sh 2021-09-17 21:50:15.081410176 +0200 @@ -0,0 +1 @@ +. ${srcdir}/emulparams/elf_x86_64.sh