Rules for linking unrecognized sections
If a link editor encounters sections whose headers contain
OS-specific values it does not recognize in the sh_type
or sh_flags fields, the link editor should combine
those sections as described below.
If the section's sh_flags bits include the attribute
SHF_OS_NONCONFORMING, then the section requires special
knowledge to be correctly processed, and the link editor
should reject the object containing the section with an error.
Unrecognized sections that do not have the
SHF_OS_NONCONFORMING attribute, are combined in a
two-phase process. As the link editor combines sections using
this process, it must honor the alignment constraints of the
input sections (asserted by the sh_addralign field),
padding between sections with zero bytes, if necessary, and
producing a combination with the maximum alignment constraint
of its component input sections.
-
In the first phase, input sections that match in name,
type and attribute flags should be concatenated into single
sections. The concatenation order should satisfy
the requirements of any known input section attributes
(for example, SHF_MERGE and SHF_LINK_ORDER).
When not otherwise constrained, sections should be emitted in
input order.
-
In the second phase, sections should be assigned to segments
or other units based on their attribute flags. Sections of
each particular unrecognized type should be
assigned to the same unit unless prevented by incompatible
flags, and within a unit, sections of the same unrecognized
type should be placed together if possible.
Non OS-specific processing (for example, relocation) should be
applied to unrecognized section types. An output section
header table, if present, should contain entries for
unknown sections. Any unrecognized section attribute flags
should be removed.
NOTE:
It is recommended that link editors follow the same two-phase
ordering approach described above when linking sections of
known types. Padding between such sections may have values
different from zero, where appropriate.
Next topic:
Special sections
Previous topic:
sh_link and sh_info interpretation
© 2005 The SCO Group, Inc. All rights reserved.
SCO OpenServer Release 6.0.0 -- 02 June 2005