Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

pcc(1) [plan9 man page]

PCC(1)							      General Commands Manual							    PCC(1)

NAME
pcc - APE C compiler driver SYNOPSIS
pcc [ option ... ] [ name ... ] DESCRIPTION
Pcc compiles and loads C programs, using APE (ANSI C/POSIX) include files and libraries. Named files ending with .c are preprocessed with cpp(1), then compiled with one of the compilers described in 2c(1), as specified by the environment variable $objtype. The object files are then loaded using one of the loaders described in 2l(1). The options are: -o out Place loader output in file out instead of the default 2.out, v.out, etc. -P Omit the compilation and loading phases; leave the result of preprocessing name.c in name.i. -c Omit the loading phase. -p Insert profiling code into the executable output. -w Print compiler warning messages. -B Don't complain about functions used without ANSI function prototypes. -v Echo the preprocessing, compiling, and loading commands before they are executed. -Dname=def -Dname Define the name to the preprocessor, as if by If no definition is given, the name is defined as -Uname Undefine the name to the preprocessor, as if by -Idir files whose names do not begin with are always sought first in the directory of the file argument, then in directories named in -I options, then in /$objtype/include/ape. -N Don't optimize compiled code. -S Print an assembly language version of the object code on standard output. -a Instead of compiling, print on standard output acid functions (see acid(1)) for examining structures declared in the source files. -aa Like -a except that functions for structures declared in included header files are omitted. The APE environment contains all of the include files and library routines specified in the ANSI C standard (X3.159-1989), as well as those specified in the IEEE Portable Operating System Interface standard (POSIX, 1003.1-1990, ISO 9945-1). In order to access the POSIX rou- tines, source programs should define the preprocessor constant _POSIX_SOURCE. FILES
/sys/include/ape directory for machine-independent #include files. /$objtype/include/ape directory for machine-dependent #include files. /$objtype/lib/ape/libap.a ANSI C/POSIX library. SEE ALSO
cpp(1), 2c(1), 2a(1), 2l(1), mk(1), nm(1), acid(1), db(1), prof(1) Howard Trickey, ``APE -- The ANSI/POSIX Environment'' SOURCE
/sys/src/cmd/pcc.c BUGS
The locale manipulation functions are minimal. Signal functions and terminal characteristic handlers are only minimally implemented. Link always fails, because Plan 9 doesn't support multiple links to a file. The functions related to setting effective user and group ids can- not be implemented because the concept doesn't exist in Plan 9. PCC(1)

Check Out this Related Man Page

as(1)							      General Commands Manual							     as(1)

Name
       as - RISC assembler

Syntax
       as [ option ] ...  file

Description
       The  assembler,	as  ,  produces RISC object code in RISC extended coff format (the default) and binary assembly language. The as assembler
       does not run the loader.  It accepts the argument file which is a symbolic assembly language source program.  When assembled,  it  produces
       an object file.

       The  assembler,	as,  always defines the C preprocessor macros mips, host_mips, unix and LANGUAGE_ASSEMBLY to the C macro preprocessor.	It
       also defines SYSTYPE_BSD by default, but this changes if the -systype name option is specified (see the OPTIONS section).

Options
       The following options are available with as.  In addition, these options can be used with

       -g0	      Do not produce symbol table information for symbolic debugging.  This is the default.

       -g1	      Produce additional symbol table information for accurate but limited symbolic debugging of partially optimized code.

       -g or -g2      Produce additional symbol table information for full symbolic debugging and do not perform  optimizations  that  limit  full
		      symbolic debugging.

       -g3	      Produce  additional  symbol  table  information for full symbolic debugging for fully optimized code.  This option makes the
		      debugger inaccurate.

       -w	      Suppress warning messages.

       -P	      Run only the C macro preprocessor and place the result in a file.  If the source file has a suffix, change the suffix to .i.
		      If  the  source  file  does  not have a suffix, an .i is added to the source file name.  The .i file does not contain number
		      lines (#). This sets the -cpp option.

       -E	      Run only the C macro preprocessor on the file and send the result to the standard output.  This sets the -cpp option.

       -o output      Name the final output file output.  If this option is used, the a.out file is not affected.

       -Dname=def
       -Dname	      Define the name to the C macro preprocessor, as if by #define. If definition is not given, the name is defined as 1.

       -Uname	      Remove any initial definition of name.

       -Idir	      Search for #include files whose names do not begin with slash (/) in the directory of the file argument, then in directories
		      specified in -I options, and finally in the standard directory (/usr/include).

       -I	      Do not search for #include files in the standard directory (/usr/include).

       -G num	      Specify  the  maximum  size,  in	bytes, of a data item that is to be accessed from the global pointer.  The num argument is
		      interpreted as a decimal number.	If num is zero, data is not accessed from the global pointer.  The default value  for  num
		      is 8 bytes.

       -v	      Print  the passes as they execute with their arguments, input files, and output files.  Also prints resource usage in the C-
		      shell time format.

       -V	      Print the version of the driver and the versions of all passes.  This is performed with the command.

       -cpp	      Run the C macro preprocessor on assembly source files before compiling.  This is the default for

       -nocpp	      Do not run the C macro preprocessor on assembly source files before compiling.

       Either object file target byte ordering can be produced by as.  The default target byte ordering matches the machine where the assembler is
       running.   The  options	-EB  and  -EL  specify	the target byte ordering (big-endian and little-endian, respectively).	The assembler also
       defines a C preprocessor macro for the target byte ordering.  These C preprocessor macros are MIPSEB and MIPSEL for big-endian and  little-
       endian byte ordering respectively.

       -EB	      Produce object files targeted for big-endian byte ordering.  The C preprocessor macro MIPSEB is defined by the assembler.

       -EL	      Produce object files targeted for little-endian byte ordering.  The C preprocessor macro MIPSEL is defined by the assembler.

       The following option can only be used with the as command:

       -m	      Apply the M4 preprocessor to the source file before assembling it.

       The following option is primarily used to provide UNIX compilation environments other than the native compilation environment.

       -systype name  Use  the named compilation environment name.  See for the compilation environments that are supported and their names.  This
		      has the effect of changing the standard directory for #include files.  The new items are located in their  usual	paths  but
		      with  /name prepended to their paths.  Also a preprocessor macro of the form SYSTYPE_NAME (with name capitalized) is defined
		      in place of the default SYSTYPE_BSD.

       The options described below primarily aid compiler development and are not generally used:

       -Hc	      Halt compiling after the pass specified by the character c, producing an intermediate file for the next pass.  The c can	be
		      [  a ].  It selects the assembler pass in the same way as the -t option.	If this option is used, the symbol table file pro-
		      duced and used by the passes is the last component of the source file with the suffix changed to .T, or a .T is added if the
		      source file has no suffix. This file is not removed.

       -K	      Build  and use intermediate file names with the last component of the source file's  name replacing its suffix with the con-
		      ventional suffix for the type of file (for example, .G file for binary assembly language).  If the source file has no suffix
		      the  conventional  suffix  is  added  to	the source file name.  These intermediate files are never removed even when a pass
		      encounters a fatal error.

       -Wc[c...],arg1[,arg2...]
		      Pass the argument[s] argi to the compiler pass[es] c[c..].  The c's are one of [ pab ].  The c's selects the  compiler  pass
		      in the same way as the -t option.

       The options -t[hpab], -hpath, and -Bstring select a name to use for a particular pass.  These arguments are processed from left to right so
       their order is significant.  When the -B option is encountered, the selection of names takes place  using  the  last  -h  and  -t  options.
       Therefore, the -B option is always required when using -h or -t.  Sets of these options can be used to select any combination of names.

       -t[hpab]       Select  the  names.  The names selected are those designated by the characters following the -t option according to the fol-
		      lowing table:
		      Name     Character
		      include	   h  (see note below)
		      cpp	   p
		      as0	   a
		      as1	   b
		      If the character h is in the -t argument then a directory is added to the list of directories to be used	in  searching  for
		      #include	files.	 This  directory  name has the form COMP_TARGET_ROOT/usr/includestring .  This directory is to contain the
		      include files for the string release of the compiler.  The standard directory is still searched.

       -hpath	      Use path rather than the directory where the name is normally found.

       -Bstring       Append string to all names specified by the -t option.  If -t option has not been processed before the -B, the -t option	is
		      assumed to be ``hpab''.  This list designates all names.

       Invoking the assembler with a name of the form asstring has the same effect as using a -Bstring option on the command line.

       If the environment variable COMP_HOST_ROOT is set, the value is used as the root directory for all pass names rather than the default slash
       (/).  If the environment variable COMP_TARGET_ROOT is set, the value is used as the root directory for the includes rather than the default
       slash (/).

       If the environment variable ROOTDIR is set, the value is used as the root directory for all names rather than the default /usr/.  This also
       affects the standard directory for #include files, /usr/include .

       If the environment variable TMPDIR is set, the value is used as the directory to place any temporary files rather than the default /tmp/.

       Other arguments are ignored.

Files
       file.o	      object file

       a.out	      assembler output

       /tmp/ctm?      temporary

       /usr/lib/cpp   C macro preprocessor

       /usr/lib/as0   symbolic to binary assembly language translator

       /usr/lib/as1   binary assembly language assembler and reorganizer

       /usr/include   standard directory for #include files

See Also
       cc(1), as(1), what(1)

								       RISC								     as(1)
Man Page