This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


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

Re: Using crosstool-ng 1.7.0, unable to find -lstdc++when compiling c++


On Tue, Jun 8, 2010 at 5:10 PM, Chris Morgan <chmorgan@gmail.com> wrote:
> On Tuesday, June 8, 2010, Yann E. MORIN <yann.morin.1998@anciens.enib.fr> wrote:
>> Chris, All,
>>
>> [Chris, please keep the list CCed next time]
>
> Whoops.
>
>
>>
>> On Tuesday 08 June 2010 22:18:12 Chris Morgan wrote:
>>> I picked bare metal because I'm trying to build a gnu toolchain to
>>> replace IARs arm toolchain.
>>
>> IARs == ?
>>
>
> IAR makes several kinds of embedded compilers but I wanted to try to
> build without their toolchain.
>
>
>
>>> We are using Seggers embOS on the board right now so
>>> picking a linux target didn't seem to make sense.
>>
>> OK, so you do have a reason for bare-metal, then. Better check the obvious
>> first... :-)
>>
>>> Does picking bare mean that c++ isn't possible using the gcc included
>>> stdc++?
>>
>> Looks like it, indeed. As a wild guess, I'd say that libstd++ has a
>> 'dependency' upon the hosting system, and when you do target bare-metal,
>> you have to provide low-level functions that are required by libstdc++.
>>
>> Apart that, I don't know. I don't use bare-metal much these days, and
>> I never ever used C++ on bare-metal...
>>
>
> Hmm. I was also planning on building a mico32 toolchain at some point
> but I would also need c++ support there as well on a bare metal
> system.
>
> I looked through the build log but don't see any warnings about c++ or
> stdc++ in gcc's configure or build output..
>
> I'm not sure when during the gcc build stdc++ is built. I can try a
> Linux x86 build to see.
>
> Chris
>

I think I've made some progress. It looks like the arguments passed to
the makefile in build-cc-core-baremetal are missing a target that
would have built libstdc++.a.

If I run 'make' with no arguments in build-cc-core-baremetal I see
several libraries built, including libstdc++. A 'find -name *.a' finds
libstdc++.a after the make.

What I can't tell is where in scripts/gcc.sh, it looks like right at
line 216 or 219, and what target it missing. I looked in the Makefile
but I can't figure out which target to use. Maybe something changed in
the later releases of gcc that moved the libstdc++ target outside of
the ones specified in gcc.sh?

Chris

--
For unsubscribe information see http://sourceware.org/lists.html#faq


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