*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->IRIX man pages -> o32 (5)              
Title
Content
Arch
Section
 

t(1)

Contents


o32(5)						       Last changed: 3-9-98

NAME    [Toc]    [Back]

     o32 - Describes the options for the o32 ABI for the MIPSpro compilers

SYNOPSIS    [Toc]    [Back]

     -o32 | -32	[--] [-66] [-ansiE] [-ansiW] [-ansi] [-ansiposix]
     [-automatic] [-avoid_gp_overflow] [-backslash] [-bytereclen] [-c]
     [-cckr] [-cfront] [-chararg1] [-check_bounds] [-common] [-cord] [+d]
     [-ddopt] [-dollar]	[-expand_include] [-feedback <file>] [-float]
     [-fullwarn] [-framepointer] [-gn] [-h path] [-i] [-j] [-k]	[-keep]
     [-ko output] [-l library] [-m] [-mp] [-nocpp] [-noexpopt] [-nofilt]
     [-nokpicopt] [-non_shared]	[-nostdinc] [-o] [-o output] [-old_rl] [+p]
     [+pp] [-pca] [-pedantic] [-show] [-signed]	[-sopt[,option][,option]...
     [-t [hpKfjusmocablrnyz] [-trapuv] [-u] [-usefpidx]
     [-use_readwrite_const] [-use_readonly_const] [-v] [-version] [-vms_cc]
     [-vms_endfile} [-vms_library} [-vms_stdin}	[-w [0][1][2][66]] [-woff
     all] [-woff numberlist] [-xansi] [-xgot] [-Bstring] [-C] [-Dname=def]
     [-Dname] [-E] [-G num] [-H	c] [-Idir] [-KPIC] [-L directory]
     [-MDupdate	filename] [-M] [-N[qxscelnC]nnn]] [-O3]	[-Olimit num] [-On]
     [-P] [-S] [-U] [-Uname] [-Wf, -Yc]	[-Wx, [-G [num], -v, -A, -K]]
     [-Xcpluscomm]

IMPLEMENTATION    [Toc]    [Back]

     IRIX systems

DESCRIPTION    [Toc]    [Back]

     This man page describes the function of the -o32 or -32 option, which
     generates a 32-bit	object when specified on the cc(1), CC(1), or
     f77(1) command line.  It defaults to -mips2 if -mips1 has not also
     been specified.  Unless specified in the description, options apply to
     all three compilers.

OPTIONS    [Toc]    [Back]

     -mips1
	  Generates code using the instruction set of the R2000/R3000 RISC
	  architecture,	and searches for mips1 libraries/objects at linktime.
	 Defaults to -o32.

     -mips2
	  Generates code using the MIPS	II instruction set (MIPS I + R4000
	  specific extensions),	and searches for mips2 libraries/objects at
	  link-time.  Defaults to -o32.

     --	  In XPG4 mode,	standard utilities that	accept operands	but do not
	  accept options, recognize the	-- characters as the first argument
	  to be	discarded.  This lets portable applications shield their
	  operands from	arbitrary options that the implementation may
	  provide as an	extension.

	  For example, if the standard utility foo is listed as	taking no
	  options, and the application needed to give it a pathname with a
	  leading hypen, it could safely do it as foo -- -myfile and avoid
	  any problems with -m used as an extension.

     -66  (f77 only) Suppresses	extensions that	enhance	FORTRAN	66
	  compatibility.

     -ansiE
	  (CC only) Issues error messages for use of non-standard features
	  in ANSI/ISO C.

     -ansiW
	  (CC only) Issues warning messages for	use of non-standard
	  features in ANSI/ISO C.  This	is the default with the	-ansi flag.

     -ansi
	  (ANSI/ISO C only) Pure ANSI/ISO C.  The symbols _MIPS_FPSET,
	  _MIPS_ISA, _MIPS_SIM,	_MIPS_SZINT, _MIPS_SZLONG, _MIPS_SZPTR,
	  _LANGUAGE_C, __sgi, __unix, __host_mips, _MODERN_C, __DSO__,
	  _SYSTYPE_SVR4, __mips, _MIPSEB, __STDC__, and	_CFE are defined to
	  the preprocessor.  The symbol	__ANSI_CPP__ is	defined, and
	  ANSI/ISO trigraphs are processed by default.

	  NOTE:	When compiling in pure ANSI/ISO	mode (-ansi), several
	  standard UNIX	symbols	(such as environ and end) may only be
	  referenced by	their ANSI/ISO compliant counterparts (such as
	  _environ and _end).  The type	long long is allowed, but results
	  in a warning in -ansi	mode.  To take advantage of this type in
	  libraries that refer to __int64_t and	__uint64_t, you	must define
	  the macro __LONGLONG on the command line; otherwise, __int64_t
	  and __uint64_t are defined as	structs.  See the ANSI C Transition
	  Guide	for more information.

     -ansiposix
	  (ANSI/ISO C only) Specifies the same compilation environment as
	  -ansi	with the additional preprocessor definition of
	  _POSIX_SOURCE.  This is a pure ANSI/ISO environment, and __STDC__
	  is defined with this option as well as with the -ansi	option.

	  WARNING:  This option	is obsolete and	will be	removed	in future
	  releases.

     -automatic
	  (f77 only) Places local variables on the runtime stack.  The same
	  restrictions apply for this option as	they do	for the	automatic
	  keyword.  This is the	default.

     -avoid_gp_overflow
	  Asserts assorted flags that are intended to avoid GOT	overflow.

     -backslash
	  (f77 only) Treats the	backslash character as a normal	character
	  instead of an	escape sequence	character.  For	example, when this
	  option is specified, the sequence \t is treated as two separate
	  characters instead of	a single <TAB> character.

     -bytereclen
	  (f77 only) Record lengths used for unformatted direct	I/O are
	  specified as the number of bytes in a	record.	 By default, record
	  length specifications	are interpreted	as the number of 4-byte
	  words	in a record.  If the main routine for a	mixed C	and Fortran
	  program is written in	C, and Fortran unformatted direct I/O will
	  be performed by the program, the /usr/include/cmplrs/fioflags.h
	  header file must be included by the C	main program and the OLD_RL
	  flag must be set as directed by the header file.

     -c	  Suppresses the loading phase of the compilation, and produces	an
	  object file.

     -cckr
	  (CC only) Specifies the traditional K&R/Version7 C with SGI (and
	  some like ANSI/ISO C)	extensions, including function prototypes,
	  void,	void*.	The following symbols are defined to the
	  preprocessor:
	  _MIPS_FPSET
	  _MIPS_ISA
	  _MIPS_SIM
	  _MIPS_SZINT
	  _MIPS_SZLONG
	  _MIPS_SZPTR
	  __EXTENSIONS__
	  LANGUAGE_C
	  _LANGUAGE_C
	  __INLINE_INTRINSICS
	  sgi
	  __sgi
	  unix
	  mips
	  host_mips
	  __unix
	  __host_mips
	  _SVR4_SOURCE
	  _MODERN_C
	  _SGI_SOURCE
	  __DSO__
	  SYSTYPE_SVR4
	  _SYSTYPE_SVR4
	  _LONGLONG
	  __mips
	  _MIPSEB
	  MIPSEB
	  _CFE

     -cfront
	  (CC only) Causes the compiler	to accept constructs that were
	  accepted by previous cfront-based compilers, such as OCC, but
	  which	are not	accepted in the	ANSI/ISO standard.

     -chararg1
	  (f77 only) Counts each character argument as only one	argument.
	  For subroutines accepting a variable number of arguments, the
	  default is to	count all arguments on the argument stack.  This
	  means	that for each character	argument, the count is two because
	  both the address of the character argument and its length are	put
	  on the argument stack.

     -common
	  (CC only) The	declaration int	i; in multiple files at	file level
	  is merged.  Without it, ANSI/ISO C generates a warning (from
	  ld(1)) about duplicate definitions.  When C and Fortran compiled
	  objects are linked together and an ANSI C defined variable should
	  be located at	the same address as a Fortran common block, you
	  must compile the C source with the -common flag.  When specifying
	  traditional K&R/Version7 C (for example, -cckr), this	option is
	  ignored.

	  The ANSI/ISO C Strict-Ref/Def-initialization model is	relaxed	to
	  the traditional IRIX Relaxed Ref/Def model (see the ANSI/ISO C
	  Standard for information on this model).

     -cord
	  Runs the procedure rearranger, cord(1), on the file created after
	  linking.  This improves the paging and caching performance of	the
	  program's text.  The output of cord(1) is left in the	file
	  specified by the -o output option or a.out by	default.  Use the
	  -feedback option to specify the feedback file.  If no	-feedback
	  file is specified, then outfile.fb is	the default.

     +d	  (CC only) Suppresses expansion of inline functions.  Copies of
	  inline functions are emitted as external out-of-line functions in
	  each compilation unit	where they are called.

	  These	are marked so that the linker silently accepts duplicate
	  symbols and resolves all of the calls	to one copy of the
	  function, and	removes	all other copies from the executable.

     -ddopt
	  (f77 only) Specifies the data	dependence optimization	pass.  An
	  option indicating that the global optimizer is to be run (-O,
	  -O2, -O3) must also be specified.  This optimization pass is
	  experimental and may not be supported.

     -dollar
	  (CC only) Allows the dollar sign ($) as a character in C
	  identifiers, including the leading character of an identifier.
	  This option is provided for compatibility purposes, and its use
	  is not recommended.

     -expand_include
	  (f77 only) Expands all include statements in the FORTRAN listing
	  file.	 This option must be specified with the	-listing option.

     -exceptions
	  (CC only) Invokes an exception handling compiler with	a different
	  front	end than the standard 32-bit compiler.	If this	option is
	  not specified	on the command line, the CC driver continues to
	  invoke the standard 32-bit compiler.	If you want to use
	  exception handling, it is recommended	that you recompile all of
	  your code using the -exceptions option.  Generally, code with
	  exception handling and code without exception	handling cannot	be
	  mixed.  See the release notes	for the	actual restrictions.  This
	  option should	be used	with caution.

     -feedback <file>
	  Specifies the	feedback file(s) to be used with the -cord option.
	  This file can	be produced by using prof(1) with its -feedback
	  option from an execution of the instrumented program produced	by
	  pixie(1).  Multiple feedback files can be specified with multiple
	  -feedback options.

     -float
	  Uses single-precision	floating-point except when specified in
	  function arguments.  In the following	example, a and b are
	  promoted to double and a double-precision multiply is	done,
	  followed by a	conversion back	to single-precision for	the
	  assignment to	c:


	  float	a; int b; float	c;
	  c = a	* b;

	  The -float option is ignored in all ANSI/ISO C conformance modes
	  and has effect only in -cckr mode.  ANSI/ISO C uses single
	  precision floating-point operations where allowed by the
	  standard.  If	the -float option is specified,	b is promoted to
	  single-precision, and	a single-precision multiply is done.  This
	  option does not affect float and double argument passing; float
	  function arguments are promoted to double unless function
	  prototypes are used.	Unappended floating-point constants are
	  cast to single precision values in subexpressions with no double
	  (or long double) operands.

     -framepointer
	  (f77 only) Asserts the requirement of	frame pointer for all
	  procedures defined in	the source file.

     -fullwarn
	  Executes various extra checks	and produces additional	warnings
	  that are suppressed by default.  This	option is recommended for
	  all compiles during software development.

     -gn  Specifies options for	producing debugging information.  n can	be
	  one of the following:

	     0	  Does not produce debugging information for symbolic
		  debugging.  This is the default.

	     2	  Produces additional debugging	information for	full
		  symbolic debugging and does not perform optimizations
		  that limit full symbolic debugging.  These options
		  override the following optimization options:	-O, -O1,
		  -O2, -O3.

	     3	  Produces additional debugging	information for	symbolic
		  debugging of fully optimized code.  This option makes	the
		  debugger inaccurate.	This option can	be used	with the
		  following optimization options:  -O, -O1, -O2, -O3.

	  Specifying -g	without	a debug	level is equivalent to specifying
	  -g2.

     -h	path
	  Specifies the	directory (path) where the name	is found.  This
	  switch is non-standard and may not be	supported across product
	  lines.

     -j	  Compiles the specified source	programs, and creates ucode object
	  files	in corresponding files appended	with .u.  This switch is
	  non-standard and may not be supported	across product lines.

     -k	  (f77 only) Passes options that start with a -k to the	ucode
	  loader.  This	is used	to specify ucode libraries (with -kl x)	and
	  other	ucode loader options.  This switch is non-standard and may
	  not be supported across product lines.

     -keep
	  Builds intermediate compilation files	named after the
	  corresponding	source files.  The file	is appended by a letter
	  appropriate for the type of intermediate file	(for example, the
	  front	end generates a	binary intermediate .B file).  These
	  intermediate files are never removed even when a compilation pass
	  encounters a fatal error.

     -ko output
	  Specifies the	output file created by the ucode loader	(output).
	  This file is not removed.  If	this file is compiled, the object
	  file is named	output appended	with .o.  This switch is nonstandard
 and may not be supported across product lines.

     -kpicopt
	  (f77 only) Requests uopt to perform the special treatment for
	  global variables to optimize their program accesses regardless of
	  the shared/nonshared compilation mode.

     -l	library
	  In XPG4 mode,	searches the library named lib.IRlibrary.a.  A
	  library is searched when its name is encountered, so the
	  placement of the -l operand is significant.

     -m	  (f77 only) Applies the M4 preprocessor, m4(1), to each RATFOR
	  source file before transforming it with the ratfor(1)
	  preprocessor.	 The temporary file created for	the output is
	  appended with	.p.  This temporary file is removed unless the -K
	  option is specified.

     -mp  (CC only) Enables the	multiprocessing	directives.  (Requires
	  Power	C.)

     -nocpp
	  (CC only) The	C macro	preprocessor is	not run	on C and assembly
	  source files before compiling.  This option is ignored when
	  compiling a .i file.

     -noexpopt
	  (f77 only) Exponential operation is not optimized.  This option
	  achieves the same precision as releases prior	to 4D1-4.0 without
	  using	the exponentiation optimization.  The new optimization
	  might	present	some precision differences (which do not
	  necessarily mean less	accuracy) in double precision exponential
	  operations.

     -nofilt
	  (CC only) Disables filtering of back end and linker error
	  messages through a filter that demangles C++ external	names.

     -nokpicopt
	  Specifies that uopt does not perform the special treatment for
	  global variables to optimize their program accesses under shared
	  compilation.

     -non_shared
	  (CC only) Specifies that the compiler	build a	non-shared object.
	  This is the opposite of specifying -KPIC.  Using the -non_shared
	  option causes	the linker to search the nonshared subdirectory	of
	  each default library search directory	(see the ld(1) man page).
	  The linker defaults the archive extensions to	.a instead of .so.
	  The appropriate non-shared library images must be installed.
	  Programs built with the -non_shared option are not portable
	  across platforms.

     -nostdinc
	  (CC only) Does not search for	#include files in the standard
	  directory (/usr/include).

     -old_rl
	  (f77 only) Same functionality	as the -bytereclen option which
	  should be used instead of -old_rl.

     -o	output
	  (CC only) Specifies the final	output file, output.  The file
	  a.out	is undisturbed.

     +p
     +pp  (CC only) The	32-bit compiler	enables	anachronisms and cfront
	  bug-compatibility support by default (see the	-anach and -cfront
	  options).  The +p option turns off support for C++ anachronisms.
	  The +pp option turns off support for both anachronisms and cfront
	  bug-compatibility.

     -pca [list][keep]
	  (CC only) Runs the pca(1) preprocessor to automatically discover
	  parallelism in the source code.  This	also enables the
	  multiprocessing (-mp)	directive.  There are two optional
	  arguments:

	  list,
	       Runs pca	and produces a .L listing file.	 It explains which
	       loops were parallelized and if not, why.

	  keep Runs pca	and produces the listing file.	Creates	a
	       transformed multiprocessed C intermediate file appended with
	       a .M.  (Power C only.)

     -pedantic
	  (CC only) In ANSI/ISO	preprocessing mode, warns that the #ident
	  preprocessor directive is non-standard except	in -cckr mode when
	  the directive	is silently ignored.  This directive is	a System V
	  extension, which by default is silently ignored.

     -show
	  (CC only) Prints the passes as they execute, their arguments,	and
	  their	input and output files.

     -signed
	  (CC only) Causes all char declarations to be signed char
	  declarations.	 By default they are treated as	unsigned char
	  declarations.

     -sopt[,option][,option]...
	  Invokes the source-to-source optimizer, cop
, on
	  the indicated	source file(s).	 This is distinct from the standard
	  global optimizer which is invoked with one of	the following
	  options:  -O,	-O2, or	-O3.  Additional options can be	passed to
	  -sopt	by using a comma-separated list, but the options passed	by
	  default cannot be changed (use cc -sopt -show	or f77 -sopt -show
	  to see what is passed	by default).  See the copt(1) and fopt(1)
	  man pages for	more details.

     -t	[options]
	  Select a name	to use for a particular	pass, startup routine, or
	  standard library.  These arguments are processed from	left to
	  right	so their order is significant.

	  The following	table lists the	possible options:

	  Name		      Character

	  include	      h

	  ujoin		      j

	  uld		      u

	  usplit	      s

	  umerge	      m

	  uopt		      o

	  ugen		      c

	  as0		      a

	  as1		      b

	  ld		      l

	  [m]crt[1n].o	      r

	  The following	are available for C only:

	  preprocessor	      p

	  pca		      K	(Power C only)

	  mpc		      M	(Power C only)

	  cfe		      f

	  The following	are available for Fortran only:

	  cpp		      p

	  pfa		      K

	  fcom		      f

	  libF77.a	      F

	  libI77.a	      I

	  libU77.a	      U

	  libisam.a	      S

	  libm.a	      M

	  cord		      z

	  Although cc or f77 can be used to compile source files in other
	  languages (such as Pascal), only the name used for the front end
	  of the C or Fortran compiler is selected by the -tf option.

	  f77 Usage notes: When	the -B option is encountered, the selection
	  of names takes place using the last -h and -t	options.  You must
	  use all three	options	together.  For example,	-tc -h.	-B directs
	  the compiler to use the ugen executable in the current directory.

	  Any of the -g	options	must precede all -B options because they
	  can affect the location of runtimes and what runtimes	are used.

	  If no	-t argument has	been processed before the -B argument, then
	  a -B string is passed	to the loader to use with its -l x
	  arguments.

	  For example, to use /tmp/libI77.a.patch instead of the standard
	  runtime I/O library /usr/lib/nonshared/libI77.a, the program must
	  be linked using the -t I -h /tmp -B .patch options.

	  The F, U, I, S, M, and n options affect compiling with the
	  -non_shared option.

     -trapuv
	  Forces all uninitialized stack, automatic and	dynamically
	  allocated variables to be initialized	with 0xFFFA5A5A.  When this
	  value	is used	as a floating point variable, it is treated as a
	  floating point NaN and it will cause a floating point	trap.  When
	  it is	used as	a pointer, an address or segmentation violation
	  will likely occur.  Default OFF.

     -u	  (f77 only) Makes the default type of a variable undefined, rather
	  than using the default FORTRAN rules.

     -use_readwrite_const
	  Puts const qualified variables and string literals in	a readable
	  and writable data section.

     -use_readonly_const
	  (CC only) Puts string	literals and file-level	(static, common, or
	  external) const qualified initialized	variables into a .rodata
	  section to separate these objects from data likely to	be
	  modified.  This is the default.  However, if you really want
	  constants to not be writable,	then in	addition to specifying
	  -use_readonly_const you must also specify -G0	-rdata_shared,
	  because by default the linker	will make .rodata and gp-relative
	  sections be writable.

     -usefpidx
	  (f77 only) Forces the	compiler to use	the floating point DO loop
	  variable as the loop counter.	 This is contrary to the ANSI
	  standard but maintains backward compatibility	with the 4D1-3.3
	  release.

     -v	  (CC) Same as -fullwarn (verbose warnings).  The old definition of
	  -v (prints the compiler passes) is invoked with the -show option.

	  (F77)	Print the passes as they execute and their input and
	  output.

     -version
	  Displays the version number of the compiler.	The compiler will
	  not be run if	this flag is used.

     -vms_cc
	  (f77 only) Uses VMS FORTRAN carriage control interpretation on
	  unit 6.  See the /usr/include/cmplrs/fioflags.h file when the
	  main program is written in C.

     -vms_endfile
	  (f77 only) Writes a VMS endfile record to the	output file when
	  ENDFILE statement is executed	and allows subsequent reading from
	  an input file	after an endfile record	is encountered.	 See the
	  /usr/include/cmplrs/fioflags.h file when the main program is
	  written in C.

     -vms_library
	  (f77 only) Treats subroutines	and functions starting with LIB$,
	  OTS$,	and SMG$ as VMS	runtime	library	routines which take a
	  variable number of arguments.	 This is accomplished by adding	an
	  argument count as the	hidden first argument in the actual
	  argument list.  Normal FORTRAN routines that do not take a
	  variable number of arguments and do not have an argument count as
	  the first argument in	the formal argument list, should not be
	  named	as above when used with	this compilation option.

     -vms_stdin
	  (f77 only) Allows rereading from stdin after EOF has been
	  encountered.	See the	/usr/include/cmplrs/fioflags.h file when
	  the main program is written in C instead.

     -w[n]
	  Suppresses warning messages.	n can be one of	the following:

	  0    (f77 only) Does not suppress the	warning	message	for unused
	       variables.  This	switch is non-standard and may not be
	       supported across	product	lines.

	  1    (f77 only) Suppresses the warning message for unused
	       variables (but permits other warnings unless -w is
	       specified.  This	switch is non-standard and may not be
	       supported across	product	lines.	This is	the default.

	  2    Warnings	are counted as errors.

	  66   (f77 only) Suppresses only FORTRAN 66 compatibility warnings
	       messages.

     -woff all
	  (CC only) Suppresses warning messages.

     -woff numberlist
	  (CC only) Suppresses warnings	in ANSI/ISO C.	All warnings have
	  been given a number: the number appears immediately after the
	  word Warning in the warning text, and	is larger than 1000 (to
	  make warning numbers different from those in an earlier version
	  of the compiler).  The numberlist is a comma-separated set of	1
	  or more numbersets.  A numberset is either a simple integer or a
	  pair of integers separated by	a hyphen.

	  Examples:  -woff " 1527" suppresses warning 1527.  -woff " 1527-
	  1570"	suppresses warnings 1527 through 1570.	-woff 1600-
	  1700,1705-1790 suppresses numbers 1600 through 1700 and 1705
	  through 1790.

     -xansi
	  (ANSI/ISO C only) Specifies ANSI/ISO C.  See the symbol
	  definitions in the -cckr option description.	Note that __STDC__
	  is defined, __EXTENSIONS__ is	defined	and adds many symbols into
	  the namespace, and __INLINE_INTRINSICS is defined and	may cause
	  some intrinsic <math.h>, <stdio.h>, <string.h>, and <curses.h>
	  library routines to be inlined.  Such	inlined	routines may not
	  set errno in accordance with the strict ANSI/ISO C standard
	  requirements.	 -xansi	is the default used by the compiler unless
	  the environment variable SGI_CC is set (see the introductory
	  remarks of this man page).

     -xgot
	  Specifies a 32-bit offset in the Global Symbol Table (GOT).  By
	  default, addresses are loaded	out of the GOT using a 16-bit
	  offset from a	context	pointer.  The default size of the GOT is
	  limited to 64K bytes or about	8K worth of symbols, 16K for -o32
	  compiled objects.  This can sometimes	result in a GOT	overflow
	  message.  Use	of the -xgot option allows the GOT to contain up to
	  1G of	entries; however, the resulting	executable will	be somewhat
	  larger and slower.  -xgot is a synonym for -TENV:large_GOT.

	  A better solution for	"GOT overflow" problems	is to compile the
	  objects without the -xgot option and to link using the -multigot
	  option, described in ld(1).

	  For more information about the GOT, the -xgot	option and some
	  important notes about	its use, see the dso(5)	man page (the FAQ
	  section, "What should	I do about a GOT overflow?").

     -B	string
	  Appends string to all	names specified	by the -t option.  If no -t
	  option has been processed before the -B option, the -t option	is
	  assumed to be	hpKfjusmocablrnyz.  This list designates all names.
	  If no	-t argument has	been processed before the -B then a -B
	  string is passed to the loader to use	with its -l x arguments.
	  Sometimes a more convenient way to get a string appended to all
	  archive library names	is to use the ld -Bstring option, which	may
	  be passed via	the -Wl,-Bstring option.  Invoking the compiler
	  with a name of the form cc string has	the same effect	as
	  specifying a -B string option	on the command line.

     -C	  (f77 only) See the -DEBUG:subscript_check option description in
	  the DEBUG_group(5) man page.

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

     -E	  Runs only the	C macro	preprocessor files (without considering
	  suffixes), and sends the result to the standard output.  The
	  resultant output will	contain	line directives.  This option
	  overrides the	-nocpp option.

     -F	  (f77 only) Applies the RATFOR	preprocessor to	relevant files and
	  puts the result in files appended by .f.  (No	.o files are
	  created.)

     -G	num
	  Specifies the	maximum	size, in bytes,	of a data item that is to
	  be accessed from the global pointer.	num is assumed to be a
	  decimal number.  If num is zero, no data is accessed from the
	  global pointer.  The default value for num is	8 bytes.

	  Data stored relative to the global pointer can be accessed by	the
	  program quickly, but this space is limited.  Large programs may
	  overflow the space accessed by the global pointer at load time.
	  If the loader	gives the error	message	Bad -G num value, recompile
	  with -G 0.  One must usually use the same value of this switch
	  for compiling	all files that comprise	a program executable or
	  DSO.	This switch is non-standard and	may not	be supported across
	  product lines.

     -H	c (f77 only) Halts compiling after the pass specified by the
	  character c, producing an intermediate file for the next pass.  c
	  can be fjusmoca (see the -t option for argument definitions).	 It
	  selects the compiler pass in the same	way as the the -t option.
	  If this option is used, the symbol table file	produced and used
	  by the passes	is the last component of the source file appended
	  with .T and is not removed.  This switch is non-standard and may
	  not be supported across product lines.

     -I	  The /usr/include file	is not searched	for #include files.

	  This option will be phased out in a future release; specify
	  -nostdinc instead.

     -I	dir
	  #include files whose names do	not begin with / are sought first
	  in the file directory, then in directories specified in -I
	  options, and finally in the standard directory (/usr/include).

     -K	  (f77 only) Uses the standard algorithm for generating	file names
	  with the conventional	suffix for the type of file (for example,
	  .B for binary	ucode produced by the front end) instead of putting
	  intermediate files in	/tmp or	TMPDIR.	 These intermediate files
	  are never removed even when a	pass encounters	a fatal	error.

	  When ucode linking is	performed and the -K option is specified,
	  the basename of the files created after the ucode link is u.out
	  by default.  If -ko output is	specified, the basename	of the
	  object file is output	with the appropriate suffix appended at	the
	  end if output	has no suffix.	This switch is non-standard and	may
	  not be supported across product lines.

     -KPIC
	  Generates position-independent code (PIC).  This is the default
	  and is needed	for programs linking with dynamic shared libraries.
	  If you do not	want to	generate PIC code, specify -non_shared on
	  the command line.

     -L	directory
	  In XPG4 mode,	searches for libraries named in	directory before
	  searching the	default	location.  Directories are searched in the
	  specified order.  Multiple instances of -L options can be
	  specified.

     -MDupdate filename
	  While	compiling, updates filename to contain header, library,	and
	  runtime make(1) dependencies for the cc output file.	cc
	  -MDupdate updates only lines that end	with a distinctive make
	  comment and begin with the name of the output	file followed by a
	  colon.  The standard option used with	make(1)	is the following:


	  -MDupdate Makedepend

     -M	  Runs only the	macro preprocessor on the named	C programs,
	  requesting it	to generate make dependencies and sends	the result
	  to standard output.

     -N[qxscelnC]nnn
	  (f77 only) Increases size of static tables in	the compiler.  The
	  compiler displays a warning message if tables	overflow and will
	  recommend that you specify one or more of the	following flags:

	  q    Maximum number of equivalenced variables.  Default is 2000.

	  x    Maximum number of external names	(common	block names,
	       subroutine and function names).	Default	is 3000.

	  s    Maximum number of statement numbers.  Default is	1000.

	  c    Maximum depth of	nesting	for control statements (such as	DO
	       loops).	Default	is 50.

	  e    Maximum expression tree depth.  Default is 400.

	  l    Maximum number of labels.  Default is 125.

	  n    Maximum number of local names.  Default is 8191.

	  C    Maximum number of continuation lines.  Default is 99.

     -O3  Creates a ucode object file for each C, FORTRAN 77, or RATFOR
	  source file appended with .u.	 The newly created ucode object
	  files, the ucode object files	specified on the command line, the
	  runtime startup routine, and all of the runtime libraries are
	  ucode	linked.	 Optimization is done on the resulting ucode linked
	  file and then	it is linked as	normal producing an a.out file.	 No
	  resulting .o file is left from the ucode linked result.  You
	  cannot specify -c with the -O3 option.  Instead, specify the -j
	  option.

     -Olimit num
	  Specify the maximum size, in basic blocks, of	a routine to be
	  optimized by the global optimizer.  If a routine has more than
	  this number of basic blocks, it is not optimized and a message is
	  printed.  An option specifying that the global optimizer is to be
	  run (-O, -O2,	-O3) must also be specified.  num is assumed to	be
	  a decimal number.  The default value for num is 1000 basic
	  blocks.

     -O	n The main optimization	level, specifying the basic level of
	  optimization desired.	 n can be one of the following:

	  0    Turns off all optimizations.  This is the default.

	  1    Turns on	local optimizations that can be	done quickly.

	  2    Turns on	extensive optimization.	 The optimizations at this
	       level are generally conservative, in the	sense that they	(1)
	       are virtually always beneficial,	(2) provide improvements
	       commensurate to the compile time	spent to achieve them, and
	       (3) avoid changes which affect such things as floating point
	       accuracy.

	  3    Turns on	aggressive optimization.  The optimizations at this
	       level are distinguished from -O2	by their aggressiveness,
	       generally seeking highest-quality generated code	even if	it
	       requires	extensive compile time.	 They may include
	       optimizations that are generally	beneficial but occasionally
	       hurt performance.

	  If no	value is specified for n, 2 is assumed.

     -P	  Runs only the	C macro	preprocessor.  Puts the	result for each
	  source file (by suffix convention, i.e., .c and .s) in a
	  corresponding	.i file.  The .i file has no # lines in	it.

     -R	  (f77 only) Uses any remaining	characters in the argument as
	  RATFOR options whenever processing a .r file.	 The temporary file
	  used as the output of	the RATFOR preprocessor	is that	of the last
	  component of the source file with a .f substituted for the .r.
	  This temporary file is removed unless	the -K option is specified.

     -S	  Compiles the specified source	programs and leaves the	symbolic
	  assembly language output in corresponding files appended with	.s.

     -U	  (f77 only) Does not fold cases.  f77 is usually a caseinsensitive
 language (for example, a is equivalent to	A).  The -U
	  option causes	f77 to treat uppercase and lowercase separately.
	  The compiler only recognizes keywords	in lowercase when this flag
	  is used.

     -U	name
	  Removes any initial definition of name.

     -Wc,arg1[,arg2]...
	  (f77 only) Passes the	argument(s) argi to the	compiler pass c.  c
	  is one of pfjusmocablKyz.  c selects the compiler pass in the
	  same way as the -t option (see the -t	option decription).  This
	  switch is not	standard and may not be	supported across product
	  lines.

     -Wf, -Yc
	  (CC only) Removes calls to empty user-defined	constructors and
	  destructors.	This option improves the quality of code generated
	  and the runtime performance.	This option could have undesirable
	  side effects on code compiled	with the -exceptions option and
	  should be used with extreme caution.

     -Wx,[-G [num],-v, -A, -K]
	  Treats any argument following	-Wx, as	if it were an svr3 cc
	  option.

     -Xcpluscomm
	  Processes C++	style comments (// ).  By default, // is not
	  treated as a comment introduction.  With this	option,	C++ comment
	  rules	are applied.

FILES    [Toc]    [Back]

     /tmp/ctm*		  Temporaries

     /usr/lib/driver	  Compiler driver

     /usr/lib/cpp	  C macro preprocessor

     /usr/lib/acpp	  ANSI/ISO C macro preprocessor

     /usr/lib/pca	  Multiprocessing analyzer (Power C only)

     /usr/lib/mpc	  Multiprocessing C translator (Power C	only)

     /usr/lib/copt	  C source-to-source optimizer

     /usr/lib/cfe	  C front end

     /usr/lib/ujoin	  Binary ucode and symbol table	joiner

     /usr/bin/uld	  ucode	loader

     /usr/lib/usplit	  Binary ucode and symbol table	splitter

     /usr/lib/umerge	  Procedure intergrator

     /usr/lib/uopt	  Optional global ucode	optimizer

     /usr/lib/ugen	  Code generator

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

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

     /usr/lib/mcrt1.o	  Startup for profiling

     /usr/lib/crt1.o	  Runtime startup

     /usr/lib/crtn.o	  Runtime startup

     /usr/lib/libc_mp.a	  Multiprocessing library (Power C only)

     /usr/lib/libc.so.1	  Shared standard library

     /usr/lib/libfpe.so	  Floating point exception handler library, see
			  sigfpe (3c)

     /usr/lib/libm.so	  Shared math library

SEE ALSO    [Toc]    [Back]

      
      
     cc(1), CC(1), f77(1)

     MIPSpro Compiling and Performance Tuning Guide

     This man page is available	only online.
[ Back ]
 Similar pages
Name OS Title
models IRIX Describes mathematical representation models for CF90 and MIPSpro 7 Fortran 90 compiler intrinsic procedures
intro_ffio IRIX Describes performance options available with the FFIO layers
as IRIX SGI MIPSpro Assembler
WML IRIX The widget meta-language file format for creating uil compilers
WML HP-UX The widget meta-language file format for creating uil compilers
WML Tru64 The widget meta-language file format for creating uil compilers
cvpav IRIX present the information about an MP Fortran program from its MIPSpro 7.2 or higher analysis files
sys_attrs_vba_univ Tru64 Describes how
sys_attrs_vba_vipvic Tru64 Describes how to
vme_manual_setup Tru64 Describes how to
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service