Can't build m68k-elf target with gcc-3.3.2 or gcc-3.4-20031224 tree
Bernardo Innocenti
bernie@develer.com
Mon Dec 29 02:46:00 GMT 2003
Paul Cadaret wrote:
> I have been trying various things for almost a week trying to get
> gcc-3.3.2 & gcc-3.4-20031224 to build properly for a target of
> 'm68k-elf'.
I've always been building the m68k-elf target successfully with
both 3.3.2 and 3.4.
> I have found several GCC-FAQs that provided several useful hints
> but I have yet to make it all the way through the build.
>
> I am running configure as follows:
>
> ---configure-complete---
> ${SHELL} ${SRCDIR}/configure \
> --prefix=$LOCAL \
> --target=m68k-elf \
> --program-prefix=m68k-elf- \
> --with-gnu-as \
> --with-gnu-ld \
> --enable-languages="c,c++,objc" \
> --disable-nls \
> --verbose \
> #
You can't enable c++ on m68k-elf because it's an embedded target
and libstdc++ requires an underlying C library to work.
Either do --enable-languages='c' or add --with-newlib and build
newlib along with (or before) GCC.
> I looked
> into the associated configure script for libstdc++-v3 but it is 60,000
> lines long and virtually unreadable.
Try reading the configure.in file, from which the configure script is
being generated.
> Q:
> 1. Is the 'm68k-elf' target still supported? If so, I'll file a bug
> report. If not, is there another m68k-elf target variant that is
> supported?
Yes it is. Please note that m68k-elf is an embedded target and is meant
to be used on bare metal boards only. No shared libraries or fancy stuff
is supported. There are several other m68k-*-* targets for specific OSes.
> I just want a gcc/g++ cross-compiler & libraries that I can adapt for a
> real-time kernel target. It's OK if some of the
> library routines make some incroorect assumptions about the OS
> environment for now.
Ah, ok then. If you just want the C++ compiler without the C++ support
library, you might delete the libstdc++-v3 directory before building.
When you're happy with the compiler, you could re-enable libstdc++ and
try to port it to your system. You just need to write (or modify) a
few headers containg glue code for ctype and locale stuff. Look in
libstdc++-v3/config/os/generic/ to get an idea.
--
// Bernardo Innocenti - Develer S.r.l., R&D dept.
\X/ http://www.develer.com/
More information about the Gcc
mailing list