public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug libstdc++/14720] New: Undefined reference to `std::basic_ios<char, std::char_traits<char> >::_M_setstate(std::_Ios_Iostate)
@ 2004-03-24 17:21 schoen at ztt dot fh-worms dot de
2004-03-24 17:25 ` [Bug libstdc++/14720] " schoen at ztt dot fh-worms dot de
` (7 more replies)
0 siblings, 8 replies; 9+ messages in thread
From: schoen at ztt dot fh-worms dot de @ 2004-03-24 17:21 UTC (permalink / raw)
To: gcc-bugs
Here is the output of: "gcc -v -save-temps all-your-options source-file"
Compile command:
g++ -v -save-temps -I
/home/schoen/src/projects/meprosCpp/trunk/3rdparty/smartAssert -I
/home/schoen/src/projects/meprosCpp/trunk/3rdparty/boost/linux Main.cpp
Compiler Output:
Reading specs from /usr/lib/gcc-lib/i586-mandrake-linux-gnu/3.3.2/specs
Configured with: ../configure --prefix=/usr --libdir=/usr/lib
--with-slibdir=/lib --mandir=/usr/share/man --infodir=/usr/share/info
--enable-shared --enable-threads=posix --disable-checking --enable-long-long
--enable-__cxa_atexit --enable-clocale=gnu
--enable-languages=c,c++,ada,f77,objc,java,pascal --host=i586-mandrake-linux-gnu
--with-system-zlib
Thread model: posix
gcc version 3.3.2 (Mandrake Linux 10.0 3.3.2-6mdk)
/usr/lib/gcc-lib/i586-mandrake-linux-gnu/3.3.2/cc1plus -E -D__GNUG__=3 -quiet
-v -I /home/schoen/src/projects/meprosCpp/trunk/3rdparty/smartAssert -I
/home/schoen/src/projects/meprosCpp/trunk/3rdparty/boost/linux -D__GNUC__=3
-D__GNUC_MINOR__=3 -D__GNUC_PATCHLEVEL__=2 -D_GNU_SOURCE Main.cpp Main.ii
ignoring nonexistent directory "/usr/i586-mandrake-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:
/home/schoen/src/projects/meprosCpp/trunk/3rdparty/smartAssert
/home/schoen/src/projects/meprosCpp/trunk/3rdparty/boost/linux
/usr/include/c++/3.3.2
/usr/include/c++/3.3.2/i586-mandrake-linux-gnu
/usr/include/c++/3.3.2/backward
/usr/local/include
/usr/lib/gcc-lib/i586-mandrake-linux-gnu/3.3.2/include
/usr/include
End of search list.
/usr/lib/gcc-lib/i586-mandrake-linux-gnu/3.3.2/cc1plus -fpreprocessed Main.ii
-quiet -dumpbase Main.cpp -auxbase Main -version -o Main.s
GNU C++ version 3.3.2 (Mandrake Linux 10.0 3.3.2-6mdk) (i586-mandrake-linux-gnu)
compiled by GNU C version 3.3.2 (Mandrake Linux 10.0 3.3.2-6mdk).
GGC heuristics: --param ggc-min-expand=64 --param ggc-min-heapsize=64306
as -V -Qy -o Main.o Main.s
GNU assembler version 2.14.90.0.7 (i586-mandrake-linux-gnu) using BFD version
2.14.90.0.7 20031029
/usr/lib/gcc-lib/i586-mandrake-linux-gnu/3.3.2/collect2 --eh-frame-hdr -m
elf_i386 -dynamic-linker /lib/ld-linux.so.2
/usr/lib/gcc-lib/i586-mandrake-linux-gnu/3.3.2/../../../crt1.o
/usr/lib/gcc-lib/i586-mandrake-linux-gnu/3.3.2/../../../crti.o
/usr/lib/gcc-lib/i586-mandrake-linux-gnu/3.3.2/crtbegin.o
-L/usr/lib/gcc-lib/i586-mandrake-linux-gnu/3.3.2
-L/usr/lib/gcc-lib/i586-mandrake-linux-gnu/3.3.2/../../.. Main.o -lstdc++ -lm
-lgcc_s -lgcc -lc -lgcc_s -lgcc
/usr/lib/gcc-lib/i586-mandrake-linux-gnu/3.3.2/crtend.o
/usr/lib/gcc-lib/i586-mandrake-linux-gnu/3.3.2/../../../crtn.o
Main.o(.gnu.linkonce.t._ZSt7getlineIcSt11char_traitsIcEN5boost12smart_assert7Private18smart_assert_allocIcEEERSt13basic_istreamIT_T0_ESB_RSbIS8_S9_T1_ES8_+0x18f):
In function `std::basic_istream<char, std::char_traits<char> >&
std::getline<char, std::char_traits<char>,
boost::smart_assert::Private::smart_assert_alloc<char>
>(std::basic_istream<char, std::char_traits<char> >&, std::basic_string<char,
std::char_traits<char>, boost::smart_assert::Private::smart_assert_alloc<char>
>&, char)':
: undefined reference to `std::basic_ios<char, std::char_traits<char>
>::_M_setstate(std::_Ios_Iostate)'
collect2: ld returned 1 exit status
Additional Information:
The problem also occurs on Gentoo Linux with gcc 3.3.2, and also with gcc 3.3.3
on Mandrake 10.0.
The problem does NOT occur with gcc 3.3.1 on Mandrake 10.0 (I didn't test gcc
3.3.1 on Gentoo).
The problem does NOT occur when additionally linking against the static library:
libstdc++.a.
--
Summary: Undefined reference to `std::basic_ios<char,
std::char_traits<char> >::_M_setstate(std::_Ios_Iostate)
Product: gcc
Version: 3.3.2
Status: UNCONFIRMED
Severity: critical
Priority: P2
Component: libstdc++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: schoen at ztt dot fh-worms dot de
CC: gcc-bugs at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14720
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug libstdc++/14720] Undefined reference to `std::basic_ios<char, std::char_traits<char> >::_M_setstate(std::_Ios_Iostate)
2004-03-24 17:21 [Bug libstdc++/14720] New: Undefined reference to `std::basic_ios<char, std::char_traits<char> >::_M_setstate(std::_Ios_Iostate) schoen at ztt dot fh-worms dot de
@ 2004-03-24 17:25 ` schoen at ztt dot fh-worms dot de
2004-03-24 17:30 ` pinskia at gcc dot gnu dot org
` (6 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: schoen at ztt dot fh-worms dot de @ 2004-03-24 17:25 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From schoen at ztt dot fh-worms dot de 2004-03-24 17:25 -------
Created an attachment (id=5992)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=5992&action=view)
Compressed *.ii file to reproduce the error.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14720
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug libstdc++/14720] Undefined reference to `std::basic_ios<char, std::char_traits<char> >::_M_setstate(std::_Ios_Iostate)
2004-03-24 17:21 [Bug libstdc++/14720] New: Undefined reference to `std::basic_ios<char, std::char_traits<char> >::_M_setstate(std::_Ios_Iostate) schoen at ztt dot fh-worms dot de
2004-03-24 17:25 ` [Bug libstdc++/14720] " schoen at ztt dot fh-worms dot de
@ 2004-03-24 17:30 ` pinskia at gcc dot gnu dot org
2004-03-29 17:54 ` bkoz at gcc dot gnu dot org
` (5 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-03-24 17:30 UTC (permalink / raw)
To: gcc-bugs
--
What |Removed |Added
----------------------------------------------------------------------------
Severity|critical |normal
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14720
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug libstdc++/14720] Undefined reference to `std::basic_ios<char, std::char_traits<char> >::_M_setstate(std::_Ios_Iostate)
2004-03-24 17:21 [Bug libstdc++/14720] New: Undefined reference to `std::basic_ios<char, std::char_traits<char> >::_M_setstate(std::_Ios_Iostate) schoen at ztt dot fh-worms dot de
2004-03-24 17:25 ` [Bug libstdc++/14720] " schoen at ztt dot fh-worms dot de
2004-03-24 17:30 ` pinskia at gcc dot gnu dot org
@ 2004-03-29 17:54 ` bkoz at gcc dot gnu dot org
2004-03-29 18:55 ` bkoz at gcc dot gnu dot org
` (4 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: bkoz at gcc dot gnu dot org @ 2004-03-29 17:54 UTC (permalink / raw)
To: gcc-bugs
--
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|unassigned at gcc dot gnu |bkoz at gcc dot gnu dot org
|dot org |
Status|UNCONFIRMED |ASSIGNED
Ever Confirmed| |1
Last reconfirmed|0000-00-00 00:00:00 |2004-03-29 17:54:48
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14720
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug libstdc++/14720] Undefined reference to `std::basic_ios<char, std::char_traits<char> >::_M_setstate(std::_Ios_Iostate)
2004-03-24 17:21 [Bug libstdc++/14720] New: Undefined reference to `std::basic_ios<char, std::char_traits<char> >::_M_setstate(std::_Ios_Iostate) schoen at ztt dot fh-worms dot de
` (2 preceding siblings ...)
2004-03-29 17:54 ` bkoz at gcc dot gnu dot org
@ 2004-03-29 18:55 ` bkoz at gcc dot gnu dot org
2004-05-14 15:29 ` cvs-commit at gcc dot gnu dot org
` (3 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: bkoz at gcc dot gnu dot org @ 2004-03-29 18:55 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From bkoz at gcc dot gnu dot org 2004-03-29 18:55 -------
I'm not quite sure where these _M_setstate references are coming from. From your
(huge) preprocessed source, I'm guessing:
%g++ 14720.ii
/tmp/ccv13WmI.o(.gnu.linkonce.t._ZSt7getlineIcSt11char_traitsIcEN5boost12smart_assert7Private18smart_assert_allocIcEEERSt13basic_istreamIT_T0_ESB_RSbIS8_S9_T1_ES8_+0x18f):
In function `std::basic_istream<char, std::char_traits<char> >&
std::getline<char, std::char_traits<char>,
boost::smart_assert::Private::smart_assert_alloc<char>
>(std::basic_istream<char, std::char_traits<char> >&, std::basic_string<char,
std::char_traits<char>, boost::smart_assert::Private::smart_assert_alloc<char>
>&, char)':
: undefined reference to `std::basic_ios<char, std::char_traits<char>
>::_M_setstate(std::_Ios_Iostate)'
collect2: ld returned 1 exit status
So, _M_setstate cannot be found. Because this works with static, and not shared,
this indicates something's up with the link map exports.
This doesn't happen with the 3.4/3.5 link maps:
%readelf -s --wide libstdc++.so.6.0.0 | grep _M_setstate
885: 00057430 41 FUNC WEAK DEFAULT 11
_ZNSt9basic_iosIcSt11char_traitsIcEE11_M_setstateESt12_Ios_Iostate@@GLIBCXX_3.4
1721: 000577b0 41 FUNC WEAK DEFAULT 11
_ZNSt9basic_iosIwSt11char_traitsIwEE11_M_setstateESt12_Ios_Iostate@@GLIBCXX_3.4
1756: 00057430 41 FUNC WEAK DEFAULT 11
_ZNSt9basic_iosIcSt11char_traitsIcEE11_M_setstateESt12_Ios_Iostate
2592: 000577b0 41 FUNC WEAK DEFAULT 11
_ZNSt9basic_iosIwSt11char_traitsIwEE11_M_setstateESt12_Ios_Iostate
... but is visible with 3.3.x:
%readelf -s --wide libstdc++.so.5.0.5 | grep _M_setstate
426: 000475b0 46 FUNC LOCAL DEFAULT 11
_ZNSt9basic_iosIcSt11char_traitsIcEE11_M_setstateESt12_Ios_Iostate
507: 000480e0 46 FUNC LOCAL DEFAULT 11
_ZNSt9basic_iosIwSt11char_traitsIwEE11_M_setstateESt12_Ios_Iostate
So, the solution seems to b pretty straight forward, in that _M_setstate bits
need to be added to the link map for 3.3.x.
The 3.4/3.5 link map exports this with:
std::i[a-n]*;
Probably the std::string backflips on the 3.3. branch are getting in the way for
that version of the sources.
-benjamin
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14720
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug libstdc++/14720] Undefined reference to `std::basic_ios<char, std::char_traits<char> >::_M_setstate(std::_Ios_Iostate)
2004-03-24 17:21 [Bug libstdc++/14720] New: Undefined reference to `std::basic_ios<char, std::char_traits<char> >::_M_setstate(std::_Ios_Iostate) schoen at ztt dot fh-worms dot de
` (3 preceding siblings ...)
2004-03-29 18:55 ` bkoz at gcc dot gnu dot org
@ 2004-05-14 15:29 ` cvs-commit at gcc dot gnu dot org
2004-05-14 18:08 ` pinskia at gcc dot gnu dot org
` (2 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2004-05-14 15:29 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From cvs-commit at gcc dot gnu dot org 2004-05-13 21:33 -------
Subject: Bug 14720
CVSROOT: /cvs/gcc
Module name: gcc
Branch: gcc-3_3-branch
Changes by: bkoz@gcc.gnu.org 2004-05-13 21:32:57
Modified files:
libstdc++-v3 : ChangeLog configure configure.in
libstdc++-v3/config: linker-map.gnu
libstdc++-v3/testsuite: abi_check.cc
Log message:
2004-05-13 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/14720
* config/linker-map.gnu: Export basic_ios::_M_setstate.
* testsuite/abi_check.cc (check_version): Add GLIBCXX_3.2.4
to known versions.
* configure.in (libtool_VERSION): To 5:6:0.
* configure: Regenerated.
Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.1464.2.183&r2=1.1464.2.184
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/configure.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.286.2.20&r2=1.286.2.21
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/configure.in.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.110.2.11&r2=1.110.2.12
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/config/linker-map.gnu.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.25.2.9&r2=1.25.2.10
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/abi_check.cc.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.12.2.3&r2=1.12.2.4
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14720
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug libstdc++/14720] Undefined reference to `std::basic_ios<char, std::char_traits<char> >::_M_setstate(std::_Ios_Iostate)
2004-03-24 17:21 [Bug libstdc++/14720] New: Undefined reference to `std::basic_ios<char, std::char_traits<char> >::_M_setstate(std::_Ios_Iostate) schoen at ztt dot fh-worms dot de
` (4 preceding siblings ...)
2004-05-14 15:29 ` cvs-commit at gcc dot gnu dot org
@ 2004-05-14 18:08 ` pinskia at gcc dot gnu dot org
2004-05-27 2:08 ` cvs-commit at gcc dot gnu dot org
2004-05-27 19:25 ` cvs-commit at gcc dot gnu dot org
7 siblings, 0 replies; 9+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-05-14 18:08 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2004-05-14 12:25 -------
Fixed for 3.3.4.
--
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution| |FIXED
Target Milestone|--- |3.3.4
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14720
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug libstdc++/14720] Undefined reference to `std::basic_ios<char, std::char_traits<char> >::_M_setstate(std::_Ios_Iostate)
2004-03-24 17:21 [Bug libstdc++/14720] New: Undefined reference to `std::basic_ios<char, std::char_traits<char> >::_M_setstate(std::_Ios_Iostate) schoen at ztt dot fh-worms dot de
` (5 preceding siblings ...)
2004-05-14 18:08 ` pinskia at gcc dot gnu dot org
@ 2004-05-27 2:08 ` cvs-commit at gcc dot gnu dot org
2004-05-27 19:25 ` cvs-commit at gcc dot gnu dot org
7 siblings, 0 replies; 9+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2004-05-27 2:08 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From cvs-commit at gcc dot gnu dot org 2004-05-26 14:14 -------
Subject: Bug 14720
CVSROOT: /cvs/gcc
Module name: gcc
Branch: hammer-3_3-branch
Changes by: matz@gcc.gnu.org 2004-05-26 14:14:15
Modified files:
libstdc++-v3 : configure.in configure ChangeLog.hammer
Log message:
Backport from 3.3 branch:
2004-05-13 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/14720
* config/linker-map.gnu: Export basic_ios::_M_setstate.
* testsuite/abi_check.cc (check_version): Add GLIBCXX_3.2.4
to known versions.
* configure.in (libtool_VERSION): To 5:6:0.
* configure: Regenerated.
Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/configure.in.diff?cvsroot=gcc&only_with_tag=hammer-3_3-branch&r1=1.107.2.12&r2=1.107.2.13
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/configure.diff?cvsroot=gcc&only_with_tag=hammer-3_3-branch&r1=1.281.2.18&r2=1.281.2.19
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/ChangeLog.hammer.diff?cvsroot=gcc&only_with_tag=hammer-3_3-branch&r1=1.1.2.15&r2=1.1.2.16
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14720
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug libstdc++/14720] Undefined reference to `std::basic_ios<char, std::char_traits<char> >::_M_setstate(std::_Ios_Iostate)
2004-03-24 17:21 [Bug libstdc++/14720] New: Undefined reference to `std::basic_ios<char, std::char_traits<char> >::_M_setstate(std::_Ios_Iostate) schoen at ztt dot fh-worms dot de
` (6 preceding siblings ...)
2004-05-27 2:08 ` cvs-commit at gcc dot gnu dot org
@ 2004-05-27 19:25 ` cvs-commit at gcc dot gnu dot org
7 siblings, 0 replies; 9+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2004-05-27 19:25 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From cvs-commit at gcc dot gnu dot org 2004-05-27 09:56 -------
Subject: Bug 14720
CVSROOT: /cvs/gcc
Module name: gcc
Branch: hammer-3_3-branch
Changes by: matz@gcc.gnu.org 2004-05-27 09:56:03
Modified files:
libstdc++-v3/testsuite: abi_check.cc
libstdc++-v3/config: linker-map.gnu
Log message:
Backport from 3.3 branch:
2004-05-13 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/14720
* config/linker-map.gnu: Export basic_ios::_M_setstate.
* testsuite/abi_check.cc (check_version): Add GLIBCXX_3.2.4
to known versions.
* configure.in (libtool_VERSION): To 5:6:0.
* configure: Regenerated.
Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/abi_check.cc.diff?cvsroot=gcc&only_with_tag=hammer-3_3-branch&r1=1.10.2.4&r2=1.10.2.5
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/config/linker-map.gnu.diff?cvsroot=gcc&only_with_tag=hammer-3_3-branch&r1=1.22.2.9&r2=1.22.2.10
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14720
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2004-05-27 9:56 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-03-24 17:21 [Bug libstdc++/14720] New: Undefined reference to `std::basic_ios<char, std::char_traits<char> >::_M_setstate(std::_Ios_Iostate) schoen at ztt dot fh-worms dot de
2004-03-24 17:25 ` [Bug libstdc++/14720] " schoen at ztt dot fh-worms dot de
2004-03-24 17:30 ` pinskia at gcc dot gnu dot org
2004-03-29 17:54 ` bkoz at gcc dot gnu dot org
2004-03-29 18:55 ` bkoz at gcc dot gnu dot org
2004-05-14 15:29 ` cvs-commit at gcc dot gnu dot org
2004-05-14 18:08 ` pinskia at gcc dot gnu dot org
2004-05-27 2:08 ` cvs-commit at gcc dot gnu dot org
2004-05-27 19:25 ` cvs-commit at gcc dot gnu dot org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).