aboutsummaryrefslogtreecommitdiff
path: root/bfd
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>1995-10-26 18:42:46 +0000
committerIan Lance Taylor <ian@airs.com>1995-10-26 18:42:46 +0000
commite1371ad18cad6f0eaf3a9909ea57b779823489c2 (patch)
treeaa49e6465ac888d8020d993d30c17ff1c61da14e /bfd
parent867d923d18ef7eed7d016fdc04e8cf494d3c5db4 (diff)
downloadfsf-binutils-gdb-e1371ad18cad6f0eaf3a9909ea57b779823489c2.zip
fsf-binutils-gdb-e1371ad18cad6f0eaf3a9909ea57b779823489c2.tar.gz
fsf-binutils-gdb-e1371ad18cad6f0eaf3a9909ea57b779823489c2.tar.bz2
tweak .loader reloc counting
Diffstat (limited to 'bfd')
-rw-r--r--bfd/xcofflink.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/bfd/xcofflink.c b/bfd/xcofflink.c
index 0e272f5..33251b1 100644
--- a/bfd/xcofflink.c
+++ b/bfd/xcofflink.c
@@ -2428,7 +2428,13 @@ xcoff_mark (info, sec)
if (h == NULL
|| h->root.type == bfd_link_hash_defined
|| h->root.type == bfd_link_hash_defweak
- || h->root.type == bfd_link_hash_common)
+ || h->root.type == bfd_link_hash_common
+ || ((h->flags & XCOFF_CALLED) != 0
+ && (h->flags & XCOFF_DEF_REGULAR) == 0
+ && (h->flags & XCOFF_REF_DYNAMIC) != 0
+ && (h->root.type == bfd_link_hash_undefined
+ || h->root.type == bfd_link_hash_undefweak)
+ && h->root.root.string[0] == '.'))
break;
/* Fall through. */
case R_POS: