Mail Archives: djgpp-workers/1999/04/19/08:49:57
Hello, everyone
During my work on making as much of the functionality of recent 'gprof'
work on DJGPP (line-by-line profiling, static call graph by code
inspection, basic block counts from 'gcc -a'), I found out a peculiarity,
which may actually turn out to be a bug in one of the GNU packages (gcc,
gas, binutils could all be the culprit, in principle).
It seems like the base address of any code offset addresses found in the
debug information (line numbers, esp.) is different for COFF and stabs.
This wouldn't necessarily be a problem, but gprof uses the BFD library,
and at the time it looks at a single line number record, there seems to be
no information left about what type of debugging record it came from (a
single executable may have both types in it, e.g. if you compile with
-gstabs, but some of the libraries were made with -g).
At the moment, this means that my improved gprof only works for '-gstabs'
debug info, or only for '-g' style, but not for both of them.
I'm unsure which of the three possible things is wrong, here:
1) BFD's understanding of COFF
2) DJGPP's understanding of COFF
3) BFD's understanding of stabs symbols
Any light to be shed by the DJGPP workers?
Hans-Bernhard Broeker (broeker AT physik DOT rwth-aachen DOT de)
Even if all the snow were burnt, ashes would remain.
- Raw text -