* config/obj-coff.c (fixup_segment): Make sure that symbols are

resolved; expression symbols may have been skipped.
This commit is contained in:
Ian Lance Taylor 1996-12-12 22:41:22 +00:00
parent d0d5edba84
commit 8dd6fde3e5
2 changed files with 9 additions and 1 deletions

View file

@ -2,6 +2,7 @@ Thu Dec 12 16:40:47 1996 Ian Lance Taylor <ian@cygnus.com>
* 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 <meissner@tiktok.cygnus.com>

View file

@ -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)
{