crt0_pa(3)crt0_pa(3)NAME
crt0_pa: crt0.o, gcrt0.o, mcrt0.o - execution startup routines for PA-
RISC systems
SYNOPSIS
Remarks
PA-RISC 64-bit ELF uses only.
This manpage describes on PA-RISC systems. For on Integrity systems,
see crt0_ia(3).
DESCRIPTION
PA-RISC 32-bit SOM
The C, Pascal, and FORTRAN compilers link in the object files or to
provide startup capabilities and environments for program execution.
All are identical except that and provide additional functionality for
gprof(1) and prof(1) profiling support respectively.
The following symbols are defined in these object files:
An array of character pointers to the environment in which the
program will run. This array is terminated
by a null pointer.
A variable of type short containing the FPU model number
returned by the FP status instruction. This
variable is initialized with data from the
kernel.
A variable of type short containing the FPU revision number
returned by the FP status instruction. This
variable is initialized with data from the
kernel.
A variable of type int containing CPU specific information.
This variable is initialized with data from
the kernel.
A variable of type int containing the CPU revision of the
machine. This variable is initialized with
data from the kernel.
A variable of type int containing the system id value for an
executable program.
Execution start address.
A secondary startup routine for C programs, called from
which in turn calls This routine is con‐
tained in the C library rather than the
file. For Pascal and FORTRAN programs, this
symbol labels the beginning of the outer
block (main program) and is generated by the
compilers.
The initial address of the program's data pointer.
The startup code loads this address into
general register 27.
The beginning of the stack unwind table.
The end of the stack unwind table.
The beginning of the try/recover table.
The end of the try/recover table.
The file defines a null procedure for so programs compiled with profil‐
ing can be linked without profiling.
The linker defines the following two symbols:
The beginning address of the program's text area.
The beginning address of the program's data area.
PA-RISC 64-bit ELF
The C, Pascal, and FORTRAN compilers link in the object file to provide
startup capabilities and environments for program execution. It con‐
tains startup code that must be linked using to every PA-RISC 64-bit
program. In a program, the object file is not used, and all actions
normally associated with it are instead done by the dynamic loader
dld.sl(5). Additional functionality for prof(1) and gprof(1) profiling
support is no longer handled by
In a PA-RISC 64-bit environment, processes initializers and termina‐
tors. Initializers are routines that are called before the program
entry point and terminators are routines that are called when the pro‐
gram terminates via the routine. Initializers are invoked in reverse
order of the link line so that dependent libraries are initialized
before the libraries that depend on them. Terminators, on the other
hand, are invoked in the forward order.
Unlike the SOM version of for PA-RISC 64-bit ELF does not define any
variables. It, however, sets the following global variables:
A variable of type long containing the number of arguments.
An array of character pointers to the arguments themselves.
An array of character pointers to the environment in which the
program will run. This array is terminated
by a null pointer.
A variable of type int containing CPU specific information.
This variable is initialized with data from
the kernel.
A variable of type long containing the FPU model number
returned by the FP status instruction. This
variable is initialized with data from the
kernel.
A variable of type long containing the FPU revision number
returned by the FP status instruction. This
variable is initialized with data from the
kernel.
A variable of type long containing the CPU revision of the
machine. This variable is initialized with
data from the kernel.
A variable of type long containing the system id value for an
executable program.
A variable of type long containing the requested thread local
storage size. This variable is initialized
with data from the kernel.
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.
FILESSEE ALSO
Profiling and Debugging Tools
gprof(1) display call graph profile data
monitor(3C) prepare execution profile
prof(1) display profile data
profil(2) execution time profile
System Tools
cc(1) invoke the HP-UX C compiler
exec(2) execute a file
f77(1) invoke the HP-UX FORTRAN compiler
ld(1) invoke the link editor
dld.sl(5) the PA-RISC dynamic loader
pc(1) invoke the HP-UX Pascal compiler
Miscellaneous
end(3C) symbol of the last locations in program
PA-RISC Systems Only crt0_pa(3)