This is the mail archive of the
cgen@sources.redhat.com
mailing list for the CGEN project.
Re: binutils porting to new CPU
Hi,
Thanks for the explanation. I took a closer look at the output files
(always a good idea before asking more questions :-).
I can identify an API that seems to be used for the assembler
instruction parsing part. There are a lot of other api parts
where I can not really identify what they are used for
Do you have a more detailed API description of what is generated and
how it should be used for porting the binutils? If not, could you maybe
provide me with enough information. I would volunteer to write it up
as a howto, together with my experience of the porting job.
Also gas/cgen.c contains code for fixups and parsing. How does all
this fit into the big picture of porting binutils to a new cpu target?
How do fixups and frags ??? fit into the API?
Sorry for asking those basic porting questions, but I'm trying to
get the big picture, so that I can determine how to tackle
the porting task best.
Esche
On Tuesday 28 October 2003 18:48, Frank Ch. Eigler wrote:
> Hi -
>
> > [...]
> > My research on the web shows, that for a complete port of the binutils
> > to a new cpu the follwing parts have to be modified/created:
> > [...]
> > include/opcodes/FOO.h - Port specific ISA encoding
> > opcodes/FOO-dis.c - Port specific disassembler routines
> > opcodes/FOO-opc.c - Port specific ISA encoding
>
> These are the only files generated by cgen for binutils, but you'll
> notice that these are the primary ones that contain the most complex
> aspects for supporting target processor.
>
> The others need to be built by hand. Of these, only the
> bfd/{*}-FOO.c file has given me particular headaches, having to
> represent object file relocations in a clunky way. (This part
> motivated Red Hat to build a reusable generic relocation engine
> for a particularly peculiar & reconfigurable target. This code
> has not been made public though AFAIK.)
>
>
> - FChE