public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
From: Andrew Jenner <andrew@codesourcery.com>
To: <binutils@sourceware.org>
Subject: [PATCH] Add support for ia16
Date: Sat, 01 Apr 2017 16:50:00 -0000	[thread overview]
Message-ID: <aff4c077-c31d-f40f-0a34-bac4072f4fb0@codesourcery.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 755 bytes --]

I've posted patches to gcc-patches for adding an ia16 (16-bit x86) port 
to GCC (see https://gcc.gnu.org/ml/gcc-patches/2017-04/msg00009.html). 
Some binutils changes are required to make this work, attached.

When the port was originally created by Rask Ingemann Lambertsen 10 
years ago, he made it work by symlinking the ia16-* binutils programs to 
the corresponding i386-* programs. With this patch, this hack is not 
necessary - real ia16-* binutils programs are built using the same 
sources as i386.

Okay to commit?

Thanks,

Andrew


2017-04-01  Andrew Jenner  <andrew@codesourcery.com>

	* config.sub: Handle ia16 in $basic_machine.

	bfd/
	* config.bfd: Handle ia16.

	gas/
	* configure.tgt: Handle ia16.

	ld/
	* configure.tgt: Handle ia16.


[-- Attachment #2: binutils_ia16.patch --]
[-- Type: text/x-patch, Size: 2779 bytes --]

Index: gas/configure.tgt
===================================================================
--- gas/configure.tgt	(revision 475333)
+++ gas/configure.tgt	(revision 475423)
@@ -62,6 +62,7 @@ case ${cpu} in
   fido)			cpu_type=m68k ;;
   hppa*)		cpu_type=hppa ;;
   i[3-7]86)		cpu_type=i386 arch=i386;;
+  ia16)			cpu_type=i386 arch=i386;;
   ia64)			cpu_type=ia64 ;;
   ip2k)			cpu_type=ip2k endian=big ;;
   iq2000)		cpu_type=iq2000 endian=big ;;
@@ -289,6 +290,8 @@ case ${generic_target} in

   i960-*-elf*)				fmt=elf ;;

+  ia16-*-elf*)				fmt=elf ;;
+
   ia64-*-elf*)				fmt=elf ;;
   ia64-*-*vms*)				fmt=elf em=vms ;;
   ia64-*-aix*)				fmt=elf em=ia64aix ;;
Index: config.sub
===================================================================
--- config.sub	(revision 475333)
+++ config.sub	(revision 475423)
@@ -2,7 +2,7 @@
 # Configuration validation subroutine script.
 #   Copyright 1992-2016 Free Software Foundation, Inc.

-timestamp='2016-01-11'
+timestamp='2017-03-28'

 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -263,7 +263,7 @@ case $basic_machine in
 	| fido | fr30 | frv | ft32 \
 	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
 	| hexagon \
-	| i370 | i860 | i960 | ia64 \
+	| i370 | i860 | i960 | ia64 | ia16 \
 	| ip2k | iq2000 \
 	| k1om \
 	| le32 | le64 \
Index: ld/configure.tgt
===================================================================
--- ld/configure.tgt	(revision 475333)
+++ ld/configure.tgt	(revision 475423)
@@ -399,6 +399,7 @@ i960-intel-nindy)	targ_emul=gld960 ;;
 i960-*-rtems*)		targ_emul=gld960coff ;;
 i960-*-elf*)		targ_emul=elf32_i960
 			;;
+ia16-*-elf*)		targ_emul=elf_i386 targ_extra_emuls=i386msdos ;;
 ia64-*-elf*)		targ_emul=elf64_ia64 ;;
 ia64-*-freebsd* | ia64-*-kfreebsd*-gnu)
 		        targ_emul=elf64_ia64_fbsd
Index: bfd/config.bfd
===================================================================
--- bfd/config.bfd	(revision 475333)
+++ bfd/config.bfd	(revision 475423)
@@ -108,6 +108,7 @@ fido*)		 targ_archs=bfd_m68k_arch ;;
 hppa*)		 targ_archs=bfd_hppa_arch ;;
 i[3-7]86)	 targ_archs=bfd_i386_arch ;;
 i370)		 targ_archs=bfd_i370_arch ;;
+ia16)		 targ_archs=bfd_i386_arch ;;
 lm32)	         targ_archs=bfd_lm32_arch ;;
 m6811*|m68hc11*) targ_archs="bfd_m68hc11_arch bfd_m68hc12_arch bfd_m9s12x_arch bfd_m9s12xg_arch" ;;
 m6812*|m68hc12*) targ_archs="bfd_m68hc12_arch bfd_m68hc11_arch bfd_m9s12x_arch bfd_m9s12xg_arch" ;;
@@ -823,6 +824,11 @@ case "${targ}" in
     targ_selvecs="icoff_le_vec icoff_be_vec"
     ;;

+  ia16-*-elf)
+    targ_defvec=i386_elf32_vec
+    targ_selvecs="i386_msdos_vec i386_aout_vec"
+    ;;
+
   ip2k-*-elf)
     targ_defvec=ip2k_elf32_vec
     ;;



             reply	other threads:[~2017-04-01 16:50 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-04-01 16:50 Andrew Jenner [this message]
2017-04-03  7:37 ` Jan Beulich
2017-04-03 16:14   ` Andrew Jenner
2017-04-04  7:52     ` Jan Beulich
2017-04-05 15:53       ` Maciej W. Rozycki
2017-04-13  9:35     ` Commit: sync config.sub Andrew Jenner
2017-04-03 11:19 ` [PATCH] Add support for ia16 Nick Clifton
2017-04-05 10:57 ` Joseph Myers

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=aff4c077-c31d-f40f-0a34-bac4072f4fb0@codesourcery.com \
    --to=andrew@codesourcery.com \
    --cc=binutils@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).