Name
list - produce C source listing from a common object file
Syntax
list [-V] [-h] [-F function] source-file . . . [object-file]
Description
The list command produces a C source listing with line
number information attached. If multiple C source files
were used to create the object file, list will accept
multiple file names. The object file is taken to be the last
non-C source file argument. If no object file is specified,
the default object file, a.out, will be used.
Line numbers will be printed for each line marked as
breakpoint inserted by the compiler (generally, each
executable C statement that begins a new line of source).
Line numbering begins anew for each function. Line number 1
is always the line containing the left curly brace ({) that
begins the function body. Line numbers will also be
supplied for inner block redeclarations of local variables
so that they can be distinguished by the symbolic debugger.
The following options are interpreted by list and may be
given in any order:
-V Print, on standard error, the version number of
the list command executing.
-h Suppress heading output.
-Ffunction List only the named function. The -F option may
be specified multiple times on the command line.
See Also
as(CP), cc(CP), ld(CP).
Diagnostics
The list command will produce the error message ``list:
name: cannot open'' if name cannot be read. If the source
file names do not end in .c, the message is ``list: name:
invalid C source name''. An invalid object file will cause
the message ``list: name: bad magic'' to be produced. If
some or all of the symbolic debugging information is
missing, one of the following messages will be printed:
``list: name: symbols have been stripped, cannot proceed'',
``list: name: cannot read line numbers'', and ``list: name:
not in symbol table''. The following messages are produced
when list has become confused by #ifdef's in the source
file: ``list: name: cannot find function in symbol table'',
``list: name: out of sync: too many }'', and ``list: name:
unexpected end-of-file''. The error message ``list: name:
missing or inappropriate line numbers'' means that either
symbol debugging information is missing, or list has been
confused by C preprocessor statements.
Notes
Note that this utility operates only on COFF executables.
Object files given to list must have been compiled with the
-g option of cc(CP).
Since list does not use the C preprocessor, it may be unable
to recognize function definitions whose syntax has been
distorted by the use of C preprocessor macro substitutions.
(printed 6/18/89)