#### 15.22.3 Open-Ended Hooks for DBX Format

These are hooks for DBX format.

— Macro: DBX_OUTPUT_LBRAC (stream, name)

> Define this macro to say how to output to stream the debugging information for the start of a scope level for variable names. The argument name is the name of an assembler symbol (for use with `assemble_name`) whose value is the address where the scope begins.

— Macro: DBX_OUTPUT_RBRAC (stream, name)

> Like `DBX_OUTPUT_LBRAC`, but for the end of a scope level.

— Macro: DBX_OUTPUT_NFUN (stream, lscope_label, decl)

> Define this macro if the target machine requires special handling to output an `N_FUN` entry for the function decl.

— Macro: DBX_OUTPUT_SOURCE_LINE (stream, line, counter)

> A C statement to output DBX debugging information before code for line number line of the current source file to the stdio stream stream. counter is the number of time the macro was invoked, including the current invocation; it is intended to generate unique labels in the assembly output.

> This macro should not be defined if the default output is correct, or if it can be made correct by defining `DBX_LINES_FUNCTION_RELATIVE`.

— Macro: NO_DBX_FUNCTION_END

> Some stabs encapsulation formats (in particular ECOFF), cannot handle the `.stabs "",N_FUN,,0,0,Lscope-function-1` gdb dbx extension construct. On those machines, define this macro to turn this feature off without disturbing the rest of the gdb extensions.

— Macro: NO_DBX_BNSYM_ENSYM

> Some assemblers cannot handle the `.stabd BNSYM/ENSYM,0,0` gdb dbx extension construct. On those machines, define this macro to turn this feature off without disturbing the rest of the gdb extensions.