list(CP) 6 January 1993 list(CP) 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. This utility operates only on COFF executables. Object files given to list must have been compiled with the -g option of cc(CP). 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: -Ffunction List only the named function. The -F option may be specified multiple times on the command line. -h Suppress heading output. -V Print, on standard error, the version number of the list com- mand executing. 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 pro- duced. 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 num- bers'', or ``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 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. See also as(CP), cc(CP), ld(CP)