On Fri, May 10, 2013 at 11:00 AM, Dehao Chen <de...@google.com> wrote: > On Fri, May 10, 2013 at 10:47 AM, Teresa Johnson <tejohn...@google.com> wrote: >> Is it only auto fdo that doesn't store the module info if the module >> is not exported or has aux modules? Note that this will prevent usage >> of my script that enables annotation of gcov dump info with function >> names, which relies on accessing the primary module info to obtain the >> module name (which is then used to locate the module's associated func >> id to func name mapping optionally emitted into the build output). > > Yes, this is auto fdo only. And gcov dump will not work on auto fdo > profile because it does not use the id at all in the profile (instead, > it stores the function name directly).
If you are trying to reduce profile sizes, it might be worthwhile to try to use the id instead of the name. Before implementing the wrapper script solution to getting function names in the gcov-info dump I first made a patch to include the function names in the gcda file. This caused a huge bloat in gcda and instrumented file sizes. Teresa > > Thanks, > Dehao > >> >> Teresa >> >> On Fri, May 10, 2013 at 10:37 AM, Dehao Chen <de...@google.com> wrote: >>> Now we don't store the module info if the module is not exported or >>> has any aux module (to compress the profile data size). Thus it's >>> normal that a primary module entry cannot be found. This patch >>> suppresses the messages printed when the primary module is not found. >>> >>> Bootstrapped and passed regression test. >>> >>> OK for google branch? >>> >>> Thanks, >>> Dehao >>> >>> Index: auto-profile.c >>> =================================================================== >>> --- auto-profile.c (revision 198751) >>> +++ auto-profile.c (working copy) >>> @@ -497,10 +497,7 @@ read_aux_modules (void) >>> module.name = xstrdup (in_fnames[0]); >>> entry = (struct afdo_module *) htab_find (module_htab, &module); >>> if (!entry) >>> - { >>> - inform (0, "primary module %s cannot be found.", in_fnames[0]); >>> - return; >>> - } >>> + return; >>> module_infos = XCNEWVEC (struct gcov_module_info *, >>> entry->num_aux_modules + 1); >>> afdo_add_module (module_infos, entry, true); >> >> >> >> -- >> Teresa Johnson | Software Engineer | tejohn...@google.com | 408-460-2413 -- Teresa Johnson | Software Engineer | tejohn...@google.com | 408-460-2413