aboutsummaryrefslogtreecommitdiff
path: root/bfd
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2001-10-03 15:11:48 +0000
committerAlan Modra <amodra@gmail.com>2001-10-03 15:11:48 +0000
commit8bd621d8835d2e6a99bd50ae8d18328ab06951ba (patch)
treea0054f75aa1f3e7c025bba18a46dc592f6129521 /bfd
parent181ddcac374ea90e61502925bbea23934eaa3275 (diff)
downloadfsf-binutils-gdb-8bd621d8835d2e6a99bd50ae8d18328ab06951ba.zip
fsf-binutils-gdb-8bd621d8835d2e6a99bd50ae8d18328ab06951ba.tar.gz
fsf-binutils-gdb-8bd621d8835d2e6a99bd50ae8d18328ab06951ba.tar.bz2
Add support for -z nocopyreloc.
Diffstat (limited to 'bfd')
-rw-r--r--bfd/ChangeLog4
-rw-r--r--bfd/elf32-i386.c7
2 files changed, 11 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index c1ce396..d898b1d 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,7 @@
+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.
diff --git a/bfd/elf32-i386.c b/bfd/elf32-i386.c
index 719a209..e249304 100644
--- a/bfd/elf32-i386.c
+++ b/bfd/elf32-i386.c
@@ -1127,6 +1127,13 @@ elf_i386_adjust_dynamic_symbol (info, h)
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)
{