This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Getting started with building a GCC cross-compiler


A bit of help needed, and much appreciated (Thanks
to Brian and Andrew for clues already provided)...

Background:
I'm trying to build a cygwin cross-compiler for MIPS.
Why ? Our chip vendor provided a GCC C, but no C++.
I've got a lot of C++ code I'd like to run on the part.
The vendor released per GPL the sources they used.
I'm using 3.4.4 as the build compiler, and the
vendor-provided source for the cross-compiler is also
3.4.4-based.

Other background:
In decades past I have written compilers, and I have
adapted another C++ compiler to run bare-metal and
later on an embedded OS I wrote. Thus the low-level
concepts are all very familiar, but I'm just starting
to learn about GCC.

So far:
I have, despite a snarl of dependency traps, stuff
not distributed via cygwin (or distributed non-working)
and guile-less... never mind. So far, I have built a
cross-compiler that compiles C++ OK, and for trivial
test classes runs C++ on my target hardware. I've included
the configure parameters below (provided by the vendor
and mostly matching that reported by gcc -v, which is
also reported below as requested by Andrew).

I'm confused about the supporting libraries.

I hoped (OK, wished) that "make" would create a ready-
to-package cross-compiler including:
- executables (OK so far)
- set of libraries for the target (built by running the
  newly-built cross-compiler)
- the set of include files required for the selected
  language targets
I hoped that the includes/libraries would implement
C and C++ as possible bare-metal. That is, minus file
IO etc. or with harmless stubs to be replaced later
as needed. The vendor has the bare metal adaption for
malloc-level utilities in libgcc.

While I did get a complete set of executables from
the make, I didn't get libgcc, libstdc++, nor did I get
the include files. What am I missing here ?

I need to get the C++ libraries built (and then I'll
see what work I must do to adapt to the bare-metal
environment).

I'd be grateful for any pointers, directions to
documentation I should study, etc...


=== Configure parameters: ../src/configure \ --target=pic32mx \ --program-prefix=pic32- \ --enable-languages=c,c++ \ --prefix=$WORKING_DIR/release \ --libexecdir=$WORKING_DIR/release/pic32mx/bin \ --disable-nls \ --disable-tui --disable-gdbtk --disable-shared --enable-static \ --disable-threads --with-dwarf2 --enable-multilib \ --with-lib-path=: --without-headers \

==== Existing cross-compiler -v output:
Configured with: ../src/configure --target=pic32mx --program-prefix=pic32-
--enable-languages=c
--prefix =/home/c11067/src/MPLABC32/pic32-microchip-release-1.04-freeze-20080915/pic32-tools
--libexecdir=/home/c11067/src/MPLABC32/pic32-microchip-release-1.04-freeze-20080915/pic32-tools/pic32mx/bin
--build=i686-pc-linux-gnu --host=i586-mingw32msvc
--disable-nls --disable-tui --disable-gdbtk --disable-shared --enable-static --disable-threads
--disable-bootstrap --with-dwarf2 --enable-multilib --without-newlib --with-lib-path=:
Thread model: posix
gcc version 3.4.4 Microchip MPLAB C Compiler for PIC32 MCUs v1.04-20080908



Dave Nadler, USA East Coast voice (978) 263-0097, drn@nadler.com




Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]