On 3/11/22 16:12, Jonathan Wakely wrote:
On Fri, 11 Mar 2022 at 14:28, Detlef Vollmann wrote:
With this and the other fix I was able to build the complete
libstdc++ for AVR based on AVR Libc 2.0 (plus some ad hoc
AVR header fixes) from git master 5e28be89.

Nice. I finally figure out that I need to use --enable-libstdcxx *not*
--enable-libstdc++-v3 to build for AVR,
Yes, I had the same problem.
A comment in the 'configure' script still says libstdc++-v3
and in the configure docs at
<https://gcc.gnu.org/install/configure.html>
or
<https://gcc.gnu.org/onlinedocs/libstdc++/manual/configure.html>
there's neither :-(

and now I get errors due to
EOVERFLOW being undefined. Is that what you fixed?
One of them.

We should make that work. Arguably, all values of std::errc should
exist, even if the OS <errno.h> doesn't provide a constant. We could
define the missing ones ourselves, choosing numbers > 1000 (and hope
the OS uses small numbers for its own errno values).
I simply defined all that were required.

I've attached a tarball with all my header fixes.
To get them picked up while compiling libstdc++ I had to
put them into ${prefix}/avr/lib/include.

But these are really ad hoc, some of the problems I think should
be fixed in the libstdc++ sources.
E.g. I think it's wrong to expect that specific functions are
available if a respective header is available (e.g. close()
in unistd.h).

  Detlef

Attachment: avr-fixups.tar.bz2
Description: Binary data

Reply via email to