> From: Martin Liška <mli...@suse.cz>
> Sent: Tuesday, June 18, 2019 11:20 AM
> 
> .gcno files are created during compilation and contain info about a source 
> file.
> These files will be created by a cross compiler, so that's fine.
> 
> During a run of a program a .gcda file is created. It contains information 
> about
> number of execution of edges. These files are dumped during at_exit by an
> instrumented application. And the content is stored to a disk (.gcda
> extension).
> 
> So what difficulties do you have with that please?
> 
> Martin

Not sure I understand the question.

Conceptually I don't have any problems with the compiler
creating .gcno files at compile time and the program creating
.gcda files at run-time.

As far as the .gcda files go, exit is never called -- it's an embedded
operating system.  The kernel does not call exit.  Application
specific glue code will need to be written.  This is to be expected.
And is completely reasonable.

As far as the .gcno files go -- currently, while doing over 10,000
compiles GCC wants to write all the .gcno files to the same file
name in the same NFS mounted directory.  This is simultaneously
not useful and very very slow.

Down the road I'm going to want to make additional changes --
for example, putting the instrumentation data into a section
specified on the command line rather than .data.

Right now I'm concerned about the .gcno files.  I want to be
able to specify the pathname or the base of the pathname
on the command line.  I don't really care whether it is called
-auxbase or something else.  I was thinking '-auxbase' as that
is the name currently passed to the sub-processes.  I do not
ultimately care what the name is...

Additionally, if we do this I want it to be done in a manner
that when contributed back is likely to be accepted.


Reply via email to