You didn't actually implement any instrumentation. The -finstrument-functions switch just tells gcc to call some function at entry and exit to each function. But you have to define these functions yourself (normally this is done by linking a profiler library in).