eld Input and Output
eld Manual—527255-009
2-8
Using a DLL Registry
Note that this is a DLL registry under the user’s control, not the “public DLL registry”
covered in
Finding and Reading The Public DLL Registry (ZREG) File
on page 3-23.
If the
-t
option is not specified, and no DLL registry is specified, the DLL is placed at
the address 0x78000000.
If the
-d
option is not used, the data (constant) segment of a DLL is placed
immediately after the text segment at a 64KB boundary if it isn’t an implicit DLL, or
128KB if it is an implicit DLL. The
-d
option may be used to tell where the data
(constant) segment starts.
eld
reports an error if you specify the
-d
option for a DLL
without the
-t
option.
The two segment addresses for a program are always specified independently, with
the
-t
and
-d
options. The default value for
-t
is 0x70000000, and the default
value for
-d
is 0x08000000.
Note:
In general, the
-d
option should not be used, because it will result in the
creation of a file that the operating system will refuse to load.
The values specified for the
-t
and
-d
options are rounded up, if necessary to a
multiple of 128KB for an implicit DLL, or 64KB for other types of loadfiles. If rounding
up is necessary, a warning message is produced.
eld
reports an error if you specify the
-t
or
-d
option with
-r
.
Using a DLL Registry
The linker uses a DLL registry to manage DLL addresses so that the virtual addresses
of some or all of the DLLs being managed by a given registry do not overlap. Note that
this is a DLL registry managed by the individual user, not the “public” DLL registry
covered in
Finding and Reading The Public DLL Registry (ZREG) File
on page 3-23.
The linker can pick addresses on its own, or the registry can be modified by hand to tell
the linker what to do.
The
-check_registry
and
-update_registry
options tell the linker which
registry to use.
•
The
-check_registry
option is used to tell the linker how the DLL must be
built, giving it no choice.
•
The
-update_registry
option can make suggestions to the linker, but the
linker still has decisions to make, and the registry is updated as a result. If
neither option is used, the linker does not use a registry.
•
eld
reports an error if these options are used when the linker is not building a
DLL.
eld
reports an error if both options are used.
eld
reports an error if either
the
-check_registry
or
-update_registry
option is used with the
-t
or
-d
option.
When a DLL registry is used the linker lays out data segment(s) of the DLL
immediately after the text segment, at a 64KB boundary if it isn’t an implicit DLL, or at a
128KB boundary if it is an implicit DLL.
Содержание 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 ...