Hi Paulo, On Sun, Sep 6, 2015 at 6:13 PM, Paulo Caetano <[email protected]> wrote: > Hello. > > I've been experimenting building GCC with --enable-libstdcxx-debug. > > I'm stopping the process after make install (on the function build()), to > better understand what's being built, but there's one thing I'm not sure of > and I wonder if you could help me understand it. > > GCC docs say that configuring GCC with --enable-libstdcxx-debug will build > debug libraries "in addition to what is normally built", i.e., in addition > to the optimized libraries. > > I've tested this on Linux (Fedora 22, gcc 5.2.0), and it works as expected. > It builds two versions of libstdc++.a and a libstdc++.so > (libstdc++.so.6.0.21), which are installed in > <prefix>/lib/gcc/x86_64-redhat-linux/5.2.0 (optimized version, or "what is > normally built"), and in <prefix>/lib/gcc/x86_64-redhat-linux/5.2.0/debug > (debug version). > > However, using --enable-libstdcxx-debug on MSYS2 gives me a different > result. I got a single libstdc++.dll, in <prefix>/bin, and two versions of > libstdc++.a, one in <prefix>/lib/gcc/x86_64-w64-mingw32/5.2.0 and another in > <prefix>/lib/gcc/x86_64-w64-mingw32/5.2.0/debug. > > My first hypothesis was that --enable-libstdcxx-debug on MSYS2 was not > creating the debug DLL (which I expected to find in > <prefix>/lib/gcc/x86_64-w64-mingw32/5.2.0/debug). However, when I compared > the versions of libstdc++.dll created using --enable-libstdcxx-debug vs. > --disable-libstdcxx-debug, I noticed they were different. > > So, my conclusion, so far, is that --disable-libstdcxx-debug acts similar on > Linux and MSYS2, and that --enable-libstdcxx-debug, on MSYS2, has the > following behaviour: > - Does not create the libstdc++.dll that is "normally built", i.e., the > optimized version. > - Creates the debug version of libstdc++.dll and installs it in > <prefix>/bin. > - Creates the debug version of libstdc++.a and installs it in > <prefix>/lib/gcc/x86_64-w64-mingw32/5.2.0/debug. > - Created the libstdc++.a that is "normally built", i.e., the optimized > version, and installs it in <prefix>lib/gcc/x86_64-w64-mingw32/5.2.0. > > Is my reasoning correct, or am I missing something?
While I have some ideas about this, MSYS2 sticks to a fairly vanilla MinGW-w64/GCC setup. Therefore, this post is more appropriate on the MinGW-w64 mailinglist. There Kai, JonY and many other MinGW-w64 developers and users can aid the discussion. Can I ask that you post it there instead please? Best regards, Ray. > > Thanks for your help. > --- > Paulo Caetano > http://cidebycide.blogspot.pt/ > > ------------------------------------------------------------------------------ > > _______________________________________________ > Msys2-users mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/msys2-users > ------------------------------------------------------------------------------ _______________________________________________ Msys2-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/msys2-users
