What Happens When You Compile and Link a Program

Linking Programs on HP-UX

The crt0.o Startup File

Notice in the example in “Compiler-Linker Interaction” that the first object file on the linker command line is /opt/langtools/lib/crt0.o, even though this file was not specified on the compiler command line. This file, known as a startup file, contains the program's entry point that is, the location at which the program starts running after HP-UX loads it into memory to begin execution. The startup code does such things as retrieving command line arguments into the program at run time, and activating the dynamic loader (dld.sl(5)) to load any required shared libraries. In the C language, it also calls the routine _start in libc which, in turn, calls the main program as a function.

The 64-bit linker uses the startup file,

/opt/langtools/lib/pa_64/crt0.o, when:

The linker is in compatibility mode (+compat).

The linker is in default standard mode (+std) with the -nosharedoption.

If the -pprofiling option is specified on the 32-bit mode compile line, the compilers link with mcrt0.o instead of crt0.o. If the -G profiling option is specified, the compilers link with gcrt0.o. In 64-bit mode with the -poption, the linker adds -lprofbefore the -lcoption. With the -Goption, the linker adds -lgprof.

If the linker option -Iis specified to create an executable file with profile-based optimization, in 32-bit mode icrt0.o is used, and in 64-bit mode the linker inserts /usr/ccs/lib/pa20_64/fdp_init.o. If the linker options -Iand -bare specified to create a shared library with profile-based optimization, in 32-bit mode scrt0.o is used, and in 64-bit mode, the linker inserts /usr/ccs/lib/pa20_64/fdp_init_sl.o. In 64-bit mode, the linker uses the single 64-bit crt0.o to support these option.

For details on startup files, see crt0(3).

The Program's Entry Point

In 32-bit mode and in 64-bit statically-bound (-noshared) executables, the entry point is the location at which execution begins in the a.out file. The entry point is defined by the symbol $START$ in crt0.o.

Chapter 2

43

Page 43
Image 43
Kenwood HP 9000 manual Crt0.o Startup File, Programs Entry Point

HP 9000 specifications

The Kenwood HP 9000 is a cutting-edge home appliance designed for culinary enthusiasts seeking to elevate their cooking experience. This powerful kitchen machine stands out for its multi-functionality, combining the roles of a food processor, blender, and mixer into one sleek unit.

One of the flagship features of the Kenwood HP 9000 is its robust motor, which delivers exceptional performance across various tasks. With a powerful motor that operates at multiple speeds, users can tackle everything from kneading dough to finely chopping vegetables with ease. The variable speed control allows for precision, ensuring that every ingredient is processed to perfection according to individual preferences.

The HP 9000 comes equipped with a variety of attachments that enhance its versatility. Among these are a stainless-steel mixing bowl, a dough hook, a whisk, and multiple cutting blades. This extensive array of accessories means that users can whip up delightful pastries, create homemade pasta, or prepare smoothies with minimal hassle. Each attachment is designed for easy attachment and removal, making the transition between tasks seamless and efficient.

Another key characteristic of the Kenwood HP 9000 is its advanced safety features. The design incorporates mechanisms that prevent the machine from operating unless all components are securely in place. This not only gives users peace of mind while cooking but also ensures longevity for the appliance, reducing the risk of wear and tear over time.

In terms of design, the HP 9000 is both modern and aesthetically pleasing. Its ergonomic shape and compact size make it easy to store and use in various kitchen settings, while the high-quality materials used in its construction guarantee durability and longevity. The user interface is intuitive, with clearly labeled buttons that facilitate operation, ensuring that even novice cooks can navigate the machine effortlessly.

Additionally, the Kenwood HP 9000 features innovative technologies, such as an integrated digital timer and a pulse function for added control during food preparation. These features enhance cooking precision, allowing users to achieve consistent results every time.

In summary, the Kenwood HP 9000 is an exceptional kitchen appliance that combines power, versatility, and safety. With its advanced features and user-friendly design, it is an ideal choice for anyone looking to simplify their cooking process while achieving professional-level results. Whether you're whipping up a quick meal or tackling an elaborate recipe, the HP 9000 is a reliable companion that will inspire culinary creativity.