aboutsummaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
Diffstat (limited to 'ld')
-rw-r--r--ld/ChangeLog6
-rw-r--r--ld/NEWS3
-rw-r--r--ld/emultempl/elf32.em2
-rw-r--r--ld/ld.texinfo6
4 files changed, 15 insertions, 2 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index 29b2647..819f5fa 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,9 @@
+2001-10-03 Vassili Karpov <malc@pulsesoft.com>
+
+ * emultempl/elf32.em (parse_args): Handle -z nocopyreloc.
+ * NEWS: Mention -z nocopyreloc.
+ * ld.texinfo (Options): Describe nocopyreloc.
+
2001-10-03 Alan Modra <amodra@bigpond.net.au>
* configure: Regenerate.
diff --git a/ld/NEWS b/ld/NEWS
index 27dc891..70997ef 100644
--- a/ld/NEWS
+++ b/ld/NEWS
@@ -1,4 +1,7 @@
-*- text -*-
+* Support for -z nocopyreloc in the x86 ELF linker, which disables
+ production of copy relocs. Warning: using this option may result in
+ non-sharable applications.
* Support for -z combreloc in the ELF linker, which puts dynamic
relocations against the same symbol together, so that dynamic linker
diff --git a/ld/emultempl/elf32.em b/ld/emultempl/elf32.em
index f2011ce..c9cf50d 100644
--- a/ld/emultempl/elf32.em
+++ b/ld/emultempl/elf32.em
@@ -1517,6 +1517,8 @@ cat >>e${EMULATION_NAME}.c <<EOF
link_info.combreloc = true;
else if (strcmp (optarg, "nocombreloc") == 0)
link_info.combreloc = false;
+ else if (strcmp (optarg, "nocopyreloc") == 0)
+ link_info.nocopyreloc = true;
/* What about the other Solaris -z options? FIXME. */
break;
EOF
diff --git a/ld/ld.texinfo b/ld/ld.texinfo
index 0b67ae1..9b10cc6 100644
--- a/ld/ld.texinfo
+++ b/ld/ld.texinfo
@@ -840,8 +840,9 @@ for Solaris compatibility.
@item -z @var{keyword}
The recognized keywords are @code{initfirst}, @code{interpose},
@code{loadfltr}, @code{nodefaultlib}, @code{nodelete}, @code{nodlopen},
-@code{nodump}, @code{now}, @code{origin}, @code{combreloc} and
-@code{nocombreloc}. The other keywords are
+@code{nodump}, @code{now}, @code{origin}, @code{combreloc}, @code{nocombreloc}
+and @code{nocopyreloc}.
+The other keywords are
ignored for Solaris compatibility. @code{initfirst} marks the object
to be initialized first at runtime before any other objects.
@code{interpose} marks the object that its symbol table interposes
@@ -858,6 +859,7 @@ of this object will ignore any default library search paths.
@code{combreloc} combines multiple reloc sections and sorts them
to make dynamic symbol lookup caching possible.
@code{nocombreloc} disables multiple reloc sections combining.
+@code{nocopyreloc} disables production of copy relocs.
@kindex -(
@cindex groups of archives