Document -z unique/-z nounique in the ld man page and help output

* ld.texi (Options): Document -z unique and -z nounique.
	* lexsup.c (elf_shlib_list_options): Likewise.
This commit is contained in:
Vivek Das Mohapatra 2020-12-14 17:25:52 +00:00 committed by Alan Modra
parent 6a0a0dd0cc
commit c3805e4cef
3 changed files with 16 additions and 0 deletions

View File

@ -2,6 +2,8 @@
* emultempl/elf.em (gld${EMULATION_NAME}_handle_option):
Parse -z unique / -z nounique options.
* ld.texi (Options): Document -z unique and -z nounique.
* lexsup.c (elf_shlib_list_options): Likewise.
2020-12-14 Howard Chu <hyc@symas.com>

View File

@ -1306,6 +1306,16 @@ Specify that the dynamic loader should modify its symbol search order
so that symbols in this shared library interpose all other shared
libraries not so marked.
@item unique
@itemx nounique
When generating a shared library or other dynamically loadable ELF
object mark it as one that should (by default) only ever be loaded once,
and only in the main namespace (when using @code{dlmopen}). This is
primarily used to mark fundamental libraries such as libc, libpthread et
al which do not usually function correctly unless they are the sole instances
of themselves. This behaviour can be overridden by the @code{dlmopen} caller
and does not apply to certain loading mechanisms (such as audit libraries).
@item lazy
When generating an executable or shared library, mark it to tell the
dynamic linker to defer function call resolution to the point when

View File

@ -2022,6 +2022,10 @@ elf_shlib_list_options (FILE *file)
fprintf (file, _("\
-z interpose Mark object to interpose all DSOs but executable\n"));
fprintf (file, _("\
-z unique Mark DSO to be loaded at most once by default, and only in the main namespace\n"));
fprintf (file, _("\
-z nounique Don't mark DSO as a loadable at most once\n"));
fprintf (file, _("\
-z lazy Mark object lazy runtime binding (default)\n"));
fprintf (file, _("\
-z loadfltr Mark object requiring immediate process\n"));