On 9/20/2011 9:20 AM, JonY wrote:
> On 9/20/2011 13:59, Kai Tietz wrote:
>> 2011/9/20 JonY:
>>> Its been used in the automated toolchain builds for sometime,
>>> seems like a good idea to enable it by default. It can be
>>> easily changed to match for all mingw as well if needed.
>> 
>> This patch looks reasonable to me. Note that this is no approval
>> for it, as I'm not a libstdc++ maintainer.  But I can confirm
>> that patch is ok from perspective of windows-target maintainer. 
>> Just one question I have here.  Why do we enable this option only
>> for w64 flavor?  AFAIK is mingw.org also building their libstdc++
>> with enabling this configure-option
> 
> OK "i?86-*-mingw* | x86_64-*-mingw*)" then, any mingw.org
> developers care to comment?
> 

Unfortunately, while very old (3.x?) versions of mingw.org gcc used
this option IIRC, neither the latest official, nor the immediately
previous official mingw.org version were compiled with that option:

 ../gcc-4.6.1/configure --enable-languages=c,c++,fortran,objc,obj-c++
--disable-sjlj-exceptions --with-dwarf2 --enable-shared
--enable-libgomp --disable-win32-registry --enable-libstdcxx-debug
--enable-version-specific-runtime-libs --build=mingw32 --prefix=/mingw

 ../gcc-4.5.2/configure
--enable-languages=c,c++,ada,fortran,objc,obj-c++
--disable-sjlj-exceptions --with-dwarf2 --enable-shared
--enable-libgomp --disable-win32-registry --enable-libstdcxx-debug
--enable-version-specific-runtime-libs --disable-werror
--build=mingw32 --prefix=/mingw


To match native mingw.org behavior, the cygwin->mingw.org-ish cross
toolchain is configured as:
Configured with:
/usr/src/packages/mingw-gcc/mingw-gcc-4.5.2-1/src/gcc-4.5.2/configure
--srcdir=/usr/src/packages/mingw-gcc/mingw-gcc-4.5.2-1/src/gcc-4.5.2
--prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin
--libexecdir=/usr/lib --datadir=/usr/share --localstatedir=/var
--sysconfdir=/etc --datarootdir=/usr/share
--docdir=/usr/share/doc/mingw-gcc -C --build=i686-pc-cygwin
--host=i686-pc-cygwin --target=i686-pc-mingw32
--with-sysroot=/usr/i686-pc-mingw32/sys-root
--with-build-sysroot=/usr/i686-pc-mingw32/sys-root --disable-multilib
--disable-win32-registry --enable-languages=c,c++,fortran,objc,obj-c++
--enable-libgomp --disable-sjlj-exceptions --enable-libstdcxx-debug
--enable-version-specific-runtime-libs --with-dwarf2 --disable-werror
--enable-lto


So, this would be a change in current mingw.org behavior.  I *was*
under the impression that this workaround for the old "can't pass
empty strings across DLL boundary" problem[1] was no longer necessary
in the gcc-4.x era, but I haven't tested the proposition.  Was I wrong
about that?

I'm not really opposed to making this change for i*86-pc-mingw -- and
now's the time to do it, as the recently released 4.6.1 mingw.org gcc
broke the C++ abi anyway, thanks to thiscall.

[1] http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24196

'course, Cesar will have to weigh in.

-- 
Chuck

Reply via email to