[cfe-dev] assembler-with-cpp and debug info

Robinson, Paul Paul.Robinson at am.sony.com
Tue Oct 16 17:20:45 PDT 2012


If we have a hand-coded assembler source file, and use Clang to process 
it through the preprocessor, the preprocessor leaves behind directives 
of the form
  # line-number "filename"
indicating the original source information of the preprocessed file.
That's all good.

If we use Clang to both preprocess and assemble the file with the integrated
assembler (i.e., -x assembler-with-cpp), and use -g to get debug info, then
it turns out the final object file's debug info will refer to the temp file
that the Clang preprocessor created, not the original source file.  It's
ignoring the #line-number directives.  That's not so good.

If I use "-no-integrated-as -Wa,-g" instead of just "-g", then the debug info
comes out the way I want it to, i.e. inferring .debug_line information from
the #line-number directives.  So, this would be a "gas" compatibility issue.

Is there a way to get the integrated assembler to use the #line-number
directives for debug info?  Or is this just not implemented yet?
Thanks,
--paulr




More information about the cfe-dev mailing list