On Mon, Mar 5, 2012 at 1:17 PM, Richard Guenther
> On Wed, Jan 18, 2012 at 3:21 PM, Richard Guenther <rguent...@suse.de> wrote:
>> This fixes PR49484 by protecting __gcov_flush against concurrent
>> execution. To be able to use the gthread facility I have to
>> introduce the requirement that __GTHREAD_MUTEX_INIT_FUNCTION
>> is always available, even if __GTHREAD_MUTEX_INIT is available as
>> otherwise no dynamic initialization of a mutex is possible.
>> I have adjusted gthr-posix.h and gthr-single.h only - target
>> maintainers, please update your ports accordingly in advance.
>> Boostrap and regtest on x86_64-unknown-linux-gnu is ongoing,
>> but this looks like something for stage1 anyway.
> Bootstrap and regtest finished ok. I am going to commit this without "fixing"
> eventually broken targets that I know nothing of. See above.
> Unless I hear objections until tomorrow.
Done now, after waiting another week.
>> 2012-01-18 Richard Guenther <rguent...@suse.de>
>> * gthr.h (__GTHREAD_MUTEX_INIT_FUNCTION): Adjust specification.
>> * gthr-posix.h (__GTHREAD_MUTEX_INIT_FUNCTION): Define.
>> (__gthread_mutex_init_function): New function.
>> * gthr-single.h (__GTHREAD_MUTEX_INIT_FUNCTION): Define.
>> PR gcov/49484
>> * libgcov.c: Include gthr.h.
>> (__gcov_flush_mx): New global variable.
>> (init_mx, init_mx_once): New functions.
>> (__gcov_flush): Protect self with a mutex.
>> (__gcov_fork): Re-initialize mutex after forking.
>> * unwind-dw2-fde.c: Change condition under which to use