lists.zerezo.com
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
***BOGO*** Re: [Mingw-users] Test program crashes with g++ 4.2.1-dw2 using libstdc++_s
- Date: Wed, 30 Apr 2008 17:05:31 +0200
- From: Lothar May <mingw@xxxxxxxxxxxx>
- Subject: ***BOGO*** Re: [Mingw-users] Test program crashes with g++ 4.2.1-dw2 using libstdc++_s
Hi again,
OK just after sending this I finally solved it by adding -D_DLL, but why
does it link at all without?
Regards,
Lothar
Lothar May wrote:
> Hi,
>
> I've been testing mingw-g++ 4.2.1-dw2 on Windows XP as non-admin user
> using the dynamic runtime libraries. I renamed g++-dw2.exe to g++.exe
> and gcc-dw2.exe to gcc.exe.
>
> D:\Path with spaces\dev\workspace\test>g++ -v
> Using built-in specs.
> Target: mingw32
> Configured with: ../gcc-4.2.1-2-src/configure --with-gcc
> --enable-libgomp --host
> =mingw32 --build=mingw32 --target=mingw32 --program-suffix=-dw2
> --with-arch=i486
> --with-tune=generic --disable-werror --prefix=/mingw
> --with-local-prefix=/mingw
> --enable-threads --disable-nls
> --enable-languages=c,c++,fortran,objc,obj-c++,ad
> a --disable-win32-registry --disable-sjlj-exceptions
> --enable-libstdcxx-debug --
> enable-cxx-flags=-fno-function-sections -fno-data-sections
> --enable-version-spec
> ific-runtime-libs --disable-bootstrap
> Thread model: win32
> gcc version 4.2.1-dw2 (mingw32-2)
>
> I ran across the missing libgcc_s.a and solved this problem:
> http://lists-archives.org/mingw-users/07776-g-4-2-1-with-shared-libstdc-not-catchingexceptions.html
>
> D:\Path with spaces\mingw\bin>pexports libgcc_dw2_1.dll > libgcc_s.def
> D:\Path with spaces\mingw\bin>dlltool -d libgcc_s.def -l libgcc_s.a
> libgcc_dw2_1.dll
> D:\Path with spaces\dev\mingw\bin>move libgcc_s.a
> ..\lib\gcc\mingw32\4.2.1-dw2\
>
> Then I tested a simple hello world program main.cpp which uses iostreams:
>
> --cut here--
> #include <iostream>
>
> using namespace std;
>
> int
> main()
> {
> cout << "Test" << endl;
> return 0;
> }
> --cut here--
>
> It compiles/links fine, but it crashes with -lstdc++_s.
>
> D:\Path with spaces\dev\workspace\test>g++ -shared-libgcc main.cpp
> -lstdc++_s -o test
>
> D:\Path with spaces\dev\workspace\test>test
> (crash)
> (I was asked to send a bug report to Microsoft which I did, but I
> suppose that won't help ;-) )
>
> D:\Path with spaces\dev\workspace\test>gdb test
> GNU gdb 6.8
> Copyright (C) 2008 Free Software Foundation, Inc.
> License GPLv3+: GNU GPL version 3 or later
> <http://gnu.org/licenses/gpl.html>
> This is free software: you are free to change and redistribute it.
> There is NO WARRANTY, to the extent permitted by law. Type "show copying"
> and "show warranty" for details.
> This GDB was configured as "i686-pc-mingw32"...
> (gdb) run
> Starting program: D:\Path with spaces\dev\workspace\test/test.exe
> [New thread 3604.0xd80]
>
> Program received signal SIGSEGV, Segmentation fault.
> 0x66453f5c in std::ostream::sentry::sentry ()
> from D:\Path with spaces\dev\workspace\test\libstdc++_dw2_6.dll
> (gdb) bt
> #0 0x66453f5c in std::ostream::sentry::sentry ()
> from D:\Path with spaces\dev\workspace\test\libstdc++_dw2_6.dll
> #1 0x66470cfb in std::__ostream_insert<char, std::char_traits<char> > ()
> from D:\Path with spaces\dev\workspace\test\libstdc++_dw2_6.dll
> #2 0x6647269e in std::operator<< <std::char_traits<char> > ()
> from D:\Path with spaces\dev\workspace\test\libstdc++_dw2_6.dll
> #3 0x00401556 in main ()
> (gdb)
>
>
> Other variants work:
>
> D:\Path with spaces\dev\workspace\test>g++ -shared-libgcc main.cpp -o test
>
> D:\Path with spaces\dev\workspace\test>test
> Test
>
> D:\Path with spaces\dev\workspace\test>g++ main.cpp -o test
>
> D:\Path with spaces\dev\workspace\test>test
> Test
>
> As the release notes state that version 3.13 of mingw-runtime is
> required, I retried using this version instead of 3.14, with the same
> result.
>
> Any suggestions?
>
> Best regards,
>
> Lothar
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by the 2008 JavaOne(SM) Conference
> Don't miss this year's exciting event. There's still time to save $100.
> Use priority code J8TL2D2.
> http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
> _______________________________________________
> MinGW-users mailing list
> MinGW-users@xxxxxxxxxxxxxxxxxxxxx
>
> You may change your MinGW Account Options or unsubscribe at:
> https://lists.sourceforge.net/lists/listinfo/mingw-users
>
-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference
Don't miss this year's exciting event. There's still time to save $100.
Use priority code J8TL2D2.
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
MinGW-users mailing list
MinGW-users@xxxxxxxxxxxxxxxxxxxxx
You may change your MinGW Account Options or unsubscribe at:
https://lists.sourceforge.net/lists/listinfo/mingw-users