[PATCH v3 1/2] H8: Set H8/300H as the default architecture for the H8 family

Jan Dubiec <[email protected]>
Newsgroups gmane.comp.gnu.binutils
Message-ID <[email protected]>
This patch sets H8/300H as the default architecture for the H8 family. More
info in the previous thread.

bfd/ChangeLog:

	* cpu-h8300.c: Set H8/300H as the default architecture
	for the H8 family.

gas/ChangeLog:

	* config/tc-h8300.c: Set H8/300H as the default architecture
	for the H8 family.
	* NEWS: Added info about the above change.

ld/ChangeLog:

	* configure.tgt: Set H8/300H as the default architecture
	for the H8 family.
	* NEWS: Added info about the above change.

Signed-off-by: Jan Dubiec <[email protected]>
---
 bfd/cpu-h8300.c       | 10 +++++-----
 gas/NEWS              |  4 ++++
 gas/config/tc-h8300.c |  2 +-
 ld/NEWS               |  4 ++++
 ld/configure.tgt      |  4 ++--
 5 files changed, 16 insertions(+), 8 deletions(-)

diff --git a/bfd/cpu-h8300.c b/bfd/cpu-h8300.c
index f2294ad217e..555479740de 100644
--- a/bfd/cpu-h8300.c
+++ b/bfd/cpu-h8300.c
@@ -118,8 +118,11 @@ compatible (const bfd_arch_info_type *in, const bfd_arch_info_type *out)
   { word, addr, 8, bfd_arch_h8300, number, name, print, 1, default, \
     compatible, h8300_scan, bfd_arch_default_fill, next, 0 }
 
+static const bfd_arch_info_type h8300_info_struct =
+  N (16, 16, bfd_mach_h8300, "h8300", "h8300", false, NULL);
+
 static const bfd_arch_info_type h8300sxn_info_struct =
-  N (32, 16, bfd_mach_h8300sxn, "h8300sxn", "h8300sxn", false, NULL);
+  N (32, 16, bfd_mach_h8300sxn, "h8300sxn", "h8300sxn", false, &h8300_info_struct);
 
 static const bfd_arch_info_type h8300sx_info_struct =
   N (32, 32, bfd_mach_h8300sx, "h8300sx", "h8300sx", false, &h8300sxn_info_struct);
@@ -133,11 +136,8 @@ static const bfd_arch_info_type h8300hn_info_struct =
 static const bfd_arch_info_type h8300s_info_struct =
   N (32, 32, bfd_mach_h8300s, "h8300s", "h8300s", false, & h8300hn_info_struct);
 
-static const bfd_arch_info_type h8300h_info_struct =
-  N (32, 32, bfd_mach_h8300h, "h8300h", "h8300h", false, &h8300s_info_struct);
-
 const bfd_arch_info_type bfd_h8300_arch =
-  N (16, 16, bfd_mach_h8300, "h8300", "h8300", true, &h8300h_info_struct);
+  N (32, 32, bfd_mach_h8300h, "h8300h", "h8300h", true, &h8300s_info_struct);
 
 /* Pad the given address to 32 bits, converting 16-bit and 24-bit
    addresses into the values they would have had on a h8s target.  */
diff --git a/gas/NEWS b/gas/NEWS
index 38928ab83ff..1b0d53047bb 100644
--- a/gas/NEWS
+++ b/gas/NEWS
@@ -24,6 +24,10 @@
 * Add support for RISC-V vendor extensions:
   SpacemiT: xsmtvdot v1.0, xsmtvdotii v1.0.
 
+* Change the default architecture for H8 family from H8/300 to H8/300H.
+  Support for H8/300 was removed from gcc in 2020, making H8/300H the
+  default architecture.
+
 Changes in 2.46:
 
 * Add support for AMD Zen6 processor.
diff --git a/gas/config/tc-h8300.c b/gas/config/tc-h8300.c
index ec5cc4f6e39..8025204bfa1 100644
--- a/gas/config/tc-h8300.c
+++ b/gas/config/tc-h8300.c
@@ -52,7 +52,7 @@ int Smode;
 int Nmode;
 int SXmode;
 
-static int default_mach = bfd_mach_h8300;
+static int default_mach = bfd_mach_h8300h;
 
 #define PSIZE (Hmode && !Nmode ? L_32 : L_16)
 
diff --git a/ld/NEWS b/ld/NEWS
index 2de87ae227c..53394fee430 100644
--- a/ld/NEWS
+++ b/ld/NEWS
@@ -15,6 +15,10 @@ Changes in 2.47:
   not only XCOFF.  On by default and controlled with --no-link-mapless and
   --link-mapless options, also for XCOFF.
 
+* Change the default architecture for H8 family from H8/300 to H8/300H.
+  Support for H8/300 was removed from gcc in 2020, making H8/300H the
+  default architecture.
+
 Changes in 2.46:
 
 * Add --gnu-tls-tag/--no-gnu-tls-tag options to i386 ELF linker to add
diff --git a/ld/configure.tgt b/ld/configure.tgt
index a696e557533..6371177db28 100644
--- a/ld/configure.tgt
+++ b/ld/configure.tgt
@@ -313,8 +313,8 @@ ft32-*-*)		targ_emul=elf32ft32
 			targ_extra_ofiles=ldelfgen.o
 			;;
 h8300-*-elf* | h8300-*-rtems*)
-			targ_emul=h8300elf;
-			targ_extra_emuls="h8300helf h8300self h8300hnelf h8300snelf h8300sxelf h8300sxnelf"
+			targ_emul=h8300helf;
+			targ_extra_emuls="h8300self h8300hnelf h8300snelf h8300sxelf h8300sxnelf h8300elf"
 			;;
 h8300-*-linux*)
 			targ_emul=h8300elf_linux;
-- 
2.54.0
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.