Article View: gnu.gcc.help
Article #42215Re: Multi-Target GCC on Linux??
From: Kai Ruottu
Date: Sat, 30 Dec 1995 00:00
Date: Sat, 30 Dec 1995 00:00
55 lines
3035 bytes
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-mailReferences:
<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