[prev in list] [next in list] [prev in thread] [next in thread] 

List:       binutils
Subject:    [PATCH] Add Genode target support
From:       Emery Hemingway via Binutils <binutils () sourceware ! org>
Date:       2021-01-28 14:35:56
Message-ID: ebe9e5c2-bd71-47ed-b914-2ac08dc1d0b0 () posteo ! net
[Download RAW message or body]

This is a multipart/mixed message in MIME format.


Hi,

Genode[0] is listed as a target in config.sub, but not yet supported by
the configure scripts of binutils.


Cheers,
Emery

0: https://genode.org/

["0001-Add-Genode-target-support.patch" (text/x-patch)]

From 3812f99bf95be2eb6f3d7297f6c944a7b48db0f0 Mon Sep 17 00:00:00 2001
From: Emery Hemingway <ehmry@posteo.net>
Date: Tue, 12 Jan 2021 15:24:52 +0100
Subject: [PATCH] Add Genode target support

---
 bfd/config.bfd    | 6 +++---
 gas/configure.tgt | 4 +++-
 ld/configure.tgt  | 8 ++++----
 3 files changed, 10 insertions(+), 8 deletions(-)

diff --git a/bfd/config.bfd b/bfd/config.bfd
index e7b55b0dd7..6408da3a3a 100644
--- a/bfd/config.bfd
+++ b/bfd/config.bfd
@@ -231,7 +231,7 @@ case "${targ}" in
     targ_archs="$targ_archs bfd_i386_arch bfd_powerpc_arch bfd_rs6000_arch"
     want64=true
     ;;
-  aarch64-*-elf | aarch64-*-rtems*)
+  aarch64-*-elf | aarch64-*-rtems* | aarch64-*-genode*)
     targ_defvec=aarch64_elf64_le_vec
     targ_selvecs="aarch64_elf64_be_vec aarch64_elf32_le_vec aarch64_elf32_be_vec \
arm_elf32_le_vec arm_elf32_be_vec"  want64=true
@@ -557,7 +557,7 @@ case "${targ}" in
     targ_selvecs=hppa_elf32_vec
     ;;
 
-  i[3-7]86-*-elf* | i[3-7]86-*-rtems*)
+  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"
     ;;
@@ -655,7 +655,7 @@ case "${targ}" in
     targ_selvecs="i386_elf32_vec iamcu_elf32_vec l1om_elf64_vec k1om_elf64_vec"
     want64=true
     ;;
-  x86_64-*-elf* | x86_64-*-rtems* | x86_64-*-fuchsia)
+  x86_64-*-elf* | x86_64-*-rtems* | x86_64-*-fuchsia | x86_64-*-genode*)
     targ_defvec=x86_64_elf64_vec
     targ_selvecs="i386_elf32_vec iamcu_elf32_vec x86_64_elf32_vec l1om_elf64_vec \
k1om_elf64_vec"  case "${targ}" in
diff --git a/gas/configure.tgt b/gas/configure.tgt
index 6f46e0a632..80d903c651 100644
--- a/gas/configure.tgt
+++ b/gas/configure.tgt
@@ -125,6 +125,7 @@ generic_target=${cpu_type}-$vendor-$os
 case ${generic_target} in
   aarch64*-*-elf*)			fmt=elf;;
   aarch64*-*-fuchsia*)			fmt=elf;;
+  aarch64*-*-genode*)			fmt=elf;;
   aarch64*-*-linux*)			fmt=elf em=linux
     case ${cpu}-${os} in
       aarch64*-linux-gnu_ilp32)		arch=aarch64:32 ;;
@@ -142,7 +143,7 @@ case ${generic_target} in
 
   arm-*-phoenix*)			fmt=elf ;;
   arm-*-elf)				fmt=elf ;;
-  arm-*-eabi* | arm-*-rtems*)		fmt=elf em=armeabi ;;
+  arm-*-eabi* | arm-*-rtems* | arm-*-genode*)	fmt=elf em=armeabi ;;
   arm-*-symbianelf*)			fmt=elf em=symbian ;;
   arm-*-kaos*)				fmt=elf ;;
   arm-*-conix*)				fmt=elf ;;
@@ -222,6 +223,7 @@ case ${generic_target} in
   i386-*-elfiamcu)			fmt=elf arch=iamcu ;;
   i386-*-elf*)				fmt=elf ;;
   i386-*-fuchsia*)			fmt=elf ;;
+  i386-*-genode*)			fmt=elf ;;
   i386-*-bsd*)				fmt=aout em=386bsd ;;
   i386-*-netbsdpe*)			fmt=coff em=pe ;;
   i386-*-netbsd*-gnu* | \
diff --git a/ld/configure.tgt b/ld/configure.tgt
index 0c780b24d5..f783ca9313 100644
--- a/ld/configure.tgt
+++ b/ld/configure.tgt
@@ -46,7 +46,7 @@ case "${targ}" in
 aarch64_be-*-elf)	targ_emul=aarch64elfb
 			targ_extra_emuls="aarch64elf aarch64elf32 aarch64elf32b armelfb armelf"
 			;;
-aarch64-*-elf | aarch64-*-rtems*)
++aarch64-*-elf | aarch64-*-rtems* | aarch64-*-genode*)
 			targ_emul=aarch64elf
 			targ_extra_emuls="aarch64elf32 aarch64elf32b aarch64elfb armelf armelfb"
 			;;
@@ -148,7 +148,7 @@ arm-*-phoenix*)		targ_emul=armelf
 armeb-*-elf | armeb-*-eabi*)
 			targ_emul=armelfb
 			;;
-arm-*-elf | arm*-*-eabi* | arm-*-rtems*)
+arm-*-elf | arm*-*-eabi* | arm-*-rtems* | arm-*-genode*)
 			targ_emul=armelf
 			;;
 arm*-*-symbianelf*)	targ_emul=armsymbian;;
@@ -354,7 +354,7 @@ i[3-7]86-*-netbsdpe*)	targ_emul=i386pe
 i[3-7]86-*-elfiamcu)	targ_emul=elf_iamcu
 			targ_extra_emuls=elf_i386
 			;;
-i[3-7]86-*-elf* | i[3-7]86-*-rtems*)
+i[3-7]86-*-elf* | i[3-7]86-*-rtems* | i[3-7]86-*-genode*)
 			targ_emul=elf_i386
 			targ_extra_emuls=elf_iamcu
 			;;
@@ -969,7 +969,7 @@ x86_64-*-netbsd* | x86_64-*-openbsd*)
 					sed -e 's/netbsd/netbsdelf/'`;;
 			esac
 			;;
-x86_64-*-elf* | x86_64-*-rtems* | x86_64-*-fuchsia*)
+x86_64-*-elf* | x86_64-*-rtems* | x86_64-*-fuchsia* | x86_64-*-genode*)
 			targ_emul=elf_x86_64
 			targ_extra_emuls="elf_i386 elf_iamcu elf32_x86_64 elf_l1om elf_k1om"
 			targ_extra_libpath="elf_i386 elf_iamcu elf32_x86_64 elf_l1om elf_k1om"
-- 
2.29.2



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic