This is the mail archive of the
libstdc++@sources.redhat.com
mailing list for the libstdc++ project.
Re: armv4l bootstrap problem in libstdc++-v3
- To: Rod Stewart <stewart at netwinder dot org>, mmitchel at codesourcery dot com
- Subject: Re: armv4l bootstrap problem in libstdc++-v3
- From: Richard Earnshaw <rearnsha at arm dot com>
- Date: Fri, 15 Dec 2000 18:54:40 +0000
- Cc: gcc-bugs at gcc dot gnu dot org, libstdc++ at gcc dot gnu dot org
- Cc: rearnsha at arm dot com
- Organization: ARM Ltd.
- Reply-To: rearnsha at arm dot com
[It's taken me most of today to get this far, the ARM back-end is not a
place I considered looking for a front-end bug ;-[
This is being triggered by the following code that Nick recently added:
arm.c:
void
arm_init_builtins()
{
tree endlink = tree_cons (NULL_TREE, void_type_node, NULL_TREE);
tree int_endlink = tree_cons (NULL_TREE, integer_type_node, endlink);
tree pchar_type_node = build_pointer_type (char_type_node);
tree int_ftype_int, void_ftype_pchar;
/* void func (void *) */
void_ftype_pchar
= build_function_type (void_type_node,
tree_cons (NULL_TREE, pchar_type_node, endlink));
...
However, I can see nothing wrong with the code above -- it's certainly not
semantically different from the way the i386 backend does this. But when
I comment the code out the bug goes away.
Somehow, with the above code in place, the code in
libstdc++-v3/include/backward/strstream that defines void _M_free (char*)
is getting mangled at some point between the definition and its use in
src/strstream.cc
I'm afraid I really don't understand enough about the way the front-end
(particularly the C++ front-end) works, so I've no idea how to take this
forward.
Mark (or one of the C++ experts), can you shed any light on this? it's
causing a fairly major hold-up.
>
> I've been seeing this error since Dec. 6th (although my last fully
> successful bootstrap was on Dec. 3rd). CVS trees are pulled shortly after
> 12 AM EST.
>
> This is a native build on armv4l-unknown-linux-gnu, picked up on the
> nigthly builds...
>
> [build@compton gcc]$ ./xgcc -v
> Using builtin specs.
> Configured with: /home/build-rpm/BUILD/gcc/configure --enable-debug
> --prefix=/usr/local --with-cpu=strongarm --enable-shared
> --enable-threads=posix --without-cvs armv4l-unknown-linux-gnu
> gcc version 2.97 20001208 (experimental)
>
>
> The Error message I get follows. I can send any more info which is
> needed, simply ask.
>
> Thanks,
> -Rms
>
> /home/build-rpm/BUILD/t/gcc/g++ -B/home/build-rpm/BUILD/t/gcc/ -nostdinc++
> -L/home/build-rpm/BUILD/t/armv4l-unknown-linux-gnu/libstdc++-v3/src
> -L/home/build-rpm/BUILD/t/armv4l-unknown-linux-gnu/libstdc++-v3/src/.libs
> -B/usr/local/armv4l-unknown-linux-gnu/bin/
> -B/usr/local/armv4l-unknown-linux-gnu/lib/ -isystem
> /usr/local/armv4l-unknown-linux-gnu/include -nostdinc++
> -I/home/build-rpm/BUILD/gcc/libstdc++-v3/include/std
> -I/home/build-rpm/BUILD/gcc/libstdc++-v3/include/c
> -I/home/build-rpm/BUILD/gcc/libstdc++-v3/libsupc++
> -I/home/build-rpm/BUILD/gcc/libstdc++-v3/include -I../libio
> -I/home/build-rpm/BUILD/gcc/libstdc++-v3/libio
> -I/home/build-rpm/BUILD/gcc/libstdc++-v3/libmath -I../include -g -O2
> -fvtable-thunks -D_GNU_SOURCE -fno-implicit-templates -Wall -Wno-format -W
> -Wwrite-strings -Winline -fdiagnostics-show-location=once
> -ffunction-sections -fdata-sections -O0 -ggdb3 -c
> /home/build-rpm/BUILD/gcc/libstdc++-v3/src/strstream.cc -fPIC -DPIC -o
> .libs/strstream.o
> /home/build-rpm/BUILD/gcc/libstdc++-v3/src/strstream.cc: In destructor
> `virtual
> std::strstreambuf::~strstreambuf()':
> /home/build-rpm/BUILD/gcc/libstdc++-v3/src/strstream.cc:111: no matching
> function for call to `std::strstreambuf::_M_free (char*)'
> /home/build-rpm/BUILD/gcc/libstdc++-v3/include/backward/strstream:77:
> candidates
> are: void std::strstreambuf::_M_free(char*, void, ...)
> /home/build-rpm/BUILD/gcc/libstdc++-v3/src/strstream.cc: In member
> function
> `virtual unsigned int std::strstreambuf::overflow(unsigned int)':
> /home/build-rpm/BUILD/gcc/libstdc++-v3/src/strstream.cc:158: no matching
> function for call to `std::strstreambuf::_M_free (char*&)'
> /home/build-rpm/BUILD/gcc/libstdc++-v3/include/backward/strstream:77:
> candidates
> are: void std::strstreambuf::_M_free(char*, void, ...)
> make[4]: *** [strstream.lo] Error 1
> make[4]: Leaving directory
> `/home/build-rpm/BUILD/t/armv4l-unknown-linux-gnu/libstdc++-v3/src'
>
>