This is the mail archive of the libstdc++@sources.redhat.com mailing list for the libstdc++ project.


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

Re: [PATCH] libstdc++-v3 changes for glibc2.1



Thanks Theodore. Even with your patches installed, shadow headers
don't compile for me. This wouldn't really matter, but with your
patches non-shadowed headers don't work either.

In particular:

/mnt/hd/ahimsa/bld-x86-gcc-3-c/gcc/g++ -B/mnt/hd/ahimsa/bld-x86-gcc-3-c/gcc/ -nostdinc++ -L/mnt/hd/ahimsa/bld-x86-gcc-3-c/i686-pc-linux-gnu/libstd++-v3/src -L/mnt/hd/ahimsa/bld-x86-gcc-3-c/i686-pc-linux-gnu/libstd++-v3/src/.libs -B/mnt/hd/bliss/H-x86-gcc-3-c/i686-pc-linux-gnu/bin/ -B/mnt/hd/bliss/H-x86-gcc-3-c/i686-pc-linux-gnu/lib/ -isystem /mnt/hd/bliss/H-x86-gcc-3-c/i686-pc-linux-gnu/include -I/mnt/hd/bliss/src.gcc/libstdc++-v3/../gcc -I/mnt/hd/bliss/src.gcc/libstdc++-v3/../include -I/mnt/hd/bliss/src.gcc/libstdc++-v3/include/std -I/mnt/hd/bliss/src.gcc/libstdc++-v3/include/c -I/mnt/hd/bliss/src.gcc/libstdc++-v3/libsupc++ -I/mnt/hd/bliss/src.gcc/libstdc++-v3/include -I.. -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 -ggdb -c /mnt/hd/bliss/src.gcc/libstdc++-v3/libsupc++/del_op.cc  -fPIC -DPIC -o del_op.o
/mnt/hd/bliss/src.gcc/libstdc++-v3/libsupc++/new:54: `size_t' undeclared in 
   namespace `std'

Email on this topic has crossed and re-crossed the same ground. Steven
King also tried a patch to libsupc++ files in a similar vein, and I
rejected it for the time being because of this. 

/rant
g++ has to start treating builtins in namespace std:: before shadow
header work can progress.
/rant

Thus your libsupc++ patches can't go in.....

> First: it seems that the current settings of libstdc++-v3 is highly
> dependent on the use of the newest glibc which is not installed on my
> machine. This was easy to correct with some typedefs as the new glibc
> is careful to provide preprocessor macros (first two hunks of the
> patch below). Reading Ulrich latest messages, maybe the best approach
> would have been to create a file specific for glibc-2.1 targets and
> not clutter the current file (let me know -- and please give me hints
> on how to do that -- and I'll update the patch)...

These patches seem fine. It would be nice to eventually put this stuff
into config/os/gnu-linux/os_defines.h but the shadow header work is
not ready to be generalized yet.

> One header is exception and there is a source file called
> exception.cc. Both those files are declared properly within
> Makefile.am but exception.cc being newer than exception, make was
> attempting to regenerate it from exception.cc (of course with the
> wrong options). I corrected that by touching the file exception, but
> there should be better ways to do that (possibly by stating an
> explicit dependency exception: in Makefile.am, but I'm not sure this
> is the best solution, renaming exception.cc might be better).

I too have noticed this. Renaming exception.cc to work around this bug
seems a little silly. I touched exception in libsupc++ and everything
is fine, but that seems goofy.

Alexadre? Any words of advice?

> Finally, I had problems with libtool because it seems that the tag CXX
> is defined with one set of options to g++ at configure time but used
> with a slightly different set when one is doing make bootstrap. Can
> libtool guru (Alexandre?) point what the proper correction is ?  Just
> typing make at the libstdc++-v3 level seems to work fine...

Alexandre already answered this, and it should be fixed by the time
you read this. Thanks Alexandre!

-benjamin

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