Re: [Mingw-w64-public] Lack test-driver when make check mingw64-crt svn 5830
On Mon, Apr 29, 2013 at 8:34 AM, xunxun xunxun1...@gmail.com wrote: It shows: make check-TESTS make[2]: Entering directory `/e/gnu/mingw64/svn/mingw-w64-crt' make[3]: Entering directory `/e/gnu/mingw64/svn/mingw-w64-crt' /bin/sh: ./build-aux/test-driver: No such file or directory make[3]: *** [testcases/tstmainc.log] Error 127 make[3]: Leaving directory `/e/gnu/mingw64/svn/mingw-w64-crt' make[2]: *** [check-TESTS] Error 2 make[2]: Leaving directory `/e/gnu/mingw64/svn/mingw-w64-crt' make[1]: *** [check-am] Error 2 make[1]: Leaving directory `/e/gnu/mingw64/svn/mingw-w64-crt' make: *** [check] Error 2 Maybe we should copy test-driver from winpthreads/build-aux/test-driver Committed revision 5831. Updated all the build-aux files. -- 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
Re: [Mingw-w64-public] MinGW-builds scrips now provide the ability to build Python only!
On Wed, Apr 24, 2013 at 9:36 AM, niXman i.nix...@gmail.com wrote: Hi, According to numerous questions about how to build Python using mingw/mingw-w64, I decided to add in MinGW-builds cripts key '--python-only=x.y.z', which allows to use MinGW-builds scripts to build Python only. Examples: $ ./build --python-only=2.7.3 x32 # for building python-2.7.3, i686 $ ./build --python-only=2.7.3 x32 x64 # for building python-2.7.3, i686 x86_64 At the moment, the following Python version: 2.7.3, 2.7.4, 3.3.0 Currently, this functional is in 'develop' branch of MinGW-builds Git repository: https://github.com/niXman/mingw-builds/tree/develop Thanks! -- 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
Re: [Mingw-w64-public] OpenMP-related hangup with winpthreads
于 2013/4/24 星期三 19:12, LRN 写道: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 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 0x0001 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 0x in ?? () I'm using an svn-r5792 version of winpthreads + libgomp patches from ktietz. Where is the libgomp patches? This hangup happened twice already. Once when i was building gdb (at configure time, when it was creating po/Makefile), another - when i was building gstreamer-1.0-1.0.6 (at configure time, while checking for msgmerge...). Command line in both cases was msgmerge.exe --update -q nul nul or something similar. The code that spins is: while (tmp l-cur) Sleep (0); tmp is a small integer (9 and 37 in two cases i observed), l-cur is a large integer (all 4 bytes are non-zero). -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.11 (MingW32) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQEcBAEBAgAGBQJRd740AAoJEOs4Jb6SI2Cw22EIANMAaktyUjq9EjYysmFX7R6Q Dir0haQ1BivbOsRQnR493ciJWRhbZCVynl3zze06N5oSB1Rb2FT95wOvzfHwvGeN 9/FBCDABOhHgATlA6Xkfj+UCL+g9Wfi6AGbXb69Vwz8FUz4JPPFcysDVNLclg/Vq lACg0XgUZ3JoC8NXKBECPhGZcbLJI8iecS63pN7q9Vg9B4y9aSr6789i/6eslppV gP0iYbwTa4cmyWM6U82iOKkK9lThjzlzV0FeMfHIsqTa9jP+T3SwD5TiyBmpbB0q mpePhFy3VhSJh2gKHWeQWM9Ya2SG+o9UNpBlwqDBgKjmBSjRov8fulPi7cOlffY= =nYi+ -END PGP SIGNATURE- -- Try New Relic Now We'll Send You this Cool Shirt New Relic is the only SaaS-based application performance monitoring service that delivers powerful full stack analytics. Optimize and monitor your browser, app, servers with just a few lines of code. Try New Relic and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public -- Best Regards, xunxun -- 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
Re: [Mingw-w64-public] OpenMP-related hangup with winpthreads
于 2013/4/30 星期二 23:18, xunxun 写道: I'm using an svn-r5792 version of winpthreads + libgomp patches from ktietz. Where is the libgomp patches? And I remembered Kai recommended to change libgomp team.c team = gomp_malloc (size) to team = gomp_malloc_cleared (size) ago. -- Best Regards, xunxun -- 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
Re: [Mingw-w64-public] OpenMP-related hangup with winpthreads
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 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 0x0001 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 0x 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). -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.11 (MingW32) iQEcBAEBAgAGBQJRgBe8AAoJEOs4Jb6SI2Cw5JkH/iXMAh3sNF/xo5em8WcnjAMz Ew+ABAu53BBnw4Bxwvmyt/5tm7f6REhtxMPqwO8JcWDYtO05cWx7lV7VV+aTeldi BNvbQMqwrvdr17VKVrTPkq1sTGTDpnB+rPs8eUfPy+B4bACvbj20x9cZMqbJY1ih LZEeKWTvBgQ9DLb63BmKejem5XD34iITBmi5Vqh5+d8X/Knhnrb/Tk5XY2L0znI0 oMUL6ACblH2EI5uuCGNrL71oO9E2ysBJwtYYAa7UnNoma+2FZWdDdDH8Vf46Ed4g HJc70GGp09sMi+vabVwUAI2/09J7a8NAF/WXTQ8NIJkpvhGvINIwpg9hrVUlze8= =g7W6 -END PGP SIGNATURE- Index: libgomp.h === --- a/libgomp/libgomp.h (Revision 198124) +++ b/libgomp/libgomp.h (Arbeitskopie) @@ -378,9 +378,20 @@ static inline struct gomp_thread *gomp_thread (voi } #else extern pthread_key_t gomp_tls_key; +extern void initialize_team (void); +extern void gomp_fatal (const char *, ...) + __attribute__((noreturn, format (printf, 1, 2))); static inline struct gomp_thread *gomp_thread (void) { - return pthread_getspecific (gomp_tls_key); + struct gomp_thread* GompThread = pthread_getspecific (gomp_tls_key); + if (!GompThread) { +initialize_team(); +GompThread = pthread_getspecific (gomp_tls_key); +if (!GompThread) { + gomp_fatal(Uncorrectable NULL gomp_thread()); +} + } + return GompThread; } #endif Index: team.c === --- a/libgomp/team.c (Revision 198124) +++ b/libgomp/team.c (Arbeitskopie) @@ -72,9 +72,12 @@ gomp_thread_start (void *xdata) #ifdef HAVE_TLS thr = gomp_tls_data; #else - struct gomp_thread local_thr; - thr = local_thr; - pthread_setspecific (gomp_tls_key, thr); + struct gomp_thread *Ptr_initial_thread_tls_data; + Ptr_initial_thread_tls_data = +(struct gomp_thread*) calloc(1,sizeof(struct gomp_thread)); + + if (!KeysCreated) pthread_key_create (gomp_tls_key, NULL); + pthread_setspecific (gomp_tls_key, Ptr_initial_thread_tls_data); #endif gomp_sem_init (thr-release, 0); @@ -253,6 +256,9 @@ gomp_free_thread (void *arg __attribute__((unused) gomp_end_task (); free (task); } +#ifndef HAVE_TLS + free(pthread_getspecific (gomp_tls_key)); +#endif } /* Launch a team. */ @@ -529,25 +535,32 @@ gomp_team_end (void) /* Constructors for this file. */ -static void __attribute__((constructor)) +static short KeysCreated = 0; + +void __attribute__((constructor)) initialize_team (void) { struct gomp_thread *thr; #ifndef HAVE_TLS - static struct gomp_thread initial_thread_tls_data; + struct gomp_thread *Ptr_initial_thread_tls_data; + Ptr_initial_thread_tls_data = +(struct gomp_thread*) calloc(1,sizeof(struct gomp_thread)); - pthread_key_create (gomp_tls_key, NULL); - pthread_setspecific (gomp_tls_key, initial_thread_tls_data); + if (!KeysCreated) pthread_key_create (gomp_tls_key, NULL); + pthread_setspecific (gomp_tls_key, Ptr_initial_thread_tls_data); #endif - if (pthread_key_create (gomp_thread_destructor, gomp_free_thread) != 0) -gomp_fatal (could not create thread pool destructor.); + if (!KeysCreated + pthread_key_create (gomp_thread_destructor, gomp_free_thread) != 0) + gomp_fatal (could not create thread pool destructor.); + KeysCreated = 1; + #ifdef HAVE_TLS thr = gomp_tls_data; #else - thr = initial_thread_tls_data; + thr = Ptr_initial_thread_tls_data; #endif gomp_sem_init (thr-release, 0); } Index: testsuite/config/default.exp