avr-gcc-list
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[avr-gcc-list] Re: [avr-chat] AVR-G++ (Was: more of the same ;))


From: Rolf Magnus
Subject: [avr-gcc-list] Re: [avr-chat] AVR-G++ (Was: more of the same ;))
Date: Wed, 23 Aug 2006 13:50:36 +0200
User-agent: KMail/1.9.1

On Tuesday 15 August 2006 12:18, Joerg Wunsch wrote:
> [Let's move that out to avr-gcc-list instead, it's well on-topic
> there.]
>
> Rolf Magnus <address@hidden> wrote:
> >> Oh, while you are at it, move the vtables out to ROM, please. :-)
> >
> > I'd really love that. Would try it myself, but I guess it would
> > require a lot of hard work to dig into the g++ code for someone who
> > has never looked into it.
>
> I have no idea about it.  I've got already enough AVR stuff at my
> hands, so I don't volunteer to become Mr. AVR-G++. ;-)
>
> Speaking about AVR-G++, I filed a GCC bug report yesterday:
>
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28718
>
> By comparision with my FreeBSD host's G++, it appears to be a feature
> they normally link libstdc++ and libm before any user-supplied
> libraries.  As on the AVR, there is no libstdc++, libgcc is (ab)used
> instead.

I guess this is caused by the following (from gcc/config/avr/avr.h):

#define LIBSTDCXX "-lgcc"
/* No libstdc++ for now.  Empty string doesn't work.  */

> This causes really ``funny'' behaviour.  In the simpler 
> case, it just causes a lot of bloat to be added from libgcc.a (rather
> than the hand-tunded stuff from libm.a), and in the case where a user
> forced the floating-point printf library, it causes double definitions
> of external symbols.

We could start writing a real libstdc++ replacement. Of course, large parts of 
the C++ standard library don't make much sense on the AVR, but there could be 
some useful standard stuff and some additional AVR specific things that could 
be added. Or some minimalistic replacement for the iostreams. Consider being 
able to have a cout on the AVR. It could even take less program space than 
printf, because you have a separate function for every data type, while 
printf most often includes lots of format conversions not needed in a 
particular situation.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]