+2001-10-03 Vassili Karpov <malc@pulsesoft.com>
+
+ * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Handle nocopyreloc.
+
2001-10-03 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
* elf64-mips.c (elf_backend_may_use_rela_p): New define.
if ((h->elf_link_hash_flags & ELF_LINK_NON_GOT_REF) == 0)
return true;
+ /* If -z nocopyreloc was given, we won't generate them either. */
+ if (info->nocopyreloc)
+ {
+ h->elf_link_hash_flags &= ~ELF_LINK_NON_GOT_REF;
+ return true;
+ }
+
eh = (struct elf_i386_link_hash_entry *) h;
for (p = eh->dyn_relocs; p != NULL; p = p->next)
{
+2001-10-03 Vassili Karpov <malc@pulsesoft.com>
+
+ * bfdlink.h (struct bfd_link_info): Add nocopyreloc field.
+
2001-09-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* libiberty.h (reconcat): New function.
and sorted so that relocs against the same symbol come together. */
boolean combreloc;
+ /* True if executable should not contain copy relocs.
+ Setting this true may result in a non-sharable text segment. */
+ boolean nocopyreloc;
+
/* How many spare .dynamic DT_NULL entries should be added? */
unsigned int spare_dynamic_tags;
};
+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.
-*- 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
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
@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
@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