m68k changes - optional reg pfx, apollo, delta, init
authorKen Raeburn <raeburn@cygnus>
Tue, 26 Apr 1994 22:22:51 +0000 (22:22 +0000)
committerKen Raeburn <raeburn@cygnus>
Tue, 26 Apr 1994 22:22:51 +0000 (22:22 +0000)
gas/ChangeLog

index f2e57ee289784a34c954f2f312ddd3a58f73dc78..29acbf5999ba39eeac9337b4abbb8da3dc762599 100644 (file)
@@ -7,6 +7,46 @@ Tue Apr 26 17:10:30 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
        * config/obj-coffbfd.c (fill_section): Check COFF_NOLOAD_PROBLEM
        also before setting STYP_NOLOAD for .bss section.
 
+       * config/tc-m68k.c (flag_reg_prefix_optional): New variable.
+       Initialized to value of REGISTER_PREFIX_OPTIONAL, if defined, or
+       zero.
+       (m68k_reg_parse): If flag_reg_prefix_optional is set, permit
+       register prefix to be absent.
+       (m68k_ip_op): Accept `&' also for immediate constants.
+       (insert_reg): Don't bother with (two!?) sanity checks of the
+       symbol table when inserting each register.
+       (m68k_parse_long_option): New function.  Set
+       flag_reg_prefix_optional if "register-prefix-optional" is passed.
+       * config/tc-m68k.h (REGISTER_PREFIX): Always define if not already
+       defined.
+       (OPTIONAL_REGISTER_PREFIX): Don't define.
+       (REGISTER_PREFIX_OPTIONAL): If not already defined, define as zero
+       or one depending on M68KCOFF.
+
+       Some changes to help Apollo support, from troy@cbme.unsw.edu.au:
+       * config/tc-m68k.c (DATA, ADDR, SP, FPREG, COPNUM, BAD, BAC):
+       Define as macros instead of enumerators, since the Apollo compiler
+       can't handle "enumVal1, enumVal2 = enumVal1" when defining an enum
+       type.
+       (make_pcrel_absolute) [NO_PCREL_RELOCS]: New function.
+       (tc_coff_fix2rtype) [NO_PCREL_RELOCS]: Generate only R_RELBYTE,
+       R_DIR16, and R_DIR32 relocs.
+       * config/tc-m68k.h [TE_APOLLO] (COFF_MAGIC, COFF_AOUTHDR_MAGIC):
+       Use Apollo versions.
+       [TE_APOLLO] (OBJ_COFF_OMIT_OPTIONAL_HEADER): Undefine.  That is,
+       do include the optional header for Apollo target.
+       (COFF_MAGIC): Don't define as MC68MAGIC if it's already defined.
+
+       * config/tc-m68k.h [TE_DELTA] (LEX_PCT): Define as 1, so that `%'
+       can be used within a label name.
+
+       * config/tc-m68k.h (m68k_init_after_args): Declare.
+       (tc_init_after_args): Define as m68k_init_after_args.
+       * config/tc-m68k.c (m68k_init_after_args): New function,
+       containing one-shot code from md_assemble.  Added warning for
+       combination of 68040 and 68851.
+       (md_assemble): Startup-time code deleted.
+
 Mon Apr 25 16:19:17 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
 
        * doc/Makefile.in (clean, distclean): Remove asconfig.texi.