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

  man pages->IRIX man pages -> abicc (1)              
Title
Content
Arch
Section
 

Contents


ABICC(1)							      ABICC(1)


NAME    [Toc]    [Back]

     abicc - ABI C compiler

SYNOPSIS    [Toc]    [Back]

     abicc [ option ] ...  file	...

DESCRIPTION    [Toc]    [Back]

     abicc is a	wrapper	shell script for cc for	compiling MIPS ABI
     applications.  It translates a common subset of the SVR4 SGS (Software
     Generation	System)	flags and arguments to those of	the native IDO (IRIS
     Development Option).  By the use of this wrapper, applications which link
     "on-site" on a target platform are	isolated from having to	know the
     details of	invoking that platform's compilation system.

     abicc also	serves to hide the details of constructing an ABI application
     on	IRIX.  The details of exactly how the native cc	constructs an ABI
     application are not guaranteed to remain unchanged, so abicc should be
     used to compile all ABI-compliant programs	to insure portability.

OPTIONS    [Toc]    [Back]

     The following options are recognized by abicc; options which are not
     applicable	are (generally)	silently ignored.  Further details available
     in	the UNIX System	V Release 4 Programmer's Reference Manual.

     -A	 name[(tokens)]
	   controls #assert mechanisms

     -B	static
	   look	only for static	archives during	link phase

     -B	dynamic
	   look	for DSOs first,	then static archives. during link phase

     The -B static and -B dynamic options serve	as toggles and can be
     specified multiple	times on a command line.

     -B	symbolic
	  when building	a shared object, bind references to global symbols to
	  their	definitions within the object

     -B	symbolic=name,...
	  when creating	a DSO, bind references to the named symbols to their
	  definitions within the object.  Not supported	at at present.

     -B	symbolic_file=filename
	  when creating	a DSO, the file	filename contains a list of symbols
	  that should be bound to their	definitions within the object if there
	  is a definition in the object.  Not supported	at present.

     -B	export
	  when creating	a DSO, indicates that symbols from the next object,
	  archive, or DSO are exported from the	DSO being created.  This is



									Page 1






ABICC(1)							      ABICC(1)



	  the default for an object but	not for	an archive or DSO.

     -B	export=name,...
	  when creating	a DSO, marks the symbols given by the list of names as
	  exported.  If	any symbols are	exported by this mechanism then	all
	  unspecified symbols will be automatically hidden.  filename contains
	  a list of symbols that should	be exported.  Any symbols not
	  specifically exported	will be	automatically hidden.

     -B	exports_file=filename
	  when creating	a DSO, the file	given by filename contains a list of
	  symbols that should be exported.  Any	symbols	not specifically
	  exported will	be automatically hidden.

     -B	hide
	  when creating	a DSO, indicates that symbols from the next object,
	  archive, or DSO are hidden in	the DSO	being created.	This is	the
	  default for an archive or DSO	but not	for an object.

     -B	hide=name,...
	  when creating	a DSO, marks the symbols given by the list of names as
	  hidden.  Ignored if any symbols are exported by the
	  -B export=name,...  or -B exports_file=filename options.

     -B	hides_file=filename
	  when creating	a DSO, the file	given by filename contains a list of
	  symbols that should be hidden.  Ignored if any symbols are exported
	  by the -B export=name,...  or	-B exports_file=filename options.

     -B	nolibraryreplacement
	  Turns	on a flag in the dynamic section so that rld does not allow
	  execution time or runtime changing of	the path (except for super
	  user)	to find	the shared objects. Typically used for security
	  purposes on system utilities.

     -B	rpath=PATH
	  PATH is a directory.	Specifies the rpath pathname when linking
	  -shared (an IRIX cc option) or when using the	-G option.  The
	  dynamic linker will search the named directory first.


     -C	  suppresses comment removal when combined with	-P or -E options. Not
	  meaningful otherwise.

     -b	  This SVR4 option is silently ignored.

     -c	  suppresses linking phase.

     -D	name[=tokens]
	  defines name to the preprocessor, as if by a C-language #define
	  directive. If	an =value is not given,	a value	of 1 is	used.




									Page 2






ABICC(1)							      ABICC(1)



     -d	y specifies dynamic linking.  This is the default.

     -d	n specifies static linking.  Statically	linked applications are	not
	  MIPS ABI conforming.

     -E	  preprocess only (no compilation or linking).

     -f	  (obsolete, ignored)

     -G	  direct linker	to produce shared object.  When	using the -G option,
	  one usually also specifies the outfile file name using, -o file.so
	  and  the "soname" using, -Wl,-soname,file.so

     -g	  generate symbolic debug information.

     -H	  prints include file names as they are	processed.  Suppresses
	  compilation (the output is much like	the -E option).

     -I	dir
	  changes the algorithm	for searching for headers whose	names are not
	  absolute pathnames to	look in	the directory named by directory
	  before looking in the	usual places.  Directories named in -I options
	  will be searched in the order	specified.

     -J	sfm
	  not supported, silently ignored

     -K	PIC
	  generate Position Independent	Code.  This is implied on the
	  Reference Platform.

     -K	uchar
	  The compiler wil treat the char data type as unsigned.  This is the
	  default, as specified	in the MIPS Processor ABI Supplement .

     -K	schar
	  The compiler wil treat the char data type as signed.

     -K	32
	  generate a 32-bit object. This is the	default.  Defaults to -K mips1
	  .

     -K	64
	  generate a 64bit object.  Defaults to	-K mips3 .

     -K	mips1
	  generate code	using the MIPS I instruction set of the	R2000/R3000
	  RISC architecture.  Defaults to -K 32	.

     -K	mips2
	  generate code	using the MIPS II instruction set (MIPS	1 + R4000
	  specific extensions).	Defaults to -K 32 .



									Page 3






ABICC(1)							      ABICC(1)



     -K	mips3
	  generate code	using the MIPS III (R4000) instruction set.  Defaults
	  to -K	64 .

     -K	mips4
	  generate code	using the MIPS IV (R10000,R5000,R8000) instruction
	  set.	Defaults to -K 64 .

     -K	fpe
	  not supported, silently ignored

     -K	mau
	  not supported, silently ignored

     -K	sd
	  not supported, silently ignored

     -K	sz
	  not supported, silently ignored

     -K	minabi
	  not necessary; abicc will by definition restrict references to ABI
	  references.

     -K	xgot
	  generate code	for the	extended GOT model.  This model	is not
	  recommended.	Many archives are not available	in xgot	form.

     -X	readwrite_const
	  const	data is	placed in writable memory.

     -X	readonly_const
	  const	data may be placed in readonly memory (this is the default).
	  ANSI C says that if an application attempts to write into const data
	  the behavior is undefined.

     -X	xpg
	  directs the compiler to set the global variable __xpg4 to 1; this
	  indicates that libraries should provide behavior compatible with the
	  X/Open Single	UNIX(TM) Specification rather than the default
	  traditional behavior where there is a	conflict.

     -L	 dir
	  controls library search path at linking phase	Passed through to ld.

     -l	 name
	  search specified library

     -O	  do compilation phase optimization.






									Page 4






ABICC(1)							      ABICC(1)



     -o	 pathname
	  names	output file

     -P	  perform only preprocessing on	the named files	, leaving the result
	  on corresponding files suffixed .i.

     -p	  is no	longer supported.  For profiling see speedshop(1). Programs
	  with -p profiling generated in them are not ABI conformant:
	  profiling should only	be done	on a development platform.

     -Q	n suppresses compiler identification information in the	output
	  file(s).  Ignored on IRIX.

     -Q	y generates compiler identification information	in the output file(s).
	  Ignored on IRIX.

     -q	 c
	  controls generation of profiling code; c can be l or p.  Ignored on
	  IRIX.

     -S	  suppress assembly and	linking	(leaves	assembler file).

     -U	 name
	  causes specified name	to be undefined, as if by a C-language #undef
	  directive.  -U takes precedence over -D , so if both are present for
	  a name on the	command	line, name will	not be defined.

     -v	  verbose mode.

     -V	  prints compiler version information.	Ignored	on IRIX.

     -Wl,arg[,arg2...]
	  passes options directly to the linker. No un-quoted spaces are
	  allowed anywhere in this option.

     -X	a ANSI compilation mode	(default).  Defines __STDC__ to	be 1.

     -X	c ANSI conformance mode.  Defines __STDC__ to be 1.

     -X	t transition mode.  Does not define __STDC__.

     If	no -X option is	specified, the default will be -X a (actually, the
     IRIX -xansi mode with ABI additions, see NOTE below).  An ABI application
     can not be	produced with the -X t mode, as	the ABI	requires ANSI C.

     -Y	  not supported, generates a warning message

NOTES    [Toc]    [Back]

     The OPTIONS section above indicates a space character between options and
     option-arguments.	This is	in accordance with X/Open recommendations for
     portable applications.  abicc also	supports placing its option-argument
     in	the same string	with no	space.	If the option-argument is optional, no



									Page 5






ABICC(1)							      ABICC(1)



     space is allowed and this is reflected in the OPTIONS section.

     The default mode for abicc	closely	matches	the -xansi mode	documented in
     the cc(1) man page. In addition to	the defined symbols listed there,
     _ABI_SOURCE is defined, the IRIX cc -G 0 option is	selected, and
     /usr/include/abi is inserted at the front of the standard include path.
     Only /usr/lib/abi is searched for libraries if -K 32.  Only
     /usr/lib64/abi is searched	for libraries if -K 64.

     -K	32 may only be combined	with -K	mips1 or -K mips2 . -K 64 may only be
     combined with -K mips3 or -K mips4	.

FILES    [Toc]    [Back]

     /usr/lib/abi    ABI libraries and configuration files
     /usr/lib/mips2/abi	   ABI libraries
     /usr/lib64/abi    ABI libraries
     /usr/lib64/mips3/abi    ABI libraries
     /usr/lib64/mips4/abi    ABI libraries
     /usr/include/abi	     special ABI include files
     /usr/lib/abi/setup	     abicc setup file
     /usr/lib/abi/sgicc.cfg  IRIX abicc	config file

SEE ALSO    [Toc]    [Back]

      
      
     abild(1), check_abi_compliance(1),	check_abi_interface(1),
     check_for_syscalls(1)
     MIPS Processor ABI	Conformance Guide
     UNIX System V Release 4 Programmer's Reference Manual
     http://www.mipsabi.org has	the MIPS ABI documents.


									PPPPaaaaggggeeee 6666
[ Back ]
 Similar pages
Name OS Title
yacc IRIX yet another compiler-compiler
cc Tru64 C compiler
NCC IRIX 32-bit C++ compiler
tic IRIX terminfo compiler
rpcgen IRIX an RPC protocol compiler
rpcgen_tli IRIX an RPC protocol compiler
c89 Tru64 Standard C Compiler
c++ OpenBSD GNU project C++ Compiler
menuc NetBSD menu compiler
cc NetBSD GNU project C and C++ Compiler (gcc-2.95)
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service