C++ Frontend and combining files
Brendon Costa
bcosta@avdat.com.au
Tue Oct 3 00:40:00 GMT 2006
Hi All,
I have been writing a small extension for GCC on and off for the last
year or two that performs static analysis of C++ exception
propagation. Basically I use the patched GCC to gather the information
I am after while it compiles files and then save that information to
files that are then sent through a post processing phase.
I have run into a small problem that I cant find in the GCC source
where it handles the logic of combining object files. I.e.
g++ test.cpp ext_test.cpp -o blah
Will run the C++ frontend to compile test.cpp into some assembly file
like /tmp/foo1.s and then again for ext_test.cpp into /tmp/foo2.s
Now I currently need to generate an associated file for each of these
files as well. So my patched gcc will produce:
from test.cpp
/tmp/foo1.s
/tmp/foo1.edc
from ext_test.cpp
/tmp/foo2.s
/tmp/foo2.edc
Now I assume GCC runs the assembler on /tmp/foo1.s and produces
something like /tmp/foo1.o and similarly for /tmp/foo2.s produces
/tmp/foo2.o
Then GCC (SOMEWHERE I CANT SEEM TO FIND THIS PART OF THE CODE) links
these objects by calling ld with /tmp/foo1.o and /tmp/foo2.o combining
these into: blah
When this occurs I wish to also combine my /tmp/foo1.edc and
/tmp/foo2.edc into a file: blah.edc
Where is the best place in the GCC source to look at where this is
achieved? I need access to the output file name "blah" and the
assembly file names (or at least be able to construct my /tmp/foo1.edc
.. names from the object files) so I know what files to process for my
.edc files and how to combine them.
I am currently working with a gcc-4.0.1 source base. If someone can
point me as to where GCC links these files together I would greatly
appreciate it.
Thanks,
Brendon Costa.
More information about the Gcc
mailing list