public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
* How does one define a custom architecture to as and ld
@ 2006-03-08 21:11 Lindley, Robert A
  2006-03-08 21:20 ` Anthony Green
  2006-03-09 16:49 ` Nick Clifton
  0 siblings, 2 replies; 3+ messages in thread
From: Lindley, Robert A @ 2006-03-08 21:11 UTC (permalink / raw)
  To: binutils

Please excuse me if this is a duplicate. My first try seemed to go into the bit bucket.

 

We here at Boeing have a need to assemble code for an ancient processor - Teledyne TDY-43 - that is no longer supported by anybody. 64K max memory, all 16 bit instructions, 3 index registers and the usual kinds of things in that era processors.

 

I have not been able to discover how to define this processor to either as or ld. everything I can find tells how to use them with one of the predefined architectures.

 

I would appreciate finding out if this is possible, and if so where the documentation for making at least ld and possibly as work for this processor can be found.

 

Thanks for your help.

 

Robert Lindley

Robert.a.lindley@boeing.com <mailto:Robert.a.lindley@boeing.com> 

 

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: How does one define a custom architecture to as and ld
  2006-03-08 21:11 How does one define a custom architecture to as and ld Lindley, Robert A
@ 2006-03-08 21:20 ` Anthony Green
  2006-03-09 16:49 ` Nick Clifton
  1 sibling, 0 replies; 3+ messages in thread
From: Anthony Green @ 2006-03-08 21:20 UTC (permalink / raw)
  To: Lindley, Robert A; +Cc: binutils

On Wed, 2006-03-08 at 13:11 -0800, Lindley, Robert A wrote:
> We here at Boeing have a need to assemble code for an ancient processor - Teledyne TDY-43 - that is no longer supported by anybody. 64K max memory, all 16 bit instructions, 3 index registers and the usual kinds of things in that era processors.

If you just need gas, ld and binutils, then cgen may be the easiest way
to go...  http://sources.redhat.com/cgen

AG


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: How does one define a custom architecture to as and ld
  2006-03-08 21:11 How does one define a custom architecture to as and ld Lindley, Robert A
  2006-03-08 21:20 ` Anthony Green
@ 2006-03-09 16:49 ` Nick Clifton
  1 sibling, 0 replies; 3+ messages in thread
From: Nick Clifton @ 2006-03-09 16:49 UTC (permalink / raw)
  To: Lindley, Robert A; +Cc: binutils

Hi Robert,

> We here at Boeing have a need to assemble code for an ancient processor
 > Teledyne TDY-43 - that is no longer supported by anybody.

Oh you are going to have such fun...

> I have not been able to discover how to define this processor to either as or ld.

(Assuming that you want to use the binutils) You are going to have add 
support for this architecture yourself.  Anthony has already suggested 
using cgen, which is a good idea.  Alternatively you can have a go at 
adding the support by hand.  There is no documentation on how to do this 
however.  It is a case of learning by doing, and by copying what has 
already been done before.

The simplest way to approach this is to identify a supported CPU that is 
similar to your own and then copy-and-then-modify the files that support 
this other CPU.  For example you might like to look at the code that 
supports the Z80 or the D10V.

You are going to need to create the files:

    gas/config/tc-tdy.c
    gas/config/tc-tdy.h
    bfd/aout-tdy.c
    bfd/cpu-tdy.c
    include/aout/tdy.h

(I am assuming that you will have to use the AOUT binary file format. 
This may not be true.  If you have the choice, I would recommend using 
the ELF file format).

You will also need to modify (at a minimum) these files:

   gas/configure.tgt
   bfd/config.bfd
   bfd/targets.c
   ld/configure.tgt

If you are not familiar with the binutils sources then I would first 
recommend that you build the tools for a more familiar processor (eg the 
x86) and then experiment with them for a little bit, maybe adding a fake 
instruction, so that you get some familiarity with them before you start 
trying to add support for an entirely new target.

Cheers
   Nick

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2006-03-09 16:49 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-03-08 21:11 How does one define a custom architecture to as and ld Lindley, Robert A
2006-03-08 21:20 ` Anthony Green
2006-03-09 16:49 ` Nick Clifton

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).