* symbols.c (resolve_symbol_value): If a symbol is equated to an

undefined symbol, preserve the X_op of O_symbol.
	(S_GET_VALUE): Fix check to permit this case.
	* write.c (write_relocs): If a reloc is against an undefined
	symbol equated to another symbol, change the reloc to be against
	the latter symbol.
	* config/obj-coff.c (do_relocs_for): Likewise.
If the MRI assembler sees
foo EQU bar
	call foo
where bar is not defined, it generates a reloc against bar rather than
against foo.  Since the gas documentation does not define this case,
this change makes gas compatible.
This commit is contained in:
Ian Lance Taylor 1996-01-22 18:00:01 +00:00
parent 6df07e7f7e
commit 16ce20d4d7
1 changed files with 9 additions and 1 deletions

View File

@ -25,9 +25,17 @@ Mon Jan 22 17:24:47 1996 James G. Smith <jsmith@cygnus.co.uk>
* config/tc-mips.c (load_register): Optimise "dli" loads.
(md_show_usage): add "-mcpu=vr4100" to help text.
Mon Jan 22 11:53:00 1996 Ian Lance Taylor <ian@cygnus.com>
* symbols.c (resolve_symbol_value): If a symbol is equated to an
undefined symbol, preserve the X_op of O_symbol.
(S_GET_VALUE): Fix check to permit this case.
* write.c (write_relocs): If a reloc is against an undefined
symbol equated to another symbol, change the reloc to be against
the latter symbol.
* config/obj-coff.c (do_relocs_for): Likewise.
* config/tc-ppc.c (ppc_csect): An unnamed csect is storage class
XMC_PR.