🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: gnu.gcc.help
Article #42215

Re: Multi-Target GCC on Linux??

#42215
From: Kai Ruottu
Date: Sat, 30 Dec 1995 00:00
55 lines
3035 bytes
proteus@xmission.com (James J. Grisso) wrote:

>	I am looking for instructions to build GCC 2.7.x for an ELF Linux 
>system, but build it for multiple-uP targets. My target processors 
>include the MC680x0, 683xx, MC5600x DSP's, and the Analgo Devices 
>ADSP-210x0 and SHARC DSP's in addition to the usual intel-x86 CPU line.. 
>most of this code will be ROM'ed, so pointers to a ROM code splitting 
>utility would be helpful as well. TIA.
>	

 If all those processors are supported with gcc, so perhaps it's
possible to make all these compilers...

 I have some experience with the x86-world, lately trying to run three
gcc-compilers under DOS: the go32 (DJGPP), the emx and the Cygnus
Win32.  To integrate them better, I recompiled them and readjusted the
search paths for bins & headers, and tried to use the same binutils as
much as possible (--enable-targets="i386-go32,i386-emx,i386-win32")
etc. 

 I found that it's easy to use the same 'ar', 'nm', 'obj*',... and
even 'ld' for different targets (e.g. using "-Wl,-mi386pe" when using
a 'go32-as-default- ld' with a win32-gcc).  But to get 'as' to support
different targets is not possible in most cases.  Some near relatives,
like 'i386-coff' and 'i386-go32' seem to be capable to use the same
'as', but a 'go32-as-default-as' doesn't understand the output from a
win32-gcc (the Win32 'i386pe' format is some kind of 'extended-coff',
but 'i386go32' is near the 'plain vanilla coff').

 So I think you can use the same binutils (except 'as') for all your
targets.
 
 But I used separate gcc binaries for all the targets, although all
the executables were in go32 format... (the gcc's and binutils were
compiled with a cross-go32-compiler under Linux. BTW, the
cross-compiler itself wasn't 'Linux-format' at all -- it was a
SCO-version = i386coff, running under ibcs2 emulation...).

 I think it's not possible to use the same gcc-binaries to produce
assembly for different processors or  different formats for the same
processor (e.g. i386coff and i386aout)... If someone knows how this
can be done, so please tell me... there is never too much disk space,
those 'cc1*' binaries take it a lot....  To use the same gcc to
produce assembly for the COFF/386-family: i386coff, i386go32 and
i386pe, and use the same gas to handle the output, is my wish to the
gcc & gas developers...

 Reading the document "Embed with GNU"  at 'ftp.cygnus.com' (look the
directories starting with 'embed' or something...) could give some
hints for the ROM-things...

 Hope this will help, and Happy New Year...

 Kai
 
Technical Details
Message-ID: <4c4e2p$ldv@freenet.hut.fi>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail
References: <4bgu7i$2kv@news.xmission.com>

Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit
X-Google-Thread: 11318c,116287b122ee8ec8
X-Google-Attributes: gid11318c,public
From: karuottu@freenet.hut.fi (Kai Ruottu)
Subject: Re: Multi-Target GCC on Linux??
Date: 1995/12/30
Message-ID: <4c4e2p$ldv@freenet.hut.fi>
X-Deja-AN: 123243135
references: <4bgu7i$2kv@news.xmission.com>
organization: Freenet Finland
reply-to: karuottu@freenet.hut.fi
newsgroups: gnu.gcc.help