diff --color -rN -u binutils-2.39/bfd/config.bfd build/binutils-2.39/bfd/config.bfd
--- a/binutils-2.39/bfd/config.bfd	2022-01-22 13:14:07.000000000 +0100
+++ b/binutils-2.39/bfd/config.bfd	2022-10-01 22:12:16.914033792 +0200
@@ -651,6 +651,11 @@
     targ_selvecs="iamcu_elf32_vec i386_pei_vec"
     targ64_selvecs="x86_64_elf64_vec x86_64_elf32_vec x86_64_pe_vec x86_64_pei_vec l1om_elf64_vec k1om_elf64_vec"
     ;;
+  i[3-7]86-*-luna*)
+    targ_defvec=i386_elf32_vec
+    targ_selvecs=
+    targ64_selvecs=x86_64_elf64_vec
+    ;;
   i[3-7]86-*-redox*)
     targ_defvec=i386_elf32_vec
     targ_selvecs=
@@ -706,6 +711,11 @@
     targ_selvecs="i386_elf32_vec iamcu_elf32_vec x86_64_elf32_vec i386_pei_vec x86_64_pe_vec x86_64_pei_vec l1om_elf64_vec k1om_elf64_vec"
     want64=true
     ;;
+  x86_64-*-luna*)
+    targ_defvec=x86_64_elf64_vec
+    targ_selvecs=i386_elf32_vec
+    want64=true
+    ;;
   x86_64-*-mingw* | x86_64-*-pe | x86_64-*-pep | x86_64-*-cygwin)
     targ_defvec=x86_64_pe_vec
     targ_selvecs="x86_64_pe_vec x86_64_pei_vec x86_64_pe_big_vec x86_64_elf64_vec l1om_elf64_vec k1om_elf64_vec i386_pe_vec i386_pei_vec i386_elf32_vec iamcu_elf32_vec"
diff --color -rN -u binutils-2.39/gas/configure.tgt build/binutils-2.39/gas/configure.tgt
--- a/binutils-2.39/gas/configure.tgt	2022-01-22 13:14:08.000000000 +0100
+++ b/binutils-2.39/gas/configure.tgt	2022-10-01 22:12.39.115093972 +0200
@@ -238,6 +238,7 @@
       x86_64*-linux-gnux32)		arch=x86_64:32 ;;
     esac ;;
   i386-*-lynxos*)			fmt=elf em=lynx ;;
+  i386-*-luna*)			fmt=elf em=gnu ;;
   i386-*-redox*)			fmt=elf ;;
   i386-*-solaris*)			fmt=elf em=solaris ;;
   i386-*-freebsd* \
diff --color -rN -u binutils-2.39/ld/configure.tgt build/binutils-2.39/ld/configure.tgt
--- a/binutils-2.39/ld/configure.tgt	2022-01-22 15:19:36.000000000 +0100
+++ b/binutils-2.39/ld/configure.tgt	2022-10-01 22:15:04.853571062 +0200
@@ -329,6 +329,11 @@
 			targ64_extra_emuls="elf_x86_64 elf32_x86_64 elf_l1om elf_k1om"
 			targ64_extra_libpath="elf_x86_64 elf32_x86_64"
 			;;
+i[3-7]86-*-luna*)
+			targ_emul=elf_i386_luna
+			targ_extra_emuls=elf_i386
+			targ64_extra_emuls="elf_x86_64_luna elf_x86_64"
+			;;
 i[3-7]86-*-redox*)	targ_emul=elf_i386
 			targ_extra_emuls=elf_x86_64
 			;;
@@ -967,6 +972,10 @@
 			targ_extra_libpath="elf_i386 elf32_x86_64 elf_l1om elf_k1om"
 			tdir_elf_i386=`echo ${targ_alias} | sed -e 's/x86_64/i386/'`
 			;;
+x86_64-*-luna*)
+			targ_emul=elf_x86_64_luna
+			targ_extra_emuls="elf_i386_luna elf_x86_64 elf_i386"
+			;;
 x86_64-*-redox*)	targ_emul=elf_x86_64
 			targ_extra_emuls=elf_i386
 			;;
diff --color -rN -u binutils-2.39/ld/emulparams/elf_i386_luna.sh build/binutils-2.39/ld/emulparams/elf_i386_luna.sh
--- a/dev/null	1970-01-01 01:00:00.000000000 +0100
+++ b/binutils-2.39/ld/emulparams/elf_i386_luna.sh	2022-10-01 21:52:12.394068335 +0200
@@ -0,0 +1,3 @@
+source_sh ${srcdir}/emulparams/elf_i386.sh
+TEXT_START_ADDR=0x08000000
+MAXPAGESIZE=0x1000
\ No newline at end of file
diff --color -rN -u binutils-2.39/ld/emulparams/elf_x86_64_luna.sh build/binutils-2.39/ld/emulparams/elf_x86_64_luna.sh
--- a/dev/null	1970-01-01 01:00:00.000000000 +0100
+++ b/binutils-2.39/ld/emulparams/elf_x86_64_luna.sh	2022-10-01 21:53:00.411200592 +0200
@@ -0,0 +1,2 @@
+source_sh ${srcdir}/emulparams/elf_x86_64.sh
+MAXPAGESIZE=0x1000
\ No newline at end of file
diff --color -rN -u binutils-2.39/ld/Makefile.am build/binutils-2.39/ld/Makefile.am
--- a/binutils-2.39/ld/Makefile.am	2022-01-22 13:14:09.000000000 +0100
+++ b/binutils-2.39/ld/Makefile.am	2022-10-01 22:18:02.660263017 +0200
@@ -278,6 +278,7 @@
 	eelf32xtensa.c \
 	eelf32z80.c \
 	eelf_i386.c \
+	eelf_i386_luna.c \
 	eelf_i386_be.c \
 	eelf_i386_fbsd.c \
 	eelf_i386_haiku.c \
@@ -464,6 +465,7 @@
 	eelf_x86_64_fbsd.c \
 	eelf_x86_64_haiku.c \
 	eelf_x86_64_sol2.c \
+	eelf_x86_64_luna.c \
 	ehppa64linux.c \
 	ei386pep.c \
 	emmo.c
diff --color -rN -u binutils-2.39/ld/Makefile.in build/binutils-2.39/ld/Makefile.in
--- a/binutils-2.39/ld/Makefile.in	2022-02-09 12:49:03.000000000 +0100
+++ b/binutils-2.39/ld/Makefile.in	2022-10-01 22:17:46.740196925 +0200
@@ -769,6 +769,7 @@
 	eelf32xtensa.c \
 	eelf32z80.c \
 	eelf_i386.c \
+	eelf_i386_luna.c \
 	eelf_i386_be.c \
 	eelf_i386_fbsd.c \
 	eelf_i386_haiku.c \
@@ -954,6 +955,7 @@
 	eelf_x86_64_fbsd.c \
 	eelf_x86_64_haiku.c \
 	eelf_x86_64_sol2.c \
+	eelf_x86_64_luna.c \
 	ehppa64linux.c \
 	ei386pep.c \
 	emmo.c