From: Ian Lance Taylor Date: Thu, 12 Dec 1996 22:41:22 +0000 (+0000) Subject: * config/obj-coff.c (fixup_segment): Make sure that symbols are X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=8dd6fde3e5ea3909e3a29be820a7b12925f90329;p=binutils-gdb.git * config/obj-coff.c (fixup_segment): Make sure that symbols are resolved; expression symbols may have been skipped. --- diff --git a/gas/ChangeLog b/gas/ChangeLog index 743073e7001..ff724643d15 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -2,6 +2,7 @@ Thu Dec 12 16:40:47 1996 Ian Lance Taylor * write.c (adjust_reloc_syms): Make sure that symbols are resolved; expression symbols may have been skipped. + * config/obj-coff.c (fixup_segment): Likewise. Thu Dec 12 15:18:21 1996 Michael Meissner diff --git a/gas/config/obj-coff.c b/gas/config/obj-coff.c index eea84bce1fd..d06212e510a 100644 --- a/gas/config/obj-coff.c +++ b/gas/config/obj-coff.c @@ -22,7 +22,6 @@ #include "as.h" #include "obstack.h" #include "subsegs.h" -#include "libiberty.h" /* I think this is probably always correct. */ #ifndef KEEP_RELOC_INFO @@ -1654,6 +1653,7 @@ do_relocs_for (abfd, h, file_cursor) /* Turn the segment of the symbol into an offset. */ if (symbol_ptr) { + resolve_symbol_value (symbol_ptr); if (! symbol_ptr->sy_resolved) { char *file; @@ -3840,6 +3840,13 @@ fixup_segment (segP, this_segment_type) } #endif + /* Make sure the symbols have been resolved; this may not have + happened if these are expression symbols. */ + if (add_symbolP != NULL && ! add_symbolP->sy_resolved) + resolve_symbol_value (add_symbolP); + if (sub_symbolP != NULL && ! sub_symbolP->sy_resolved) + resolve_symbol_value (sub_symbolP); + if (add_symbolP != NULL && add_symbolP->sy_mri_common) {