TNS/E Native Object Files
eld Manual—527255-009
A-11
Code and Data Sections
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
Страница 4: ......
Страница 8: ...Contents eld Manual 527255 009 iv ...
Страница 12: ...What s New in This Manual eld Manual 527255 009 viii Changes to the 527255 005 Manual ...
Страница 34: ...Introduction to eld eld Manual 527255 009 1 14 Example of Use ...
Страница 54: ...eld Input and Output eld Manual 527255 009 2 20 Using Archives ...
Страница 98: ...Other eld Processing eld Manual 527255 009 4 20 Merging Source RTDUs ...
Страница 242: ...Output Listings and Error Handling eld Manual 527255 009 6 132 Glossary of Errors ...