aboutsummaryrefslogtreecommitdiff
path: root/bfd
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>1994-01-19 04:48:37 +0000
committerIan Lance Taylor <ian@airs.com>1994-01-19 04:48:37 +0000
commit3a5b50f4578a8431db1d65bf051e03ce09f9f445 (patch)
treed0f1a65357e921136a012923a0db7723ee511faa /bfd
parent77918505b5f096f0c1aa07179d54f2f2626ea864 (diff)
downloadgdb-3a5b50f4578a8431db1d65bf051e03ce09f9f445.zip
gdb-3a5b50f4578a8431db1d65bf051e03ce09f9f445.tar.gz
gdb-3a5b50f4578a8431db1d65bf051e03ce09f9f445.tar.bz2
Resolve warning symbols like indirect symbols.
Diffstat (limited to 'bfd')
-rw-r--r--bfd/ChangeLog4
-rw-r--r--bfd/aoutx.h10
2 files changed, 8 insertions, 6 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index c4f0732..9058bc9 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -3,8 +3,8 @@ Tue Jan 18 16:43:19 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
* aoutx.h (aout_link_add_symbols): Increment sym_hash as well as p
for an indirect or warning symbol.
(aout_link_write_symbols): Update sym_hash with the target of an
- indirect symbol. If an indirect symbol is defined, output the
- calculated value and don't output the target symbol.
+ indirect or warning symbol. If an indirect symbol is defined,
+ output the calculated value and don't output the target symbol.
Tue Jan 18 03:54:59 1994 David J. Mackenzie (djm@thepub.cygnus.com)
diff --git a/bfd/aoutx.h b/bfd/aoutx.h
index 1e612f3..a11b778 100644
--- a/bfd/aoutx.h
+++ b/bfd/aoutx.h
@@ -3484,12 +3484,14 @@ aout_link_write_symbols (finfo, input_bfd, symbol_map)
external symbol. */
h = *sym_hash;
- /* If this is an indirect symbol, then change hresolve to
- the base symbol. We also change sym_hash so that the
- relocation routines relocate against the real symbol. */
+ /* If this is an indirect or warning symbol, then change
+ hresolve to the base symbol. We also change *sym_hash so
+ that the relocation routines relocate against the real
+ symbol. */
hresolve = h;
if (h != (struct aout_link_hash_entry *) NULL
- && h->root.type == bfd_link_hash_indirect)
+ && (h->root.type == bfd_link_hash_indirect
+ || h->root.type == bfd_link_hash_warning))
{
hresolve = (struct aout_link_hash_entry *) h->root.u.i.link;
while (hresolve->root.type == bfd_link_hash_indirect)