|
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.
[[email protected]: use kmemdup() and kcalloc()]
[[email protected]: gcc_4_7.c needs vmalloc.h]
Signed-off-by: Frantisek Hrbata <[email protected]>
Cc: Jan Stancek <[email protected]>
Cc: Kees Cook <[email protected]>
Reviewed-by: Peter Oberparleiter <[email protected]>
Cc: Rusty Russell <[email protected]>
Cc: Arnd Bergmann <[email protected]>
Cc: Andy Gospodarek <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
|