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