* config/tc-sh.c (md_pseudo_table): Add "uses".
[deliverable/binutils-gdb.git] / gas / ChangeLog
index acb3e595eefa15d903ce9f3f4d703c60136c2e93..671fe1ca4100bdc3c7ad2757d041d861e646d6b2 100644 (file)
@@ -1,5 +1,258 @@
+Mon Jul 24 14:10:24 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * config/tc-sh.c (md_pseudo_table): Add "uses".
+       (s_uses): New static function.
+       (sh_coff_frob_file): New function.
+       (md_convert_frag): Call subseg_change before calling fix_new.
+       (sh_handle_align): New function.
+       (SWITCH_TABLE): Define.
+       (sh_force_relocation): New function.
+       (md_apply_fix): Handle R_SH_USES, R_SH_COUNT and R_SH_ALIGN.
+       (sh_coff_reloc_mangle): Likewise.  Also handle switch table
+       entries.
+       * config/tc-sh.h (HANDLE_ALIGN): Define.
+       (sh_handle_align): Declare.
+       (TC_FORCE_RELOCATION): Define.
+       (sh_force_relocation): Declare.
+       (TC_COUNT_RELOC): Simplify; rely on TC_FORCE_RELOCATION instead.
+       (tc_frob_file): Define.
+       (sh_coff_frob_file): Declare.
+       * config/obj-coff.c (write_object_file): Call tc_frob_file if it
+       is defined.
+       (fixup_mdeps): Call HANDLE_ALIGN if it is defined.
+       (TC_FORCE_RELOCATION): Define if not defined.
+       (fixup_segment): Use TC_FORCE_RELOCATION to decide whether to
+       clear the symbol fields of fixP.
+
+Fri Jul 21 22:38:00 1995  Michael Meissner  <meissner@cygnus.com>
+
+       * config/tc-ppc.c (ppc_elf_suffix): Add support for R_PPC_SDAREL
+       relocation.
+       (md_apply_fix3): Ditto.
+
+Thu Jul 20 13:00:56 1995  Ken Raeburn  <raeburn@cygnus.com>
+
+       * config/tc-m68k.c (md_convert_frag): Rename argument seg to sec,
+       since seg is a macro name in this file.
+
+       * configure.in (arm-*-riscix*): Don't set emulation.
+
+Wed Jul 19 16:08:29 1995  Doug Evans  <dje@canuck.cygnus.com>
+
+       * config/obj-coff.h (TE_PE): Delete.
+       * config/tc-arm.h (BYTE_ORDER): Delete.
+       (TARGET_FORMAT): Provide value for OBJ_COFF and TE_PE.
+       (ARM_BI_ENDIAN): Define if OBJ_COFF and TE_PE.
+       * config/tc-arm.c (byte_order): Delete.
+       (md_number_to_chars): Reference target_big_endian, not byte_order.
+       (md_chars_to_number): Likewise.
+       (md_longopts): Add -EB/-EL if ARM_BI_ENDIAN.
+       (md_parse_options): Recognize -EB/-EL.
+       (md_show_usage): List -EB/-EL.
+
+Wed Jul 19 11:49:25 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * gasp.c (process_assigns): Use toupper before comparing against
+       upper case letter.
+       (whatcond): Likewise.
+
+       * config/tc-sh.c (sh_relax): Rename from relax, and make global.
+       Renamed all uses.
+       (insert): Pass a size of 2, not 4.
+       (build_relax): Remove unused len variable.
+       (md_show_usage): Mention -little option.
+       (md_convert_frag): Add segT argument.  Rewrite to generate relocs
+       rather than to generate complete instructions here.
+       (md_apply_fix): Adjust and clarify R_SH_PCRELIMM8BY4 case for
+       changes in insert and md_pcrel_from.  Add cases for R_SH_PCDISP
+       and R_SH_PCDISP8BY2.
+       (md_pcrel_from): Don't subtract 1, add 2.
+       (tc_coff_fix2rtype): Remove.
+       (sh_coff_reloc_mangle): New function.
+       * config/tc-sh.h (TC_COFF_FIX2RTYPE): Just return fx_r_type.
+       (sh_relax): Declare.
+       (TC_COUNT_RELOC): If relaxing, count PC relative relocs.
+       (TC_RELOC_MANGLE): Define.
+       (sh_coff_reloc_mangle): Declare.
+       (tc_coff_sizemachdep): Declare.
+       * tc.h (md_convert_frag): Add segT parameter to non BFD_ASSEMBLER
+       declaration.
+       * write.c (cvt_frag_to_fill): Add sec argument to non
+       BFD_ASSEMBLER version.  Pass it to md_convert_frag.
+       (write_object_file): Pass SEG_TEXT to cvs_frag_to_fill.
+       * config/obj-coff.c (do_relocs_for): Pass segment info to
+       TC_RELOC_MANGLE.
+       (fixup_mdeps): Pass segment type to md_convert_frag.
+       * config/tc-a29k.c (md_convert_frag): Add segT argument.
+       * config/tc-h8300.c (md_convert_frag): Likewise.
+       * config/tc-h8500.c (md_convert_frag): Likewise.
+       * config/tc-i386.c (md_convert_frag): Likewise.
+       * config/tc-i860.c (md_convert_frag): Likewise.
+       * config/tc-i960.c (md_convert_frag): Likewise.
+       * config/tc-m68k.c (md_convert_frag): Likewise.
+       * config/tc-m88k.h (md_convert_frag): Likewise.
+       * config/tc-ns32k.c (md_convert_frag): Likewise.
+       * config/tc-rce.c (md_convert_frag): Likewise.
+       * config/tc-tahoe.c (md_convert_frag): Likewise.
+       * config/tc-vax.c (md_convert_frag): Likewise.
+       * config/tc-w65.c (md_convert_frag): Likewise.
+       * config/tc-z8k.c (md_convert_frag): Likewise.
+       * config/tc-h8300.h (TC_RELOC_MANGLE): Add segment argument.
+       * config/tc-h8500.h (TC_RELOC_MANGLE): Likewise.
+       * config/tc-rce.h (TC_RELOC_MANGLE): Likewise.
+       * config/tc-w65.h (TC_RELOC_MANGLE): Likewise.
+       * config/tc-z8k.h (TC_RELOC_MANGLE): Likewise.
+
+Mon Jul 17 15:02:54 1995  Pat Rankin  <rankin@eql.caltech.edu>
+
+       * config/obj-vms.c (Current_Routine, Text_Psect): Delete as file
+       scope variables.
+       (Define_Routine, Define_Local_Symbols): Take Current_Routine and
+       Text_Psect as arguments.
+       (VMS_DBG_Define_Routine): Delete.
+       (VMS_TBT_Block_End): Change `Size' argument from int to valueT.
+       (vms_write_object_file: text and data fixup loops): Difference
+       of two symbols has type offsetT rather than int; convert with
+       md_number_to_chars before passing to VMS_Store_Immediate_Data.
+       (vms_write_object_file: debug symbol loop): Call Define_Routine
+       instead of VMS_DBG_Define_Routine.
+
+Sat Jul 15 00:01:35 1995  Michael Meissner  <meissner@cygnus.com>
+
+       * config/tc-ppc.c (ppc_elf_suffix): Add @fixup so that the
+       compiler can mark which relocs not to complain about with
+       -mrelocatable.
+       (ppc_elf_validate_fix): Add .fixup to sections not to complain
+       about, and also don't complain for BFD_RELOC_CTOR relocations in
+       writable non-code segments.
+       (md_apply_fix): Treat BFD_RELOC_CTOR just like BFD_RELOC_32.
+
+Fri Jul 14 19:54:28 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       Add support for SPARC SunOS PIC:
+       * config/tc-sparc.h (sparc_pic_code): Always declare, not just
+       when OBJ_ELF.
+       (TC_RELOC_RTSYM_LOC_FIXUP): Define when OBJ_AOUT.
+       (tc_fix_adjustable): New definition for OBJ_AOUT.
+       * config/tc-sparc.c (sparc_pic_code): Always define, not just when
+       OBJ_ELF.
+       (md_apply_fix): Adjust reloc addend for OBJ_AOUT and PIC.  In
+       BFD_RELOC_32_PCREL_S2 case, don't increment val for an external
+       symbol when PIC.
+       (tc_gen_reloc): Generate different PIC relocs when OBJ_AOUT, as
+       well as when OBJ_ELF.
+       (md_shortopts): If OBJ_AOUT, include `k'.
+       (md_parse_option): If OBJ_AOUT, handle 'k'.
+       (md_show_usage): Mention -k if OBJ_AOUT, and -KPIC if OBJ_ELF.
+       (md_pcrel_from): Don't add in size for an external symbol when
+       PIC.
+
+start-sanitize-arc
+Fri Jul 14 10:26:43 1995  Doug Evans  <dje@canuck.cygnus.com>
+
+       * config/tc-arc.c (byte_order): Provide explicit initial value.
+end-sanitize-arc
+
+Thu Jul 13 21:16:43 1995  Jeff Law  (law@snake.cs.utah.edu)
+
+       * config/tc-hppa.h (UNDEFINED_DIFFERENCE_OK): Define for SOM.
+       * write.c (adjust_reloc_syms): Set sy_used_in_reloc for both
+       symbols in a fixup where a defined symbol is subtracted from an
+       undefined symbol (when UNDEFINED_DIFFERENCE_OK is defined).
+       (fixup_segment): Do nothing for the difference of two symbols if
+       UNDEFINED_DIFFERENCE_OK is defined.
+
+Wed Jul 12 23:33:40 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * config/obj-coff.c (fixup_segment): Support MD_APPLY_FIX3.
+
+Wed Jul 12 01:12:12 1995  Ken Raeburn  <raeburn@kr-pc.cygnus.com>
+
+       * write.c (fix_new): Use int, not short int, for argument type.
+       (fix_new_exp): Ditto.
+
+       * configure.in (arm-*-riscix*): Don't set emulations.
+
+       * config/tc-mips.c (NO_ECOFF_DEBUGGING): Define if ECOFF_DEBUGGING
+       wasn't previously defined.
+       (s_extern): Don't set ecoff_extern_size if NO_ECOFF_DEBUGGING.
+       (nopic_need_relax): Don't check it if NO_ECOFF_DEBUGGING.
+       (macro_build) [!USE_STDARG]: Don't use variadic prototype.
+       (mips_local_label) [NO_ECOFF_DEBUGGING]: Don't preserve potential
+       ECOFF debugging symbols.
+
+       * emul.h (struct emulation): Use unsigned, not unsigned char, for
+       bitfields.
+       * obj.h (struct format_ops): Likewise.
+
+       * config/tc-arm.c (symbol_make_empty) [BFD_ASSEMBLER]: Set
+       udata.p, not udata.
+
+Tue Jul 11 14:30:19 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * doc/c-mips.texi: Document -m4010 and -mno-4010.
+
+Tue Jul 11 14:28:55 1995  Jeff Spiegel  <jeffs@lsil.com>
+
+       * config/tc-mips.c (mips_4010): New static variable.
+       (interlocks): New static variable.
+       (md_begin): Check for a cpu of "r4010".  Set mips_4010 correctly.
+       If mips_4650 or mips_4010, set interlocks.
+       (append_insn): Check interlocks, not mips_4650.
+       (mips_emit_delays): Likewise.
+       (mips_ip): Only permit INSN_4010 instructions if mips_4010.
+       (md_longopts): Add "m4010" and "no-m4010".
+       (md_parse_option): Accept -mcpu=r4010.  Handle -m4010 and
+       -no-m4010.
+       (md_show_usage): Document -m4010 and -no-m4010.
+
+Tue Jul 11 13:22:50 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * ecoff.c (struct efdr): Add new field fake.
+       (init_file): Initialize fake.
+       (add_file): Add new parameter fake.  Change all callers.
+       (ecoff_build_debug): Don't warn about a missing .end for a fake
+       file.
+
+Mon Jul 10 16:01:31 1995  Ken Raeburn  <raeburn@cygnus.com>
+
+       * doc/as.texinfo: Split out most cpu chapters...
+       * doc/c-*.texi: ...to here.
+
+       * read.c (po_hash): Now static.
+
+Mon Jul 10 13:47:22 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       Based on patches from H.J. Lu <hjl@nynexst.com>:
+       * config/tc-i386.c (md_apply_fix3): Rename from md_apply_fix1.
+       Accept pointer to value and segment.  Fix OBJ_ELF PCREL case to
+       handle global defined symbols correctly.
+       (md_apply_fix): Remove both versions.
+       * config/tc-i386.h (MD_APPLY_FIX3): Define.
+
+       * configure.in: When switching on ${cpu}, use ${cpu}, not
+       $[target_cpu}, in default case.
+       * configure: Rebuild.
+
+Sat Jul  8 13:27:55 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * write.c (fixup_segment): Call resolve_symbol_value on
+       sub_symbolP, in case it isn't in the symbol table.
+
 Fri Jul  7 11:17:27 1995  Ian Lance Taylor  <ian@cygnus.com>
 
+       * read.c (s_lcomm): For .lcomm 1, set align to 0, not 1.
+
+       * config/obj-coff.c (coff_frob_symbol): If SF_GET_FUNCTION, set
+       BSF_FUNCTION.
+       (symbol_globalP, symbol_global_lastP): New global variables.
+       (yank_symbols): Sort defined global symbols to the end, just
+       before the undefined symbols.
+       (glue_symbols): Add two arguments, and use them instead of
+       referring directly to global variables.
+       (crawl_symbols): Call glue_symbols twice, once for defined globals
+       and once for undefined.  Add corresponding know calls.
+
        * app.c (do_scrub_next_char): Always accept \v.  Don't make it
        conditional on BACKSLASH_V.
        * read.c (next_char_of_string): Likewise.
@@ -28,6 +281,13 @@ Thu Jul  6 16:49:38 1995  Ken Raeburn  <raeburn@cygnus.com>
 
        * All files: Updated FSF address.
 
+Thu Jul  6 16:30:34 1995  Jim Wilson  <wilson@chestnut.cygnus.com>
+
+       * ecoff.c (add_file): Don't collapse multiple .file commands into
+       a single file structure.
+       (ecoff_build_lineno): Set ilineBase to sum of previous file's
+       ilineBase and cline.
+
 Thu Jul  6 12:54:27 1995  Ian Lance Taylor  <ian@cygnus.com>
 
        Patches from Jerry Blakely <gerry_blakley@wellfleet.com>:
@@ -167,7 +427,7 @@ Mon Jul  3 14:22:59 1995  Steve Chamberlain  <sac@slash.cygnus.com>
 
 Thu Jun 29 17:25:43 1995  Steve Chamberlain  <sac@slash.cygnus.com>
 
-       Support for long filenames non-bfd coff. bfd/7288
+       Support for long filenames non-bfd coff.
        * config/obj-coff.c (filename_list_head, filename_list_tail): New.
        (yank_symbols): Notice and record filenames which are too long.
        (w_strings): Write out filename strings.
@@ -236,7 +496,7 @@ Wed Jun 21 18:07:59 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
 Wed Jun 21 14:18:37 1995  Steve Chamberlain  <sac@slash.cygnus.com>
 
        * gasp.c (do_print, do_form, buffer_and_nest): Use case insensitive
-       string compares. gas/7274.
+       string compares.
 
 Tue Jun 20 14:55:02 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
 
@@ -556,14 +816,6 @@ Tue May 16 16:29:58 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
        * read.c (s_lcomm): Do ELF/ECOFF test at run time, not compile
        time.
 
-start-sanitize-arc
-Mon May 15 13:39:45 1995  Doug Evans  <dje@canuck.cygnus.com>
-
-       * config/tc-arc.c (md_longopts): -EB/-EL renamed to
-       -mbig-endian/-mlittle-endian.
-       (md_show_usage): Likewise.
-end-sanitize-arc
-
 Fri May 12 14:17:47 1995  Steve Chamberlain  <sac@slash.cygnus.com>
 
        Initial support for PE object files.
This page took 0.0288 seconds and 4 git commands to generate.