HP-UX Reference (11i v2 04/09) - 3 Library Functions A-M (vol 6)

c
crt0_ia(3) crt0_ia(3)
(For Itanium(R)-based Systems)
NAME
crt0_ia: crt0.o - execution startup routines
DESCRIPTION
The C, aC++, and FORTRAN compilers link in the object file
crt0.o for statically-bound programs to
provide startup capabilities and environments for program execution. It contains startup code that must
be linked using
ld to every statically-bound program. In a dynamically linked program (the default
method), the crt0.o object file is not used, and all actions normally associated with it are instead done
by the dynamic loader dld.so(5).
crt0.o processes initializers and terminators . Initializers are routines that are called before the pro-
gram entry point and terminators are routines that are called when the program terminates via the
exit
routine. Initializers are invoked in reverse order of the link line so that dependent libraries are initial-
ized before the libraries that depend on them. Terminators, on the other hand, are invoked in the for-
ward order.
crt0.o does not define any variables. It, however, sets the following global variables:
_ _argc A variable of type long containing the number of arguments.
_ _argv An array of character pointers to the arguments themselves.
_environ, __envp
An array of character pointers to the environment in which the program will
run. This array is terminated by a null pointer.
_SYSTEM_ID A variable of type long containing the system id value for an executable pro-
gram.
__tls_size A variable of type long containing the requested thread local storage size.
This variable is initialized with data from the kernel.
__load_info A variable of type void * containing load information passed from the kernel.
AUTHOR
The features described in this entry originated from AT&T UNIX System III.
FILES
crt0.h
SEE ALSO
System Tools
aCC(1) invoke the HP-UX aC++ compiler
cc(1) invoke the HP-UX C compiler
dld.so(5) the dynamic loader
exec(2) execute a file
f90(1) invoke the HP-UX FORTRAN compiler
ld(1) invoke the link editor
Miscellaneous
end(3C) symbol of the last locations in program
Section 3146 Hewlett-Packard Company 1 HP-UX 11i Version 2: September 2004