• Frantisek Hrbata's avatar
    gcov: add support for gcc 4.7 gcov format · 5f41ea03
    Frantisek Hrbata authored
    The gcov in-memory format changed in gcc 4.7.  The biggest change, which
    requires this special implementation, is that gcov_info no longer contains
    array of counters for each counter type for all functions and gcov_fn_info
    is not used for mapping of function's counters to these arrays(offset).
    Now each gcov_fn_info contans it's counters, which makes things a little
    bit easier.
    
    This is heavily based on the previous gcc_3_4.c implementation and patches
    provided by Peter Oberparleiter.  Specially the buffer gcda implementation
    for iterator.
    
    [akpm@linux-foundation.org: use kmemdup() and kcalloc()]
    [oberpar@linux.vnet.ibm.com: gcc_4_7.c needs vmalloc.h]
    Signed-off-by: default avatarFrantisek Hrbata <fhrbata@redhat.com>
    Cc: Jan Stancek <jstancek@redhat.com>
    Cc: Kees Cook <keescook@chromium.org>
    Reviewed-by: default avatarPeter Oberparleiter <peter.oberparleiter@de.ibm.com>
    Cc: Rusty Russell <rusty@rustcorp.com.au>
    Cc: Arnd Bergmann <arnd@arndb.de>
    Cc: Andy Gospodarek <agospoda@redhat.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    5f41ea03
base.c 3.6 KB