mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-24 02:24:46 +08:00
Document how to use the linker to create a resource only DLL.
PR 30359 * ld.texi (WIN32): Document how to create a resource only DLL.
This commit is contained in:
parent
0e759f232b
commit
d1792f72bf
@ -1,3 +1,8 @@
|
||||
2023-05-16 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
PR 30359
|
||||
* ld.texi (WIN32): Document how to create a resource only DLL.
|
||||
|
||||
2023-05-16 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
* ld.texi (-Ur): Clarify the actions of this option.
|
||||
|
33
ld/ld.texi
33
ld/ld.texi
@ -8556,6 +8556,39 @@ archive. The cygwin and mingw ports of @command{ld} have specific
|
||||
support for creating such libraries provided with the
|
||||
@samp{--out-implib} command-line option.
|
||||
|
||||
@item Resource only DLLs
|
||||
It is possible to create a DLL that only contains resources, ie just a
|
||||
@samp{.rsrc} section, but in order to do so a custom linker script
|
||||
must be used. This is because the built-in default linker scripts
|
||||
will always create @samp{.text} amd @samp {.idata} sections, even if
|
||||
there is no input to go into them.
|
||||
|
||||
The script should look like this, although the @code{OUTPUT_FORMAT}
|
||||
should be changed to match the desired format.
|
||||
|
||||
@example
|
||||
OUTPUT_FORMAT(pei-i386)
|
||||
SECTIONS
|
||||
@{
|
||||
. = SIZEOF_HEADERS;
|
||||
. = ALIGN(__section_alignment__);
|
||||
.rsrc __image_base__ + __section_alignment__ : ALIGN(4)
|
||||
@{
|
||||
KEEP (*(.rsrc))
|
||||
KEEP (*(.rsrc$*))
|
||||
@}
|
||||
/DISCARD/ : @{ *(*) @}
|
||||
@}
|
||||
@end example
|
||||
|
||||
With this script saved to a file called, eg @file{rsrc.ld}, a command
|
||||
line like this can be used to create the resource only DLL
|
||||
@file{rsrc.dll} from an input file called @file{rsrc.o}:
|
||||
|
||||
@smallexample
|
||||
ld -dll --subsystem windows -e 0 -s rsrc.o -o rsrc.dll -T rsrc.ld
|
||||
@end smallexample
|
||||
|
||||
@item exporting DLL symbols
|
||||
@cindex exporting DLL symbols
|
||||
The cygwin/mingw @command{ld} has several ways to export symbols for dll's.
|
||||
|
Loading…
Reference in New Issue
Block a user