* symbols.c (resolve_symbol_value): If a symbol is equated to an
authorIan Lance Taylor <ian@airs.com>
Mon, 22 Jan 1996 18:00:01 +0000 (18:00 +0000)
committerIan Lance Taylor <ian@airs.com>
Mon, 22 Jan 1996 18:00:01 +0000 (18:00 +0000)
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.

gas/ChangeLog

index 12315d244fc207e11f0e2e3a5f0354231e7697a7..67bb29b9290ca2839ca1514259caa1b3e946163b 100644 (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.