From 3a5b50f4578a8431db1d65bf051e03ce09f9f445 Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Wed, 19 Jan 1994 04:48:37 +0000 Subject: [PATCH] Resolve warning symbols like indirect symbols. --- bfd/ChangeLog | 4 ++-- bfd/aoutx.h | 10 ++++++---- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index c4f0732564..9058bc9794 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 1e612f32f8..a11b7786b1 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)