Mapfile option defaults
The
ld
command has three built-in segments
(text,
data,
and
note)
with default
segment_attribute_values
and corresponding default mapping directives as
described under
``Segment Declarations.''
Even though the
ld
command does not use an actual ``mapfile'' to store the defaults,
the model of a ``default mapfile'' helps to illustrate what happens when
the
ld
command encounters your mapfile.
``Default Mapfile''
shows how a mapfile would appear for the
ld
command defaults.
The
ld
command begins execution behaving as if the mapfile in
``Default Mapfile''
has already been read in.
Then
ld
reads your mapfile and either augments or makes changes to the defaults.
CAUTION:
The interp segment, which precedes all others,
and the dynamic segment,
which follows the data segment,
are not shown in
``Default Mapfile''
and
``Simple Map Structure''
because you cannot manipulate them.
text = LOAD ?RX;
text : $PROGBITS ?A!W;
data = LOAD ?RWX;
data : $PROGBITS ?AW;
data : $NOBITS ?AW;
note = NOTE;
note : $NOTE;
Default Mapfile
As each segment declaration in your mapfile is read in, it
is compared to the existing list of segment declarations
as follows:
-
If the segment does not already exist in the mapfile,
but another with the same segment-type value exists,
the segment is added before all of the existing segments of the
same segment_type.
-
If none of the segments in the existing mapfile
has the same segment_type value as the
segment just read in, then the segment is added by segment_type value
to maintain the following order:
-
INTERP
-
LOAD
-
DYNAMIC
-
NOTE
-
If the segment is of segment_type LOAD and
you have defined a virtual_address
value for this LOADable segment, the
segment is placed before any LOADable segments without a defined
virtual_address value
or with a higher virtual_address value, but after any segments with
a virtual_address value that is lower.
As each mapping directive in your mapfile is read in, the directive is
added after any other mapping directives
that you already specified
for the same segment but before the default mapping directives for that
segment.
Next topic:
Internal map structure
Previous topic:
User-Defined Mapfile
© 2005 The SCO Group, Inc. All rights reserved.
SCO OpenServer Release 6.0.0 -- 02 June 2005