[Bug gcov-profile/49484] gcov crash if two(or more) forks happen at the same time

asharif at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Thu Dec 6 20:10:00 GMT 2012


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49484

--- Comment #26 from asharif at gcc dot gnu.org 2012-12-06 20:09:35 UTC ---
Author: asharif
Date: Thu Dec  6 20:09:25 2012
New Revision: 194264

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=194264
Log:
2012-12-03  Ahmad Sharif <asharif@google.com>

    Backport r185231 from trunk.

    2012-03-12  Richard Guenther  <rguenther@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
    __GTHREAD_MUTEX_INIT_FUNCTION.


Modified:
    branches/google/gcc-4_7/   (props changed)
    branches/google/gcc-4_7/gcc/   (props changed)
    branches/google/gcc-4_7/gcc/testsuite/gcc.target/powerpc/ppc-round.c  
(props changed)
    branches/google/gcc-4_7/libgcc/ChangeLog
    branches/google/gcc-4_7/libgcc/ChangeLog.google-4_7
    branches/google/gcc-4_7/libgcc/gthr-posix.h
    branches/google/gcc-4_7/libgcc/gthr-single.h
    branches/google/gcc-4_7/libgcc/gthr.h
    branches/google/gcc-4_7/libgcc/libgcov.c
    branches/google/gcc-4_7/libgcc/unwind-dw2-fde.c
    branches/google/gcc-4_7/libjava/classpath/   (props changed)

Propchange: branches/google/gcc-4_7/
            ('svn:mergeinfo' modified)

Propchange: branches/google/gcc-4_7/gcc/
            ('svn:mergeinfo' modified)

Propchange:
branches/google/gcc-4_7/gcc/testsuite/gcc.target/powerpc/ppc-round.c
            ('svn:mergeinfo' modified)

Propchange: branches/google/gcc-4_7/libjava/classpath/
            ('svn:mergeinfo' modified)



More information about the Gcc-bugs mailing list