Code And Data Sections - HP eld Manual

Table of Contents

Advertisement

TNS/E Native Object Files
Object RTDU Sections
An object RTDU, which is part of the SQL/MP implementation, can be placed into a
program by a tool named SQLCOMP. The object RTDU is represented by three
sections.
.shstrtab Section
This is a string space that is pointed at from the ELF section headers. It is
required.
ELF Section Headers
These contain header information to describe everything in the object file, except
for the ELF header, the program headers, the section headers themselves, and
possibly unused space within the object file.
A general principle behind the loadfile design is that the sections up through .dynstr2
are expected to be small, and it can therefore be more efficient to have them all near
the front. That is the reason that the .dynstr2 section was invented, i.e., to segregate
out the strings needed by other small sections near the front of the file.
Another general principle is that, after all the things that are "small", all the things that
might need to be resident come next. More specifically, the .restext section needs to
be resident (by definition), and if it is present then some other sections also need to be
resident, and some don't. All the other things that would also need to be resident are
placed before the .restext section, so that the .restext section (if present) marks the
end of the portion of the text segment that needs to be resident.
The HP NonStop operating system has also invented the .rela.gblzd section to handle
globalized symbols in the implementation of C++. Other implementations take different
approaches, not just to handle this specific feature of C++ but with regard to the issue
of preemption in general. This invention of the .rela.gblzd section again follows the
same strategy for the HP NonStop operating system of segregating relocation table
entries based on the target symbol, not based on the address of the relocation site.
The reason that Intel and HP separate out the relocation table entries for the
.IA_64.pltoff section is related to the feature of "lazy evaluation", which the HP
NonStop operating system does not support (and which is not described in this
appendix).

Code and Data Sections

This subsection discusses the "ordinary" code and data sections that come from
application source code, possibly with some things added by the compiler or linker.
Special types of data sections, such as the stack unwinding information, the .procinfo
and .procnames sections, the DWARF sections, and the various linker-created
sections in loadfiles, are not detailed here.
eld Manual—527255-009
A-11
Code and Data Sections

Advertisement

Table of Contents
loading

Table of Contents