--with-arch=pentium4 --with-tune=core-avx-i
I only use it for some popurse or perf. (Some lto needs -msse2, or will
cause compiler ICE.)

--enable-cxx-flags='-fno-function-sections -fno-data-sections'
At present, MinGW target linker can't support --gc-sections, so
-fno-function-sections -fno-data-sections is not effective, and will
increase code size.
Kai has a patch to solve it, but after my test, something is wrong with
gcc4.7, I will check it again some time.

Ruben has explained other options.

And I don't know where is your problem, can you try my built :
http://pcxprj.googlecode.com/files/MinGW64CRT_gcc4.7.3release_sse2static_win32.7z


On Fri, May 3, 2013 at 1:53 AM, LRN <lrn1...@gmail.com> wrote:

> On 01.05.2013 18:56, xunxun wrote:
> > 于 2013/5/1 星期三 21:15, LRN 写道:
> >> On 01.05.2013 10:32, xunxun wrote:
> >>> On Wed, May 1, 2013 at 3:13 AM, LRN <lrn1...@gmail.com> wrote:
> >>>> On 30.04.2013 19:18, xunxun wrote:
> >>>>> 于 2013/4/24 星期三 19:12, LRN 写道:
> >>>>>> msgmerge.exe (from gettext, i guess) hangs up, consuming 100% of a
> CPU
> >>>>>> core, this is the backtrace:
> >>>>>> #0  0x74d53b64 in SleepEx () from C:\Windows\syswow64\KernelBase.dll
> >>>>>> #1  0x74d54498 in Sleep () from C:\Windows\syswow64\KernelBase.dll
> >>>>>> #2  0x6494406b in _spin_lite_lock (l=0x64943003 <mutex_ref+19>) at
> >>>>>> ../winpthreads-svn-r5792/src/spinlock.c:256
> >>>>>> #3  0x00000001 in ?? ()
> >>>>>> #4  0x64943003 in mutex_ref (m=0x11, m@entry=0x534fb4) at
> >>>>>> ../winpthreads-svn-r5792/src/mutex.c:60
> >>>>>> #5  0x6494317f in pthread_mutex_lock_intern (timeout=4294967295,
> >>>>>> m=0x534fb4) at ../winpthreads-svn-r5792/src/mutex.c:236
> >>>>>> #6  pthread_mutex_lock (m=m@entry=0x534fb4) at
> >>>>>> ../winpthreads-svn-r5792/src/mutex.c:223
> >>>>>> #7  0x64943482 in rwlock_gain_both_locks
> >>>>>> (rwlock=rwlock@entry=0x534fa0) at
> >>>>>> ../winpthreads-svn-r5792/src/rwlock.c:107
> >>>>>> #8  0x64943b5e in pthread_rwlock_wrlock
> >>>>>> (rwlock_=rwlock_@entry=0x6494f08c) at
> >>>>>> ../winpthreads-svn-r5792/src/rwlock.c:430
> >>>>>> #9  0x64944f26 in pthread_key_delete (key=0) at
> >>>>>> ../winpthreads-svn-r5792/src/thread.c:739
> >>>>>> #10 0x6360da61 in team_destructor () from
> f:\s31\mingw\bin\libgomp-1.dll
> >>>>>> #11 0x00000000 in ?? ()
> >>>>>>
> >>>>>> I'm using an svn-r5792 version of winpthreads + libgomp patches from
> >>>>>> ktietz.
> >>>>> Where is the libgomp patches?
> >>>> He pastebinned that patch at 2013-04-22 15:24:19 (that pastebin is
> >>>> no longer alive, so i've attached the copy that i've got back then).
> >>> And what's your gettext configure option?
> >>> I don't know whether gettext has one option which can only use
> >>> pthread lib but not use openmp.
> >> - --prefix=${prefix} \
> >> - --enable-shared --enable-static --enable-silent-rules \
> >> - --enable-threads=win32 \
> >> - --with-included-gettext --with-included-glib --with-included-libcroco
> \
> >> - --with-included-unistring --with-included-libxml \
> >> - --disable-rpath \
> >> - --without-emacs --disable-native-java --disable-curses \
> >>
> >> and i've added --disable-openmp for now, to work around this problem.
> >> Now that you've mentioned it, maybe i should use --enable-threads=posix
> >> with openmp?
> > Maybe using posix thread is right.
> > And I use my built gettext, but can't reproduce the issue (when running
> > msgmerge.exe --update -q nul nul)
> >
> > I use static winpthread and static posix gcc 4.7.3.
> >
> > My gettext configure option is :
> >
> > ./configure --prefix=/mingw/gettext \
> >    --disable-shared --enable-static \
> >    --enable-threads=posix \
> >    --with-included-gettext --with-included-glib --with-included-libcroco
> \
> >    --with-included-unistring --with-included-libxml \
> >    --disable-rpath --disable-nls \
> >    --without-emacs --disable-native-java --disable-curses \
> >    --enable-relocate
> >
> > My winpthread configure option is :
> >
> >    ./configure --prefix=/mingw --host=i686-w64-mingw32
> > --build=i686-w64-mingw32 --target=i686-w64-mingw32 --enable-static
> > --disable-shared
> >
> > My gcc configure option is :
> >
> > ../gcc-4.7.3/configure --prefix=/mingw \
> >               --with-arch=pentium4 --with-tune=core-avx-i \
> >               --build=i686-w64-mingw32 --host=i686-w64-mingw32
> > --target=i686-w64-mingw32 \
> >               --with-lto-plugin --with-host-libstdcxx=-lstdc++
> > --disable-bootstrap --disable-werror \
> >               --enable-languages=c,c++,fortran --enable-libgomp
> > --enable-threads=posix --enable-libstdcxx-threads
> > --enable-libstdcxx-time --enable-lto --with-system-zlib --with-libiconv \
> >               --enable-version-specific-runtime-libs
> > --enable-fully-dynamic-string --disable-libstdcxx-pch
> > --disable-libstdcxx-debug --enable-graphite \
> >               --disable-sjlj-exceptions --with-dwarf2 --disable-symvers
> > --enable-checking=release --enable-cxx-flags='-fno-function-sections
> > -fno-data-sections' \
> >               --enable-cloog-backend=isl --disable-shared --enable-static
> > --disable-win32-registry --disable-rpath --enable-plugins \
> >               --enable-libquadmath-support --enable-libquadmath
> > --disable-multilib --disable-ppl-version-check
> > --disable-cloog-version-check --with-gnu-as --with-gnu-ld \
> >               --disable-nls --with-pkgversion="pcx32"
> >
> >
> >
> >
> > I don't know where is your problem, but you can try
> > --enable-threads=posix to build gettext first. ( Maybe static winpthread
> > is better? )
> Tried building gcc (well, libgcc) posix thread support (surprisingly, it
> worked - i've built all prerequisites (mingw-w64-headers and crt,
> binutils, gmp, cloog, etc; and winpthreads) with rubenvb's compiler,
> then built gcc itself practically in one go!) AND building gettext with
> openmp & threads=posix.
> The problem with msgmerge remains :(
>
> I'm looking at your gcc configure, and things that caught my attention are:
> --with-arch=pentium4 --with-tune=core-avx-i
> Can it influence the code generation? I have no arch or tune options (so
> i guess a default is chosen; what is the default here?)
>
> --with-host-libstdcxx=-lstdc++
> I've used it before, but not anymore. Should be only needed for some
> builds.
>
> --disable-bootstrap
> I don't have that.
>
> --enable-libstdcxx-threads -enable-libstdcxx-time
> I don't have that yet.
>
> --enable-lto
> Don't have it, but it's enabled by default.
>
> --with-system-zlib --with-libiconv
> I don't have that, and i don't have zlib or libiconv when i build gcc,
> so built-in zlib is used, and i gcc has no iconv support (not sure where
> it's used...)
>
> --enable-version-specific-runtime-libs
> Not using that. Should i use that?
>
> --disable-libstdcxx-pch --disable-libstdcxx-debug
> Don't have that. Should i?
>
> --enable-graphite
> Don't have that. Looking at the log, i see that graphite*.c files are
> used, so it must be enabled by default (i do enable cloog and isl)
>
> --disable-sjlj-exceptions
> I'm enabling them instead. My gcc uses sjlj instead of dw
>
> --disable-symvers --enable-checking=release
> --enable-cxx-flags='-fno-function-sections -fno-data-sections'
> Don't have these. What do they do?
>
> --enable-libquadmath-support --enable-libquadmath
> Don't have these, but from the logs it seems that libquadmath is built
> by default anyway.
>
> And my gcc is 4.8.0, not 4.7.3
>
> --
> O< ascii ribbon - stop html email! - www.asciiribbon.org
>
>
> ------------------------------------------------------------------------------
> Introducing AppDynamics Lite, a free troubleshooting tool for Java/.NET
> Get 100% visibility into your production application - at no cost.
> Code-level diagnostics for performance bottlenecks with <2% overhead
> Download for free and get started troubleshooting in minutes.
> http://p.sf.net/sfu/appdyn_d2d_ap1
> _______________________________________________
> Mingw-w64-public mailing list
> Mingw-w64-public@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
>



-- 
Best Regards,
xunxun
------------------------------------------------------------------------------
Get 100% visibility into Java/.NET code with AppDynamics Lite
It's a free troubleshooting tool designed for production
Get down to code-level detail for bottlenecks, with <2% overhead.
Download for free and get started troubleshooting in minutes.
http://p.sf.net/sfu/appdyn_d2d_ap2
_______________________________________________
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to