binutils porting to new CPU
Ralph Escherich
esche@mobilesmartsinc.com
Wed Oct 29 02:20:00 GMT 2003
Hi,
I wanted to port the gnu gcc and binutils to a new cpu architecture. Searching
on the web revealed, that cgen should be able to generate all necessary
modifications for the binutils portion from a single cpu description file.
Searching through the cgen mailing list, I was able to get cgen running. It
generates appropriate files in the binutils/opcode directory, but nothing
else.
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:
Basically you will need to create these files. (Replace FOO with the
name of your chip):
gas/config/tc-FOO.h - Customisation of generic parts of the
assembler
gas/config/tc-FOO.c - Port specific parts of the assembler
include/{coff|elf}/FOO.h - Port specific header file
include/opcodes/FOO.h - Port specific ISA encoding
opcodes/FOO-dis.c - Port specific disassembler routines
opcodes/FOO-opc.c - Port specific ISA encoding
bfd/{elf32|coff}-FOO.c - Port specific relocation handlers
bfd/cpu-FOO.c - Port specific description of the CPU
ld/scripttempl/FOO.sc - Port specific linker template file
ld/emulparam/FOO.sh - Port specific linker customisation
You will also need to add support for your chip to the various
configuration files:
gas/configure.in
opcodes/configure.in
bfd/configure.in
bfd/config.bfd
bfd/archures.c
bfd/reloc.c
ld/configure.in
ld/configure.tgt
include/dis-asm.h
So my basic questions:
1.) Is cgen supposed to do all the above changes, file generations?
2.) If not all, what does it generate and how can it really be used?
Esche
More information about the Cgen
mailing list