#### 17.22.4 File Names in DBX Format

This describes file names in DBX format.

— Macro: DBX_OUTPUT_MAIN_SOURCE_FILENAME (stream, name)

> A C statement to output DBX debugging information to the stdio stream stream, which indicates that file name is the main source file—the file specified as the input file for compilation. This macro is called only once, at the beginning of compilation.

> This macro need not be defined if the standard form of output for DBX debugging information is appropriate.

> It may be necessary to refer to a label equal to the beginning of the text section. You can use ‘`assemble_name (stream, ltext_label_name)`’ to do so. If you do this, you must also set the variable used_ltext_label_name to `true`.

— Macro: NO_DBX_MAIN_SOURCE_DIRECTORY

> Define this macro, with value 1, if GCC should not emit an indication of the current directory for compilation and current source language at the beginning of the file.

— Macro: NO_DBX_GCC_MARKER

> Define this macro, with value 1, if GCC should not emit an indication that this object file was compiled by GCC. The default is to emit an `N_OPT` stab at the beginning of every source file, with ‘`gcc2_compiled.`’ for the string and value 0.

— Macro: DBX_OUTPUT_MAIN_SOURCE_FILE_END (stream, name)

> A C statement to output DBX debugging information at the end of compilation of the main source file name. Output should be written to the stdio stream stream.

> If you don't define this macro, nothing special is output at the end of compilation, which is correct for most machines.

— Macro: DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END

> Define this macro instead of defining `DBX_OUTPUT_MAIN_SOURCE_FILE_END`, if what needs to be output at the end of compilation is an `N_SO` stab with an empty string, whose value is the highest absolute text address in the file.