On Thu, Oct 20, 2011 at 9:41 AM, xunxun <xunxun1...@gmail.com> wrote: > 于 2011/9/30 19:50, xunxun 写道: > > On 2011/9/30 7:02, xunxun wrote: > > Hi, all > > I found a weird problem when I rebuilt gdb using Ruben's gcc4.6 > stdthread package. > > Reproduce process: > > 1. Download Ruben's gcc4.6 stdthread 32bit package. > > 2. Configure gdb --with-python --with-expat > > 3. make script : > > make -j2 BOOT_CFLAGS="-pipe -g3 -Os " \ > CFLAGS="-pipe -g3 -Os " \ > CXXFLAGS="-pipe -g3 -Os -mthreads " \ > CFLAGS_FOR_TARGET="-pipe -g3 -Os " \ > CXXFLAGS_FOR_TARGET="-pipe -g3 -Os -mthreads " \ > BOOT_CXXFLAGS="-pipe -g3 -Os -mthreads " \ > CFLAGS_FOR_BUILD="-pipe -g3 -Os " \ > CXXFLAGS_FOR_BUILD="-pipe -g3 -Os -mthreads " \ > LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,--large-address-aware " \ > LDFLAGS_FOR_BUILD="-Wl,-O1 -Wl,--as-needed -Wl,--large-address-aware > " \ > BOOT_LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,--large-address-aware " \ > LDFLAGS_FOR_TARGET="-Wl,-O1 -Wl,--as-needed -Wl,--large-address-aware > -static " > > Then I use the new rebuilt gdb to debug other programs, and it can't list > source code, and if you input list twice, gdb will crash. > > The debug log: > -------------------------------------------------------------- > GNU gdb (GDB) 7.3.1.20110921-cvs > Copyright (C) 2011 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-w64-mingw32". > For bug reporting instructions, please see: > <http://www.gnu.org/software/gdb/bugs/>... > Reading symbols from E:\MyPack\MinGW\bin/gdb-1.exe...done. > (gdb) run > Starting program: E:\MyPack\MinGW\bin/gdb-1.exe > [New Thread 2212.0x1ba8] > GNU gdb (pcx32) 7.3.1 > Copyright (C) 2011 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-w64-mingw32". > For bug reporting instructions, please see: > <http://www.gnu.org/software/gdb/bugs/>. > (gdb) file a.exe > Reading symbols from e:\t\temp\a.exe...done. > (gdb) l > (gdb) No source file named main. > l > [New Thread 2212.0xe34] > [New Thread 2212.0x654] > > Program received signal SIGSEGV, Segmentation fault. > 0x0041ad8b in exceptions_state_mc (action=CATCH_THROWING) at > exceptions.c:126 > 126 switch (current_catcher->state) > (gdb) warning: Could not load shared library symbols for 20 libraries, e.g. > C:\Windows\system32\ntdll.dll. > Use the "info sharedlibrary" command to see the complete listing. > Do you need "set solib-search-path" or "set sysroot"? > warning: Could not load shared library symbols for > C:\Windows\SysWOW64\imm32.dll. > Do you need "set solib-search-path" or "set sysroot"? > warning: Could not load shared library symbols for > C:\Windows\syswow64\msctf.dll. > Do you need "set solib-search-path" or "set sysroot"? > warning: Could not load shared library symbols for > C:\Windows\syswow64\psapi.dll. > Do you need "set solib-search-path" or "set sysroot"? > bt > #0 0x0041ad8b in exceptions_state_mc (action=CATCH_THROWING) > at exceptions.c:126 > #1 0x0041ad0d in throw_exception (exception=...) at exceptions.c:240 > #2 0x0041ae68 in exceptions_state_mc (action=<optimized out>) > at exceptions.c:191 > #3 0x0041b1d4 in catch_errors (func=0x40181e <captured_main>, > func_args=0x28fe90, errstring=0x614070 "", mask=6) at exceptions.c:519 > #4 0x0040262c in gdb_main (args=0x28fe90) at ./main.c:949 > #5 0x00608ef0 in main (argc=1, argv=0x3f2fc0) at gdb.c:35 > (gdb) bt 30 > #0 0x0041ad8b in exceptions_state_mc (action=CATCH_THROWING) > at exceptions.c:126 > #1 0x0041ad0d in throw_exception (exception=...) at exceptions.c:240 > #2 0x0041ae68 in exceptions_state_mc (action=<optimized out>) > at exceptions.c:191 > #3 0x0041b1d4 in catch_errors (func=0x40181e <captured_main>, > func_args=0x28fe90, errstring=0x614070 "", mask=6) at exceptions.c:519 > #4 0x0040262c in gdb_main (args=0x28fe90) at ./main.c:949 > #5 0x00608ef0 in main (argc=1, argv=0x3f2fc0) at gdb.c:35 > (gdb) q > A debugging session is active. > > Inferior 1 [process 2212] will be killed. > > Quit anyway? (y or n) > ---------------------------------------------------------------------------- > > And if I replace "-Os" with "-O2" to rebuild again, gdb will work ok. > > In the same, my built posix thread with stdthread gcc 4.6 static edition > also has the issue, but my old built win32 thread gcc4.6 has not the > problem. > > I don't know why. > > Any ideas? > > Thanks. > > -- > Best Regards, > xunxun > > I rebuilt the latest gcc4.6 branch using win32 thread, and it's also crash. > So it's gcc's -Os bug? > But I only found the issue when I built gdb, other projects with "-Os" work > well. > > Ruben, can you try to build gdb with "-Os" using your edition, test it > debugging? > > Kai, what changes gcc's "-Os" from gcc4.6.1 to now, because I use gcc4.6.1 > release to build well. > > Thanks. > > -- > Best Regards, > xunxun > > gcc-4.6.2-RC-20111019 has not the problem. > May be solved.
What fixed it? Solved it or hidden it? > > -- > Best Regards, > xunxun -- O.S. ------------------------------------------------------------------------------ The demand for IT networking professionals continues to grow, and the demand for specialized networking skills is growing even more rapidly. Take a complimentary Learning@Ciosco Self-Assessment and learn about Cisco certifications, training, and career opportunities. http://p.sf.net/sfu/cisco-dev2dev _______________________________________________ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public