GCC Target for TI C54x series of DSP.

Joseph S. Myers jsm@polyomino.org.uk
Fri Oct 1 14:18:00 GMT 2004


On Fri, 1 Oct 2004, Tim O'Callaghan wrote:

> I'm interested in getting GCC to cross compile for the C54x architecture. I
> realize that GCC already supports the C4x series of DSP, and that is what i
> shall start with as a base. I have a few questions though, before i get stuck
> into it.

If you search GCC Bugzilla for bugs with c4x target, you'll find three 
bugs open (12018, 14436, 16621) of which the latter two suggest this 
target is completely broken at present, so you may need to start by 
restoring it to working order.  (Unless you find the bugs are fixed but 
haven't been closed in Bugzilla, in which case you should report this to 
those bugs.)

> 2. There is a source forge project created,
> http://tic54x-gcc.sourceforge.net/, and its waiting for a baseline. Should i
> start with 3.4.2? or would an earlier/later version be a better choice?

Start with GCC CVS mainline (which will become 4.0).  For a minor target 
discretion might be granted to include non-regression bugfixes on a 
release branch which would not be considered safe for more widely used 
targets.

> 3. Any pitfalls, gotchas, trips and traps i should look out for?

Ensure all copyright assignments are in place at an early stage.

I presume that like C4x, C54x uses 32-bit bytes.  Parts of GCC are 
confused about the distinction between host and target bytes.  It may be a 
fair amount of work to sort this out properly.  As some examples, 
libcpp/charset.c:emit_numeric_escape doesn't handle target bytes wider 
than host bytes (this might not be important for typical DSP uses); what 
sort of bytes ASM_OUTPUT_ASCII takes is not defined; code extracting 
characters from string constants tends to presume host and target strings 
use bytes of the same width (and the internal format isn't well-defined in 
other cases).

-- 
Joseph S. Myers               http://www.srcf.ucam.org/~jsm28/gcc/
  http://www.srcf.ucam.org/~jsm28/gcc/#c90status - status of C90 for GCC 4.0
    jsm@polyomino.org.uk (personal mail)
    jsm28@gcc.gnu.org (Bugzilla assignments and CCs)



More information about the Gcc mailing list