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