diff options
Diffstat (limited to 'contrib/binutils/gas/ChangeLog')
-rw-r--r-- | contrib/binutils/gas/ChangeLog | 10147 |
1 files changed, 4425 insertions, 5722 deletions
diff --git a/contrib/binutils/gas/ChangeLog b/contrib/binutils/gas/ChangeLog index a7e46aafcc5f..cef6d17e5728 100644 --- a/contrib/binutils/gas/ChangeLog +++ b/contrib/binutils/gas/ChangeLog @@ -1,7020 +1,5723 @@ -Mon Apr 27 13:45:04 1998 Ian Lance Taylor <ian@cygnus.com> - - * configure.in: Set version number to 2.9.1. - * configure: Rebuild. - -Fri Apr 24 12:47:42 1998 Philippe De Muyter <phdm@macqel.be> - - * read.c (s_set): Cast xmalloc return value to fragS *. - * config/tc-m68k.c (m68k_ip): Function made static to match - previous forward declaration. - (insert_reg, init_regtable, md_convert_frag_1): Likewise. - -Thu Apr 23 19:23:23 1998 Ian Lance Taylor <ian@cygnus.com> - - * config/tc-ppc.c (ppc_fix_adjustable): Correct test of whether a - reloc is in the TOC csect. - -Tue Apr 21 16:18:12 1998 Ian Lance Taylor <ian@cygnus.com> - - * doc/Makefile.am (as.dvi): New target. - * doc/Makefile.in: Rebuild. - -Thu Apr 2 16:36:47 1998 Ian Lance Taylor <ian@cygnus.com> - - * gasp.c (main): Set next field of new include_path structure to - NULL. From Avery Pennarun <averyp@gdc.ca>. - -Wed Apr 1 14:41:31 1998 Dean M. Deaver <deaver@amt.tay1.dec.com> - - * config/tc-arm.c (decode_shift): Handle addressing mode 2 w/rrx - also. - -Wed Apr 1 13:13:20 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> - - * doc/as.texinfo: Use @itemx for a secondary item in a table. - * doc/c-hppa.texi: Likewise. - -Tue Mar 31 17:52:40 1998 Ian Lance Taylor <ian@cygnus.com> - - * Makefile.am: Rebuild dependencies. - * Makefile.in: Rebuild. - - * Makefile.am (DEP_INCLUDES): New variable. - (.dep1): Change to work when srcdir is not an absolute path. - (.tcdep, .objdep, .dep2, dep.sed): Likewise. - * Makefile.in: Rebuild. - -Mon Mar 30 16:12:34 1998 Ian Lance Taylor <ian@cygnus.com> - - * config/tc-i386.h, config/tc-i386.c: Revert March 24 - LinearAddress patch. - - * configure.in: Set version number to 2.9. - * configure: Rebuild. - -Mon Mar 30 11:22:08 1998 Alan Modra <alan@spri.levels.unisa.edu.au> - - * config/tc-i386.h (FWait): Define. - * config/tc-i386.c (md_assemble): Emit fwait prefix before any - other prefixes. Check FWait flag in opcode table to see which - instructions require an fwait prefix. - -Mon Mar 30 10:12:00 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> - - * stabs.c (get_stab_string_offset): Always create a stab string - section. - -Sat Mar 28 22:28:02 1998 Ian Lance Taylor <ian@cygnus.com> - - Fix some gcc -Wall warnings: - * atof-generic.c (atof_generic): Add casts to avoid warnings. - * ehopt.c (eh_frame_code_alignment): Likewise. - * expr.c (integer_constant, operand): Likewise. - * frags.c (frag_align): Likewise. - * gasp.c (level_0, change_base, doinstr): Likewise. - * hash.c (hash_ask): Likewise. - * listing.c (listing_page, calc_hex, print_lines): Likewise. - (debugging_pseudo): Likewise. - * macro.c (define_macro, check_macro): Likewise. - * read.c (read_a_source_file, s_align, s_float_space): Likewise. - (ignore_rest_of_line, float_cons): Likewise. - * symbols.c (decode_local_label_name): Likewise. - * write.c (record_alignment, cvs_frag_to_fill): Likewise. - (fixup_segment, number_to_chars_bigendian): Likewise. - (number_to_chars_littleendian): Likewise. - * config/atof-ieee.c (gen_to_words): Likewise. - * config/tc-sparc.c (md_begin, md_assemble): Likewise. - (sparc_ip, parse_keyword_arg, s_common): Likewise. - * read.c (output_big_sleb128): Initialize locals to avoid - warnings. - (output_big_uleb128, equals): Likewise. - * atof-generic.c (atof_generic): Change number_of_digits_* locals - to unsigned int. Change zeros to unsigned int. - * cond.c (s_if): Add return to default case. - * frags.c (frag_now_fix): Change return type to addressT. - * frags.h (frag_now_fix): Update declaration. - * listing.c (file_info_struct): Change linenum to unsigned int. - (struct list_info_struct): Change hll_line to unsigned int. - (print_source): Update format string. - * read.c (emit_expr): Change scan to unsigned int, and don't - bother to initialize it. - * symbols.c (dollar_label_count): Change to unsigned long. - * write.c (adjust_reloc_syms): Remove unused label reduce_fixup. - * config/tc-sparc.c (sparc_memory_model): Only define if OBJ_ELF. - * config/tc-sparc.c (tc_gen_reloc): Add return to default case. - -Fri Mar 27 12:46:47 1998 Ian Lance Taylor <ian@cygnus.com> - - * config/tc-m68k.c (m68k_ip): Check legal addressing modes for - mcf5200 just as we do for m68000. - (m68k_init_after_args): Likewise. +2000-05-08 Alan Modra <alan@linuxcare.com.au> + + * as.h: #include "file", not <file> on files from ../include. + (as_abort, as_fatal): Add ATTRIBUTE_NORETURN. + * config/tc-m68k.c (m68k_ip): Fix signed/unsigned warnings. + (md_convert_frag): Add ATTRIBUTE_UNUSED. + (tc_coff_symbol_emit_hook): Ditto. + (OPTCOUNT): Cast to int to avoid compiler warning. + (md_begin): Fix signed/unsigned warnings. + +2000-05-08 Michael Sokolov <msokolov@ivan.Harhan.ORG> + + * config/tc-m68k.c (md_convert_frag_1): Abort if we end up in the + ABRANCH LONG case for a conditional branch on a 68000. + (md_estimate_size_before_relax): Likewise. Also handle + flag_short_refs correctly for ABRANCH, BCC68000, and DBCC. + (m68k-ip: case ABSL): Relax absolute references to 16-bit + PC-relative on all CPUs. (md_estimate_size_before_relax): Likewise. -Thu Mar 26 23:07:18 1998 Alan Modra <alan@spri.levels.unisa.edu.au> - - * config/tc-i386.c (md_assemble): Swap template arguments to - CONSISTENT_REGISTER_MATCH macro in reverse direction test. - This macro is currently symmetric, so passing them the wrong - way didn't cause any problem, but may if the macro is changed - in the future. - After copying template to i.tm, use i.tm. rather than t-> to - access fields, and make t a const* - Move i.tm.operand_types[] swap to immediately after the copy. - -Wed Mar 25 13:44:18 1998 Doug Evans <devans@canuck.cygnus.com> - - * expr.h (expr_build_uconstant): Add prototype. - (expr_build_unary,expr_build_binary): Add prototypes. - * expr.c (expr_build_uconstant): New function. - (expr_build_unary,expr_build_binary): New functions. - -Wed Mar 25 13:10:42 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de> - - * gasp.c (IS*): Cast argument to unsigned char, not unsigned int. - * macro.c (macro_expand_body): Increase buffer size. - * messages.c (as_warn): Likewise. - (as_warn_where, as_bad, as_bad_where): Likewise. - -Wed Mar 25 12:59:07 1998 Ian Lance Taylor <ian@cygnus.com> - - Based on patch from H.J. Lu <hjl@gnu.org>: - * Makefile.am (DISTSTUFF): New variable. - (diststuff): New target. - * Makefile.in: Rebuild. - -Tue Mar 24 16:51:29 1998 Nick Clifton <nickc@cygnus.com> - - * config/tc-m32r.h (md_cleanup, md_elf_section_change_hook): Call - m32r_elf_section_change_hook. - - * config/tc-m32r.c (m32r_elf_section_change_hook): New function to - emit a nop if a section ends with a 16 bit instruction. - -Tue Mar 24 19:48:09 1998 Ian Lance Taylor <ian@cygnus.com> - - * config/obj-coff.c (obj_coff_bss): Compile unconditionally. Call - s_lcomm rather than obj_coff_lcomm. - (obj_pseudo_table): Compile .bss pseudo-op unconditionally. - -Tue Mar 24 18:30:58 1998 H.J. Lu <hjl@gnu.org> - - * config/tc-i386.h (LinearAddress): Define. - * config/tc-i386.c (md_assemble): If LinearAddress is set for the - instruction, don't use a default segment. - -Mon Mar 23 18:53:40 1998 Joel Sherrill <joel@OARcorp.com> - - * configure.in: (sh*-*-rtems*): Switched from ELF to COFF. - * configure: Rebuild. - -Fri Mar 20 19:15:44 1998 Ian Lance Taylor <ian@cygnus.com> - - * aclocal.m4, configure: Rebuild with libtool 1.2. - -Thu Mar 19 16:03:12 1998 Nick Clifton <nickc@cygnus.com> - - * config/tc-arm.c (md_apply_fix3): fix code to test the range of - PC relative branches (PR15358). Patch courtesy of Jonathan - Walton. - - -Wed Mar 18 09:29:51 1998 Nick Clifton <nickc@cygnus.com> - - * configure.in (emulations): Add thumb-pe target. - - * configure (emulations): Add thumb-pe target. - -1998-03-17 Ken Raeburn <raeburn@cygnus.com> - - * itbl-lex.l (yywrap): Don't define if already defined as a - macro. - -Fri Mar 13 16:31:38 1998 Tom Tromey <tromey@cygnus.com> - - * depend.c (quote_string_for_make): New function. - (wrap_output): Use it. - -Thu Mar 12 18:28:22 1998 Nick Clifton <nickc@cygnus.com> - - * config/obj-elf.c (obj_elf_section): Set bss flag in seg_info - structure if type is SHT_NOBITS. [Bug fix courtesy of rth] - -Sat Feb 28 17:28:55 1998 Richard Henderson <rth@cygnus.com> - - * config/tc-alpha.c (md_shortopts, md_longopts, md_parse_option): - Recognize -GN and -relax. - (md_begin): Initialize gp size from -G switch. - (alpha_force_relocation): Always force if -relax. - (alpha_align): Take a new argument that will specify when to - emit an R_ALPHA_ALIGN relocation (though we don't do that now). - Change all callers. Emit nop alignment padding as nop+unop pair. - -Sat Feb 28 17:06:22 1998 Richard Henderson <rth@cygnus.com> - - * config/obj-elf.c [TC_ALPHA]: Include <elf/alpha.h>. - * config/tc-alpha.h (ELF_TC_SPECIAL_SECTIONS): New. - -Mon Feb 23 11:29:06 1998 Doug Evans <devans@seba.cygnus.com> +2000-05-04 Alan Modra <alan@linuxcare.com.au> - * cgen.c: #include symcat.h. - * config/tc-m32r.c: Likewise. + * as.c (parse_args): Just mention current year in printed + copyright message. -Mon Feb 23 10:27:40 1998 Jeffrey A Law (law@cygnus.com) +2000-05-03 Ian Lance Taylor <ian@zembu.com> - * config/tc-mips.c (mips_ip, case 'P'): Make 'P' arguments be - absolute expressions instead of '$' prefixed register names. + * config/atof-ieee.c (gen_to_words): When adding carry back in, + don't permit lp to become less than the words array. -Sat Feb 21 22:36:52 1998 Richard Henderson <rth@cygnus.com> - - * read.c (s_set): Record file and line info for symbols when -as. - (pseudo_set): Don't overwrite that dummy fragment. - -Fri Feb 20 15:03:13 1998 Ian Lance Taylor <ian@cygnus.com> +2000-05-03 David O'Brien <obrien@NUXI.com> - * config/tc-ppc.c (md_pseudo_table): Add "section". - (ppc_named_section): New static function. + * as.c (parse_args): Update copyright. -Thu Feb 19 22:25:42 1998 Richard Henderson <rth@cygnus.com> +2000-05-03 Mark Elbrecht <snowball3@bigfoot.com> - * tc-ppc.c (ppc_biei): Cache the last symbol we inserted - so we don't have to scan the entire list. + * gas/config/tc-i386.h (SUB_SEGMENT_ALIGN): If TE_GO32, return 4 + for the .bss section too. -Thu Feb 19 16:08:15 1998 Richard Henderson <rth@cygnus.com> +2000-04-29 Andreas Jaeger <aj@suse.de> - * listing.c (list_symbol_table): Categorize symbols by - undefined_section rather than sy_frag->line == NULL. + * as.h: Correctly check GCC version. -Wed Feb 18 23:39:46 1998 Richard Henderson <rth@cygnus.com> +2000-04-20 Alexandre Oliva <aoliva@cygnus.com> - * Makefile.am (install-exec-local): Install properly when ln - fails or tooldir == prefix. + * config/tc-mn10300.c (HAVE_AM30): Define. + (md_assemble): Use it. -Tue Feb 17 18:58:51 1998 Doug Evans <devans@seba.cygnus.com> +2000-04-19 Alan Modra <alan@linuxcare.com.au> - * cgen.c (cgen_md_apply_fix3): Delete call to validate_operand. - Test result of insert_operand for error. + * Makefile.am: (CPU_MULTI_VALID): Remove. + (MULTI_CPU_TYPES): Define. + (MULTI_CPU_OBJ_VALID): Define. + (DEPTC): Use the above. + (DEPOBJ): Same here. + (DEP2): And here. + Regenerate dependencies. + * Makefile.in: Regenerate. -Fri Feb 13 16:41:42 1998 Ian Lance Taylor <ian@cygnus.com> +2000-04-19 Michael Sokolov <msokolov@ivan.Harhan.ORG> - * Makefile.am (AUTOMAKE_OPTIONS): Add cygnus. - * configure, Makefile.in, aclocal.m4: Rebuild with automake 1.2e. - * doc/Makefile.am (AUTOMAKE_OPTIONS): Define. - * doc/Makefile.in: Rebuild. + * Makefile.am (YACC, LEX): Get them from configure. -Fri Feb 13 00:47:44 1998 Ian Lance Taylor <ian@cygnus.com> + * as.h (SEEK_SET): Define if undefined. - * config/tc-mips.c (macro_build): Handle operand type 'C'. - (macro): Fix handling of M_COP[0-3]. +2000-04-09 Nick Clifton <nickc@cygnus.com> -Thu Feb 12 14:06:59 1998 Ian Lance Taylor <ian@cygnus.com> + * Makefile.am (CPU_TYPES): Add 'avr'. + (TARGET_CPU_CFILES): Add 'tc-avr.c'. + (TARGET_CPU_HFILES): Add 'tc-avr.h'. - Based on patches from Ross Harvey <ross@teraflop.com>: - * macro.c (ISSEP): Only treat '<' and '>' as separator characters - if macro_alternate or macro_mri. - (getstring): Remove support for byte constants between < and >. - (get_any_string): '<' only starts a string if macro_alternate or - macro_mri. - (macro_expand_body): Permit keyword parameters following - positional parameters. +2000-04-05 Alexandre Oliva <oliva@lsd.ic.unicamp.br> - NetBSD patches from Gordon W. Ross <gwr@mc.com>: - * configure.in (alpha*-*-netbsd*): New target. - * config/te-nbsd.h (LOCAL_LABELS_FB): Define. - * configure: Rebuild. + * config/tc-sparc.c (sparc_ip): Avoid string pasting. - * as.h (flag_warn_suppress_instructionswap): Move from here... - * config/tc-d10v.c (flag_warn_suppress_instructionswap): ...to - here, and make static. +2000-04-04 Alan Modra <alan@linuxcare.com.au> - * ehopt.c (eh_frame_code_alignment): Only use seg_info if - BFD_ASSEMBLER or MANY_SEGMENTS. + * po/gas.pot: Regenerate. - * as.c (show_usage): Update bug-gnu-utils address. + * as.c (show_usage): Restore translated part of bug string. * gasp.c (show_usage): Likewise. - * doc/as.texinfo (Bug Reporting): Likewise. - -Wed Feb 11 23:26:28 1998 Jeffrey A Law (law@cygnus.com) - - * config/tc-mips.c (load_address): Don't use mips III or mips IV - insns regardless of the size of a pointer if we're in mips I or - MIPS II mode. - (macro, macro2, s_cprestore, s_cpadd): Likewise. - -Thu Feb 12 03:41:00 1998 J"orn Rennecke <amylaar@cygnus.co.uk> - -Fix rac to accept only a0: - * tc-d10v.c (parallel_ok, find_opcode): - Split OPERAND_ACC into OPERAND_ACC0 and OPERAND_ACC1. - Introduce OPERAND_GPR. - -Wed Feb 11 16:28:13 1998 Richard Henderson <rth@cygnus.com> - - * read.c (s_fill): Handle non-constant repeat counts by creating - an rs_space fragment. - -Tue Feb 10 18:31:31 1998 Ian Lance Taylor <ian@cygnus.com> - - * config/tc-i386.c (i386_operand): Change error added Jan 2 1998 - from as_bad to as_warn. - -Tue Feb 10 18:04:00 1998 Jim Lemke <jlemke@cygnus.com> - - * as.c: (perform_an_assembly_pass): Use [TEXT|DATA|BSS]_SECTION_NAME - * as.h: Define default values of [TEXT|DATA|BSS]_SECTION_NAME - * config/obj-elf.c (elf_begin): Use [TEXT|DATA|BSS]_SECTION_NAME - -Tue Feb 10 17:58:18 1998 Ian Lance Taylor <ian@cygnus.com> - - * ehopt.c (eh_frame_code_alignment): If not BFD_ASSEMBLER, use - seg_fix_rotP rather than fix_root from seg_info. - -Tue Feb 10 15:32:22 1998 Ian Carmichael <iancarm@cygnus.com> - - * expr.c: Add support for 0x1_2_3_4 bignums. - -Tue Feb 10 14:43:40 1998 Ian Lance Taylor <ian@cygnus.com> - - * configure.in: Change -linux* to -linux-gnu*. - * configure: Rebuild. - - * app.c (do_scrub_begin): Treat \r as whitespace. - -Mon Feb 9 14:16:11 1998 Ian Lance Taylor <ian@cygnus.com> - - * Makefile.am: Update dependencies. - * Makefile.in: Rebuild. - -Sat Feb 7 15:33:51 1998 Ian Lance Taylor <ian@cygnus.com> - - * configure, aclocal.m4: Rebuild with new libtool. - -Fri Feb 6 16:08:30 1998 Jeffrey A Law (law@cygnus.com) - - * config/tc-mips.c (md_begin): If mips_cpu is set, then use it as - the argument to bfd_set_arch_mach. - (load_address): Use bfd_arch_bits_per_address to determine the - bit size of an address instead of looking at the isa level. - (macro, macro2, s_cprestore, s_cpadd): Likewise. - -Thu Feb 5 12:39:08 1998 Ian Lance Taylor <ian@cygnus.com> - - * ehopt.c: New file. - * as.h (enum _relax_state): Add rs_cfa. - (check_eh_frame, eh_frame_estimate_size_before_relax): Declare. - (eh_frame_relax_frag, eh_frame_convert_frag): Declare. - * read.c (emit_expr): Call check_eh_frame. - * write.c (cvt_frag_to_fill): Handle rs_cfa. - (relax_segment): Likewise. - * Makefile.am: Rebuild dependencies. - (GAS_CFILES): Add ehopt.c. - (GENERIC_OBJS): Add ehopt.o. - * doc/internals.texi (Frags): Document rs_cfa. - - * as.c (show_usage): Mention --traditional-format. - (parse_args): Accept --traditional-format. - * as.h (flag_traditional_format): Declare. - * output-file.c (output_file_create): If flag_traditional_format, - set BFD_TRADITIONAL_FORMAT on stdoutput. - * doc/as.texinfo, doc/as.1: Document --traditional-format. - - * config/tc-mips.c (append_insn): Make sure that if we have a - fixup for an unmatched %hi reloc, it does not associated with a - variant frag. - - * configure, Makefile.in, aclocal.m4: Rebuild with new libtool. - * doc/Makefile.in: Likewise. - -Wed Feb 4 15:41:54 1998 Nick Clifton <nickc@cygnus.com> - - * config/tc-m32r.c (check_for_side_effects): New function. - (can_make_parallel): Add checks for instruction side effects - clashing with the other instruction. - (assemble_parallel_insn): Improve warning messages. Return error - message from non-swapped instruction order. - -Wed Feb 4 20:00:26 1998 James G. Smith <jsmith@teknema.demon.co.uk> - - * config/tc-arm.c: Rename arm_after_pass_hook() to arm_cleanup(). - - * config/tc-arm.h: Replace md_after_pass_hook definition with a - md_cleanup definition. This moves the forced literal output to - the end of the source pass, and avoids macro's inserting literals - into the code immediately after the macro expansion. - -Wed Feb 4 13:17:19 1998 Ian Lance Taylor <ian@cygnus.com> - - * config/tc-sparc.h (tc_fix_adjustable) [OBJ_ELF]: A reloc against - a gas internal symbol is adjustable. - * config/tc-ppc.h (tc_fix_adjustable): Likewise. - - * as.h: If gcc version greater than 2.6, use `__format__' and - `__printf__' in function attributes, rather than `format' and - `printf'. - -Mon Feb 2 18:38:18 1998 Ian Lance Taylor <ian@cygnus.com> - - * config/tc-sparc.c: Only include elf/sparc.h if OBJ_ELF. - -Mon Feb 2 18:30:34 1998 Steve Haworth <steve@pm.cse.rmit.EDU.AU> - - Add tms320c30 support: - * config/tc-tic30.h: New file. - * config/tc-tic30.c: New file. - * config/obj-coff.h: If TC_TIC30, include coff/tic30.h and define - TARGET_FORMAT as "coff-tic30". - * configure.in (tic30-*-*aout*, tic30-*-*coff*): New targets. - * Makefile.am: Rebuild dependencies. - (CPU_TYPES): Add tic30. - (CPU_OBJ_VALID): tic30-aout is valid. - (TARGET_CPU_CFILES): Add config/tc-tic30.c. - (TARGET_CPU_HFILES): Add config/tc-tic30.h. - * configure, Makefile.in: Rebuild. - -Mon Feb 2 10:20:37 1998 Nick Clifton <nickc@cygnus.com> - - * config/tc-v850.c (md_assemble): Improvements to error messages - for PR 14720. - -Mon Feb 2 12:39:05 1998 Geoff Keating <geoffk@ozemail.com.au> - - * config/tc-ppc.c (md_apply_fix3): Change BFD_RELOC_HI16 and - BFD_RELOC_HI16_S to store the high bits of any value. - - * config/tc-ppc.h (tc_fix_adjustable): Undo change of Fri Jun 27. - (TC_RELOC_RTSYM_LOC_FIXUP): Don't let the - assembler calculate relocations to any external symbol at all. - * config/tc-ppc.c (md_apply_fix3) [OBJ_ELF]: Correct bugs - involving generation of pc-relative relocs. - (md_pcrel_from_section) [OBJ_ELF]: The job this code used to do - has been moved to md_apply_fix3. - - * config/tc-ppc.c (md_apply_fix3): Fix test for too-far branch. - (ppc_elf_suffix): Warn about 'identifier+constant@got' syntax, - which actually means (the address of identifier's GOT entry) + - constant, which is not particularly useful. - -Fri Jan 30 11:02:35 1998 Doug Evans <devans@canuck.cygnus.com> - - * read.h (include_dirs): Declare. - (include_dir_count,include_dir_maxlen): Declare. - -Fri Jan 30 11:47:02 1998 Ian Lance Taylor <ian@cygnus.com> - * configure.in: Correct check for shared opcodes library. - * configure: Rebuild. + * Makefile.am (MKDEP): Use gcc -MM rather than ../mkdep. + (DEP): Quote when passing vars to sub-make. Use "mv -f" rather + than move-if-change. + (DEP1): Modify for "gcc -MM". + (DEPTC): Likewise. + (DEPOBJ): Likewise. + (DEP2): Likewise. + (CLEANFILES): Add DEPTCA, DEPOBJA, DEP2a, DEPA. + Update dependencies. + * Makefile.in: Regenerate. - * listing.c (buffer_line): If we can't open the file, set at_end. - (listing_print): Remove unused local variable fi. +2000-04-04 Alexandre Oliva <aoliva@cygnus.com> - * config/m68k-parse.y (reglistpair): Handle register list in - either order. + * config/tc-mn10300.c (md_pseudo_table): Use constant names. + (md_begin): Likewise. + (HAVE_AM33): New macro. + (md_assemble): Use it. Match r_regs and xr_regs only if + HAVE_AM33. - * config/vms-conf.h: Don't undef VERSION. - -Thu Jan 29 14:42:44 1998 Pat Rankin <rankin@eql.caltech.edu> +2000-04-03 Alan Modra <alan@linuxcare.com.au> - * Makefile.am (CONFIG_OBJS): New variable, containing part of old - OBJS variable. - (GENERIC_OBJS): New variable, with the rest of the old OBJS - variable. - (OBJS): Now just $(CONFIG_OBJS) and $(GENERIC_OBJS). - ($(srcdir)/make-gas.com): Rename from make-gas.com. - (stamp-mk.com): Replace $(OBJS) with $(GENERIC_OBJS). - (EXTRA_DIST): Define. - * vmsconf.sh: Handle {targ-cpu, obj-format, atof-targ} modules - explicitly rather than via the list of object files. - (gcc-as.opt): New file created when make-gas.com is run. - * config-gas.com: Create {targ-cpu.h, obj-format.h, targ-env.h, - itbl-cpu.h} to #include appropriate file rather than copying that - file. - * config/vms-conf.h: Synchronize with current config.in. - * Makefile.in: Rebuild. + * as.h: #include "bin-bugs.h" + * as.c (show_usage): Use REPORT_BUGS_TO. + * gasp.c: #include "bin-bugs.h" + (show_usage): Use REPORT_BUGS_TO. -Wed Jan 28 14:35:00 1998 Bill Moyer <billm@cygnus.com> + * config/tc-sparc.c (md_show_usage): Add a trailing newline. - * as.h (flag_warn_suppress_instructionswap): added new flag. - * tc-d10v.c (md_parse_option,md_longopts): added "--nowarnswap" - command line argument. - * tc-d10v.c (write_2_short): emit "Swapping instructions" - warning only if flag_warn_suppress_instructionswap is false. +2000-04-03 Alan Modra <alan@linuxcare.com.au> -Wed Jan 28 16:41:19 1998 J.J. van der Heijden <J.J.vanderHeijden@student.utwente.nl> + * config/tc-i386.c (i386_immediate): Don't assume a constant + immediate is necessarily 16 bits when in 16 bit code mode. + (md_assemble): Instead set guess_suffix here after we have checked + registers. - * configure.in (i386-*-mingw32*): New target. - * configure: Rebuild. +2000-04-02 Richard Henderson <rth@cygnus.com> -Wed Jan 28 14:51:18 1998 Ian Lance Taylor <ian@cygnus.com> + * config/tc-d30v.c (check_range): Allow signed or unsigned 32-bit + quantities. Correct right shift sign extension. + (build_insn): Make `number' unsigned long. Mask top 6 bits of + 32-bit value when shifting into place. - * symbols.c (resolve_symbol_value): Don't set the segment if it - hasn't changed, and this is OBJ_AOUT without BFD_ASSEMBLER. +2000-04-01 Ian Lance Taylor <ian@zembu.com> - * config/obj-aout.h (S_IS_LOCAL): Correct typo--pass argument to - S_GET_SEGMENT. + * app.c: Add ATTRIBUTE_UNUSED as needed. + * config/tc-ppc.c: Likewise. + (ppc_size): Make unsigned long. + (ppc_insert_operand): Add casts to avoid warnings. -Wed Jan 28 13:54:50 1998 Pat Rankin <rankin@eql.caltech.edu> +2000-03-31 Nick Clifton <nickc@cygnus.com> - as.h (unlink): Reverse 13-Feb-97 change; use of unlink vs remove - depends upon HAVE_{UNLINK,REMOVE} values rather than host - compiler. + * config/tc-d10v.h (md_flush_pending_output): Define. -Wed Jan 28 13:48:08 1998 Ian Lance Taylor <ian@cygnus.com> +2000-03-29 Nick Clifton <nickc@cygnus.com> - * config/obj-coff.h (RESOLVE_SYMBOL_REDEFINITION): Define. + * config/tc-sh.h (SEG_NAME): New macro: return the name of a + segment. Works for both BFD_ASSEMBLER and others. + (SUB_SEGMENT_ALIGN): Use SEG_NAME. -Wed Jan 28 09:52:00 1998 Nick Clifton <nickc@cygnus.com> +2000-03-29 Nick Clifton <nickc@cygnus.com - * config/tc-v850.c (v850_insert_operand): Display instruction when - an error is encountered. + * config/tc-arm.c (tinsns): Add "bal" instruction pattern. -Tue Jan 27 13:32:01 1998 Robert Lipe <robertl@dgii.com> +2000-03-28 Alan Modra <alan@linuxcare.com.au> - * configure.in (i386-*-sco3.2v5*): Defaults to ELF now. - (i386-*-sco3.2v5*coff): New target. - (i386-*-sco3.2*): New target. - * configure: Rebuild. + * listing.c (LISTING_LHS_WIDTH): Default depends on + LISTING_WORD_SIZE. + (LISTING_LHS_WIDTH_SECOND): Default to LISTING_LHS_WIDTH. -Tue Jan 27 11:06:52 1998 Nick Clifton <nickc@cygnus.com> +2000-03-27 Ian Lance Taylor <ian@zembu.com> - * config/tc-v850.c: Fix PRs 14721, 14722, 14723, tidying error - message production. + * config/tc-sh.c (md_show_usage): Use backslash before newline in + string literal. -Tue Jan 27 12:24:32 1998 Ian Lance Taylor <ian@cygnus.com> +2000-03-27 Alan Modra <alan@linuxcare.com.au> - * config/tc-arm.c (md_apply_fix3): Add new variable newimm to hold - validate_immediate return value in the right type for comparisons - to FAIL. + * config/tc-avr.h (TC_HANDLES_FX_DONE): Define. -Tue Jan 27 06:51:59 1998 Richard Henderson <rth@cygnus.com> + * config/tc-avr.c (mcu_types): Add missing initialiser. + (md_pcrel_from_section): Add prototype. + (avr_operand): Remove redundant test of unsigned < 0. + (avr_cons_fix_new): Ensure exp_mod_pm zero on function exit. - * listing.c (MAX_BYTES): Use listing variables not constants. - (data_buffer): No longer an array, but a pointer. - (calc_hex): sizeof(data_buffer) -> MAX_BYTES. - (listing_listing): Allocate data_buffer. +2000-03-27 Denis Chertykov <denisc@overta.ru> -Tue Jan 27 06:38:35 1998 Richard Henderson <rth@cygnus.com> + * config/tc-avr.c: New file for AVR support. + * config/tc-avr.h: Likewise. + * configure.in: Add AVR support. + * configure: Regenerate. - * as.c (parse_args): Add --listing-lhs-width, --listing-lhs-width2, - --listing-rhs-width, --listing-cont-lines. - (show_usage): Update. - * listing.c (listing_lhs_width, listing_lhs_width_second): New vars. - (listing_lhs_cont_lines, listing_rhs_width): New vars. - (print_lines): Use the variables instead of the constants. - (listing_listing): Likewise. - * listing.h: Declare the new vars. +2000-03-26 Timothy Wall <twall@cygnus.com> + + * gasp.c (macro_op): Add new argument to check_macro call. + Macro structure definitions moved to macro.h + * sb.h: Add argument to prototype for input_scrub_include_sb. + * input-scrub.c (input_scrub_include_sb): Allow disabling of sb + nesting checks with an additional flag. + (struct input_save): Add flag to indicate whether current sb + should be checked for proper macro/conditional nesting. + (input_scrub_push/pop): Save/restore nest check flag. + (input_scrub_next_buffer): Ditto. Also call end of macro hook if + defined. + * macro.c (check_macro): Allow caller to retrieve parsed macro + information if a pointer is provided. This information may be + used by the new macro hooks. + * macro.h: Update prototype for check_macro. Macro struct + definitions moved here from macro.c/gasp.c. + * read.c (read_a_source_file): Add parameter to check_macro call, + and pass macro info to the macro hook, if defined. + (input_scrub_insert_line): New. Allow insertion of a line of + characters into the input stream. + (input_scrub_insert_file): New. Allow insertion of an arbitrary + file into the input stream. + (s_include): Use input_scrub_insert_file. + * internals.texi: Document new macro hooks. + * as.h: New prototypes added. -Tue Jan 27 05:32:05 1998 Richard Henderson <rth@cygnus.com> +2000-03-26 Alan Modra <alan@linuxcare.com.au> - * as.c (parse_args): Add --keep-locals alias for -L. - Add --strip-local-absolute. - (show_usage): Update. - * as.h (flag_strip_local_absolute): New flag. - * symbols.c (S_IS_LOCAL): Use it. - * config/obj-aout.h (S_IS_LOCAL): Likewise. - * config/obj-bout.h (S_IS_LOCAL): Likewise. - * config/obj-coff.h (S_IS_LOCAL): Likewise. + * config/tc-i386.c: Don't start any as_bad or as_warn message with + an initial capital letter. + (i386_index_check): Reindent. -Mon Jan 26 13:07:41 1998 Nick Clifton <nickc@cygnus.com> +2000-03-19 Nick Clifton <nickc@cygnus.com> - * config/tc-m32r.c: Detect if explicitly parallel instructions - might have an io conflict and issue a warning message. + * config/tc-arm.c (md_apply_fix3): Fix bug detectng overflow of pc + relative branches. -Thu Jan 22 17:51:44 1998 Nick Clifton <nickc@cygnus.com> +2000-03-17 Thomas de Lellis <tdel@windriver.com> - * cgen.c (cgen_save_fixups, cgen_restore_fixups, - cgen_swap_fixups): Functions to save, restore and swap the fixup - chain with a backup copy. - (cgen_asm_finish_insn): Returns address of constructed insn. - -Wed Jan 21 16:49:10 1998 Richard Henderson <rth@cygnus.com> - - * listing.c (file_info_struct): Remove FILE, add POS. - (last_open_file_info, last_open_file): New; a one entry FILE* cache. - (file_info): Don't open the file. - (buffer_line): Check for the file in the last_open cache, updating - as necessary. - (print_source): Don't reference file_info->file. - (listing_listing): Likewise. - (listing_print): Close the file in the cache, if any. - -Fri Jan 16 14:51:48 1998 Ian Lance Taylor <ian@cygnus.com> - - * read.c (dwarf_file_string): New file static variable. - (emit_expr): Look for constant sequence that leads up to a file - name in DWARF debugging output. - (stringer): Use dwarf_file_string to decide whether to accept a - string as a file name. + * config/tc-arm.c (do_t_adr): Flag "adr Rd,label" + instruction operand bad if Rd > 7 when generating + thumb instructions. Prevents for example, + "adr r12,label" from silently failing and generating + the wrong instruction. + +2000-03-17 Nick Clifton <nickc@cygnus.com> -Fri Jan 16 11:30:37 1998 Richard Henderson <rth@cygnus.com> - - * tc-m68k.c (m68k_ip): Remove absl->reglst MRI hack. - (crack_operand): Add reg->reglst MRI hack. - (r_seg): Put reglst symbols in reg_section. - (m68k_frob_symbol): Frob reglst symbols into absolute_section. + * config/tc-arm.c (md_apply_fix3): Handle same-section relocations + that have a destingation >= 0x400000. + Fix compile time warning messages. -Thu Jan 15 14:19:01 1998 Richard Henderson <rth@cygnus.com> +Thu Mar 16 23:45:16 2000 J"orn Rennecke <amylaar@cygnus.co.uk> - * tc-sh.c (get_specific): Handle SGR & DBR. + * config/tc-sh.c (md_begin): When encountering insn that are + not supported by the current arch, only change the name if + its contents are the same as prev_name. + (get_specific): If the the architecture doesn't match, fail. -Thu Jan 15 13:46:48 1998 Richard Henderson <rth@cygnus.com> +Thu Mar 16 21:18:13 2000 J"orn Rennecke <amylaar@cygnus.co.uk> - * tc-h8300.c (parse_reg): Take the length of the symbol into - account when attempting to match a register name. - * tc-h8500.c (parse_reg): Likewise. + * config/tc-sh.c (IDENT_CHAR): Define. + (parse_reg): Use it instead of isalnum. Put r[0..7]_bank operand + matching back where it came from. -Wed Jan 14 17:52:33 1998 Nick Clifton <nickc@cygnus.com> +Thu Mar 16 20:58:10 2000 J"orn Rennecke <amylaar@cygnus.co.uk> - * cgen.c: Formatting changes to improve readability. + * config/tc-sh.c (md_show_usage): Add description of -dsp. -Wed Jan 14 15:41:41 1998 Jeffrey A Law (law@cygnus.com) +2000-03-15 Jonathan Larmour <jlarmour@redhat.co.uk> - * config/tc-mips.c (macro): Rework division code to avoid unfilled - delay slot. + * config/tc-sh.c (parse_reg): Match r[0..7]_bank operands before + normal operands. -Wed Jan 14 15:02:19 1998 Doug Evans <devans@seba.cygnus.com> +2000-03-15 Kazu Hirata <kazu@hxi.com> - * config/tc-mips.c (mips_ip): Don't test pinfo flags if INSN_MACRO. + * config/tc-h8300.c: Add ATTRIBUTE_UNUSED as appropriate. -Mon Jan 12 13:04:57 1998 Doug Evans <devans@seba.cygnus.com> +Mon Mar 13 22:02:59 2000 Hans-Peter Nilsson <hp@axis.se> - * cgen.c: #include setjmp.h. Clean up pass over `struct foo' usage. - (expr_jmp_buf): New static local. - (cgen_parse_operand): Allow use of longjmp in parsing to handle errors. - (cgen_md_operand): New function. - * tc-m32r.c: Clean up pass over `struct foo' usage. - (md_estimate_size_before_relax): Use CGEN_INSN_MNEMONIC. + * expr.c (operand) [case 'f']: When testing if '0f' can start a + floating-point-number, make sure 'f' is in FLT_CHARS. -Tue Jan 6 15:36:02 1998 Richard Henderson <rth@cygnus.com> +Sat Mar 11 00:01:39 2000 Hans-Peter Nilsson <hp@axis.se> - * symbols.c (S_SET_SEGMENT): Don't set the segment for section syms. - (S_IS_EXTERNAL, S_IS_LOCAL): Correct parenthetication. + * read.c (TC_IMPLICIT_LCOMM_ALIGNMENT): New default-definition. + (s_lcomm_internal): Use it. + * doc/internals.texi (CPU backend): Document it. + * config/obj-evax.h (TC_IMPLICIT_LCOMM_ALIGNMENT): Set to 2**3 + bytes. -Fri Jan 2 16:08:54 1998 Ian Lance Taylor <ian@cygnus.com> +2000-03-10 Geoffrey Keating <geoffk@cygnus.com> - * config/tc-i386.c (i386_operand): Give an error if there are - unrecognized characters after an expression. + * config/tc-mips.c (mips_ip): Don't put stuff in .rodata + when embedded-pic. -Wed Dec 31 12:29:47 1997 Jeffrey A Law (law@cygnus.com) - - * config/tc-mn10200.c (md_relax_table): Correct branch ranges. - -Mon Dec 22 13:06:05 1997 Joel Sherrill <joel@oarcorp.com> - - * configure.in (i386*-go32-rtems*): Fix to be the same as - i[3456]86-go32. - * configure: Rebuild. - -Mon Dec 22 12:54:07 1997 Ian Lance Taylor <ian@cygnus.com> - - * config/tc-mips.c (macro): The 4650 doesn't permit M_LDC1_AB, - M_SDC1_AB, M_L_DOB, M_L_DAB, M_S_DAB, or M_S_DOB. - (mips_ip): Always check for FP_D, not just for instructions that - are not part of the regular ISA. - -Thu Dec 18 16:49:28 1997 Richard Henderson <rth@cygnus.com> - - * config/tc-d10v.c (build_insn): Make `number' a long for 64-bit hosts. - -Thu Dec 18 16:42:57 1997 Richard Henderson <rth@cygnus.com> - - * config/tc-alpha.c (cpu_types): 21164pc/pca56 does not have CIX. - -Wed Dec 17 21:23:07 1997 Jeffrey A Law (law@cygnus.com) - - * expr.c (integer_constant 32bit bignum): Mask off bits outside - the range we care about. - -Tue Dec 16 09:20:43 1997 Nick Clifton <nickc@cygnus.com> - - * config/tc-arm.c: Prevent use of interworking support for - non-COFF targets. - -Mon Dec 15 15:20:32 1997 Nick Clifton <nickc@cygnus.com> - - * doc/all.texi: Add M32R cpu. - - * doc/as.texinfo: Add documentation of m32r processor. - - * doc/c-m32r.texi: New file, documenting m32r specific features. + * config/tc-mips.c (SWITCH_TABLE): The ELF embedded-pic + implementation doesn't have special handling for switch + statements. + (macro_build): Allow for code in sections other than .text. + (macro): Likewise. + (mips_ip): Likewise. + (md_apply_fix): Do pc-relative relocation madness for MIPS ELF. + Don't perform relocs if we will be outputting them. + (tc_gen_reloc): For ELF, just use fx_addnumber for pc-relative + relocations. Allow BFD_RELOC_16_PCREL_S2 relocs when + embedded-pic. +2000-03-09 Catherine Moore <clm@cygnus.com> + + * config/tc-m32r.c (m32r_fix_adjustable): Look up the + relocation type based on the entry in the fixup structure. -Mon Dec 15 10:32:28 1997 Jeffrey A Law (law@cygnus.com) +2000-03-08 H.J. Lu (hjl@gnu.org) - * config/tc-mips.c (mips_ip): Correctly insert 'P' operands into - the instruction. + * Makefile.am (install-exec-tooldir): Depend on + install-exec-bindir for parallel make. + * Makefile.in: Regenerated. -Fri Dec 12 10:35:01 1997 Nick Clifton <nickc@cygnus.com> +2000-03-06 Nick Clifton <nickc@cygnus.com> - * doc/c-arm.texi (ARM Options): Document support for new ARM - processor names. + * config/tc-m32r.c (struct md_longopts): Add -m32r command line + switch. + (md_parse_option): Parse -m32r command line switch - disable m32rx + compatability. + (md_show_usage): Document new option. - * config/tc-arm.c (md_parse_option): Add support for new ARM - processor names. + * doc/Makefile.am (CPU_DOCS): Add c-m32r.texi. + * doc/Makefile.in: Regenerate. + * doc/c-m32r.texi (M32R-Opts): Document new command line switch. -Thu Dec 11 17:46:50 1997 Richard Henderson <rth@cygnus.com> +2000-03-02 Michael Meissner <meissner@redhat.com> - * config/tc-m68k.c (m68k_ip): Don't overwrite opcode table data. - (insop, m68k_ip): Make `opcode' const so it doesn't happen again. + * config/tc-d30v.c (check_range): Remove code that incorrectly + sign extended values where bits < 32. -Fri Dec 5 11:23:59 1997 Nick Clifton <nickc@cygnus.com> +2000-03-02 H.J. Lu (hjl@gnu.org) - * config/tc-v850.c (md_assemble): Fix BFD_RELOC_32 against a - symbol + offset. + * configure.in: Support --enable-targets=all on ia32. + * configure: Regenerated. - * config/tc-v850.h (ELF_TC_SPECIAL_SECTIONS): Use - SHT_V850_{S|T|Z}COMMON to mark special common sections. +2000-03-01 Nick Clifton <nickc@cygnus.com> -Tue Dec 2 17:05:13 1997 Nick Clifton <nickc@cygnus.com> + * gasp.c (do_align): Remove bogus check of alignment value. - * config/tc-v850.c: Brought up to date with the branch. +2000-02-27 Thomas de Lellis <tdel@windriver.com> -Mon Dec 1 20:24:18 1997 J"orn Rennecke <amylaar@cygnus.co.uk> + * config/obj-elf.c (elf_frob_symbol): Remove code which when + TC_PPC was defined forced the type of a symbol with no other type + to be BSF_OBJECT. - * config/tc-sh.c (SWITCH_TABLE_CONS): Handle (fix)->fx_size == 1. - (SWITCH_TABLE): Handle BFD_RELOC_8. - (md_apply_fix): #ifndef BFD_ASSEMBLER code: Handle fixP->fx_size == 1. - (coff_reloc_map): Add BFD_RELOC_8_PCREL entry. - (sh_coff_reloc_mangle): SWITCH_TABLE case: Handle BFD_RELOC_8. +2000-02-27 Hans-Peter Nilsson <hp@axis.com> -Sat Nov 22 16:19:22 1997 Richard Henderson <rth@cygnus.com> + * doc/internals.texi (CPU backend): Mention that + line_separator_chars do not break up comments. Fix typos for + LEX_AT and LEX_NAME descriptions. Document operands for + TC_EQUAL_IN_INSN, md_operand and md_section_align. Correct + description of md_create_short_jump usage. Document argument for + md_undefined_symbol. - * tc-alpha.c (range_signed_16, range_signed_32): Work around an - apparent bug in gcc's long long support crossing from x86. +2000-02-27 Jakub Jelinek <jakub@redhat.com> -Sat Nov 22 14:26:09 1997 Nick Clifton <nickc@cygnus.com> + * config/tc-sparc.c (OPTION_UNDECLARED_REGS): New option. + (md_parse_option): Handle it. + (md_show_usage): Document it. - * config/tc-arm.c: Brought up to date with latest changes on arm - branch. +2000-02-27 Ian Lance Taylor <ian@zembu.com> -Sat Nov 22 15:50:09 1997 Klaus Kaempf <kkaempf@progis.de> + * config/tc-alpha.c (md_assemble): Accept `1' and `9' in an + opcode, for the instruction `pal19'. From Andrea Arcangeli + <andrea@suse.de>. - * config-gas.com: Get version info from configure.in. +2000-02-26 Alan Modra <alan@spri.levels.unisa.edu.au> - * makefile.vms: include depend.obj in OBJS. + * config/tc-i386.c (i386_immediate): Move constant operand sizing + from here.. + (md_assemble): To here, before template operands are matched. + Also ensure a constant immediate is sign extended when we know the + size is at most 16 bits. This is to catch cases like "add + $0xffc0,%ax" where we don't know the size, and thus that the + immediate can be represented as Imm8S until after parsing the + register operand. + (i386_displacement): Similarly sign extend 16 bit constant + displacements. + (md_assemble): Relax 16-bit jump constant range check to suit sign + extended displacements. - * config/tc-alpha.c (s_alpha_section): Remove ".lcomm" handling. +2000-02-26 Andreas Jaeger <aj@suse.de> - * config/tc-alpha.c (alpha_basereg_clobbered): Remove variable and - all corresponding code. + * doc/c-mips.texi (MIPS Opts): Fix typo in last patch. -Thu Nov 20 15:06:08 1997 Richard Earnshaw <rearnsha@arm.com> +2000-02-25 Alan Modra <alan@spri.levels.unisa.edu.au> - * config/tc-arm.h (TARGET_FORMAT for generic a.out targets): Allow - run-time endian selection. + * config/tc-i386.c (md_assemble): Don't swap intersegment jmp and + call operands when intel_syntax. + (intel_float_operand): Return 2 for "fi...". + (i386_operand_modifier): Change "DWORD PTR" test to suit above. + Return SHORT_MNEM_SUFFIX for "WORD PTR" when "fi...". Revert + earlier "SHORT" change. + (md_assemble): When determining suffix from Regs, exclude + InOutPortReg. -Wed Nov 19 17:44:42 1997 Richard Henderson <rth@cygnus.com> +2000-02-24 Nick Clifton <nickc@cygnus.com> - * tc-sh.c (parse_reg): Properly quote for fv4. + * configure: Add arm-wince, mips-pe and sh-pe targets. + * configure: Regenerate. -Wed Nov 19 23:46:18 1997 Ian Lance Taylor <ian@cygnus.com> + * config/obj-coff.h (COFF_WITH_PE): Define for mips-pe and + sh-pe targets. + (TARGET_FORMAT): Set to "pe-shl" for the sh-pe target and to + "pe-mips" for the mips-pe target. + + * config/tc-arm.c (insns): Change displacement encoded in BL + and B instructions if the target port is arm-wince. + (do_ldst): Do not bias the relocation offset if the target + port is arm-wince. + (md_pcrel_from): Add in missing relocation offset bias if the + target os arm-wince. + + * config/tc-mips.c (mips_target_format): Support COFF flavour. + (md_begin): Disable -G support for mips-pe target. + (md_apply_fix): Treat BFD_RELOC_RVA reloc as BFD_RELOC_32. + * config/tc-mips.h (USE_GLOBAL_POINTER_OPT): Add support for + COFF flavour. + + * config/tc-sh.c (md_begin): sh-pe target is little endian. + * config/tc-sh.h (SUB_SEGMENT_ALIGN): If using a BFD + assembler, just set the alignment to 4. + + * config/te-wince-pe.h: New file for WinCE targets. Define + TE_WINCE. + +2000-02-25 Alan Modra <alan@spri.levels.unisa.edu.au> + + * config/tc-i386.c (md_assemble): Swap segments too for intel mode + string instructions. + (i386_operand_modifier): Set i.suffix = WORD_MNEM_SUFFIX for SHORT. + (i386_intel_memory_operand): After finding a segment override, + check again for no `[' before looking for a displacement. Bomb if + more than one displacement rather than silently discarding the + second and subsequent ones. Free strings malloc'd by + build_displacement_string. + +2000-02-24 Catherine Moore <clm@cygnus.com> + + * config/obj-som.c (obj_pseudo_table): Add "weak". + (obj_som_weak): New routine. + +2000-02-24 Alan Modra <alan@spri.levels.unisa.edu.au> + + * config/tc-i386.c (union i386_op): New. + (struct _i386_insn): Delete disps[], imms[], regs[]. Add op[]. + Throughout file replace occurences of disps[n], imms[n], regs[n] + with equivalent op[n].disps, op[n].imms, op[n].regs. Simplify + intel mode operand swapping. Add assert in regKludge and + fake_zero_displacement code. Test i.types[n] when outputting + displacements and immediates. Combine output of Disp16 with + Disp32. + (md_assemble): Don't try to fix broken UNIXWARE_COMPAT opcodes + when in intel mode by (not) reversing fsub and fdiv operands + before the template search. This fails for single operand + shorthand forms of the instruction, and if UNIXWARE_COMPAT is + undefined. Instead fix the base_opcode after we've found the + template. Move base_opcode xor with found_reverse_match from + opcode output code to before this fix so we test for the correct + opcodes. + (md_assemble): Don't use strcmp when deciding to ignore the suffix + check in intel mode. Instead compare opcodes. + + * config/tc-i386.h (TC_RELOC): Delete. + * config/tc-i386.c (TC_RELOC): Delete. Replace usage of TC_RELOC + with equivalent call to reloc. + + * as.h (flag_m68k_mri): Move declaration after target include, and + only declare when TC_M68K defined. Define as zero otherwise. + (LABELS_WITHOUT_COLONS, NO_PSEUDO_DOT): If undefined, define as 0. + * app.c (scrub_m68k_mri): Declare only when TC_M68K defined. + Define as zero otherwise. + (do_scrub_begin): Use m68k_mri parameter only when TC_M68K defined. + (struct app_save): Declare scrub_m68k_mri only when TC_M68K. + (app_push, app_pop): Save scrub_m68k_mri only when TC_M68K. + (do_scrub_chars): Use LABELS_WITHOUT_COLONS directly rather than + testing whether defined. + * cond.c (ignore_input): Use NO_PSEUDO_DOT directly. + * expr.c (operand): #ifdef unused case labels when TC_M68K undefined. + * read.c: Use LABELS_WITHOUT_COLONS and NO_PSEUDO_DOT directly + rather than testing whether defined. + (s_mri): Set flag_m68k_mri only when TC_M68K defined. + (parse_mri_cons): Declare and use only when TC_M68K. + * config/tc-hppa.h (LABELS_WITHOUT_COLONS): Define as 1. + * config/tc-m68k.h (NO_PSEUDO_DOT): Define as 1. + * config/tc-m88k.h (NO_PSEUDO_DOT): Define as 1. + + * NEWS: Mention IBM 370 support. + +2000-02-23 Richard Henderson <rth@cygnus.com> + + * config/tc-i386.c (md_assemble): When swapping operands for + intel_syntax, assume everything that's not Imm or Disp is a + register. + +2000-02-23 Linas Vepstas <linas@linas.org> + + * config/tc-i370.c, config/tc-i370.h: New files. + * Makefile.am: Add support for Linux/IBM 370. + * configure.in: Likewise. + * app.c (do_scrub_begin): Don't lex single quote when TC_I370. + * config/obj-elf.c: Include elf/i370.h + (obj_elf_section): Don't do anything special for flag_mri if TC_I370. + + * Makefile.in: Regenerate. + * configure: Regenerate. - * symbols.c (resolve_symbol_value): Add missing breaks in case on - symbol value operator. + * doc/c-i370.texi: New file. + * doc/all.texi: Include it. + * doc/as.texinfo: And here. + * doc/Makefile.am(CPU_DOCS): Add c-i370.texi. + * doc/Makefile.in: Regenerate. -Tue Nov 18 18:45:14 1997 J"orn Rennecke <amylaar@cygnus.co.uk> +2000-02-19 Michael Meissner <meissner@redhat.com> - * config/tc-d10v.c (parallel_ok, find_opcode): - Split OPERAND_FLAG into OPERAND_FFLAG and OPERAND_CFLAG. + * config/tc-d30v.c (parallel_ok): Use FLAG_NOT_WITH_ADDSUBppp to + determine if an instruction can be used in parallel with an ADDppp + or SUBppp instruction. -Sun Nov 16 10:05:07 1997 Fred Fish <fnf@cygnus.com> +2000-02-22 Andrew Haley <aph@cygnus.com> - * config/obj-coff.c (fixup_segment): Cast second arg of - md_apply_fix3 call to type "valueT *". + * doc/c-mips.texi (MIPS Opts): Document -mgp32 and -mgp64. -Thu Nov 13 13:53:10 1997 Andrew Cagney <cagney@b1.cygnus.com> +1999-12-30 Andrew Haley <aph@cygnus.com> - * configure.in (emulations): Make FreeBSD an aout / i386bsd - variant. - * configure: Re-generate. + * config/tc-mips.c (mips_gp32): New variable. + (macro_build) Use mips_gp32. + (mips_ip): Ditto. + (md_longopts): Add "-mgp32" and "-mgp64". + (md_parse_option): Add OPTION_GP32 and OPTION_GP64. -Thu Nov 13 11:07:14 1997 Gavin Koch <gavin@cygnus.com> - - * config/tc-mips.c (macro_build): Use the membership field - for INSN_MACRO's. - (mips_ip): Same. - -Thu Nov 13 02:04:55 1997 J"orn Rennecke <amylaar@cygnus.co.uk> - - * config/tc-d10v.c (find_opcode): For OPCODE_FAKE, add check for - first argument if it's supposed to be a register. - -Tue Nov 11 19:25:05 1997 J"orn Rennecke <amylaar@cygnus.co.uk> - - * app.c (do_scrub_chars): If d10v, re-insert a space before - a '#' when in state 10. - -Tue Nov 11 13:33:15 1997 Ian Lance Taylor <ian@cygnus.com> - - * config/tc-h8300.c: Include "subsegs.h". - (tc_reloc_mangle): Handle references to symbols which are not - being output, so that references to `.' work. - -Mon Nov 10 13:43:33 1997 Ian Lance Taylor <ian@cygnus.com> - - * config/tc-m68k.c (m68k_ip): Call add_fix when needed for '_' - case. - - * macro.c (sub_actual): If we don't find a parameter for an &, - just substitute &. - -Fri Nov 7 21:29:32 1997 Ken Raeburn <raeburn@cygnus.com> - - * config/tc-mips.c (mips_ip): In default case, call as_bad - instead of fprintf, to get "assembler messages:" message output - before instead of after. - -Fri Nov 7 10:36:22 1997 Doug Evans <devans@canuck.cygnus.com> - - * frags.h: Handle multiple inclusion. - -Wed Nov 5 10:51:49 1997 Doug Evans <devans@canuck.cygnus.com> - - Based on a patch from Ian.Dall@dsto.defence.gov.au. - * as.h (struct frag, frag support): Moved from here. - * frags.h: To here. - (struct frag, member tc_frag_data): New member if TC_FRAG_TYPE - is defined. - (struct frag, member fr_cgen): Renamed from fr_targ.cgen. - * cgen.c (cgen_asm_finish_insn): Update. - * config/tc-m32r.c (md_estimate_size_before_relax): Update. - * config/tc-m32r.h (TC_FRAG_INIT): Renamed from md_init_frag. - (md_convert_frag): Ditto. - * config/tc-ns32k.h (TC_FRAG_TYPE): Define. - (frag_opcode_frag,frag_opcode_offset,frag_bsr): Update. - (TC_FRAG_INIT): Update. - -Tue Nov 4 16:35:57 1997 Ian Dall <Ian.Dall@dsto.defence.gov.au> - - * write.c (print_fixup): Use TC_FIX_DATA_PRINT (if defined) to - print out MD fields of fix. - * frags.c (frag_var, frag_variant): Use TC_FRAG_INIT macro (if - defined) to initialize MD fields in frag. - * as.h (struct frag, ns32k support): Rename ns32k to fr_ns32k. - Delete pcrel_adjust. Add fr_opcode_fragP, fr_opcode_offset. - * config/tc-ns32k.h: Add comments. Remove obsolete - BFD_FAST_SECTION_FILL definition, change prototypes for - fix_new_ns32k and fix_new_ns32k_exp to add new arguments - opcode_frag and opcode_offset and remove pcrel_adjust. - (TC_FIX_TYPE): add opcode_fragP and opcode_offset fields. - (TC_FIX_DATA_PRINT): new macro to print out TC_FIX_TYPE. - (TC_FRAG_INIT): new macro to initialize machine dependent field in - frags. - (frag_opcode_frag, frag_opcode_offset, frag_bsr): macros to access - MD fields in frag structure. - (fix_im_disp, fix_bit_fixP, fix_opcode_frag, fix_opcode_offset, - fix_bsr): macros to access MD fields in fix structure. - * config/tc-ns32k.c: Avoid overlength lines. Align comments. Don't - use struct opcode_location as these fields are now in the frag - structure. - (convert_iif): Call frag_more as it is needed instead - of trying to allocate for the whole insn. Avoid call of frag_more - with negative argument. - (md_pcrel_adjust, md_fix_pcrel_adjust, md_apply_fix, - md_estimate_size_before_relax, md_pcrel_from, - tc_aout_fix_to_chars): use accessor macros to get md fields in fix - and frag structures. - (fix_new_ns32k, fix_new_ns32k_exp): add new arguments opcode_frag and - opcode_offset and remove pcrel_adjust. - (convert_iif, cons_fix_new_ns32k): call fix_new_ns32k, - fix_new_ns32k_exp with changed arguments. - -Mon Nov 3 13:30:17 1997 Gavin Koch <gavin@cygnus.com> - - * tc-mips.c (md_begin): Reorganize setting of default values so - that mips_cpu depends on TARGET_CPU, and mips_opts.isa depends on - mips_cpu. - (md_parse_option): Remove all code that sets defaults; md_begin - handles all of this now. - -Sun Nov 2 14:46:09 1997 Ian Lance Taylor <ian@cygnus.com> - - * Makefile.am (STAGESTUFF): Change bin_PROGRAMS to - noinst_PROGRAMS. - (bootstrap, bootstrap2, bootstrap3): Likewise. - * Makefile.in: Rebuild. - - * config/tc-ppc.c (ppc_fix_adjustable): Don't adjust relocs in the - TOC section to be against the csect. - -Fri Oct 31 18:19:55 1997 Ken Raeburn <raeburn@cygnus.com> - - * config/tc-mips.c (validate_mips_insn): New function, checks - match versus mask bits, and also verifies that all bits to be - output are actually specified somewhere. - (md_begin): Call it for 32-bit instructions, instead of doing - match/mask check here. In case of failure, print a message, but - check the rest of the opcode table before exiting. - -Thu Oct 30 13:46:20 1997 Nick Clifton <nickc@cygnus.com> - - * config/tc-arm.c (md_apply_fix3): Fix thumb ADR pseudo op. Patch - from Tony Thompson at ARM: athompso@arm.com - -Fri Oct 24 15:56:47 1997 Ian Lance Taylor <ian@cygnus.com> - - * config/tc-ppc.c (md_assemble): When handling @l, always sign - extend if the operand expects a signed value. - - * config/tc-mips.h (LOCAL_LABELS_DOLLAR): Don't define; use - default which is to permit dollar labels. - -Fri Oct 24 11:19:22 1997 Jakub Jelinek <jj@sunsite.mff.cuni.cz> - - * config/tc-sparc.c (sparc_memory_model): New variable. - (md_longopts): Add -TSO/-PSO/-RMO options. - (md_parse_options): Handle them. - (sparc_elf_final_processing): For 64 ELF, set required - memory ordering in e_flags. Default to RMO and let the user - override it through command line. - - * config/tc-sparc.h (elf_tc_final_processing): Add. - -Wed Oct 22 17:42:12 1997 Richard Henderson <rth@cygnus.com> - - * config/tc-sparc.c (v9a_asr_table): New variable. - (sparc_ip): Handle v9a asr's. - Patch from David Miller <davem@vger.rutgers.edu>. - -Wed Oct 22 17:22:59 1997 Richard Henderson <rth@cygnus.com> - - * config/tc-sparc.h (md_do_align): New macro. - * config/tc-sparc.c (sparc_handle_align): Handle rs_align_code. - Patch from Jakub Jelinek <jj@sunsite.mff.cuni.cz>. - -Wed Oct 22 12:51:18 1997 Ian Lance Taylor <ian@cygnus.com> - - * config/tc-sh.c (sh_small): New variable. - (OPTION_SMALL): Define. - (md_longopts): Add "small". - (md_parse_option): Handle OPTION_SMALL. - (md_show_usage): Mention -small. - * config/tc-sh.h (sh_small): Declare. - (SUB_SEGMENT_ALIGN): Handle sh_small. - * config/obj-coff.h (TARGET_FORMAT): Check sh_small in TC_SH - case. - - * config/tc-mips.c (macro): Correct handling of constant in M_LI_D - case in little endian mode. - -Tue Oct 21 10:20:11 1997 Doug Evans <devans@canuck.cygnus.com> - - * config/tc-sparc.c (md_apply_fix3, cases ..._H44, ..._HIX22): Leave - overflow signalling to linker. - -Mon Oct 20 14:54:06 1997 Klaus K"ampf <kkaempf@progis.de> - - * makefile.vms: Fix for dec c. - - * config-gas.com: Give explanation for dec c setup in error - message. - - * config/tc-alpha.c (s_alpha_comm): Make .comm symbols separate - sections on openvms/alpha. - - * config/obj-evax.c: support .weak pseudo-op - -Mon Oct 20 10:13:32 1997 Doug Evans <devans@canuck.cygnus.com> - - * config/tc-sparc.c (default_arch_size): New static local. - (struct sparc_arch): Rename arch_size to default_arch_size. - New member user_option_p. - (sparc_arch_table): Always include v9, v9a. New entry v9-64. - (init_default_arch): Check whether default arch is valid. - Set default_arch_size in addition to sparc_arch_size. - (OPTION_32,OPTION_64): Define. - (md_longopts): New entries for -32, -64. - (md_parse_option): Handle them. - (md_show_usage): Print them. Ensure init_default_arch called. - * configure.in (sparc64): Set arch to v9-64. - * configure: Regenerated. - -Sun Oct 19 13:50:50 1997 Ian Lance Taylor <ian@cygnus.com> - - * write.c (subsegs_finish): New function, broken out of - write_object_file. - (write_object_file): Some code moves into subsegs_finish. - * write.c (subsegs_finish): Declare. - * as.c (main): Call subsegs_finish. - - * read.c (s_include): Check for error return from - demand_copy_string. - -Tue Oct 14 20:50:58 1997 Richard Henderson <rth@cygnus.com> - - * read.c (get_line_sb): Accept any eol marker while scanning macros. - -Tue Oct 14 19:12:45 1997 Richard Henderson <rth@cygnus.com> - - * config/tc-alpha.h (DIFF_EXPR_OK): Define. - * config/tc-i386.h (DIFF_EXPR_OK): Define. - * config/tc-alpha.c (md_apply_fix): Notice fx_pcrel and substitute - the correct relocation when it exists. - * config/tc-i386.c (md_apply_fix3): Likewise. - - * config/tc-ppc.h: Correct typo in comment. - * config/tc-v850.h: Likewise. - -Fri Oct 10 16:09:35 1997 Andrew Cagney <cagney@b1.cygnus.com> - - * config/tc-d10v.c (parallel_ok): Allow parallel instruction issue - when second instruction is writing to first instructions inputs. +2000-02-22 Alexandre Oliva <oliva@lsd.ic.unicamp.br> + + * config/obj-coff.c (add_lineno): Accept non-positive lineno with + warning, and bump it to 1. + +2000-02-22 Ian Lance Taylor <ian@zembu.com> + + From Brad Lucier <lucier@math.purdue.edu>: + * dwarf2dbg.c (print_stats): Add cast to force printf argument to + match format. + +2000-02-21 Catherine Moore <clm@cygnus.com> + + * config/tc-mips.c (MF_HILO_INSN): Define. + (mips_7000_hilo_fix): Declare. + (append_insn): Conditionally insert nops after an mfhi/mflo insn. + (md_parse_option): Check for 7000_HILO_FIX options. + (OPTION_M7000_HILO_FIX): Define. + (OPTION_NO_M7000_HILO_FIX): Define. + * doc/c-mips.texi (-mfix7000): Describe. + +2000-02-21 Alan Modra <alan@spri.levels.unisa.edu.au> + + * listing.c (print_lines): Remove unused variable `end'. + + * config/tc-i386.c (md_assemble): Use `reloc()' to select reloc + type for JumpInterSegment output. Use enum bfd_reloc_code_real for + reloc_type when BFD_ASSEMBLER. + (md_estimate_size_before_relax): Use enum bfd_reloc_code_real for + reloc_type when BFD_ASSEMBLER. Move common code out of switch + statement and quell signed vs. unsigned comparison warning. + +2000-02-18 Nick Clifton <nickc@cygnus.com> + + * config/tc-d10v.c (find_opcode): Add a symbol's value to + the computed frag offset, rather than overwriting it. + +Thu Feb 17 00:11:08 2000 J"orn Rennecke <amylaar@cygnus.co.uk> + + * config/tc-sh.c ("elf/sh.h"): Include. + (sh_dsp, valid_arch, reg_x, reg_y, reg_efg): New static variables. + (md.begin): Initialize target_arch. + Only include opcodes in has table that match selected architecture. + (parse_reg): Recognize register names for sh-dsp. + (parse_at): Recognize post-modify addressing. + (get_operands): The leading space is now optional. + (get_specific): Remove FDREG_N support. Add support for sh-dsp + arguments. Update valid_arch. + (build_Mytes): Add support for SDT_REG_N. + (find_cooked_opcode): New function, broken out of md_assemble. + (assemble_ppi, sh_elf_final_processing): New functions. + (md_assemble): Use find_cooked_opcode and assemble_ppi. + (md_longopts, md_parse_option): New option: -dsp. + * config/tc-sh.h (elf_tc_final_processing): Define. + (sh_elf_final_processing): Declare. + +Fri Feb 11 14:21:51 2000 Jeffrey A Law (law@cygnus.com) + + * config/tc-hppa.c (pa_build_unwind_subspace): Use subseg_new to create + the unwinder subspace. Save the current seg/subseg before creating + the new seg/subseg. + +2000-02-10 Nick Clifton <nickc@cygnus.com> + + * config/tc-mcore.c (INST_BYTE0): Redefine to handle big and + little endian targets. + (INST_BYTE1): Redefine to handle big and little endian + targets. + (cpu_type): New type: Select between M340 and M210. + (parse_psrmod): New function: Parse the PSRCLR and PSRSET + instructions of the M340. + (md_assemble): Add support for the MULSH and OPSR classes of + instructions. + (md_atof): Add support for little endian targets. + (md_parse_option): Add support for -EL, -EB and -mcpu command + line switches. + (md_convert_frag): Add support for little endian targets. + (md_apply_fix3): Add support for little endian targets. + (md_number_to_chars): Add support for little endian targets. + +2000-02-10 Timothy Wall <twall@redhat.com> + + * read.c (read_a_source_file): If TC_START_LABEL_WITHOUT_COLON is + defined, use it to verify the symbol just read should be a label. + +2000-02-10 Timothy Wall <twall@redhat.com> + + * app.c (do_scrub_chars): Handle "||" for parallel instructions + when DOUBLEBAR_PARALLEL is defined. Avoid stripping whitespace + around colons when KEEP_WHITE_AROUND_COLON is defined. + * doc/internals.texi (CPU backend): Document DOUBLEBAR_PARALLEL + and KEEP_WHITE_AROUND_COLON. + +2000-02-08 Timothy Wall <twall@redhat.com> + + * read.c (s_rept): Call do_repeat, which abstracts the repeat + logic. + (do_repeat): New. Abstract repeat logic so that a "break" can be + implemented. + (end_repeat): New. Provide support for a "break" out of the + repeat loop. + * read.h: Add prototypes for new functions. -Mon Oct 13 15:27:17 1997 Richard Henderson <rth@cygnus.com> - - * ecoff.c (PAGE_SIZE): Double to 8k as a hack to allow some C++ - templated programs to build with -g. - -Fri Oct 10 17:48:29 1997 Nick Clifton <nickc@cygnus.com> - - * config/tc-v850.c (md_relax_table): Add support for relaxing - unconditional branches. This patch is courtesy of Jim Wilson. - (md_convert_frag): Fix relaxing of branches. This patch is - courtesy of Jim Wilson. - (md_assemble): Create different fixups for conditional and - unconditional branches. This patch is courtesy of Jim Wilson. - (md_estimate_size_before_relax): Estimate size of variable part of - fixup based on whether it is for a conditional or an unconditional - branch. This patch is courtesy of Jim Wilson. - (v850_sdata, v850_tdata, v850_zdata, v850_sbss, v850_tbss, - v850_zbss, v850_rosdata, v850_rozdata, v850_bss): Add call to - obj_elf_section_change_hook(). - (v850_comm): New function. - (md_pseudo_table): Add new pseudo ops .zcomm, .scomm and .tcomm. - (md_begin): Add bss flag to seg_info of bss sections. - - Add support for .scommon, .tcommon and .zcommon sections. - - * config/tc-v850.h (ELF_TC_SPECIAL_SECTIONS): Add .scommon, - .zcommon, .tbss, .call_table_data and .call_table_text. - -Fri Oct 10 15:01:14 1997 Doug Evans <dje@canuck.cygnus.com> - - * configure.in (sparc): Set DEFAULT_ARCH from correct target. - * configure: Regenerated. - -Fri Oct 10 11:22:45 1997 Martin M. Hunt <hunt@cygnus.com> - - * config/tc-d10v.c: Fixes to make sure the AT_WORD - expression is not confused with -1. - -Fri Oct 10 11:54:50 1997 Andrew Cagney <cagney@b1.cygnus.com> - - * config/tc-d10v.c (parallel_ok): Flag SP as modified for @-sp - operand - OPERAND_ATMINUS. - -Fri Oct 10 00:47:44 1997 Michael Meissner <meissner@cygnus.com> - - * config/tc-d10v.c (parallel_ok): Note that auto increment and - decrement modify the index register. - -Thu Oct 9 15:17:50 1997 Ian Lance Taylor <ian@cygnus.com> - - From Robin Kirkham <Robin.Kirkham@mlb.dmt.csiro.au>: - * config/tc-m68k.c (archs): Add 68306, 68307, 68322, 68356, 68334, - 68336, 68341, 68349. - * doc/c-m68k.texi (M68K-Opts): Add -m68ec000 -m68hc000 -m68hc001 - -m68306, -m68307, -m68322, -m68356, -m68ec020, -m68ec030, - -m68ec040, -m68ec060, -m68330, -m68334, -m68336, -m68341, - -m68349. - - * doc/Makefile.am (CPU_DOCS): Define. - (as.info): Depend upon $(CPU_DOCS). - * doc/Makefile.in: Rebuild. - - * configure.in: Remove AM_PROG_INSTALL; it's called by - AM_INIT_AUTOMAKE. - * configure: Rebuild. - -Thu Oct 9 01:44:36 1997 J"orn Rennecke <amylaar@cygnus.co.uk> - - * tc-d10v.h (TC_START_LABEL): Don't define. - (tc_frob_label): Define. +2000-02-08 Timothy Wall <twall@redhat.com> -Thu Oct 9 00:07:23 1997 J"orn Rennecke <amylaar@cygnus.co.uk> - - * config/tc-d10v.c (write_2_short): Fix bug that wouldn't allow - to pair a branch and link with anything but an exe instruction. - -Wed Oct 8 16:28:53 1997 Richard Henderson <rth@cygnus.com> - - * config/tc-alpha.c (load_expression): Disable the sym+const .got - optimization to reduce the alignment surprises for gcc. - -Wed Oct 8 16:11:15 1997 Doug Evans <dje@canuck.cygnus.com> - - * config/obj-coff.h (TC_SPARC): Don't define TARGET_FORMAT. - * config/tc-sparc.c (sparc_target_format): Handle coff here. - (sparc_ip): Add %hix,%lox. - (md_apply_fix3): Call as_bad_where, not as_bad. - Add support for BFD_RELOC_SPARC_{HIX22,LOX10}. - (tc_gen_reloc): Add support for BFD_RELOC_SPARC_{HIX22,LOX10}. - -Wed Oct 8 12:33:32 1997 Richard Henderson <rth@cygnus.com> - - * configure.in: Change alpha-*-* to alpha*-*-*; config.guess now - recognizes alphaev5 etc. - * configure: Rebuild. - -Wed Oct 8 00:04:05 1997 Gavin Koch <gavin@cygnus.com> - - * config/tc-mips.c (md_begin): Replace the TARGET_CPU value - of mipsr3900 with mipstx39. - - * config/tc-mips.c (mips_ip): Don't print the 'opcode requires - -mipsXX message' if the insn isn't an ISA insn. - -Tue Oct 7 12:48:30 1997 Doug Evans <dje@canuck.cygnus.com> - - * config/tc-sparc.h (TARGET_FORMAT support): Moved to tc-sparc.c. - Redefine TARGET_FORMAT to call sparc_target_format. - * config/tc-sparc.c (in_unsigned_range): New function. - (sparc_arch_size): Make static. - (sparc_target_format): New function. - (sparc_ip): Delete variable immediate_max. Rewrite %hi/etc reloc - handling. Add support for %hh,%hm,%lm,%h44,%m44,%l44. - (output_insn): Set `fx_no_overflow'. - (md_apply_fix3): Handle BFD_RELOC_SPARC_{7,H44,M44,L44}. - (tc_gen_reloc): Likewise. - -Mon Oct 6 14:04:50 1997 Nick Clifton <nickc@cygnus.com> - - * config/tc-v850.c (v850_section): Remove. - - * config/obj-elf.c (obj_elf_section): Enhance error message. - -Fri Oct 3 15:40:38 1997 Ian Lance Taylor <ian@cygnus.com> - - * config/tc-mips.c: Undef OBJ_COPY_SYMBOL_ATTRIBUTES before - including obj-elf.h in OBJ_MAYBE_ELF case. - (mips_target_format): Return NULL after abort to avoid warning. - - * ecoff.c (generate_ecoff_stab): Remove unused static function. - - * expr.c (operator): Accept ==. From Anders Blomdell - <anders.blomdell@control.lth.se>. - - * config/atof-ieee.c (gen_to_words): When generating a denormal - number, handle an overflow into the smallest normalized number. - -Mon Sep 29 15:24:52 1997 J"orn Rennecke <amylaar@cygnus.co.uk> - - * as.h, input-scrub.c (new_logical_line): New return value. - * read.c (s_app_file): Don't note the same file several times - in a row. - -Thu Sep 25 13:08:02 1997 Ian Lance Taylor <ian@cygnus.com> - - * config/tc-m68k.c (m68k_ip): Remove ` operand specifier. - -Wed Sep 24 16:54:40 1997 Joel Sherrill <joel@oarcorp.com> + * doc/internals.texi: Document NUMBERS_WITH_SUFFIX macro. + * as.h: Provide a default NUMBERS_WITH_SUFFIX definition (zero). + * expr.c: Handle numbers with suffixes if NUMBERS_WITH_SUFFIX is + non-zero. + +2000-02-08 Timothy Wall <twall@redhat.com> - * configure.in (sh*-*-rtems*): New target, like sh-*-elf*. - * configure: Rebuild. + * read.c: Added elseif to directives table. + * read.h: Added prototype for s_elseif. + * doc/as.texinfo: Added description for elseif. + * cond.c (s_elseif): New function + +2000-02-04 Timothy Wall <twall@redhat.com> -Wed Sep 24 11:30:25 1997 Ian Lance Taylor <ian@cygnus.com> + * listing.c (print_lines): Remove conditionals causing bug in + listings. - * config/tc-m68k.c (m68k_ip): Handle q and v operand specifiers. +2000-02-03 Timothy Wall <twall@cygnus.com> + + * as.h: Define OCTETS_PER_BYTE and OCTETS_PER_BYTE_POWER + default values. + * frags.c (frag_new): Calculate fr_fix in octets + (frag_now_fix) Return offset as target address offset (bytes). + (frag_now_fix_octets) New - Return offset in octets (8-bit + quantities). + * frags.h: Added prototype for frag_now_fix_octets(). + Distinguish between octets and bytes in field descriptions. + * listing.c (calc_hex): Account for octets vs bytes when + printing addresses/offsets. + (print_lines) Ditto. Also, if LISTING_WORD_SIZE is not 1, and + target is little-endian, print the octets in a word in big-endian + order so that the display looks like a proper hexadecimal number, + instead of having the octets reversed. + * read.c (do_align): When recording alignment, alignment power + should be in terms of target bytes (minimum addressible unit) + instead of octets. + (do_org) Convert ORG target address (byte) argument into an + octet offset when generating a variable fragment. + * symbols.c (resolve_symbol_value): Symbol final value + converted to a target address offset (bytes) from its octet offset. + * config/obj-coff.c (coff_frob_symbol): Symbol target address + offset (bytes) is adjusted by the frag offset (octets) converted + to bytes. + (coff_frob_section) Section alignment power is in terms of bytes; + convert it to an octet alignment power when calculating size (and + size mask) in octets. Don't modify the section size in order to + "align" it for TI COFF, since that format has a different method + for storing alignment information. + +2000-02-01 Timothy Wall <twall@cygnus.com> - * doc/c-i386.texi (i386-Float): Remove incorrect assertion that - fn* instructions do not insert implicit fwait. This was changed - Jan 29, 1996. + * stabs.c (generate_asm_file): Escape backslashes in stabs file + entries, matching the way GCC generates them. If not escaped, the + filename is encoded incorrectly. - * config/m68k-parse.y (yylex): Permit an expression to be used for - the scale factor. +2000-01-31 Nick Clifton <nickc@cygnus.com> + * config/tc-arm.c (reg_table): Add support for ATPCS register + naming conventions. - * Makefile.am (EXTRA_as_new_SOURCES): Set to config/m68k-parse.y, - not m68k-parse.y. - * Makefile.in: Rebuild. - - * aclocal.m4: Rebuild with new libtool. - * configure: Rebuild. +2000-01-31 Geoff Keating <geoffk@cygnus.com> + + * config/obj-coff.h (OBJ_COPY_SYMBOL_ATTRIBUTES): Don't define if + already defined. + * config/tc-ppc.h [OBJ_XCOFF] (OBJ_COPY_SYMBOL_ATTRIBUTES): + New macro. + * config/tc-ppc.c (ppc_fix_adjustable): Don't look at the frag + of a symbol when we really care about its value. -Tue Sep 23 17:48:09 1997 Ian Lance Taylor <ian@cygnus.com> +2000-01-19 Chandra Chavva <cchavva@cygnus.com> - * app.c (do_scrub_chars): Clear mri_state at end of .mri - pseudo-op. + * config/tc-mcore.c (md_assemble): Give warning message if + operands passes to instruction are more than the spec. - * config/tc-mips.c (hilo_interlocks): Change from a static - variable to a macro, so that it varies with the variables upon - which it depends. - (gpr_interlocks, cop_interlocks): Likewise. - (md_begin): Don't initialize them. +2000-01-27 Thomas de Lellis <tdel@windriver.com> -Fri Sep 19 17:08:41 1997 Jeffrey A Law (law@cygnus.com) + * config/tc-arm.c (armadjust_symtab): If the assembler is in + Thumb mode but the label seen was not declared as '.thumb_func' + then set the ST_INFO type to STT_ARM_16BIT mode. This allows + correct disassembly of Thumb code bounded by non function labels. - * config/tc-mn10300.c (md_assemble): Use strcasecomp instead - of strcmp where appropriate. +2000-01-27 Alan Modra <alan@spri.levels.unisa.edu.au> -Thu Sep 18 14:11:56 1997 Nick Clifton <nickc@cygnus.com> + * Makefile.am (MULTI_CFILES): Add config/e-i386aout.c + Add dependencies for e-i386aout.o. Fix 2 comment lines. - * config/tc-v850.c (md_assemble): Cope with a zero data area - relocation with a constant offset. - (md_assemble): Produce error message when special data area - relocations are used on instructions which do not support them. - (md_assemble): Reset processor mask if defined by command line - switch. + * Makefile.in: Same here. + Update copyright. -Thu Sep 18 11:24:01 1997 Doug Evans <dje@canuck.cygnus.com> + * configure.in: Set bfd_gas for i386-aout when primary target + is bfd. Handle i386aout emulation. Don't use te_file=multi, as + we may need the primary te_file. Remove incorrect comment. - * config/tc-sparc.c: Reorganize file. - (parse_keyword_arg): Allow numbers in reg names. - (SPECIAL_CASE_NONE): New macro. - (md_assemble): Use it. - (lookup_arch,init_default_arch): New functions. - (default_arch,default_init_p,sparc_arch_table): New static locals. - (sparc_arch_size): New static local. - (max_architecture): Initialize in init_default_arch. - (md_parse_options): Call init_default_arch if necessary. - Rewrite -xarch/-A processing. - (md_show_usage): Print -A values from sparc_arch_table. - (md_begin): Call init_default_arch if necessary. - (sparc_md_end): Handle both 32 and 64 bit environments. - * config/tc-sparc.h (TARGET_FORMAT): Likewise. - * acconfig.h (SPARC_V9,SPARC_ARCH64): Delete. - (DEFAULT_ARCH): Add. - * config.in: Regenerate. - * configure.in (sparc): Default DEFAULT_ARCH based on target cpu. - (SPARC_V9,SPARC_ARCH64): Delete. * configure: Regenerate. - * config/vms-conf.h (SPARC_V9,SPARC_ARCH64): Delete. - -Wed Sep 17 16:54:20 1997 Nick Clifton <nickc@cygnus.com> - - * config/tc-v850.c (v850_reloc_prefix): Recoded to use CHECK_ () - macro. - (handle_tdaoff, handle_zdaoff, handle_sdaoff): New functions. - -Tue Sep 16 14:18:22 1997 Nick Clifton <nickc@cygnus.com> - - * config/tc-v850.c (v850_reloc_prefix): Add support for a 16 bit - displacement from the tiny data area pointer. - -Mon Sep 15 21:28:09 1997 Jeffrey A Law (law@cygnus.com) - - * config/tc-hppa.c (fix_new_hppa): Make declaration match - definition. - -Mon Sep 15 18:33:06 1997 Nick Clifton <nickc@cygnus.com> - - * config/tc-v850.c (processor_mask): New variable. - (set_machine, md_parse_option): Set processor_mask. - (md_assemble): Check that instruction is available to target - processor. - - * config/tc-v850.h (TARGET_PROCESSOR): New constant. - -Wed Sep 10 10:07:08 1997 Nick Clifton <nickc@cygnus.com> - - * configure.in (emulations): Add v850 emulation. - -Tue Sep 9 17:14:33 1997 Doug Evans <dje@canuck.cygnus.com> - - * Makefile.am (CPU_TYPES): Add arc. - (TARGET_CPU_CFILES): Add tc-arc.c. - (TARGET_CPU_HFILES): Add tc-arc.h. - (dependencies): Rebuild. - * Makefile.in: Rebuild. - * configure.in: Recognize arc-*-elf*. - * configure: Regenerated. - * config/tc-arc.[ch]: New files. - -Tue Sep 9 10:19:37 1997 Nick Clifton <nickc@cygnus.com> - - * doc/c-v850.texi (V850 Opcodes): Document hi0() reloc prefix. - Correct description of hi() reloc prefix. + * config/e-i386aout.c: New file. + + * as.c (USE_EMULATIONS): Move to before print_version_id. + (struct emulation): Add i386aout. + (show_usage): Split text strings. Reformat -a text. Add --em + help. + Update copyright. + + * obj.h (struct format_ops): Add s_get_other and s_get_desc. + (aout_format_ops): New. + Update copyright. + + * read.c (s_lcomm_internal): Rewrite OBJ_AOUT,OBJ_BOUT + preprocessor conditional and add aout USE_EMULATIONS tests. + (read_a_source_file): Don't pass error strings to printf as + format arg. + Update copyright. + + * gasp.c (exp_get_abs): Don't pass error strings to printf as + format arg. + (do_data): Same here. + (process_file): And here. + Update copyright. + + * symbols.c (colon): Rewrite "already defined" fatal message + code for aout with USE_EMULATIONS. + Update copyright. + + * config/obj-aout.c (OBJ_HEADER): Define. + (obj_pseudo_table): Rename to aout_pseudo_table. Init all + fields of sentinel. + (obj_aout_frob_symbol): Expand S_GET_DESC, S_GET_TYPE, + S_GET_OTHER, S_SET_TYPE macros since we don't need obj-multi + forms here. + (obj_aout_type): Expand S_SET_OTHER here too. + (obj_read_begin_hook): Remove. + (aout_pop_insert): New. + (obj_aout_s_get_other): New. + (obj_aout_s_get_desc): New. + (aout_format_ops): New. + Update copyright. + + * config/obj-aout.h (obj_pop_insert): Define so non-multi usage + gets aout_pseudo_table. + (aout_pseudo_table): Declare. + (obj_read_begin_hook): Define. + Update copyright. + + * config/obj-coff.c (obj_pseudo_table): Rename to + coff_pseudo_table. + (coff_pop_insert): Use coff_pseudo_table. + (coff_sec_sym_ok_for_reloc): Remove. + (coff_format_ops): Add 0 entries for s_get_size, s_set_size, + and comment all zero entries and remove #if 0 code. + Update copyright. + + * config/obj-coff.h (obj_pop_insert): Define. + (coff_pseudo_table): Declare. + Update copyright. + + * config/obj-ecoff.c (ecoff_format_ops): Add 0 entries for + s_get_size, s_set_size. Comment all zero entries. + Update copyright. + + * config/obj-elf.c (elf_s_get_other): New function. + (obj_read_begin_hook): Rename to elf_obj_read_begin_hook. + (obj_symbol_new_hook): Rename to elf_obj_symbol_new_hook. + (elf_format_ops): Add elf_s_get_other, 0 s_get_size entry, and + comment. + (obj_elf_parse_section_letters): Don't pass error strings to + printf as format arg. + Update copyright. + + * config/obj-elf.h (ECOFF_DEBUGGING): Define when + OBJ_MAYBE_ECOFF. + (elf_s_get_other): Declare. + (S_GET_OTHER) Define as elf_s_get_other if not already + defined. + (S_SET_OTHER): Only define when not already defined. + (elf_obj_read_begin_hook): Declare. + (obj_read_begin_hook): Define. + (elf_obj_symbol_new_hook): Declare. + (obj_symbol_new_hook): Define. + Update copyright. + + * config/obj-multi.h: Add copyright header and protect against + multiple inclusion. Add * to all function pointers. + (OBJ_HEADER): If defined, include it rather than other defines + in this file. + (obj_frob_file_after_relocs): Test for NULL. + (obj_symbol_new_hook): Here too. + (obj_sec_sym_ok_for_reloc): And here. + (S_GET_OTHER): Define. + (S_GET_DESC): Define. + (ECOFF_DEBUGGING): Remove as it's done in obj-elf.h + (OBJ_MAYBE_ELF): Update comment. + + * config/tc-i386.c (i386_immediate): Add OBJ_MAYBE_AOUT to + OBJ_AOUT preprocessor conditional and handle emulation by + testing OUTPUT_FLAVOR. + (i386_displacement): Here too. + (md_section_align): Similarly here. + (i386_target_format): Conditionally compile when more than one + of OBJ_MAYBE_{ELF,COFF,AOUT} defined. Add aout case. + (i386_immediate): Fix error message for aout BFD_ASSMBLER. + (i386_displacement): Here too. + Update copyright. + + * config/tc-i386.h (AOUT_TARGET_FORMAT): Define for each TE_*. + Define TARGET_FORMAT for aout only when not multi. + Update copyright. + + * config/te-multi.h: Delete file as it's identical to te-generic.h + +2000-01-15 Alan Modra <alan@spri.levels.unisa.edu.au> + + * config/tc-i386.h (DWORD_MNEM_SUFFIX): Delete. + * config/tc-i386.c (DWORD_MNEM_SUFFIX): Rename all occurrences to + LONG_MNEM_SUFFIX. + + * config/tc-i386.h (INTEL_DWORD_MNEM_SUFFIX): Rename to + DWORD_MNEM_SUFFIX. + * config/tc-i386.c (INTEL_DWORD_MNEM_SUFFIX): Here too. Fix some + comments. + +2000-01-13 Clinton Popetz <cpopetz@cygnus.com> + + * config/tc-mips.c (mips_do_align): New function. + * config/tc-mips.h (md_do_align): Define. + +2000-01-10 Philip Blundell <philb@gnu.org> + + * doc/c-arm.texi (ARM Options): Fix typo. + (ARM-Chars): Correct description of `#'. Mention that `;' is a + line separator for Linux. + * doc/as.texinfo (Comments): Mention the ARM. + +2000-01-10 Philip Blundell <pb@futuretv.com> + + * configure.in (arm*-*-conix*): New target. + (arm*-*-linux-gnu*): Match instead of arm-*-linux* and + armv*-*-linux-gnu. + * configure: Regenerate. - * doc/c-v850.texi: Document new pseudo ops and command line - options. +2000-01-03 Martin v. Loewis <loewis@informatik.hu-berlin.de> - * config/tc-v850.c (set_machine): New function. - * config/tc-v850.c (.v850): New pseudo op. + * config/obj-elf.c (elf_pseudo_table): Define visibility pseudos. + (obj_elf_visibility): New function. + * doc/as.texinfo (Visibility): New node: document visibility + pseudo ops. -Mon Sep 8 23:08:04 1997 Ian Lance Taylor <ian@cygnus.com> - - Support -alh and -ald for DWARF 1: - * listing.c (struct list_info_struct): Add debugging field. - (listing_newline): Initialize the debugging field. If ELF, if the - section starts with .debug or .line, set the debugging field in - the listing structure. - (debugging_pseudo): Add list parameter. Change all callers. If - the debugging field is set, consider it to be a debugging pseudo. - If ELF, skip blank lines between debugging lines. - * read.c (emit_expr): If ELF, look for line numbers. - (stringer): If ELF, look for file names. - -Mon Sep 8 12:33:40 1997 Nick Clifton <nickc@cygnus.com> - - * config/tc-v850.c (v850_insert_operand): Only test for overflow - if there is no insert function. - - * config/tc-v850.h (TARGET_MACHINE): New constant. - - * config/tc-v850.c (v850_insert_operand): Add - -mwarn_unsigned_overflow. - (md_begin): Set BFD machine number based on machine variable. - (md_parse_option): Add -mv850, -mv850e and -mv850ea options. - -Mon Sep 8 11:20:46 1997 Ian Lance Taylor <ian@cygnus.com> - - * as.h: Don't declare alloca if it is a macro. - * macro.c: Likewise. - -Sun Sep 7 00:30:19 1997 Richard Henderson <rth@cygnus.com> - - * config/tc-alpha.c (md_parse_option): Move m[] out to top level and - rename to cpu_types[]. - (s_alpha_arch): New function. - (md_pseudo_table): Add "arch". - - * config/tc-alpha.c (md_begin): Merge the two loops through the - opcode table. - (s_alpha_proc): Add initial SKIP_WHITESPACE. - (s_alpha_set): Likewise. Use get_symbol_end instead local while loop. - -Sat Sep 6 19:38:12 1997 Fred Fish <fnf@cygnus.com> - - * read.h (s_lcomm_bytes): Add prototype (for real this time). - -Thu Sep 4 12:10:01 1997 Ian Lance Taylor <ian@cygnus.com> - - * config/obj-elf.c (elf_frob_symbol): Only set BSF_OBJECT for - symbols on Irix. - -Wed Sep 3 11:21:33 1997 Nick Clifton <nickc@cygnus.com> - - * config/tc-v850.c: Remove BFD_RELOC_V850_16_PCREL. - -Tue Sep 2 18:32:30 1997 Jeffrey A Law (law@cygnus.com) - - * config/tc-mn10200.c (md_convert_frag): PC relative instructions arex - relative to the next instruction, not the current instruction. - (md_assemble): Similarly. - -Tue Sep 2 15:58:52 1997 Nick Clifton <nickc@cygnus.com> - - * doc/c-v850.texi: Explanations of offsets in SDA/ZDA areas - correcetd. - - * config/tc-v850.c: Add support for SDA/TDA/ZDA sections. - (v850_reloc_prefix): Duplicate code eliminated. Add code to - recognise special instructions. - (md_assemble): Calculation of the size of a fixups corrected. - - * config/tc-v850.h (ELF_TC_SPECIAL_SECTIONS): Add SDA/TDA/ZDA - sections. - -Tue Sep 2 15:40:56 1997 Andrew Cagney <cagney@b1.cygnus.com> - - * config/tc-v850.c (md_assemble): Use opcode->name instead of - opcode->opcode as the sentinal. Zero is a valid opcode. - -Tue Aug 26 16:51:14 1997 Ian Lance Taylor <ian@cygnus.com> - - * doc/as.texinfo (Machine Dependencies): Add v850 to menu. - * doc/c-v850.texi: Change node name to match other chapter nodes. - -Tue Aug 26 09:46:22 1997 Nick Clifton <nickc@cygnus.com> - - * doc/c-v850.texi (V850 Opcodes): Correct name for tiny data area - pointer. - -Tue Aug 26 12:23:25 1997 Ian Lance Taylor <ian@cygnus.com> +1999-12-27 Alan Modra <alan@spri.levels.unisa.edu.au> - * expr.c (integer_constant): If BFD64, don't make a bignum if the - number will fit in 64 bits. + * config/tc-i386.c (MATCH): Relax JumpAbsolute check. Emit a + warning for absolute jump/call without `*' in non-intel mode. No + need to set i.types[0] JumpAbsolute in intel mode. - * config/tc-alpha.c (load_expression): Check explicitly for O_big, - rather than calling abort. +1999-12-22 Philip Blundell <pb@futuretv.com> - * as.h: Don't define alloca if __GNUC__. Just declare it. - * macro.c: Copy alloca handling from as.h. + * config/tc-arm.c (arm_s_text): If OBJ_ELF, call the appropriate + hook function when changing sections. + (arm_s_data): Likewise. - * config/tc-i386.c (i386_align_code): Correct 16 bit noops. From - Gabriel Paubert <paubert@iram.es>. +1999-12-14 Nick Clifton <nickc@cygnus.com> - * config/tc-i386.c (md_assemble): In JumpByte case, when looking - for a WORD_PREFIX_OPCODE, change it to ADDR_PREFIX_OPCODE if this - is jcxz or a loop instruction. + * config/tc-arm.c (md_parse_option): Add support for -marm720 + command line switch. -Mon Aug 25 16:04:14 1997 Nick Clifton <nickc@cygnus.com> +Tue Nov 30 22:59:00 1999 Jeffrey A Law (law@cygnus.com) - * config/tc-v850.c (pre_defined_registers): Add 'hp' as alias for - r2. - (md_begin): Set up machine architecture and type. + * config/tc-mn10300.c (md_pseudo_table): Add ".am33" pseudo-op. + (r_registers, xr_registers): Define. + (r_register_name, xr_register_name): New functions. + (md_assemble): Handle new am33 operand types and instruction + formats. + (mn10300_insert_operand, check_operand): Likewise. -Mon Aug 25 14:25:48 1997 Ian Lance Taylor <ian@cygnus.com> +1999-11-29 Nick Clifton <nickc@cygnus.com> - * symbols.c (resolve_symbol_value): Store the value back into the - symbol expression, to handle add or subtract simplification - correctly. Handle O_symbol_rva. Add default case. + * config/tc-arm.c (thumb_mode): Turn into a tristate variable. + (s_force_thumb): Set thumb_mode to 2. + (md_assemble): Do not complain about thumb instructions on a + non-thumb target if thumb_mode is set to 2. - * config/tc-ppc.c (ppc_change_csect): Temporarily lower the - chunksize while creating the new subsection. - * as.c (chunksize): Initialize to zero. - * subsegs.c (subseg_set_rest): Change 5000 to chunksize when - calling obstack_begin. +1999-11-28 Michael Meissner <meissner@cygnus.com> -Mon Aug 25 11:21:48 1997 Nick Clifton <nickc@cygnus.com> + * config/tc-alpha.c (toplevel): Include struc-symbol.h. + (alpha_macro_arg): Add MACRO_{LITERAL,BASE,BYTOFF,JSR} cases. + (O_...): Add new machine dependent expressions if we are handling + explicit relocations. + (alpha_reloc_op): New static table holding the explicit relocation + information. + (alpha_literal_hash): New static to hold the hash table for + explicit relocations. + (alpha_macros): Add support for explicit relocations. + (md_begin): If explicit relocations, initialize hash table. + (md_assemble): Don't print a second error if tokenize_arguments + already printed an error message. + (md_apply_fix): Add support for explicit relocations. + (alpha_force_relocation): Ditto. + (alpha_fix_adjustable): Ditto. + (alpha_adjust_symtab): New function to support explicit + relocations. + (alpha_adjust_symtab_relocs): Ditto. + (debug_exp): Debug stub compiled if DEBUG_ALPHA is defined. + (tokenize_arguments): Add debug code if DEBUG_ALPHA is defined. + Add support for explicit relocations. Return -2 if an error + message was already printed. + (find_macro_match): Add support for explicit relocations. Comment + each of the cases. + (emit_insn): Add support for explicit relocations. + (assemble_tokens): Ditto. + (emit_ldgp): Ditto. + (load_expression): Ditto. + (emit_lda): Ditto. + (emit_ldah): Ditto. + (emit_ir_load): Ditto. + (emit_loadstore): Ditto. + (emit_ldXu): Ditto. + (emit_ldil): Ditto. + (emit_sextX): Ditto. + (emit_division): Ditto. + (emit_jsrjmp): Ditto. + (emit_retjcr): Ditto. + + * config/tc-alpha.h (RELOC_OP_P): Enable explicit relocations if + ELF object format. + (tc_adjust_symtab): If explicit relocations, call the function + alpha_adjust_symtab. + (TC_FIX_TYPE): Add fields to be able to move explicit lituse + relocations next to the literal relocation they reference. + (TC_INIT_FIX_DATA): Initialize the new fields. + (TC_FIX_DATA_PRINT): Print the new fields if DEBUG5 is defined. + +Wed Nov 24 20:27:58 1999 Jeffrey A Law (law@cygnus.com) + + * config/tc-hppa.c (pa_ip): Handle PA2.0 unit completers. Handle + 'B' operand for PA2.0 bb instruction. + +1999-11-18 Nick Clifton <nickc@cygnus.com> - * config/tc-v850.c (md_assemble): Restore input_line_pointer upon - exit. + * config/tc-mcore.h (TC_FORCE_RELOCATION): Define for Mcore-pe + target. + * config/tc-mcore.c (tc_gen_reloc): Support generation of RVA + relocs. + (mcore_force_relocation): Force relocations to be generated for + RVA relocs. -Mon Aug 25 10:19:34 1997 Nick Clifton <nickc@cygnus.com> +1999-11-16 Alan Modra <alan@spri.levels.unisa.edu.au> - * doc/c-v850.texi: Change the major node to v850 Machine - Dependencies. + * config/tc-i386.c (i386_immediate): Disallow O_big immediates. + (i386_displacement): Disallow O_big displacements. -Fri Aug 22 11:16:14 1997 Nick Clifton <nickc@cygnus.com> +Mon Nov 15 20:12:43 1999 Donald Lindsay <dlindsay@cygnus.com> - * doc/as.texinfo: Add inclusion of c-v850.texi + * config/tc-arm.c (do_mia,do_mar,do_mra,do_pld,do_ldrl,do_co_reg): Small + improvements in error checking. + (md_assemble): Support for unconditional ARM instructions. + (md_parse_option): Support for -m[arm]v5e flag. - * doc/c-v850.texi: New file. +1999-11-12 Nick Clifton <nickc@cygnus.com> - * read.c (is_end_of_line): Make NUL character be considered to be - a line terminator. + * macro.c (buffer_and_nest): Do not check beyond the end of the + buffer. -Fri Aug 22 10:45:33 1997 Nick Clifton <nickc@cygnus.com> +1999-11-11 Nick Clifton <nickc@cygnus.com> - * config/tc-v850.c (parse_register_list): Add support for curly - brace syntax. - (cc_names): Add "e" and "ne" conditions. + * macro.c (buffer_and_nest): Look for seperator after TO and + FROM tokens. -Thu Aug 21 11:00:36 1997 Nick Clifton <nickc@cygnus.com> +1999-11-08 Andrew Haley <aph@cygnus.com> - * app.c (do_scrub_chars): Support a double dash as starting a - comment that extends to end of line. + * app.c (do_scrub_chars): When in State 10, treat backslash + characters in the same way as as symbol characters. -Thu Aug 21 10:54:27 1997 Nick Clifton <nickc@cygnus.com> +1999-11-07 Richard Henderson <rth@cygnus.com> - * config/tc-v850.c (v850_section, v850_bss, v850_offset): New - functions. - (md_pseudo_table): New pseudo ops: .bss, .offset, .section + * config/tc-alpha.c (alpha_align): Check, don't assert, that + the previous label was in the current section before playing + with auto-alignment. -Thu Aug 21 00:59:53 1997 Doug Evans <dje@canuck.cygnus.com> +1999-11-06 Nick Clifton <nickc@cygnus.com> - * config/tc-m32r.c (md_estimate_size_before_relax): Update recorded - insn when changing to a different instruction. + * config/tc-v850.c (v850_force_relocation): Force relocation + for weak symbols. + (v850_pcrel_from_selection): Do not compute a pcrel offset if + the symbol is weak. -Wed Aug 20 00:45:20 1997 J"orn Rennecke <amylaar@cygnus.co.uk> +1999-11-05 Michael Meissner <meissner@cygnus.com> - * tc-sh.c (parse_reg, get_specific, build_Mytes): Add SH4 - floating point extensions. - (parse_reg): parse sgr and dbr. + * expr.h (operatorT): Increase machine dependent operators to 16. + * expr.c (op_rank): Ditto. -Tue Aug 19 17:07:34 1997 Nick Clifton <nickc@cygnus.com> +1999-11-03 Ian Lance Taylor <ian@zembu.com> - * config/tc-v850.c (system_register_name): Support numbers for - system register IDs. + * read.c (pseudo_set): Reject attempts to set the value of a + section symbol. -Tue Aug 19 08:59:12 1997 Fred Fish <fnf@cygnus.com> + * config/obj-elf.c (obj_elf_ident): Call md_flush_pending_output + if it is defined. - * read.c (s_lcomm_internal): Renamed from s_lcomm, added arg to - flag when alignment is in bytes instead of power of 2, and code to - use that flag to convert alignment to bytes. - (s_lcomm, s_lcomm_bytes): New helpers that call s_lcomm_internal. - * read.h (s_lcomm_bytes): Add prototype. - * config/obj-coff.c (write_object_file): If ALIGNMENT_IN_S_FLAGS is - defined, write alignment to alignment bits in section header s_flags - rather than the s_align field. + * config/obj-elf.c (elf_set_index): Add ATTRIBUTE_UNUSED. -Mon Aug 18 20:42:23 1997 Richard Henderson <rth@cygnus.com> + * config/obj-elf.c (elf_frob_file_after_relocs): Don't pass NULL + to bfd_set_section_contents. - * macro.c (check_macro): use alloca instead of xmalloc to plug leak. +1999-11-03 Nick Clifton <nickc@cygnus.com> -Mon Aug 18 20:33:06 1997 Richard Henderson <rth@cygnus.com> + * config/tc-mcore.h (TARGET_BYTES_BIG_ENDIAN): Change to false. - * as.c (show_usage): Add -am. - * input-scrub.c (input_scrub_include_sb): Don't add leading \n - if we've already got one. - * listing.c (struct list_info_struct): Add line_contents. - (listing_newline): Put unused argument to work: if non-null, save it... - (listing_listing): ... and regurgitate during listing instead of line - from file. - * listing.h (LISTING_MACEXP): New define. - (LISTING_NEWLINE): Argument is NULL. - * read.c (read_a_source_file): If expanding macros, break up input - lines and pass them to listing_newline. - * doc/as.texinfo: Document -ac and -am. +1999-11-01 Gavin Romig-Koch <gavin@cygnus.com> - * cond.c (s_ifc): Add missing demand_empty_rest_of_line. + * config/tc-mips.c (macro_build): Use OPCODE_IS_MEMBER. + (mips_ip): Use OPCODE_IS_MEMBER. -Mon Aug 18 11:26:36 1997 Nick Clifton <nickc@cygnus.com> +Wed Oct 27 16:50:44 1999 Don Lindsay <dlindsay@cygnus.com> - * config/tc-v850.c (md_apply_fix3): Add support for new 16 bit PC - relative reloc. + * config/tc-arm.c (reg_required_here): Improve comments. + * config/tc-arm.c (thumb_opcode): Add "variants" field. + (tinsns): Initialize variants field. -Fri Aug 15 14:00:13 1997 Ian Lance Taylor <ian@cygnus.com> + * config/tc-arm.c (bad_args, bad_pc): Renamed to BAD_ARGS and + BAD_PC respectively. - * Makefile.am (check-DEJAGNU): Don't cd into testsuite until after - setting EXPECT and TCL_LIBRARY. - * Makefile.in: Rebuild. +1999-10-27 Scott Bambrough <scottb@netwinder.org> - * as.h (enum debug_info_type): Define. - (debug_type): Declare. - * as.c (debug_type): New global variable. - (show_usage): Add --gstabs. - (parse_args): Handle --gstabs. - * read.c (generate_asm_lineno): Remove. - (read_a_source_file): Output stabs debugging if appropriate. - Change checks of generate_asm_lineno to check debug_type. Only - generate ECOFF debugging if ECOFF_DEBUGGING is defined. - * read.h (generate_asm_lineno): Don't declare. - (stabs_generate_asm_lineno): Declare. - * stabs.c (stabs_generate_asm_lineno): New function. - * ecoff.c (add_file): Use debug_type, not generate_asm_lineno. - Don't turn off debugging. - (add_file): Remove old #if 0 code. - (ecoff_new_file): Set debug_type, not generate_asm_lineno. - (ecoff_directive_end): Don't generate stabs line symbols. - (ecoff_generate_asm_lineno): Don't check stabs_seen. Don't set - generate_asm_lineno. - (line_label_cnt): Remove. - (ecoff_generate_asm_line_stab): Remove. - * ecoff.h (ecoff_generate_asm_line_stab): Don't declare. - * doc/as.texinfo, doc/as.1: Document --gstabs. - -Wed Aug 13 18:58:56 1997 Nick Clifton <nickc@cygnus.com> + * config/tc-arm.c (reloc_map[]): Fix compiler warning. + * config/tc-arm.h: Fix compile time warnings. - - * config/tc-v850.c (md_assemble): Fix error recovery to reload - text of entire opcode. +Mon Oct 18 18:11:10 MDT 1999 Diego Novillo <dnovillo@cygnus.com> -Tue Aug 12 10:27:34 1997 Richard Henderson <rth@cygnus.com> + * tc_d10v.c (find_opcode): Allow ATSIGN to match expressions of the + form @abs16, @(abs16) and @(abs16 + imm). - * doc/internals.texi: Document rs_leb128. +1999-10-21 Gavin Romig-Koch <gavin@cygnus.com> -Tue Aug 12 12:17:03 1997 Ian Lance Taylor <ian@cygnus.com> + * config/tc-mips.c (ISA_HAS_COPROC_DELAYS) : New. + (ISA_HAS_64_BIT_REGS) New. + (gpr_interlocks,md_begin,reg_needs_delay,append_insn, + mips_emit_delays,macro_build,load_register,load_addresss, + macro,macro2,mips_ip,s_cprestore,s_cpadd): Simplify + and/or use new ISA_xxx macros in expressions involving + ISA, particularly mips_opts.isa. - * config/tc-m68k.c (m68k_ip): Give an error message for SIZE_BYTE - in ABSL case, rather than calling abort. +1999-10-18 Michael Meissner <meissner@cygnus.com> -Mon Aug 11 21:48:00 1997 Richard Henderson <rth@cygnus.com> + * expr.h (operatorT): Add machine dependent operators md1..md8. + (expressionS): Make X_op 8 bits instead of 7. Add a X_md field + for the machine dependent operators to use. - * as.h (enum _relax_state): Add rs_leb128. - * read.c (potable): Add sleb128 and uleb128. - (sizeof_*leb128, output_*leb128, emit_leb128_expr, s_leb128): New - functions. - * read.h: Update prototypes. - * symbols.c (resolve_symbol_value): Streamline quite a bit. Return - the symbol value, add a second FINALIZE argument that prevents - changes from being comitted. Update all callers. - * write.c (cvt_frag_to_fill, relax_segment): Handle rs_leb128. - * doc/as.texinfo: Document the new pseudos. - -Sun Aug 10 14:51:49 1997 Ian Lance Taylor <ian@cygnus.com> - - * Makefile.am (MOSTLYCLEANFILES): Add site.bak, site.exp, stage, - stage1, and stage2. - (DISTCLEANFILES): Define. - * doc/Makefile.am (DISTCLEANFILES): Define. - * Makefile.in, doc/Makefile.in: Rebuild. - -Wed Aug 6 00:30:30 1997 Ian Lance Taylor <ian@cygnus.com> - - * configure.in: Define TARGET_BYTES_BIG_ENDIAN if endian is set. - Don't set targ or gas_target. Define SCO_ELF and - TARGET_SOLARIS_COMMENT when appropriate. Don't substitute for - target_frag. - * Makefile.am: Remove @target_frag@. - (INCLUDES): Remove $(INTERNAL_CFLAGS), $(CROSS), $(HDEFINES), and - $(TDEFINES). - (dep-am): Mark as phony. - * acconfig.h: Add TARGET_BYTES_BIG_ENDIAN, TARGET_SOLARIS_COMMENT, - and SCO_ELF. - * config/arm-big.mt, config/arm-lit.mt: Remove. - * config/mips-big.mt, config/mips-lit.mt: Remove. - * config/ppc-big.mt, config/ppc-lit.mt: Remove. - * config/ppc-sol.mt: Remove. - * config/i386coff.mt, config/m68kcoff.mt: Remove. - * config/m88kcoff.mt: Remove. - * config/sco5.mt: Remove. - * configure, config.in, Makefile.in: Rebuild. - - * Makefile.am ($(srcdir)/config/m68k-parse.h): New target, to - further try to circumvent the .y.h rule. - * Makefile.in: Rebuild. + * expr.c (op_rank): Add machine dependent operators. -Tue Aug 5 12:32:07 1997 Ian Lance Taylor <ian@cygnus.com> - - * Makefile.am: New file, based on old Makefile.in. - * acinclude.m4: New file, from old aclocal.m4. - * configure.in: Call AM_INIT_AUTOMAKE and AM_PROG_LIBTOOL. Remove - shared library handling; now handled by libtool. Replace - AC_CONFIG_HEADER with AM_CONFIG_HEADER. Call AC_PROG_YACC, - AC_PROG_LEX, and AC_DECL_YYTEXT. Call AM_MAINTAINER_MODE, - AM_CYGWIN32, and AM_EXEEXT. Don't call CY_CYGWIN32 or CY_EXEEXT. - * config.in: New file, created by autoheader. - * conf.in: Remove. - * acconfig.h: Mention PACKAGE, VERSION, and USING_CGEN. - * stamp-h.in: New file. - * as.c (print_version_id): Change GAS_VERSION to VERSION. - (parse_args): Likewise. - * config/obj-vms.c: (Write_VMS_MHD_Records): Likewise. - * doc/Makefile.am: New file, based on old doc/Makefile.in. - * Makefile.in, doc/Makefile.in: Now built with automake. - * aclocal.m4: Now built with aclocal. - * configure: Rebuild. + * config/tc-alpha.c (O_pregister): Define as a machine dependent + operator. + (O_cpregister): Ditto. + (md_begin): Change X_op test that field is wide enough to use + O_max instead of O_alpha_max. + (cpu_types): Fill in missing initializer. + (alpha_num_macros): Make unsigned. + (md_assemble): Make opnamelen be size_t. + (md_apply_fix): Cast alpha_num_operands to int before testing. + (alpha_force_relocation): Ditto. + (alpha_fix_adjustable): Ditto. + (alpha_fix_adjustable): Mark unused arguments ATTRIBUTE_UNUSED. + (tc_gen_reloc): Ditto. + (tc_get_register): Ditto. + (emit_ldgp): Ditto. + (emit_lda): Ditto. + (emit_ldah): Ditto. + (emit_ldil): Ditto. + (s_alpha_ent): Ditto. + (s_alpha_end): Ditto. + (s_alpha_frame): Ditto. + (s_alpha_prologue): Ditto. + (s_alpha_file): Ditto. + (s_alpha_gprel32): Ditto. + (s_alpha_proc): Ditto. + (s_alpha_set): Ditto. + (s_alpha_base): Ditto. + (s_alpha_align): Ditto. + (s_alpha_arch): Ditto. + (alpha_align): Ditto. + (assemble_insn): Suppress unused variable warning. + (emit_insn): Ditto. + (assemble_insn): Don't assume X_op and X_unsigned are in a given + order in the structure. + (s_alpha_coff_wrapper): Avoid int/unsigned comparison. - * cond.c (s_else): If not listing false conditionals, turn listing - off in the false branch of the else. +Sun Oct 17 17:15:58 1999 Jeffrey A Law (law@cygnus.com) -Mon Aug 4 11:28:35 1997 Ian Lance Taylor <ian@cygnus.com> + * config/tc-hppa.c (md_apply_fix): Make "fmt" an int. - * config/tc-mips.c (macro): Fix handling of a double load from a - symbol plus an offset. +1999-10-12 Alan Modra <alan@spri.levels.unisa.edu.au> - * ecoff.c (ecoff_build_symbols): Set fMerge to 0 for an FDR which - has an associated external symbol. + * config/tc-i386.c (i386_index_check): Correct #endif location. -Sun Aug 3 23:23:59 1997 Richard Henderson <rth@cygnus.com> - - * config/tc-alpha.c (s_alpha_ucons): New function. - (md_pseudo_table): Add unaligned data pseudos for DWARF. +Mon Oct 11 14:02:40 1999 Geoffrey Keating <geoffk@cygnus.com> -Thu Jul 31 15:13:43 1997 Jeffrey A Law (law@cygnus.com) + * as.c (show_usage): Document new options. + (parse_args): Add --no-warn, --warn, --fatal-warnings, + which become 'W', OPTION_WARN, and OPTION_WARN_FATAL. + (parse_args): Parse the new options. + (main): If there were warnings, and --fatal-warnings + was specified, print an error. + * as.h: New variable, flag_fatal_warnings, for new option. - * config/tc-v850.c (md_assemble): Ignore the rest of the current - line if we encounter an error. +Sun Oct 10 01:47:23 1999 Jerry Quinn <jerry.quinn.adv91@alum.dartmouth.org> - * config/tc-v850.c (md_assemble): Sign extend constants value - for hi and hi0 expressions. - (v850_insert_operand): Enable range checking for generic 16bit + * config/tc-hppa.c (pa_ip): Add new codes 'cc', 'cd', 'cC', 'co', + '@'. Change autoincrement completers to fall through to cache control + completers. + + * config/tc-hppa.c (pa_ip): Remove unused args. Add code to '?W' + arg. + (pa_parse_addb_64_cmpltr): New function. + + * config/tc-hppa.c (pa_ip): Change error message. + (pa_ip,pa_parse_cmpb_64_cmpltr,pa_parse_cmpib_64_cmpltr) Fix '?N' and + '?Q' args to allow falling through. + + * configtc-hppa.c (pa_ip): Implement conditional codes "?N", "?Q". + Remove unused conditional codes. + (pa_parse_cmpb_64_cmpltr,pa_parse_cmpib_64_cmpltr): New. + +Thu Oct 7 00:23:53 MDT 1999 Diego Novillo <dnovillo@cygnus.com> + + * config/tc-d30v.c (CHAR_BIT): Define. + (check_range): Fix bit operations to support integers bigger than + 32 bits. + +Thu Oct 7 00:11:50 MDT 1999 Diego Novillo <dnovillo@cygnus.com> + + * config/tc-d10v.c (check_range): Check range for RESTRICTED_NUM3 operands. -Tue Jul 29 14:20:43 1997 Jeffrey A Law (law@cygnus.com) +Mon Oct 4 17:24:23 1999 Nick Clifton <nickc@cygnus.com> + Doug Evans <devans@cygnus.com> - * config/tc-v850.c (md_assemble): Turn on fx_no_overflow for - LO16, HI16 and HI16_S relocs. + Add support for m32rx. + * config/tc-m32r.c (enable_m32rx): New static global. + (enable_special,warn_explicit_parallel_conflicts,optimize): Ditto. + (allow_m32rx): New function. + (M32R_SHORTOPTS): Add `O'. + (md_longopts): Add --m32rx plus several warning options. + (md_parse_option): Handle new options. + (md_show_usage): Print them. + (md_begin): Enable m32rx. + (OPERAND_IS_COND_BIT): New macro. + (first_writes_to_seconds_operands): New function. + (writes_to_pc,can_make_parallel,make_parallel): New functions. + (target_make_parallel,assemble_two_insns): New functions. + (md_assemble): Recognize "insn1 -> insn2" and "insn1 || insn2". + If optimizing and m32rx, try to make consecutive insns parallel. -Mon Jul 28 18:41:41 1997 Rob Savoye <rob@chinadoll.cygnus.com> +Tue Sep 28 14:06:44 1999 Geoffrey Keating <geoffk@cygnus.com> - * configure.in: Use CYGWIN and EXEEXT autoconf macro to look for - win32 dependencies. - * configure: Regenerated with autoconf 2.12. - * Makefile.in: Add $(EXEEXT) to all executables. + * config/tc-mips.c (nopic_need_relax): Allow for the + .sdata.foo sections generated by -fdata-sections, + and for the .gnu.linkonce.s sections generated by C++. -Fri Jul 25 10:54:43 1997 Jeffrey A Law (law@cygnus.com) +Thu Sep 23 07:13:45 1999 Jerry Quinn <jquinn@nortelnetworks.com> - * tc-hppa.c (md_apply_fix): Improve warnings for out of range - unconditional branches. - (hppa_fix_adjustable): Don't adjust anything with a RR% or LR% - field selector. + * config/tc-hppa.c (pa_ip): Replace 'B', 'M', 'l' and 'g' handling + with cleaner code using completer prefixes. Add 'Y'. -Thu Jul 24 15:21:49 1997 Doug Evans <dje@canuck.cygnus.com> + * config/tc-hppa.c (pa_ip): Add parens to silence compiler. - * tc-sparc.c (md_begin): Cast sparc_opcodes to PTR for hash_insert. +Wed Sep 22 09:37:19 1999 Jeffrey A Law (law@cygnus.com) -Thu Jul 24 17:51:29 1997 Ian Lance Taylor <ian@cygnus.com> + * config/tc-hppa.c (pa_ip): Avoid ANSI specific initialization. + (pa_ip, case 'm'): Failure to get a CBIT specifier just means the + insn does not match and we should try the next insn in the table. - * macro.c (define_macro): Make sure the index is in range before - checking for '('. +1999-09-22 Nick Clifton <nickc@cygnus.com> -Tue Jul 22 18:38:56 1997 Robert Hoehne <robert.hoehne@Mathematik.TU-Chemnitz.DE> + * config/tc-arm.c (MULTI_SET_PSR): Rename to LDM_TYPE_2_OR_3. - * config/te-go32.h (USE_ALIGN_PTWO): Define. - * config/tc-i386.c (md_pseudo_table): If USE_ALIGN_PTWO is - defined, use s_align_ptwo for .align. - * configure.in (i386-*-msdosdjgpp*): New target. - (i386-*-go32*): Set em to go32 and targ to coffgo32. - * configure: Rebuild. +Mon Sep 20 04:01:41 1999 Jeffrey A Law (law@cygnus.com) -Tue Jul 22 12:41:40 1997 Doug Evans <dje@canuck.cygnus.com> + * config/tc-hppa.c (pa_ip): Fix thinkos in recent cleanup + of PA2.0 support. - * config/tc-sparc.c (last_opcode): New static local. - (md_assemble): Don't issue "FP branch in delay slot" warning if - the delay slot has been annulled. +1999-09-19 Alexandre Oliva <oliva@lsd.ic.unicamp.br> -Tue Jul 22 13:25:13 1997 Ian Lance Taylor <ian@cygnus.com> + * config/tc-i386.c (md_shortopts): Check OBJ_MAYBE_ELF as well as + OBJ_ELF. If ELF, add "sq". + (md_parse_option): If ELF, ignore -s and -q. + (md_show_usage): Mention ELF options. - * config/tc-m68k.c (md_apply_fix_2): Check for PC relative reloc - code if BFD_ASSEMBLER. +Sun Sep 19 10:43:31 1999 Jeffrey A Law (law@cygnus.com) -Mon Jul 21 08:57:17 1997 Jeffrey A Law (law@cygnus.com) + * config/tc-hppa.c (pa_ip): Handle 'J', 'K' and 'cc' + operands. - * config/tc-v850.c (system_registers): Fix ordering of registers. + * config/tc-hppa.c (pa_ip); Handle "fe", and 'cJ'. -Mon Jul 14 23:10:58 1997 Ian Lance Taylor <ian@cygnus.com> + * config/tc-hppa.c (pa_ip): Handle 'd', '#' and 'cq'. - * config/tc-mips.c (macro_build): Restore check of fmt argument. - (mips_ip): Fix ISA checks. + * config/tc-hppa.c (struct pa_it): New field "trunc". + (pa_ip): Hadnle 'h', 'm', '=', '{', and '_' operands. + (pa_parse_ftest_gfx_completer): New function + (pa_parse_fp_cnv_format): New function. -Sun Jul 13 20:43:46 1997 Ian Lance Taylor <ian@cygnus.com> + * config/tc-hppa.c (pa_ip): Handle 'X' operand. + (md_apply_fix): Handle 22bit pc-rel branches. - * config/tc-mips.c (check_absolute_expr): Change warning to - error. + * config/tc-hppa.c (pa_ip): Handle 'B' operand. -Fri Jul 11 10:18:47 1997 Jeffrey A Law (law@cygnus.com) + * config/tc-hppa.c (pa_ip): Handle 'L' and 'M' operands. - * config/tc-mips.c (macro_build): Refine code to check if an - instruction is available on a particular cpu variant. - (mips_ip): Likewise. + * config/tc-hppa.c (pa_ip): Handle 'l' operand. -Mon Jul 7 22:53:08 1997 Ian Lance Taylor <ian@cygnus.com> - - * config/tc-i386.c (tc_i386_fix_adjustable): Change ifndef - OBJ_AOUT to ifdef OBJ_ELF. - (md_apply_fix3): When mangling 32 bit PC relative reloc for - BFD_ASSEMBLER, handle one ELF case for COFF as well, and add a PE - case. - * write.c (fixup_segment): Change special case for i386-coff to - not apply for i386-pe. - * config/obj-coff.c (coff_adjust_section_syms): Only count fixups - which were not done. - (coff_frob_file_after_relocs): Rename from coff_frob_file. - (coff_format_ops): Initialize frob_file_after_relocs field rather - than frob_file field. - * config/obj-coff.h (coff_frob_file): Don't declare. - (coff_frob_file_after_relocs): Declare. - (obj_frob_file): Don't define. - (obj_frob_file_after_relocs): Define. - * configure.in: Set bfd_gas to yes for i386-*-cygwin32. - * configure: Rebuild. + * config/tc-hppa.c (pa_ip): Handle 'g' operand. -Wed Jul 2 12:05:00 1997 Ian Lance Taylor <ian@cygnus.com> +at Sep 18 12:13:28 1999 Jeffrey A Law (law@cygnus.com) - * config/obj-coff.c (fixup_segment): Never subtract section - address from PC relative reloc which will be fully resolved. + * config/tc-hppa.c (md_assemble): Fix dwarf2 line handling. + (pa_ip): Handle 'fX'. -Tue Jul 1 15:23:07 1997 Jeffrey A Law (law@cygnus.com) +Sat Sep 18 12:13:28 1999 Jeffrey A Law (law@cygnus.com) - * ecoff.c (page_type): Renamed from page_t to avoid conflict - with hpux10 header files. + * config/tc-hppa.c (md_assemble): Fix dwarf2 line handling. + (pa_ip): Handle 'fX'. -Mon Jun 30 12:27:28 1997 Ian Lance Taylor <ian@cygnus.com> +Fri Sep 17 11:57:34 1999 Jeffrey A Law (law@cygnus.com) - From Jason Merrill <jason@cygnus.com>: - * read.c (do_align): If BFD_ASSEMBLER, only use NOP_OPCODE if - SEC_CODE is set. - * config/tc-i386.h (md_maybe_text): Define. - (md_do_align): Use md_maybe_text. + * config/tc-hppa.c (pa_build_unwind_subspace): Do not build + unwinds unless the function is in the text space. + (pa_type_args): Set BSF_FUNCTION for an exproted data symbol. -Fri Jun 27 19:15:27 1997 Michael Meissner <meissner@cygnus.com> +Wed Sep 15 05:14:32 1999 Jeffrey A Law (law@cygnus.com) - * config/tc-ppc.h (tc_fix_adjustable): Only check for GOT type - relocations, don't check for symbol being external, weak, etc. + * config/tc-hppa.c (pa_ip): Move dwarf2 stuff from here. + (md_assemble): To here. Tweak address generation. -Mon Jun 16 19:12:51 1997 Geoff Keating <geoffk@ozemail.com.au> + * config/tc-hppa.c: Include dwarf2dbg.h if OBJ_ELF. Declare + debug_line. + (md_pseudo_table): Add .file and .line pseudo-ops for OBJ_ELF. + (md_assemble): Call dwarf2_where for OBJ_ELF. + (pa_ip): Call dwarf2_gen_line_info for OBJ_ELF. + (pa_end_of_source): New function. + * tc-hppa.h (md_end): Define for OBJ_ELF. - * config/tc-ppc.h (tc_fix_adjustable): Don't let the assembler - calculate relocations to any external symbol, because we might be - linking a shared object and the symbol might be overriden or moved - (for instance, moved into a static executable's .bss section). - (GLOBAL_OFFSET_TABLE_NAME): Delete. This is an i386 wierdness. +1999-09-14 Michael Meissner <meissner@cygnus.com> - * config/tc-ppc.h (tc_fix_adjustable): GOT-based relocations can't - be calculated by the assembler. - - * config/tc-ppc.c (md_apply_fix3): Handle @plt or @local branch - whose destination lies in the same file, by ignoring the @plt or - @local and aiming the branch at its destination. + * configure.in (Canonicalization of target names): Remove adding + ${CONFIG_SHELL} in front of $ac_config_sub, since autoconfig 2.14 + generates $ac_config_sub with a ${CONFIG_SHELL} already. + * configure: Regenerate. -Mon Jun 16 13:59:18 1997 H.J. Lu <hjl@gnu.ai.mit.edu> +1999-09-14 Donn Terry <donn@interix.com> - * symbols.c (copy_symbol_attributes): Copy BSF_OBJECT flag. - * config/obj-elf.h (OBJ_COPY_SYMBOL_ATTRIBUTES): Copy size - expression. + * config/te-interix.h (GLOBAL_OFFSET_TABLE_NAME): Define. - * config/obj-multi.h (OBJ_COPY_SYMBOL_ATTRIBUTES): Define instead - of obj_copy_symbol_attributes. +1999-09-13 Alan Modra <alan@spri.levels.unisa.edu.au> -Mon Jun 16 12:45:56 1997 Ian Lance Taylor <ian@cygnus.com> + * config/tc-i386.c (md_assemble): Handle "jmp/call constant" as a + pc-relative jmp/call to an absolute symbol. + (md_apply_fix3): When OBJ_ELF, don't add the values in twice for + absolute section symbols. - * config/tc-ppc.c (ppc_insert_operand): In 32 bit mode, with a - signed operand, sign extend a 32 bit value to the host size. + * config/tc-i386.c (md_assemble): Correct frag_var size. Tidy + jump handling code and comments. - * Makefile.in (CFLAGS): Subsitute from configure script. From - Jeff Makey <jeff@cts.com>. +1999-09-12 Ian Lance Taylor <ian@zembu.com> - * config/tc-i386.c (i386_operand): Use alloca rather than a fixed - buffer size to make a copy of the symbol. + * config/tc-i386.c (md_apply_fix3): Add horrible adjustments to + the value if TE_PE and a global defined symbol. - * Makefile.in (OBJS): Put @extra_objects@ on the same line as - macro.o. +1999-09-11 Ian Lance Taylor <ian@zembu.com> -Thu Jun 12 12:16:20 1997 Ian Lance Taylor <ian@cygnus.com> + * write.c (dump_section_relocs): Call print_symbol_value_1 to + print the symbol, rather than printing it here. - * write.c (write_object_file): In non BFD_ASSEMBLER code, as we - step through the frags calling cvt_frag_to_fill, switch to - SEG_DATA when we reach data_frag_root. +1999-09-11 Donn Terry <donn@interix.com> -Tue Jun 10 17:08:34 1997 Jeffrey A Law (law@cygnus.com) + * config/tc-i386.c (tc_i386_fix_adjustable): Don't adjust + BFD_RELOC_RVA relocations. - * config/tc-mn10300.c (md_assemble): Allow an empty register - list for instructions which use register lists. + * config/tc-i386.c (md_undefined_symbol): Compare the name against + the macro GLOBAL_OFFSET_TABLE_NAME, rather than assuming that it + starts with "_G". -Tue Jun 10 11:18:09 1997 H.J. Lu <hjl@gnu.ai.mit.edu> + * write.c (write_relocs): Call SET_SECTION_RELOCS if it is + defined. + * config/obj-coff.h (SET_SECTION_RELOCS): Define. + * doc/internals.texi (Object format backend): Document + SET_SECTION_RELOCS. - * config/tc-arm.c (md_apply_fix3): Make temp unsigned long. + * config/tc-i386.c (tc_i386_fix_adjustable): Don't adjust + relocations against global symbols if TE_PE. - * config/tc-arm.c (arm_adjust_symtab): Only set storage classes if - OBJ_COFF. + * config/obj-coff.c (obj_coff_ident): Add BFD_ASSEMBLER version. + (obj_pseudo_table): Always handle ".ident" with obj-coff_ident. - * config/tc-arm.c: Add prototypes for many static functions. - (struct asm_opcode ): Add prototypes for parms field. - (struct thumb_opcode ): Likewise. - (fp_op2): Remove unused flags parameter. - (output_inst): Make static. - (arm_after_pass_hook): Remove unused ignore parameter. - * config/tc-arm.h (arm_after_pass_hook): Declare. - (arm_start_line_hook): Declare. - (arm_frob_label): Declare. + * config/obj-coff.c (coff_frob_symbol): Prohibit weak common + symbols. -Mon Jun 9 12:55:45 1997 H.J. Lu <hjl@gnu.ai.mit.edu> + * config/obj-coff.c (obj_coff_endef): Don't merge labels, or + symbols which do not have a constant value, or tags with + non-tags. Remove the symbol from the list before adding it at the + end. - * depend.c (wrap_output): new prototype. + * config/obj-coff.c (obj_coff_endef) [BFD_ASSEMBLER]: Handle .ef + C_FCN symbol differently if TE_PE. + (obj_coff_line) [BFD_ASSEMBLER]: Always use the line number which + appears in the pseudo-op, rather coff_line_base which is only set + for a .bf symbol. -Mon Jun 9 12:52:44 1997 Ian Lance Taylor <ian@cygnus.com> + * config/obj-coff.c (obj_coff_loc): New static function. + (obj_pseudo_table): Add "loc". - * config/tc-sh.c (md_apply_fix): Check for overflow. + * config/obj-coff.c (add_lineno): Check that the line number is + positive. - * config/tc-m68k.c (md_section_align): If a.out and BFD, force - section size to be aligned. + * config/atof-ieee.c (atof_ieee): Change what_kind to int. + * config/atof-vax.c (flonum_gen2vax): Change format_letter to + int. + (md_atof): Return NULL rather than 0. + * config/tc-i386.c (md_atof): Change type to int. + * expr.c (expr): Change first parameter to int. + * config/obj-coff.c: Add declarations for static functions. + (coff_frob_symbol): Use SYM_AUXENT. + * config/tc-i386.h (flag_16bit_code): Don't declare. -Fri Jun 6 17:15:55 1997 Ian Lance Taylor <ian@cygnus.com> + * config/obj-coff.c (obj_coff_section): Default to setting + SEC_LOAD. Don't set SEC_DATA for 'w' modifier. - * config/tc-sh.h (md_cons_align): Define. - (sh_cons_align): Declare. - * config/tc-sh.c (md_pseudo_table): Add .uaword and .ualong. - (sh_no_align_cons): New static variable. - (s_uacons): New static function. - (sh_cons_align): New function. - (sh_handle_align): Warn about misaligned data. - * doc/c-sh.texi: Document .uaword and .ualong. + * write.c (adjust_reloc_syms): Print adjusted fixup. -Thu Jun 5 15:38:17 1997 Ian Lance Taylor <ian@cygnus.com> + * expr.c (integer_constant): Correct too_many_digits calculation + in base 10 case. - * macro.c (macro_expand): In MRI mode, treat single quote as a - separator character when checking for a positional argument. +1999-09-09 Andreas Schwab <schwab@suse.de> -Tue Jun 3 16:15:13 1997 Nick Clifton <nickc@cygnus.com> + * doc/c-arm.texi: Fix arguments of @var to not contain + punctuation. - * config/tc-arm.c (md_parse_option): Merge in changes from - armT-970328-branch. +1999-09-08 Philip Blundell <pb@nexus.co.uk> - * config/tc-arm.h: Merge in changes from armT-970328-branch. + * config/tc-arm.c (s_thumb_set): Only support interworking for ELF + and COFF targets. + (md_parse_option): Only support -k flag for ELF and COFF targets. - * configure.in (emulations): Add Thumb architecture support from - armT-9703-28-branch. +Tue Sep 7 13:28:59 1999 Jeffrey A Law (law@cygnus.com) -Mon Jun 2 16:25:07 1997 Nick Clifton <nickc@cygnus.com> + * config/tc-hppa.c (pa_ip): Put strict register checks before + call to pa_parse_number. - * doc/all.texi: Add enabling of ARM documentation. + * config/tc-hppa.c (pa_ip): Support 'Z' argument. - * doc/as.texinfo: Add ARM documentation from armT-970328-branch. +1999-09-06 Ian Lance Taylor <ian@zembu.com> -Mon Jun 2 11:55:12 1997 Gavin Koch <gavin@cygnus.com> + * config/obj-coff.c: Add ATTRIBUTE_UNUSED as needed for + BFD_ASSEMBLER code. - * config/tc-mips.c: Added r3900 support. +1999-09-06 Donn Terry <donn@interix.com> -Thu May 29 12:58:26 1997 Ben Pfaff <pfaffben@pilot.msu.edu> + * as.c (perform_an_assembly_pass): Set SEC_DATA for data_section. - * as.c: (parse_args) `-t' option requires an argument. +Mon Sep 6 04:26:56 1999 Jeffrey A Law (law@cygnus.com) -Wed May 28 15:45:07 1997 Nick Clifton <nickc@cygnus.com> + * config/tc-hppa.c (pa_ip): Get strict/non-strict mode from the + candidate instruction. Require registers for register arguments + when in strict mode. Require assemble-time constants for + constants when in strict mode. + (pa_get_absolute_expression): Require a constant when in strict + mode. + +1999-09-06 Nick Clifton <nickc@cygnus.com> - * config/tc-arm.c (md_begin): Change call to - coff_arm_bfd_set_private_flags() to a call to - bfd_set_private_flags(). + * config/tc-m32r.c (md_longopts): Fix value for -Wnuh. -Wed May 28 16:17:34 1997 Ian Lance Taylor <ian@cygnus.com> +1999-09-04 Steve Chamberlain <sac@pobox.com> - * Makefile.in: Rebuild dependencies. + * config/tc-pj.c: New file, supports picoJava in ELF. + * config/tc-pj.h: Ditto. + * configure.in (pjl*, pj*): New targets. + * Makefile.am: Rebuild dependencies. + (CPU_TYPES): Add pj. + (TARGET_CPU_CFILES): Add config/tc-pj.c. + (TARGET_CPU_HFILES): Add config/tc-pj.h. + * doc/c-pj.texi: New file. + * doc/as.texinfo: Add some PJ specifics. + * doc/all.texi: Add PJ to the list of all architectures, sort them + all alphabetically. + * doc/Makefile.in (CPU_DOCS): Add c-pj.texi. + * configure, Makefile.in, doc/Makefile.in: Rebuild. + +1999-09-02 Alan Modra <alan@spri.levels.unisa.edu.au> + + * config/obj-multi.h: Include obj-elf.h if OBJ_MAYBE_ELF. Reformat. + (obj_frob_file): Test for null pointer. + (OBJ_COPY_SYMBOL_ATTRIBUTES): Here too. + (OBJ_PROCESS_STAB): And here. + (elf_obj_sy): Remove + + * config/obj-elf.h: #ifndef everything defined in obj-multi.h, + except OBJ_PROCESS_STAB, which we #undef for ecoff. + (elf_obj_sy): Remove #ifndef OBJ_SYMFIELD_TYPE. + + * config/obj-coff.c (no_func): Remove. + (coff_format_ops): Change occurrences of no_func to 0, as we test + for 0 in obj-multi.h. + + * configure.in: Enable bfd for i386-coff when primary target is + bfd. Enable i386 elf,coff emulation support. Don't set + USE_EMULATIONS=1 or te_file=multi unless there is more than one + emulation to support. + *configure: Regenerate. + +1999-09-02 Nick Clifton <nickc@cygnus.com> + + * config/tc-mcore.c (mcore_s_section): Do not dump literals if a + .section .line directive is encountered. + +1999-09-01 Nick Clifton <nickc@cygnus.com> + + * config/tc-arm.c (md_section_align): Do not align sections in ELF + format. + + * as.c (show_usage): Add --gdwarf2 to list of options displayed. + * as.texinfo: Document --gdwarf2 command line option. + Add additional documentation of ARM command line switches. + +1999-08-30 Alan Modra <alan@spri.levels.unisa.edu.au> + + * config/tc-i386.c (i386_intel_memory_operand): Combine + i386_is_reg and parse_register calls. Remove END_STRING_AND_SAVE + and RESTORE_END_STRING around parse_register calls. + (i386_operand): Here too. + (i386_is_reg): Remove. + (parse_register): Move as_bad calls from within this function to + callers. - * config/tc-i386.c (tc_gen_reloc): Don't try to convert the type - of a BFD_RELOC_RVA reloc. +1999-08-29 Alan Modra <alan@spri.levels.unisa.edu.au> -Wed May 28 10:48:14 1997 Jeffrey A Law (law@cygnus.com) + Based on a patch from H.J. Lu <hjl@gnu.org> + * config/tc-i386.c (parse_register): Handle FP regs specially. + (md_begin): Remove '(' and ')' from register_chars. - * config/tc-hppa.c (tc_fix_adjustable): Reject absolute calls/jumps. - (hppa_force_relocation): Force a relocation for an absolute - call/jump. +1999-08-29 Doug Evans <devans@casey.cygnus.com> -Mon May 26 13:24:25 1997 Ian Lance Taylor <ian@cygnus.com> + * config/tc-m32r.c (md_parse_option): Delete unrecognized option + error message (done elsewhere). - * doc/as.texinfo: Don't use @value in section names or index - entries; it confuses texinfo.tex. +Sat Aug 28 01:23:11 1999 Jeffrey A Law (law@cygnus.com) -Fri May 23 00:09:35 1997 Tom Tromey <tromey@cygnus.com> + * config/tc-hppa.c (pa_ip): Do not allow '*' in 32bit completers. - * doc/as.texinfo: Updated for -MD option. - * Makefile.in (CFILES): Added depend.c. - (OBJS): Added depend.o. - * as.h (start_dependencies, register_dependency, - print_dependencies): New declarations. - * depend.c: New file. - * as.c (parse_args): Added -MD option. - (main): Call print_dependencies. - (show_usage): Added help for -MD. - * read.c (s_app_file): Call register_dependency. - (s_include): Call register_dependency when file is found. - (read_a_source_file): Call register_dependency. +Sat Aug 28 00:26:26 1999 Jerry Quinn <jquinn@nortelnetworks.com> -Wed May 21 17:39:28 1997 Ian Lance Taylor <ian@cygnus.com> + * config/tc-hppa.c (pa_ip): Replace 'f' by 'v'. Prefix float register + args by 'f'. - * config/obj-coff.c (symbol_to_chars): If TE_PE, don't add the - section address to the symbol value. + * config/tc-hppa.c (pa_ip): Add args q, %, and |. -Tue May 20 11:23:31 1997 Gavin Koch <gavin@cygnus.com> + * config/tc-hppa.c (pa_ip): Absorb white space in instructions + between args. + Add new completers. Fix bug in 64 bit condition handling. - * config/tc-mips.c (macro_build,mips_ip): Move the INSN_ISA field - into the new membership field. + * config/tc-hppa.c (pa_ip): Add completer codes 'a', 'ch', 'cH', + 'cS', and 'c*'. -Thu May 15 10:00:53 1997 Nick Clifton <nickc@cygnus.com> + * config/tc-hppa.c (pa_ip): Place completers behind prefix 'c'. - * config/tc-arm.c (md_begin): If no cpu type is specified on the - command line then the ARM7 is now chosen by default when setting - the BFD machine and architecture. + * config/tc-hppa.c (pa_ip): Add cases for '.', '~'. '$'. and '!' -Wed May 14 09:54:53 1997 Nick Clifton <nickc@cygnus.com> + * config/tc-hppa.c (pa_ip): Add case for 'I'. - * config/tc-arm.c (global variables): Added 'uses_apcs_26' flag to - hold APCS selection. - (md_begin): Added code to generate flags to be set into the COFF - header and the calls to the BFD functions to do this. - (md_parse_option, md_show_usage): Added new command line - options -mapcs-32, -mapcs-26, -marmv2, -marmv2a, -marmv3, - -marmv3m, -marmv4, -marmv4t. +1999-08-27 Jim Wilson <wilson@cygnus.com> - * tc-arm.h (LOCAL_LABEL): Removed the definition of this macro - as it is never used. + * dwarf2dbg.c (MAX_SPECIAL_ADDR_DELTA): Correct typo in comment. + (struct ls): Add frag field. Initialize it to zero. + (out_end_sequence): New local text_frag. Set it while in text section. + Replace address check with frag check. Set ls.frag to text_frag if + out_set_addr called. + (dwarf2_gen_line_info): Add explanatory comment. New local saved_frag. + Set it before switching sections. Replace address check with frag + check. Set ls.frag to saved_frag if out_set_addr called. -Tue May 13 22:26:14 1997 Jeffrey A Law (law@cygnus.com) +1999-08-26 David Mosberger <davidm@hpl.hp.com> - * config/tc-mn10200.c (md_convert_frag): Prefix temporary - label name with ".". - * config/tc-mn10300.c (md_convert_frag): Likewise. + * dwarf2dbg.c (out_end_sequence): If address changed, directly + output "advance_pc" opcode instead of calling gen_addr_line(). + The latter has the undesired side-effect of creating a new row + in the debug line info matrix. -Tue May 13 14:44:39 1997 Ian Lance Taylor <ian@cygnus.com> +1999-08-26 Jim Wilson <wilson@cygnus.com> - * config/tc-mips.c (set_at): Check for bignum. - (check_absolute_expr, macro, mips16_macro): Likewise. + * dwarf2dbg.c (out_end_sequence): Correct comments. Set last to + ls.last_filename if last is less than zero. Set ls.last_filename + when allocating new entry. + (dwarf2_gen_line_info): Save seg and subseg info before subseg_new + call. -Mon May 12 13:33:08 1997 H.J. Lu <hjl@gnu.ai.mit.edu> +1999-08-20 Alan Modra <alan@spri.levels.unisa.edu.au> - * config/tc-i386.c (pi): Check for RegMMX. + * config/tc-i386.c (i386_index_check): Fix the displacement size + when INFER_ADDR_PREFIX. -Thu May 8 11:10:15 1997 Ian Lance Taylor <ian@cygnus.com> +1999-08-18 Nick Clifton <nickc@cygnus.com> - * expr.c (expr): When subtracting values in the same frag, - subtract X_add_number rather than adding it. + * config/tc-arm.c (md_apply_fix3): If an offset is invalid, + display its value. -Wed May 7 15:39:48 1997 Ian Lance Taylor <ian@cygnus.com> +1999-08-17 Ian Lance Taylor <ian@zembu.com> - * config/obj-coff.c (write_object_file): Just pass NULL to - md_do_align, not the address of a char holding NOP_OPCODE. + * config/tc-ppc.c (md_assemble): Trim @ha constant to 16 bits, to + handle 0xffffNNNN constants correctly. - * config/tc-mips.c (macro): Handle constants for M_LI_D and - M_LI_DD. - (mips_ip): For 'F', 'L', 'f', and 'l', generate a constant rather - than an address if the floating point value looks sufficiently - simple. +1999-08-16 Nick Clifton <nickc@cygnus.com> -Tue May 6 12:18:09 1997 Ian Lance Taylor <ian@cygnus.com> + * config/tc-arm.c (do_ldst): Look for register conflicts on stores + as well as loads. - * config/tc-i386.c (md_section_align): If a.out and BFD, force - section size to be aligned. +1999-08-13 Nick Clifton <nickc@cygnus.com> -Mon May 5 17:16:55 1997 Ian Lance Taylor <ian@cygnus.com> + * config/tc-arm.c (validate_offset_imm): Work on unsigned values. + (md_apply_fix3): Always pass positive values to + validate_offset_imm. - * cond.c: Include "macro.h". - (struct conditional_frame): Add macro_nest field. - (initialize_cframe): Initialize macro_nest. - (cond_finish_check): Add nest parameter. Change all callers. - (cond_exit_macro): New function. - * as.h (cond_finish_check): Update declaration. - (cond_exit_macro): Declare. - * input-scrub.c (macro_nest): Make globally visible. - (input_scrub_next_buffer): Call cond_finish_check. - * macro.h (macro_nest): Declare. - * read.c (s_mexit): Call cond_exit_macro. +1999-08-12 Nick Clifton <nickc@cygnus.com> - * config/tc-i386.h (RegMMX): Define. - * config/tc-i386.c (pi): Check for all register types. - (type_names): Add RegMMX. - (md_assemble): Handle RegMMX. + * config/tc-arm.c (skip_whitespace): New macro. + Formatting tidy ups. + + (md_apply_fix3): Store relocation offset in addend for ELF based + relocs. + (arm_force_relocation): Always generate relocs for Thumb function + calls. + +1999-08-11 Alan Modra <alan@spri.levels.unisa.edu.au> -Wed Apr 30 12:47:00 1997 Manfred Hollstein <manfred@s-direktnet.de> + * config/tc-i386.c (md_assemble): Remove dead code. intel_syntax + LONG_DOUBLE_MNEM_SUFFIX floating point is done in opcode/i386.h - * config/obj-coff.c (c_section_symbol): Clear the LOCAL bit #ifdef - TE_DELTA. +Tue Aug 10 12:58:31 1999 Jeffrey A Law (law@cygnus.com) -Tue Apr 29 20:23:10 1997 Jim Wilson <wilson@cygnus.com> + * config/tc-hppa.c (pa_build_unwind_subspace): Use sane section + flags for the unwind subspace. - * config/tc-mips.c (nopic_need_relax): Add new parameter - before_relaxing. Use it when testing ecoff_extern_size. - (load_address, macro, md_estimate_size_before_relax): Fix all - callers. + * config/tc-hppa.c (UNWIND_SECTION_NAME): Define for ELF. + (pa_build_unwind_subspace): Remove #if 0 wrapper. Select a + suitable relocation based on the size of the target's pointer. + Always Use subsegment zero for the unwinders. + (pa_level): Handle "2.0w". -Tue Apr 29 19:54:36 1997 Richard Henderson <rth@tamu.edu> +Mon Aug 9 20:02:22 1998 J"orn Rennecke <amylaar@cygnus.co.uk> - * config/obj-elf.c (elf_pseudo_table): Add "subsection". - (obj_elf_subsection): New static function. + * config/tc-d30v.c (write_2_short): Don't group repeat instructions + with the following instruction unless this was specified. -Tue Apr 29 19:52:47 1997 Ian Lance Taylor <ian@cygnus.com> +1999-08-09 Ian Lance Taylor <ian@zembu.com> - * config/obj-coff.c (coff_header_append): Don't reset string_size - each time through the loop. + * config/tc-i386.h (SUB_SEGMENT_ALIGN): If TE_GO32, return 4 for + certain sections, to match BFD changes. -Fri Apr 25 14:17:46 1997 H.J. Lu <hjl@gnu.ai.mit.edu> +1999-08-08 Mumit Khan <khan@xraylith.wisc.edu> - * Makefile.in (DISTSTUFF): Add itbl-parse.h. + * Makefile.am (noinst_SCRIPTS): Change .gdbinit to $(GDBINIT). + (EXTRA_SCRIPTS): Define to keep automake happy. + * Makefile.in: Rebuild. -Fri Apr 25 12:03:15 1997 Ian Lance Taylor <ian@cygnus.com> +1999-08-08 Ian Lance Taylor <ian@zembu.com> - * doc/internals.texi (Porting GAS): Correct documentation for - current configure handling of targ-cpu.h, et. al. - (CPU backend): Document listing macros. + * Makefile.am: Rename .dep* files to DEP*. + (MKDEP): Rename from DEP. Change all uses. Use $${srcdir} rather + than $(srcdir). Rename TCDEP targets to DEPTC. Rename OBJDEP + targets to DEPOBJ. + * Makefile.in: Rebuild. - * listing.c (data_buffer): Set size based on other listing macros, - rather than always using 100. - (data_buffer_size): Remove static variable. - (calc_hex): Make data_buffer_size a local variable. Don't leave - any slop when filling data_buffer. +1999-08-08 Jakub Jelinek <jj@ultra.linux.cz> -Mon Apr 21 15:33:19 1997 Ian Lance Taylor <ian@cygnus.com> + * config/tc-sparc.c (sparc_ip): Allow assembly of %lo()+%reg. - * doc/c-mips.texi: Document .set autoextend. +1999-08-08 Ian Lance Taylor <ian@zembu.com> -Sat Apr 19 23:09:25 1997 Niklas Hallqvist <niklas@petra.appli.se> + * Makefile.am: Change all uses of itbl-test-ops to itbl-tops to + avoid problems on DOS filesystems. + * Makefile.in: Rebuild. - * configure.in (i386-*-openbsd*, m68k-*-openbsd*, - mips-dec-openbsd*, ppc-*-*bsd*, ns32k-pc532-openbsd*, - sparc-*-openbsd*): New targets. - * configure: Rebuild. + * doc/as.texinfo (Section): Document 's' flag for COFF version. -Sat Apr 19 22:52:03 1997 Jim Wilson <wilson@cygnus.com> +1999-08-08 Mumit Khan <khan@xraylith.wisc.edu> - * config/obj-elf.c (elf_frob_symbol): If TC_MIPS, set BSF_OBJECT - for all undefined symbols. + * config/obj-coff.c (obj_coff_section): Handle 's' (shared) + section flag. -Fri Apr 18 13:37:35 1997 Ian Lance Taylor <ian@cygnus.com> +1999-08-08 Ian Lance Taylor <ian@zembu.com> - * config/tc-ppc.c (ppc_fix_adjustable): Handle zero length csects - correctly. + * configure.in: Define and substitute GDBINIT. Change AC_OUTPUT + line to create ${GDBINIT} rather than .gdbinit. + * configure, Makefile.in, doc/Makefile.in: Rebuild. -Fri Apr 18 11:51:35 1997 Niklas Hallqvist <niklas@appli.se> +Fri Aug 6 12:12:44 1999 Jeffrey A Law (law@cygnus.com) - * configure.in (alpha*-*-openbsd*): New target. - * configure: Rebuild. + * config/tc-hppa.c (pa_ip, case '?'): Add missing break. -Thu Apr 17 13:59:47 1997 Per Fogelstrom <pefo@openbsd.org> +Fri Aug 6 09:46:35 1999 Jerry Quinn <jquinn@nortelnetworks.com> - * configure.in (mips-*-openbsd*): New target. - * configure: Rebuild. + * config/tc-hppa.c (pa_ip): Add 64 bit condition completers. -Tue Apr 15 18:11:44 1997 Gavin Koch <gavin@cygnus.com> +1999-08-06 Jakub Jelinek <jj@ultra.linux.cz> - * config/tc-mips.c (insn_uses_reg): Correct test for fpr pairs. + * config/tc-sparc.h (tc_fix_adjustable): Fix check for PIC local + non-adjustable symbols. -Tue Apr 15 13:04:47 1997 Ian Lance Taylor <ian@cygnus.com> +Thu Aug 5 16:52:51 1999 Jerry Quinn <jquinn@nortelnetworks.com> - * Makefile.in (srcroot): Remove. - (INSTALL): Set to @INSTALL@. - (INSTALL_XFORM, INSTALL_XFORM1): Remove. - (all, dvi): Don't set srcroot. - (install): Depend upon as.new, gasp.new, and installdirs. Use - $(program_transform_name) directly, rather than using - $(INSTALL_XFORM) and $(INSTALL_XFORM1). - (installdirs): New target. - * doc/Makefile.in (INSTALL_XFORM1): Remove. - (install): Depend upon installdirs. Use $(program_transform_name) - directly, rather than using $(INSTALL_XFORM) and - $(INSTALL_XFORM1). - (installdirs): New target. - (install-info-as): Run mkinstalldirs. - (install-info-gasp): Likewise. + * config/tc-hppa.c (pa_ip): Change condition args to have '?' prefix. -Mon Apr 14 11:59:08 1997 Ian Lance Taylor <ian@cygnus.com> +Thu Aug 5 23:05:56 1999 J"orn Rennecke <amylaar@cygnus.co.uk> - * Makefile.in (INSTALL): Change install.sh to install-sh. + * config/tc-sh.c (md_assemble): Call as_bad when there are excess + operands. - * symbols.c (resolve_symbol_value): Check for division by zero. +1999-08-05 Donn Terry <donn@interix.com> - From Thomas Graichen <graichen@rzpd.de>: - * Makefile.in: Always use $(SHELL) when running move-if-change. - * configure.in: Use ${CONFIG_SHELL} when running $ac_config_sub. + * config/te-interix.h: New file. + * configure.in (i386-*-interix*): New target. * configure: Rebuild. -Thu Apr 10 14:40:00 1997 Doug Evans <dje@canuck.cygnus.com> +Wed Aug 4 13:12:17 1999 Jeffrey A Law (law@cygnus.com) - * cgen.c (cgen_parse_operand): Renamed from cgen_asm_parse_operand. - New argument `want'. Update enum cgen_parse_operand_result values. - Initialize if CGEN_PARSE_OPERAND_INIT. - * config/tc-m32r.c (md_begin): Set cgen_parse_operand_fn. - (md_assemble): Call cgen_asm_init_parse. - Update call to m32r_cgen_assemble_insn, call as_bad if assembly failed. + * config/tc-hppa.c (pa_chk_field_selector): Allow 3 byte + selectors for ELF too. + (selector_table): Add "ltp" and "rtp" selectors. -Wed Apr 9 11:49:41 1997 Ian Lance Taylor <ian@cygnus.com> +1999-08-04 Alan Modra <alan@spri.levels.unisa.edu.au> - * config/tc-m68k.c (m68k_ip): Handle #j. + * config/tc-i386.c (i386_operand): No need to change + operand_string pointer in segment reg case before goto + do_memory_reference. Initialise displacement_string_start and + displacement_string_end after do_memory_reference label. + (i386_index_check): Add operand_string param, and print error + message on failure here. + (i386_intel_memory_operand): Instead of here. + (i386_operand): And here. + (INFER_ADDR_PREFIX): Enable. -Tue Apr 8 16:37:57 1997 Jeffrey A Law (law@cygnus.com) + * doc/c-i386.texi (i386-16bit): Document .code16gcc. - * config/tc-mn10300.c (md_convert_frag): Create fixup at the - right address for call label:32,regs,imm. + * config/tc-i386.h (DefaultSize): Define. Renumber following + opcode_modifier defines. -Mon Apr 7 14:58:22 1997 Jeffrey A Law (law@cygnus.com) + From Etienne Lorrain <etienne.lorrain@ibm.net> + * config/tc-i386.c (stackop_size): New variable. + (set_16bit_code_flag): Clear it here. + (set_16bit_gcc_code_flag): New function. + (md_pseudo_table): Add "code16gcc" entry. + (md_assemble): Set i.suffix for insns with DefaultSize modifier. - * config/tc-hppa.c (pa_subspace_start): If OBJ_ELF, then always return - zero. - * config/tc-hppa.h (tc_frob_symbol): Don't reset the value of the - symbol for OBJ_ELF anymore. +1999-08-03 Ian Lance Taylor <ian@zembu.com> -Mon Apr 7 10:54:59 1997 Doug Evans <dje@canuck.cygnus.com> + * config/obj-coff.c (coff_frob_symbol): Always update set_end with + next_set_end even if the end symbol is being discarded. - * Makefile.in: Regenerate dependencies. - (TARG_CPU): New variable. - (cgen.o): Depend on cgen.h, $(TARG_CPU)-opc.h. - (.dep1): Delete creating of cgen-opc.h. - (.tcdep): Put proper contents in cgen-opc.h. - * configure.in (m32r): Delete setting of extra_files, extra_links. - (AC_OUTPUT): Create cgen-opc.h. - * configure: Regenerated. - -Sat Apr 5 13:19:12 1997 Klaus Kaempf <kkaempf@progis.de> - - * makefile.vms: Update to build gasp.exe. - -Fri Apr 4 16:10:02 1997 Doug Evans <dje@canuck.cygnus.com> - - * write.c (relax_frag): Make non-static. - * write.h (relax_frag): Add prototype for. - * config/tc-m32r.h (md_do_align): New arg `max'. - * config/tc-m32r.c (m32r_do_align): Likewise. - Update calls to frag_align, frag_align_pattern. - (fill_insn): Update call to m32r_do_align. - (m32r_scomm): Update call to frag_align. - - * config/tc-m32r.[ch]: New files. - * cgen.c: New file. - * Makefile.in (CPU_TYPES): Add m32r. - (TARGET_CPU_CFILES): Add tc-m32r.c. - (TARGET_CPU_HFILES): Add tc-m32r.h. - (DISTCLEAN_HERE): Add cgen-opc.h. - (.dep1,.tcdep): Create empty cgen-opc.h. - (cgen.o): Add dependencies. - (dependencies): Regenerate. - * as.h (struct frag): New member fr_targ. - (fr_pcrel_adjust,fr_bsr): Move into union fr_targ.ns32k. - * conf.in (USING_CGEN): New macro. - * configure.in (m32r-*-*): Add entry for. - Add cgen.o to extra_objects. - * configure: Regenerate. - * frags.c (frag_var): fr_pcrel_adjust renamed to - fr_targ.ns32k.pcrel_adjust. fr_bsr renamed to fr_targ.ns32k.bsr. - (frag_variant): Likewise. - * write.c (relax_frag): Likewise. - * config/tc-ns32k.c (*): Likewise. + * gasp.c: Add ATTRIBUTE_UNUSED as needed for non-BFD_ASSEMBLER. + * output-file.c, symbols.c, config/tc-i386.c: Likewise. + * config/obj-coff.c: Likewise. + (seg_info_type): Remove. + (seg_info_off_by_4): Change to array of segT. + (s_get_segment): Adjust accordingly. + (obj_pseudo_table): Fully initialize sentinel entry. -Fri Apr 4 13:26:10 1997 Ian Lance Taylor <ian@cygnus.com> + * config/tc-mips.c (append_insn): Correct INSN_SYNC test. From + Ralf Baechle <ralf@uni-koblenz.de>. - * config/tc-hppa.h (TC_EOL_IN_INSN): Check explicitly for '!', - rather than for any end of line character. +1999-08-03 Etienne Lorrain <etienne.lorrain@ibm.net> - * config/tc-hppa.c (tc_gen_reloc): If hppa_ren_reloc_type fails, - call abort (i.e., as_abort) rather than crashing. + * config/tc-i386.c (f16_3): New. Fixes 16 bit 3 byte nop. - * config/tc-mips.c: Protect uses of STO_MIPS16 with an ifdef of - OBJ_ELF, rather than of S_GET_OTHER. +1999-08-03 Alan Modra <alan@spri.levels.unisa.edu.au> - * Makefile.in (DISTCLEAN_HERE): Add site.exp and site.bak. + * config/tc-i386.c: Indentation and white space changes. + (i386_index_check): New function. Add INFER_ADDR_PREFIX code, but + don't enable it by default. + (i386_intel_operand): Remove redundant prototype. + Move check on number of memory operands, and i.mem_operands++ + (i386_intel_memory_operand): To here. + Remove i386_immediate code from here. Remove special case code + for input and output using (%dx). Remove base/index checks and + call i386_index_check instead. Save initial operand_string + argument for error message. + (i386_operand): Remove redundant prototype. Move base/index + checks to i386_index_check. + (i386_displacement): Move intel mode check for non-zero + i.disp_operand + (i386_intel_memory_operand): To here. -Thu Apr 3 13:16:18 1997 Ian Lance Taylor <ian@cygnus.com> +1999-07-30 Jakub Jelinek <jj@ultra.linux.cz> - * Makefile.in (VERSION): Set to 2.8.1. + * config/tc-sparc.c (md_longopts): Add --no-undeclared-regs option. + (sparc_ip): Warn if %g2 or %g3 register is used and not covered + by .register pseudo-op if -64 and --no-undeclared-regs. + (s_register, sparc_adjust_symtab): New functions. + * config/tc-sparc.h (tc_adjust_symtab, sparc_adjust_symtab): + Declare sparc_adjust_symtab as tc_adjust_symtab. + * doc/c-sparc.texi: Add description of #ignore special literal + for .register pseudo-op. - * Branched binutils 2.8. +1999-07-30 Catherine Moore <clm@cygnus.com> -Wed Apr 2 12:24:10 1997 Ian Lance Taylor <ian@cygnus.com> + * config/tc-arm.c (tc_gen_reloc): Record the vtable entry in + the relocation's section offset. - * COPYING: Update FSF address. +1999-07-29 Alan Modra <alan@spri.levels.unisa.edu.au> - * config/tc-mips.c (mips16_macro): Handle M_DMUL and M_MUL. + * write.c (fixup_segment): Fix generic error check overflow test. -Tue Apr 1 18:29:47 1997 Jim Wilson <wilson@cygnus.com> + * config/tc-i386.c (pe): Change %d to %ld, %x to %lx, and cast + X_add_number to long. - * config/tc-mips.c (md_begin): Don't set interlocks for 4100. +Wed Jul 28 02:04:24 1999 "Jerry Quinn" <jquinn@nortelnetworks.com> -Tue Apr 1 16:24:28 1997 Klaus Kaempf <kkaempf@progis.de> + * config/tc-hppa.c (pa_ip): Add 'J' and 'K' code + processing. - * config-gas.com: Update to handle both vax and alpha. - * makefile.vms: Update to use config-gas. - * conf-a-gas.com: Remove file. +1999-07-27 Ian Lance Taylor <ian@zembu.com> -Tue Apr 1 16:08:21 1997 Ian Lance Taylor <ian@cygnus.com> + * config/tc-sparc.h (tc_fix_adjustable): Don't adjust GOT, PLT, or + VTABLE relocations. - * Makefile.in: Remove unnecessary itbl-parse.h, ibtl-parse.c, and - itbl-lex.c dependencies. Remove rules for itbl-lex.o, - itbl-parse.o, and itbl-ops.o; just use the normal .c.o rule. +1999-07-21 Mark Elbrecht <snowball3@bigfoot.com> -Tue Apr 1 00:07:30 1997 Ian Lance Taylor <ian@cygnus.com> + * config/te-go32.h (COFF_LONG_SECTION_NAMES): Define. - * config/tc-m68k.c: Only compile tc_coff_symbol_emit_hook and - tc_coff_sizemachdep if OBJ_COFF. + * configure.bat: Remove; obsolete. + * config/go32.cfg: Likewise. -Mon Mar 31 23:53:44 1997 H.J. Lu <hjl@gnu.ai.mit.edu> +1999-07-21 Brad M. Garcia <bgarcia@fore.com> - * config/tc-ppc.c (register_name): Declare. - -Mon Mar 31 16:31:04 1997 Joel Sherrill <joel@oarcorp.com> - - * configure.in (hppa*-*-rtems*): New target, like hppa-*-*elf*. + * configure.in (i386-*-vxworks*): New target. * configure: Rebuild. -Mon Mar 31 14:15:19 1997 Ian Lance Taylor <ian@cygnus.com> +1999-07-16 Jakub Jelinek <jj@ultra.linux.cz> - * config/tc-mips.c (mips_pseudo_table): Add "stabn". - (mips16_mark_labels): New static function. - (append_insn): Call mips16_mark_labels. - (mips_emit_delays): Likewise. - (s_insn): Likewise. Don't call mips_clear_insn_labels. - (s_mips_stab): New static function. + * doc/c-sparc.texi: Document .register and .nword pseudo-ops. - * configure.in: Use ELF for mips-*-gnu*. - * configure: Rebuild. +1999-07-16 Jakub Jelinek <jj@ultra.linux.cz> -Mon Mar 31 14:01:40 1997 Philippe De Muyter <phdm@info.ucl.ac.be> + * config/tc-sparc.c (sparc_ip): Allow OLO10 relocations + on -64 and not pic. + (output_insn): Put OLO10's secondary addend into tc_fix_data. + (md_apply_fix3): Handle BFD_RELOC_SPARC_OLO10. + (tc_gen_reloc): Return two relocs for OLO10, LO10 and SPARC13. + * config/tc-sparc.h (RELOC_EXPANSION_POSSIBLE, + MAX_RELOC_EXPANSION): Define. + (TC_FIX_TYPE, TC_INIT_FIX_DATA, TC_FIX_DATA_PRINT): Likewise. - * config/tc-m68k.h (TARGET_FORMAT): Set to "coff-m68k-sysv" if - TE_DELTA. +1999-07-16 Alan Modra <alan@spri.levels.unisa.edu.au> -Fri Mar 28 18:03:19 1997 Alan Modra <alan@spri.levels.unisa.edu.au> + * config/tc-i386.c (intel_float_operand): Add prototype, make static. + (md_assemble): Localize *exp variable to if (fake_zero_displacement) + block. Print a warning if an 8-bit or 16-bit constant + displacement or immediate is truncated on output. + (i386_immediate): Ensure Imm16 is always legal for a 16-bit mode + immediate. + (i386_operand): Disallow immediate jump absolute operand. - * configure.in: Add AC_ARG_ENABLE for commonbfdlib. If it is set, - set OPCODES_LIB to empty. - * configure: Rebuild. +1999-07-15 Ian Lance Taylor <ian@zembu.com> -Fri Mar 28 15:25:24 1997 H.J. Lu <hjl@gnu.ai.mit.edu> - - * configure.in (sparc-*-linux*aout*, sparc-*-linux*): New - targets. + * configure.in: Bump version number to 2.9.5. * configure: Rebuild. -Fri Mar 28 13:08:33 1997 Ian Lance Taylor <ian@cygnus.com> + * dwarf2dbg.c (dwarf2_gen_line_info): Don't assume that long long + or %llx work. - * itbl-parse.y (yyerror): Make static. Declare. +Thu Jul 15 02:45:30 1999 Jeffrey A Law (law@cygnus.com) - From Ralf Baechle <ralf@gnu.ai.mit.edu>: - * configure.in: Set emulations for mips-*-linux*-*. - * configure: Rebuild. + * config/tc-hppa.c (md_pseudo_table): Add ".dword" pseudo-op. + (cons_fix_new_hppa): Derive size of fixup from size of the object. - * config/tc-mips.c (struct mips_set_options): Define. - (mips_opts): New static variable. - (mips_isa): Remove. Now a field in mips_opts. Change all - references. - (mips16, mips16_autoextend, mips_warn_about_macros): Likewise. - (mips_noreorder, mips_nomove, mips_noat, mips_nobopt): Likewise. - (struct mips_option_stack): Define. - (mips_opts_stack): New static variable. - (s_mipsset): Add support for .set push and .set pop. - * doc/c-mips.texi: Document .set push and .set pop. - - * config/obj-elf.c (obj_elf_section_change_hook): New function. - * config/obj-elf.h (obj_elf_section_change_hook): Declare it. - * config/tc-mips.c (s_change_sec): Call it if OBJ_ELF. - -Thu Mar 27 12:23:56 1997 Ian Lance Taylor <ian@cygnus.com> - - * as.c (parse_args): Update copyright date in version message. - - * Makefile.in (clean-here): Remove dependency files. - - * read.c (s_comm): Check S_IS_COMMON as well as S_IS_DEFINED. - (s_mri_common): Check S_IS_COMMON unconditionally. - * symbols.c (colon): Check S_IS_COMMON as well as S_IS_DEFINED. - * config/tc-alpha.c (s_alpha_comm): Likewise. - * config/tc-mips.c (nopic_need_relax): Likewise. - * config/tc-ppc.c (ppc_elf_lcomm): Likewise. - (ppc_pe_comm): Likewise. - * config/obj-elf.c (obj_elf_common): Likewise. Set segment of - common symbol to bfd_com_section_ptr. - * config/tc-sparc.c (s_common): Likewise. - (tc_gen_reloc): Likewise. +1999-07-14 Philip Blundell <pb@nexus.co.uk> -Wed Mar 26 13:35:15 1997 H.J. Lu <hjl@lucon.org> - - * config/tc-i386.c (tc_i386_fix_adjustable): Only define if - BFD_ASSEMBLER. - -Wed Mar 26 11:32:51 1997 Ian Lance Taylor <ian@cygnus.com> - - * input-scrub.c (input_scrub_next_buffer): Handle very long input - lines correctly. - - * listing.c (print_lines): Add lineno parameter. Change all - callers. - (listing_listing): Only call calc_hex for the right line. - (listing_list): Set the new edict based on the current edict, in - order to handle listing commands in macros correctly. + * symbols.c (dollar_label_name): Prepend LOCAL_LABEL_PREFIX if it + is defined. + * config/tc-arm.h (LOCAL_LABEL_PREFIX): Define to '.' for ELF. - * config/tc-mips.c (insn_uses_reg): Map register numbers in mips16 - instructions. + * config/tc-arm.c (md_begin): Set F_SOFTFLOAT in the output file + if -mno-fpu was given. + (tc_gen_reloc): Fix typo. Delete bogus code related to GOTPC + relocs. + (cons_fix_new_arm): Remove misleading comments. - * cond.c (cond_finish_check): New function. - * as.h (cond_finish_check): Declare. - * as.c (main): Call cond_finish_check. +1999-07-14 Ian Lance Taylor <ian@zembu.com> -Mon Mar 24 12:11:18 1997 Ian Lance Taylor <ian@cygnus.com> + * write.c (cvt_frag_to_fill): Use frag file and line in rs_org + error message. + (relax_segment): Likewise. After giving a rs_org error, convert + the frag to rs_align to avoid cascading errors. - * config/tc-i386.h (iclrKludge): Define. - * config/tc-i386.c (md_assemble): Handle iclrKludge. +1999-07-12 Andreas Schwab <schwab@suse.de> - * config/tc-alpha.h (tc_frob_file_before_adjust): Define if - OBJ_ECOFF. - (alpha_frob_file_before_adjust): Declare if OBJ_ECOFF. - * config/tc-alpha.c (alpha_debug): New static variable. - (md_parse_option): Set alpha_debug if -g is seen. - (alpha_frob_file_before_adjust): New function if OBJ_ECOFF. + * config/tc-m68k.c: Add some ATTRIBUTE_UNUSED. -Sat Mar 22 13:44:28 1997 Ian Lance Taylor <ian@cygnus.com> +1999-07-11 Ian Lance Taylor <ian@zembu.com> - * Makefile.in: Added automatic dependency building. - * dep-in.sed: New file. + * Many files: Changes to avoid gcc warnings: Add ATTRIBUTE_UNUSED + as appropriate. Fill in structure initializations. Add variable + initializations. Add casts. + * dwarf2dbg.c (print_stats): Change i to size_t. + * listing.c (listing_listing): Change list_line to unsigned int. -Fri Mar 21 15:42:37 1997 Ian Lance Taylor <ian@cygnus.com> +1999-07-10 Ian Lance Taylor <ian@zembu.com> - * config/obj-ieee.c (segment_name): Don't define function if this - is a macro. + * config/tc-ppc.h (tc_fix_adjustable) [OBJ_ELF]: Call S_IS_LOCAL + rather than checking for \001 and \002 in symbol name. + * config/tc-sparc.h (tc_fix_adjustable) [OBJ_ELF]: Likewise. - * config/obj-coff.h (DO_STRIP): Don't define. - * config/tc-h8300.h (DO_STRIP): Don't define. - * config/tc-h8500.h (DO_STRIP): Don't define. - * config/tc-w65.h (DO_STRIP): Don't define. - * config/tc-z8k.h (DO_STRIP): Don't define. +Thu Jul 8 12:32:23 1999 John David Anglin <dave@hiauly1.hia.nrc.ca> - * symbols.c (colon): Call obj_frob_label if it is defined. - * config/obj-vms.h (obj_frob_label): Rename from tc_frob_label. + * configure.in (hppa*-linux-gnu*): New target. + * configure: Rebuilt. - * configure.in: Don't set files and links. Don't call - AC_LINK_FILES. Substitute te_file. Create targ-cpu.h, - obj-format.h, targ-env.h, and itbl-cpu.h in AC_OUTPUT. - * configure: Rebuild. - * Makefile.in (TARG_CPU_C): New variable. - (TARG_CPU_O, TARG_CPU_H): New variables. - (OBJ_FORMAT_C, OBJ_FORMAT_O, OBJ_FORMAT_H): New variables. - (TARG_ENV_H, ATOF_TARG_C, ATOF_TARG_O): New variables. - (SOURCES): Rename from REAL_SOURCES. Delete old definition. - (LINKED_SOURCES): Remove. - (HEADERS): Rename from REAL_HEADERS. Delete old definition. - (LINKED_HEADERS): Remove. - (OBJS): Use $(TARG_CPU_O), etc., rather than targ-cpu.o, etc. - ($(OBJS)): Depend upon $(TARG_ENV_H), etc., rather than - targ-cpu.h, etc. - ($(TARG_CPU_O), $(OBJ_FORMAT_O) $(ATOF_TARG_O)): New targets. - (targ-cpu.o, obj-format.o, atof-targ.o): Remove targets. - (itbl-cpu.h): Remove target. - (DISTCLEAN_HERE): Remove targ-cpu.c, obj-format.c, atof-targ.c, - atof-targ.h. - -Thu Mar 20 19:18:58 1997 Ian Lance Taylor <ian@cygnus.com> - - * doc/as.texinfo (Symbol Names): Don't use obsolete @ctrl macro. - -Thu Mar 20 16:49:14 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> - - * config/tc-m68k.c (mri_chip): Replace calls to get_symbol_end by - open coded loop that does not require the name to start with a - name beginner. - -Thu Mar 20 13:42:01 1997 H.J. Lu <hjl@lucon.org> - - * frags.c (frag_var): Change offset parameter to offsetT. - (frag_variant): Likewise. - * frags.h (frag_variant, frag_var): Update declarations. - * config/tc-m68k.c (struct m68k_it): Change foff field to - offsetT. - (add_frag): Change off parameter to offsetT. - * Several files: Add casts to calls to frag_var. +1999-07-08 Nick Clifton <nickc@cygnus.com> - * Makefile.in (m68k-parse.c): Depend upon itbl-parse.c, to - serialize a parallel make. - (itbl-parse.h): Split target out from itbl-parse.c. + * doc/c-arm.texi (ARM Directives): Document .thumb_set directive. -Thu Mar 20 12:48:45 1997 Philippe De Muyter <phdm@info.ucl.ac.be> +1999-07-07 Nick Clifton <nickc@cygnus.com> - * config/m68k-parse.y (motorola_operand): Allow (zdireg,EXPR). + * config/tc-v850.c (v850_comm): Use symbol_get_obj() rather than + accessing symbolP directly. - * config/te-delta.h (COFF_COMMON_ADDEND): Define. - * config/obj-coff.c (fixup_segment): Check COFF_COMMON_ADDEND when - storing the value of a common symbol. +Tue Jul 6 10:41:42 1999 Jeffrey A Law (law@cygnus.com) -Wed Mar 19 11:37:57 1997 Philippe De Muyter <phdm@info.ucl.ac.be> + * config/tc-hppa.h (tc_frob_symbol): Always punt "$global$" symbol + for ELF. - * config/obj-coff.c (glue_symbols): Unused variable symbolP - removed. - (crawl_symbols): Do not modify symbol_rootP and symbol_lastP here; - that is done by symbol_remove and symbol_insert. +1999-07-05 Nick Clifton <nickc@cygnus.com> - * config/obj-coff.h (S_IS_LOCAL): Return 0 for a debugging - symbol. + * config/tc-arm.c (ARM_EXT_V5): Define. + (ARM_ARCH_V5, ARM_ARCH_V5T): Define. + (md_begin): Detect ARM v5 architectures. + (md_parse_option): Accept arm v5 specification. + (md_show_usage): Documment -marmv5 switch. -Wed Mar 19 11:06:29 1997 Ian Lance Taylor <ian@cygnus.com> - - * config/tc-mips.c (load_register): In 32 bit mode, when not - dealing with a 64 bit number, permit the upper 32 bits to be set - even if bit 31 is not set. - -Tue Mar 18 23:30:14 1997 Ian Lance Taylor <ian@cygnus.com> - - * read.c (potable): Add "equiv". - (s_set): Handle .equiv based on argument. - * doc/as.texinfo (Equiv): New node to document .equiv. - (Err): New node to document .err. - -Tue Mar 18 15:50:13 1997 H.J. Lu <hjl@lucon.org> - - * Many files: Add function prototypes. - * as.c (show_usage, parse_args): Make static. - * frags.h (frag_alloc): Declare. - * subsegs.c (subseg_set_rest): Don't declare frag_alloc. - * symbols.c (dollar_label_instance): Change return type to long. - * symbols.h (print_symbol_value): Declare. - (print_expr, print_expr_1, print_symbol_value_1): Declare. - * write.c (fix_new_exp): Don't declare make_expr_symbol. - (remove_subsegs, relax_frag): Make static. - * config/atof-vax.c (atof_vax_sizeof): Change letter to int. - (what_kind_of_float): Likewise. - (atof_vax): Make static. Change what_kind to int. - (md_atof): Change what_statement_type to int. - * config/obj-ecoff.h (obj_ecoff_set_ext): Declare. - * config/tc-alpha.c (vax_md_atof): Declare. - (md_atof): Don't declare atof_ieee and vax_md_atof. - * config/tc-i386.c (set_16bit_code_flag): Make static. - * config/tc-i386.h (tc_i386_fix_adjustable): Declare. - * config/tc-m68k.c (add_fix): Change width to int. - (insert_reg): Change regname to const. - (md_atof): Don't declare atof_ieee. - (demand_empty_rest_of_line): Don't declare. - * config/tc-m88k.c (md_atof): Don't declare atof_ieee. - * config/tc-sparc.c (cmp_reg_entry): Change args to const PTR. - (parse_keyword_arg): Change lookup_fn to take const arg. - (md_atof): Don't declare atof_ieee. - * config/tc-sparc.h: Add ifdef for multiple inclusion. - (tc_aout_pre_write_hook): Don't declare. - -Mon Mar 17 11:21:09 1997 Ian Lance Taylor <ian@cygnus.com> - - * as.h (bfd_alloc_by_size_t): Don't declare. - * Many files: Use xmalloc rather than bfd_alloc_by_size_t. - -Sun Mar 16 13:49:21 1997 Philippe De Muyter <phdm@info.ucl.ac.be> - - * symbols.c (symbol_new): Don't call debug_verify_symchain. - (symbol_append): Set sy_next and sy_previous when adding a single - symbol to an empty list. Call debug_verify_symchain. - (verify_symbol_chain): Use assert, not know. - -Sat Mar 15 20:27:12 1997 Fred Fish <fnf@cygnus.com> - - * NEWS: Note BeOS support. - * configure.in: (ppc-*-beos): New target, use coff as object format. - * configure: Regenerate with autoconf. + * doc/c-arm.texi: Document -marmv5 command line option. -Sat Mar 15 19:14:02 1997 Ian Lance Taylor <ian@cygnus.com> - - * config/tc-mips.c (md_apply_fix): Improve error message for out - of range branch. - - * Makefile.in: Add dependencies on obstack.h where needed. - -Fri Mar 14 15:33:38 1997 Ian Lance Taylor <ian@cygnus.com> - - * config/tc-mips.c (md_estimate_size_before_relax): Handle the - case of a symbol equated to another symbol when using SVR4_PIC. - - * Makefile.in (TARG_CPU_DEP_sparc): Add opcode/sparc.h. - -Thu Mar 13 11:20:51 1997 Ian Lance Taylor <ian@cygnus.com> - - * read.c (read_a_source_file): Call LISTING_NEWLINE before - HANDLE_CONDITIONAL_ASSEMBLY when handling an MRI line label. - - * config/obj-elf.c (obj_elf_data): Call md_flush_pending_output - and md_elf_section_change_hook if they are defined. - (obj_elf_text, obj_elf_previous): Likewise. - -Wed Mar 12 11:40:20 1997 Ian Lance Taylor <ian@cygnus.com> - - * config/obj-multi.h (struct elf_obj_sy): Define if - OBJ_MAYBE_ELF. - (OBJ_SYMFIELD_TYPE): Define as struct elf_obj_sy if - OBJ_MAYBE_ELF. - * config/obj-elf.h (struct elf_obj_sy): Don't define if - OBJ_SYMFIELD_TYPE is defined. - - * doc/as.texinfo (bss): Improve description of .bss section. In - ELF or COFF, you are permitted to switch into the section. - (Comm): Rewrite description of common symbols. - (Lcomm): Mention that some targets permit a third argument. - -Tue Mar 11 01:13:31 1997 Ian Lance Taylor <ian@cygnus.com> - - * config/tc-ppc.c (ppc_elf_lcomm): Don't call S_CLEAR_EXTERNAL. - - * symbols.c (colon): Change type of local to int. From Alan Modra - <alan@spri.levels.unisa.edu.au>. - - * config/tc-m88k.c (m88k_do_align): Don't use a special nop - alignment if a zero fill pattern was explicitly specified. - * config/tc-sh.c (sh_do_align): Likewise. - - * read.c (equals): Always permit register names to be redefined. - - * config/tc-mips.c (mips_fix_adjustable): Permit a reloc against a - mips16 symbol to be adjusted if a symbol is being subtracted from - it. - - From Eric Youngdale <eric@andante.jic.com>: - * config/obj-elf.c (obj_elf_symver): Check for duplicate or - illegal symbol version names. - (elf_frob_symbol): Check for external default versions. - -Sun Mar 9 23:49:12 1997 Ian Lance Taylor <ian@cygnus.com> - - From Eric Youngdale <eric@andante.jic.com>: - * config/obj-elf.h (struct elf_obj_sy): Define. - (OBJ_SYMFIELD_TYPE): Define to elf_obj_sy struct. Change all - users. - * config/obj-elf.c (obj_elf_symver): Just record the name. - (obj_symbol_new_hook): Initialized versioned_name field. - (elf_frob_symbol): If there is a versioned_name, either rename the - symbol, or add an alias with that name. - -Thu Mar 6 13:55:32 1997 Jeffrey A Law (law@cygnus.com) - - * config/tc-mn10300.c (md_relax_table): Define. - (md_convert_frag): Implement. - (md_assemble): Handle relaxable operands/instructions correctly. - (md_estimate_size_before_relax): Implement. - * config/tc-mn10300.h (TC_GENERIC_RELAX_TABLE): Define. - - * config/tc-mn10200.c (md_relax_table): Fix typos. - - * config/tc-mn10300.c (md_assemble): Don't use any MN10300 specific - relocs anymore. Tweak fx_offset for pc-relative relocs. - -Wed Mar 5 15:46:16 1997 Ian Lance Taylor <ian@cygnus.com> - - * cond.c (s_ifc): Call mri_comment_field and mri_comment_end when - in MRI mode. - -Tue Mar 4 10:01:04 1997 Ian Lance Taylor <ian@cygnus.com> - - * read.c (equals): Add reassign parameter. Change all callers. - * read.h (equals): Update declaration. - -Sat Mar 1 01:04:04 1997 Ian Lance Taylor <ian@cygnus.com> - - * config/tc-mips.c (mips16_extended_frag): Don't assume that we - can rely on the frag address to determine whether a frag is - earlier or later. - -Fri Feb 28 14:40:00 1997 Ian Lance Taylor <ian@cygnus.com> - - * write.h (LOCAL_LABEL): Only define if not BFD_ASSEMBLER. - (S_LOCAL_NAME): Likewise. - (FAKE_LABEL_NAME): Define unconditionally. - * symbols.c (colon): Call bfd_is_local_label, not LOCAL_LABEL, if - BFD_ASSEMBLER. - (S_IS_LOCAL): Call bfd_is_local_label_name, not LOCAL_LABEL. - * config/tc-*.h: Only define LOCAL_LABEL if not BFD_ASSEMBLER. - Don't define FAKE_LABEL_NAME. - * config/te-ic960.h: Likewise. - * config/tc-mips.h (tc_frob_file_before_adjust): Define. - (mips_frob_file_before_adjust): Declare. - * config/tc-mips.c (mips_frob_file_before_adjust): New function. - (mips_local_label): Remove. - - * config/te-sco386.h: Remove; not used. - -Thu Feb 27 13:29:04 1997 Ian Lance Taylor <ian@cygnus.com> + * config/tc-arm.c (do_adrl): New function. Implement ADRL pseudo + op. + (validate_immediate_twopart): New function. Determine if a + constant can be computed by two ADD instructions. + (output_inst): Remove its command line parameter - it was never + used. + (md_apply_fix3): Support BFD_RELOC_ARM_ADRL_IMMEDIATE, used to + implememt the ADRL pseudo op. + (tc_gen_reloc): Generate a suitable error message if an ADRL + instruction tries to generate a real reloc. - * config/tc-m68k.c (md_assemble): Handle a reloc width of 'W'. + * doc/c-arm.texi: Document NOP, ADR and ADRL pseudo ops. - * gasp.c (hash_add_to_string_table): Correct misspelling in error - message, and add newline. - (process_file): Don't process assignments in the label if this is - a equ or assign pseudo-op. - (process_pseudo_op): Swap first argument to do_assign for K_ASSIGN - and K_EQU, to match documentation. +Thu Jul 1 15:33:10 1999 Jeffrey A Law (law@cygnus.com) -Thu Feb 27 12:00:03 1997 Michael Meissner <meissner@cygnus.com> + * config/tc-hppa.c (pa_ip): Convert the opcode and all completers + into lower case. - * config/obj-coff.c (obj_coff_section): Add 'r' section attribute - to denote read-only data sections. +1999-06-27 H.J. Lu <hjl@gnu.org> -Thu Feb 27 00:26:33 1997 Ian Lance Taylor <ian@cygnus.com> + * subsegs.c (subseg_text_p): Use 1/0 instead of true/false for + non BFD_ASSEMBLER case. - * config/obj-elf.c (obj_elf_common): Set BSF_OBJECT in flags. - * config/tc-sparc.c (s_common): Likewise, if BFD_ASSEMBLER. +1999-06-26 Mumit Khan <khan@xraylith.wisc.edu> - * expr.c (operand): Simplify 0b handling. Don't treat 0b as a - binary number if the next character is '+' or '-'. + * config/obj-coff.c (obj_coff_section): Mark writable sections as + data. -Wed Feb 26 18:19:00 1997 Stan Shebs <shebs@andros.cygnus.com> +1999-06-26 David Mosberger <davidm@hpl.hp.com> - * configure.in (mips*-*-lnews*): New target, also make empty - emulation list for this target. - * configure: Update. - * tc-mips.c (ECOFF_LITTLE_FORMAT): Define. - (mips_target_format): Use. - * te-lnews.h: New file. + * dwarf2dbg.c (dwarf2_gen_line_info): Don't call + out_end_sequence() when the address decreases due to a new frag. + (gen_dir_list): Set ls.file[i].dir to j + 1 (not j) because file + numbering starts with 1. -Wed Feb 26 11:56:11 1997 Ian Lance Taylor <ian@cygnus.com> +1999-06-23 Nick Clifton <nickc@cygnus.com> - * Makefile.in (itbl-parse.c itbl-parse.h): Use $(BISON) and - $(BISONFLAGS), not $(YACC) and $(YACCFLAGS). + * config/tc-mcore.c (md_pseudo_table): Add .comm for ELF and allow + .section for COFF. + (mcore_s_text): Call obj_elf_text for ELF target. + (mcore_s_data): Call obj_elf_data for ELF target. + (mcore_s_section): No longer ELF specific. Call obj_coff_section + for COFF target. + (mcore_s_bss): New function: Dump literal table before changing + sections. + (mcore_s_comm): New function: Dump literal table before changing + sections. + + * config/obj-elf.c (obj_elf_common, obj_elf_data, obj_elf_text): + No longer static functions. + * config/obj-elf.h (obj_elf_common, obj_elf_data, obj_elf_text): + Provide prototypes for these functions. + +1999-06-22 Ian Lance Taylor <ian@zembu.com> + + * subsegs.c (subseg_text_p): Rewrite non BFD_ASSEMBLER case to use + a list of names, to try obj_segment_name, and to try abbreviated + names when using COFF without long section names. + + * config/tc-alpha.c: More use of symbol accessor functions. + * config/tc-arc.c: Likewise. + * config/tc-d30v.c: Likewise. + * config/tc-fr30.c: Likewise. + * config/tc-i860.c: Likewise. + * config/tc-m88k.c: Likewise. + * config/tc-mcore.c: Likewise. + * config/tc-ns32k.c: Likewise. + * config/tc-sparc.c: Likewise. + * config/tc-v850.c: Likewise. + + * config/tc-arc.c (get_arc_exp_reloc_type): Change uses of + sy_value with appropriate accessor functions. + * config/tc-arm.c (md_apply_fix3): Likewise. + * config/tc-d10v.c (AT_WORD_P): Likewise. + * config/tc-v850.c (reg_name_search): Likewise. + + * config/obj-ecoff.c (obj_ecoff_set_ext): Change uses of bsym to + use symbol_get_bfdsym instead. + * config/tc-ppc.c (md_assemble): Likewise. + * config/tc-v850.c (v850_comm): Likewise. + +1999-06-22 Jonathan Larmour <jlarmour@cygnus.co.uk> + + * config/tc-arc.c (tc_gen_reloc): Use symbol_get_bfdsym to get at + the symbol, rather than accessing the bsym member. + * config/tc-d10v.c (tc_gen_reloc): Likewise. + * config/tc-d30v.c (tc_gen_reloc): Likewise. + * config/tc-mcore.c (tc_gen_reloc): Likewise. + * config/tc-mn10200.c (tc_gen_reloc): Likewise. + * config/tc-mn10300.c (tc_gen_reloc): Likewise. + * config/tc-ns32k.c (tc_gen_reloc): Likewise. + * config/tc-tic30.c (tc_gen_reloc): Likewise. + * config/tc-v850.c (tc_gen_reloc): Likewise. -Tue Feb 25 22:02:23 1997 Philippe De Muyter <phdm@info.ucl.ac.be> +Mon Jun 21 16:45:19 1999 Jeffrey A Law (law@cygnus.com) - * config/tc-m68k.c (instring): Useless local declaration of - crack_operand removed. - * expr.h (expressionS): Changed type of X_op field to operatorT if - __GNUC__. + * tc-hppa.c (elf_hppa_reloc_type): Renamed from elf32_hppa_reloc_type. + (hppa_gen_reloc_type): Conditionalize on BFD64. + (tc_gen_reloc): Re-enable ELF relocations. + * tc-hppa.h (TARGET_FORMAT): Handle elf64-hppa format. -Tue Feb 25 13:17:27 1997 Ian Lance Taylor <ian@cygnus.com> +1999-06-21 Ian Lance Taylor <ian@zembu.com> - Based on patches from Robert Lipe <robertl@dgii.com>: - * configure.in: Add i386coff and i386elf to emulation list. + * config/tc-arm.c (ldst_extend): Add parentheses to avoid + warning. + (do_ldst): Move assignment out of if condition. + (md_apply_fix3): Add casts to avoid printf format warnings. Add + parentheses to avoid warning. + +1999-06-21 Nick Clifton <nickc@cygnus.com> + + * config/tc-arm.c (arm_adjust_symtab): Use symbol_get_bfdsym() + macro to get at the BFD symbol associated with a GAS symbol. + +1999-06-19 Ian Lance Taylor <ian@zembu.com> + + * config/tc-ppc.c: Update for symbol handling changes. + * config/obj-coff.c: Likewise. + +Fri Jun 18 14:34:18 1999 Jeffrey A Law (law@cygnus.com) + + * tc-hppa.c: General cleanups of ELF support. No more spaces + and subspaces for ELF. + (GDB_DEBUG_SPACE_NAME): Delete definition for ELF. + (GDB_STRINGS_SUBSPACE_NAME): Likewise. + (GDB_SYMBOLS_SUBSPACE_NAME): Likewise + (UNWIND_SECTION_NAME): Likewise. + (space/subspace related structures): Conditionalize definitions + on OBJ_SOM. + (space/subspace directives and support routines): Conditionalize + definitions and references/uses on OBJ_SOM. + (label_symbol_struct): For ELF, track the symbol's segment. For + SOM track its space. + (pa_define_label, pa_undefine_label, pa_get_label): Corresponding + changes. + (USE_ALIASES): Kill for both SOM & ELF. + (pa_def_subspaces, pa_def_spaces): Corresponding changes. + (pa_space, pa_subspace): Corresponding changes. + (pa_spaces_begin): Corresponding chagnes. + (md_begin): Do not muck around with space/subspace stuff for + OBJ_ELF. + (md_apply_fix): Temporarily disable argument relocation stuff + for OBJ_ELF. + (tc_gen_reloc): Temporarily disable relocation generation for + OBJ_ELF + (pa_build_unwind_subspace): Similarly. + +1999-06-16 Nick Clifton <nickc@cygnus.com> + + * config/tc-arm.c (thumb_set): New pseudo op. + (text, data, section): Override these pseudo ops with ARM + specific versions. + (s_thumb_set): New function: Perform the same as a .set pseudo + op, but also mark the alias'ed symbol as being a Thumb + function. + (arm_s_text): New function: Perform the same as the .text + pseudo op, but dump the literal pool before changing + sections. + (arm_s_data): New function: Perform the same as the .data + pseudo op, but dump the literal pool before changing + sections. + (arm_s_section): New function: Perform the same as the + .section pseudo op, but dump the literal pool before changing + sections. + (arm_cleanup): Do not reset the current section before dumping + the literal pool. + +1999-06-17 Nick Clifton <nickc@cygnus.com> + + * config/tc-m32r.c (md_longopts): Fix OPTION_WARN_UNMATCHED and + OPTION_NO_WARN_UNMATCHED entries. + (md_parse_option): Generate a warning message if an unrecognised + option is encountered. + + * config/tc-d10v.c (do_not_ignore_hash): New variable. + (get_operands): When parsing an expression after an '@' symbol + has been detected, do not ignore '#' symbols. + (md_operand): Only ignore '#' symbols if do_not_ignore_hash is + false. + +1999-06-13 Ian Lance Taylor <ian@zembu.com> + + From K. Richard Pixley <rich@noir.com>: + * configure.in (ppc-*-vxworks*): New target. * configure: Rebuild. - * as.c (i386coff, i386elf): Declare. - * obj.h (coff_format_ops): Declare. - * config/obj-coff.c (OBJ_HEADER): Define. - (coff_obj_symbol_new_hook): Rename from obj_symbol_new_hook. - (coff_obj_read_begin_hook): Rename from obj_read_begin_hook. - (obj_pseudo_table): Add "version". - (coff_pop_insert): New static function. - (coff_sec_sym_ok_for_reloc): New static function. - (no_func): New static function. - (coff_format_ops): New variable. - * config/obj-coff.h (coff_obj_symbol_new_hook): Declare. - (obj_symbol_new_hook): Define. - (coff_obj_read_begin_hook): Declare. - (obj_read_begin_hook): Define. - * config/tc-i386.h (i386_target_format): Declare. - * config/tc-i386.c: Check OBJ_MAYBE_ELF as well as OBJ_ELF; check - OUTPUT_FLAVOR when appropriate. - (i386_target_format): New function. - * Makefile.in (obj-coff.o): New target. - (e-i386coff.o, e-i386elf.o): New targets. - - From Stephen Williams <steve@icarus.icarus.com>: - * config/tc-i960.h (TC_SYMFIELD_TYPE): Define if OBJ_COFF. - (_tc_get_bal_of_call): Don't declare. - (tc_get_bal_of_call): Declare as function, don't define as macro. - * config/tc-i960.c (tc_set_bal_of_call): If OBJ_COFF, store balP - in sy_tc field, not x_balntry field. - (tc_get_bal_of_call): Rename from _tc_get_bal_of_call. Change - return type to symbolS *. If OBJ_COFF, retrieve value from sy_tc - field, not x_balntry field. - - * config/obj-elf.c (obj_elf_section): Permit a .note section to - have the SHF_ALLOC attribute. - - * Makefile.in ($(OBJS)): Don't depend upon $(IT_HDRS). - (TARG_CPU_DEP_mips): Depend upon $(srcdir)/itbl-ops.h. - (itbl-lex.o): Depend upon itbl-parse.h. - - * itbl-parse.y (yyerror): Change return type to int. Change to - use old style function declaration. - - * Makefile.in (itbl-lex.o): Remove -Wall. - (itbl-parse.o): Likewise. - - * cond.c (s_ifdef): If we should omit conditionals from listings, - call listing_list. - (s_if, s_ifc, s_endif, s_else, s_ifeqs): Likewise. - * listing.c (list_info_struct): Add EDICT_NOLIST_NEXT. - (listing_listing): Handle EDICT_NOLIST_NEXT. - (listing_list): An argument of 2 means EDICT_NOLIST_NEXT. - * listing.h (LISTING_NOCOND): Define. - (LISTING_SKIP_COND): Define. - * as.c (show_usage): Mention c as a suboption of -a. - (parse_args): Handle c as a suboption of -a. - * doc/as.texinfo: Document -alc. - -Mon Feb 24 18:27:43 1997 Eric Youngdale <eric@andante.jic.com> - - * doc/as.texinfo: Document .symver. - -Mon Feb 24 15:19:57 1997 Martin M. Hunt <hunt@pizza.cygnus.com> - - * config/tc-d10v.c: Change pre_defined_registers to - d10v_predefined_registers and reg_name_cnt to d10v_reg_name_cnt. - -Mon Feb 24 10:40:45 1997 Fred Fish <fnf@cygnus.com> - - * config/obj-coff.c: Fix typo in comment section. - -Mon Feb 24 02:23:00 1997 Dawn Perchik <dawn@cygnus.com> - - * Makefile.in: Remove dependancies on itbl-cpu.h. - * as.c: Define stubs for itbl_parse and itbl_init if HAVE_ITBL_CPU - is not defined. - -Mon Feb 24 02:03:00 1997 Dawn Perchik <dawn@cygnus.com> - - * itbl-ops.h: Include as.h. -Mon Feb 24 01:04:00 1997 Dawn Perchik <dawn@cygnus.com> +1999-06-12 Philip Blundell <philb@gnu.org> - * as.c: Remove -t option. - * configure, configure.in: Move itbl-cpu.h to mips specific configure. - * itbl-ops.h: Include itbl-cpu.h only if HAVE_ITBL_CPU is defined. - * config/tc-mips.h: Define HAVE_ITBL_CPU. + * config/tc-arm.c (tc_gen_reloc): Fix handling of GOTPC relocs. -Sun Feb 23 18:01:00 1997 Dawn Perchik <dawn@cygnus.com> +1999-06-13 Ian Lance Taylor <ian@zembu.com> - * itbl-ops.c: Don't define DEBUG. + * write.c (adjust_reloc_syms): Rather than never reducing reloc + which refer to symbols in linkonce sections, permit reducing the + relocs if the symbol is local. -Sun Feb 23 17:49:00 1997 Dawn Perchik <dawn@cygnus.com> +1999-06-12 Ian Lance Taylor <ian@zembu.com> - * Makefile.in: Update itbl-test.c to reflect its new location. - -Sun Feb 23 15:50:00 1997 Dawn Perchik <dawn@cygnus.com> - - * itbl-ops.c: Add test for itbl_have_entries. - * config/tc-mips.c: Remove test for itbl_have_entries. - * config/tc-mips.h: Define tc_init_after_args to mips_init_after_args. - -Sun Feb 23 18:13:19 1997 Ian Lance Taylor <ian@cygnus.com> - - * Makefile.in (DISTSTUFF): Remove itbl-parse.y, itbl-lex.l, and - itbl-ops.c. Add itbl-parse.c and itbl-lex.c. - (LEX, LEXFLAGS): Define. - * itbl-ops.c (append_insns_as_macros): Remove bogus ASSERT. - -Sat Feb 22 21:25:00 1997 Dawn Perchik <dawn@cygnus.com> - - * itbl-parse.y: Fix indentation mistakes from indent program. - * itbl-lex.l: Fix indentation mistakes from indent program. - * itbl-ops.h: Add include for ansidecl.h. - Add PARAMS around function arguments. - Add declaration for itbl_have_entries. - * itbl-ops.c: Add PARAMS around function arguments. - * Makefile.in: Add itbl build rules. - Add dependancies for itbl files to mips target. - * as.c: Add itbl support. - Add new option "--insttbl" for dynamically extending instruction set. - * as.h: Declare insttbl_file_name; - the name of file defining extensions to the basic instruction set - * configure.in, configure: Add itbl-parse.o, itbl-lex.o, and - itbl-ops.o to extra_objects for mips configuration. - Add include file link from itbl-cpu.h to - config/itbl-${target_cpu_type}.h. - * config/tc-mips.c: Allow copz instructions. - Add notes for future additions to the itbl support. - Add debug macros. - (macro): Call itbl_assemble to assemble itbl instructions. - See if an unknown register is specified in an itbl entry. - -Sat Feb 22 20:53:01 1997 Fred Fish <fnf@cygnus.com> - * doc/internals.texi (CPU backend): Fix typo in md_section_align - description. - -Fri Feb 21 14:34:31 1997 Martin M. Hunt <hunt@pizza.cygnus.com> - * config/tc-d10v.c (md_pcrel_from_section): Return 0 if - relocation is in different section. Fixes PR11574. - -Fri Feb 21 10:08:25 1997 Jim Wilson <wilson@cygnus.com> - - * tc-mips.c (mips_ip): If configured for an embedded ELF system, - don't set the section alignment to 2**4. - -Fri Feb 21 11:55:03 1997 Ian Lance Taylor <ian@cygnus.com> - - * config/tc-m68k.c (line_comment_chars): Add '*'. + * subsegs.c (subseg_text_p): New function. + * as.h (subseg_text_p): Declare. + * read.c (do_align): Use subseg_text_p to set the default fill. + * write.c (subsegs_finish): Likewise. + * config/obj-coff.c (write_object_file): Likewise. + * config/tc-i386.h (md_maybe_text): Don't define. + (md_do_align): Use subseg_text_p to set the default fill. + * config/tc-m32r.c (m32r_do_align): Likewise. + * config/tc-sh.c (sh_do_align): Likewise. + * config/tc-sparc.h (md_do_align): Likewise. - * app.c (LEX_IS_TWOCHAR_COMMENT_2ND): Don't define. - (do_scrub_begin): Don't set lex['*']. - (do_scrub_chars): When handling LEX_IS_TWOCHAR_COMMENT_1ST, don't - check for LEX_IS_TWOCHAR_COMMENT_2ND. Instead, just check for - a literal '*'. +1999-06-12 David O'Brien <obrien@freebsd.org> - * configure.in: Set em=svr4 for m68k-*-sysv4*. + * configure.in: (i[3456]86-*-freebsd*): Now defaults to ELF. * configure: Rebuild. - * config/te-svr4.h: New file. - * config/tc-m68k.c (m68k_comment_chars): Only include `#' if - TE_SVR4 or TE_DELTA. - -Thu Feb 20 22:24:39 1997 Jeffrey A Law (law@cygnus.com) - - * config/tc-mn10200.c (md_convert_frag): Create a fixup for the - short conditional branch around a long unconditional branch. - -Thu Feb 20 13:56:00 1997 Ian Lance Taylor <ian@cygnus.com> - * config/obj-coff.c (obj_coff_ln [both versions]): Call - new_logical_line. +1999-06-12 Ian Lance Taylor <ian@zembu.com> - * config/tc-arm.c (fix_new_arm): Use make_expr_symbol to handle a - complex expression. - - * symbols.c (resolve_symbol_value): If both left and right - operands are undefined, warn about both of them. - -Wed Feb 19 00:53:28 1997 Ian Lance Taylor <ian@cygnus.com> + * dwarf2dbg.c: Include elf/dwarf2.h with "", not <>. + * Makefile.am: Rebuild dependencies. + * Makefile.in: Rebuild. - Based on patches from Eric Youngdale <eric@andante.jic.com>: - * config/obj-elf.c (elf_pseudo_table): Add "symver". - (obj_elf_symver): New static function. - * config/obj-elf.h (OBJ_COPY_SYMBOL_ATTRIBUTES): Copy the st_other - field. + * config/tc-i386.c (i386_immediate): Remove unused label + seg_unimplemented. - * write.c (relax_segment): Make type and printf format agree. + * struc-symbol.h: Put local_symbol code in ifdef BFD_ASSEMBLER. + * symbols.c: Likewise. + * config/obj-aout.c (obj_crawl_symbol_chain): Refer directly to + sy_next field when taking address, rather than symbol_next. - * read.c (get_line_sb): Don't end the line on a semicolon inside a - string. + * dwarf2dbg.c: Change bfd_vma to addressT and bfd_signed_vma to + offsetT. + (out_set_addr): Don't use BYTES_PER_ADDRESS. Instead, get the + value from the output file architecture. + (dwarf2_gen_line_info): Ifdef BFD_ASSEMBLER specific code. + * dwarf2dbg.h: Change bfd_vma to addressT. -Sun Feb 16 17:47:29 1997 Fred Fish <fnf@cygnus.com> +1999-06-11 Ian Lance Taylor <ian@zembu.com> - * config/tc-alpha.h (md_operand): Define with a null expansion, - like all the other targets. - * doc/internals.texi (CPU backend): Add missing word in - md_flush_pending_output description. Fix typo in md_convert_frag - description. - -Fri Feb 14 18:09:59 1997 Philippe De Muyter <phdm@info.ucl.ac.be> + * dwarf2dbg.h: Use PARAMS in function declarations. - * config/tc-m68k.c (LOCAL_LABEL): Macro redefined if TE_DELTA. - (tc_canonicalize_symbol_name): Macro defined if TE_DELTA. - * config/obj-coff.c (obj_coff_def): Use - tc_canonicalize_symbol_name if defined. - (obj_coff_tag, obj_coff_val): Likewise. - * expr.c (operand): Reject '~' as operator if is_name_beginner. +1999-06-11 Martin Dorey <mdorey@madge.com> -Fri Feb 14 17:24:48 1997 Ian Lance Taylor <ian@cygnus.com> + * write.c (fixup_segment): Don't add symbol value for i960 ELF. + * config/tc-i960.c (s_leafproc): Don't call tc_set_bal_of_cal if + OBJ_ELF. + (md_apply_fix): Simplify BFD_ASSEMBLER handling. - Based on notes from Peter Eriksson <peter@ifm.liu.se>. The target - does not actually work, though: - * configure.in (i386-sequent-bsd*): New target. - * configure: Rebuild. - * config/tc-dynix.h: New file. - * config/tc-i386.h: Define TARGET_FORMAT if TE_DYNIX. - - * read.c (do_align): Add max parameter. Change all callers. - Remove useless static variables. - (s_align): New static function. Do common portion of - s_align_bytes and s_align_ptwo. - (s_align_bytes, s_align_ptwo): Just call s_align. - * frags.c (frag_align): Add max parameter. Change all callers. - (frag_align_pattern): Likewise. - * frags.h (frag_align, frag_align_pattern): Update declarations. - * write.c (relax_segment): Limit alignment change to fr_subtype. - Fix some types to be addressT. - * config/obj-coff.c (size_section): Likewise. - * config/obj-ieee.c (size_section): Likewise. - * config/tc-d10v.h (md_do_align): Add max parameter. - * config/tc-i386.h (md_do_align): Likewise. - * config/tc-m88k.h (md_do_align): Likewise. - * config/tc-m88k.c (m88k_do_align): Likewise. - * config/tc-sh.h (md_do_align): Likewise. - * config/tc-sh.c (sh_do_align): Likewise. - * as.h: Improve comments on rs_align and rs_align_code. - * doc/as.texinfo: Document new alignment arguments. - * doc/internals.texi (Frags): Document use of fr_subtype field for - rs_align and rs_align_code. +1999-06-11 Ian Lance Taylor <ian@zembu.com> -Fri Feb 14 15:56:06 1997 Gavin Koch <gavin@cygnus.com> + * config/tc-i386.c (md_apply_fix3): Add default case to switch. - * config/tc-mips.c: Changed opcode parsing. + * config/tc-sparc.c (md_pseudo_table): Remove pushsection and + popsection. -Thu Feb 13 20:02:16 1997 Fred Fish <fnf@cygnus.com> + * config/tc-sparc.c (sparc_ip): Add default case to reloc switch. - * config/{tc-alpha.h, tc-d10v.h, tc-generic.h, tc-i960.h, - tc-mn10200.h, tc-mn10300.h, tc-sh.h, tc-vax.h, tc-w65.h}: - Add default definition of zero for TARGET_BYTES_BIG_ENDIAN. - * config/{tc-arm.h, tc-hppa.h, tc-i386.h, tc-mips.h, tc-ns32k.h, - tc-ppc.h, tc-sparc.h}: Move definition of TARGET_BYTES_BIG_ENDIAN - to a location consistent with the rest of the target include files. - * config/tc-i386.c: Remove misleading comment. - * doc/internals.texi (CPU backend): Add description of function - md_undefined_symbol. - -Thu Feb 13 21:44:18 1997 Klaus Kaempf <kkaempf@progis.de> - - * as.h: GNU c provides unlink() function. - - Unify section handling on openVMS/Alpha: - * config/tc-alpha.c(s_alpha_link): Remove. - (s_alpha_section): New function. - Remove case-hacking of symbols - Add .code_address pseudo-op. - (BFD_RELOC_ALPHA_CODEADDR): New relocation. - (s_alpha_code_address): New function. - (alpha_ctors_section, alpha_dtors_section): New sections for C++ - static constructors/destructors. - Add debug code for crash debugs, to be removed when traceback code - is added to object code. - (s_alpha_name): New function for .name pseudo-op. - (alpha_print_token): New function to print token expressions with - alpha specific extensions. - - * makefile.vms: Allow compilation with current gcc snapshot. - -Thu Feb 13 16:29:04 1997 Fred Fish <fnf@cygnus.com> - - * doc/Makefile.in (TEXI2DVI): Set to just name of program. - (DVIPS): Set to dvips. - (ps, as.ps, gasp.ps): New targets. - (internals.info, gasp.dvi, internals.dvi): Set both TEXINPUTS - and MAKEINFO env variables. - (internals.ps): Use DVIPS macro. - (clean): Remove core and backup files. - (distclean): Remove temporary files from building internals. - (clean-dvi): Ditto. - * doc/internals.texi (Frags): Fix typo. - (GAS processing): Ditto. - (CPU backend): Ditto. - * ecoff.c (init_file): Use TARGET_BYTES_BIG_ENDIAN value directly. - * mpw-config.in: Define TARGET_BYTES_BIG_ENDIAN as 1. - * read.c: Remove ugly hack that dealt with config files not - correctly defining TARGET_BYTES_BIG_ENDIAN. - (target_big_endian): Use TARGET_BYTES_BIG_ENDIAN directly. - * config/arm-big.mt: Define TARGET_BYTES_BIG_ENDIAN to 1. - * config/arm-lit.mt: Define TARGET_BYTES_BIG_ENDIAN to 0. - * config/mips-big.mt: Define TARGET_BYTES_BIG_ENDIAN to 1. - * config/mips-lit.mt: Define TARGET_BYTES_BIG_ENDIAN to 0. - * config/ppc-lit.mt: Define TARGET_BYTES_BIG_ENDIAN to 1. - * config/ppc-sol.mt: Replace TARGET_BYTES_LITTLE_ENDIAN - with TARGET_BYTES_BIG_ENDIAN defined to 0. - * config/tc-arm.h: Remove use of TARGET_BYTES_LITTLE_ENDIAN - and simplify. Test value of TARGET_BYTES_BIG_ENDIAN, not just - whether it is defined or not. - * config/tc-mips.h: Remove use of TARGET_BYTES_LITTLE_ENDIAN. - * config/tc-ppc.h: Remove use of TARGET_BYTES_LITTLE_ENDIAN - and simplify. Test value of TARGET_BYTES_BIG_ENDIAN, not just - whether it is defined or not. - -Thu Feb 13 14:40:16 1997 Doug Evans <dje@canuck.cygnus.com> + * read.c (read_a_source_file): Only declare inescape if + QUOTES_IN_INSN. - * write.c (write_relocs): Correct text in as_fatal error message, - bfd_perform_relocation -> bfd_install_relocation. + * itbl-ops.c (itbl_disassemble): Change sprintf format strings to + match parameters. + (find_entry_byval): Add parens to avoid warning. -Thu Feb 13 14:48:03 1997 Philippe De Muyter <phdm@info.ucl.ac.be> + * as.c: If HAVE_ITBL_CPU, include "itbl-ops.h". - * config/tc-m68k.c (LEX_TILDE): Define if TE_DELTA. - * read.c (LEX_TILDE): Define if not defined. - (lex_type): Use LEX_TILDE. - * expr.c (get_symbol_end): Check first char with is_name_beginner, - not is_part_of_name. + * symbols.c (resolve_symbol_value): Don't permit subtraction of + undefined symbols. -Thu Feb 13 11:40:58 1997 Ian Lance Taylor <ian@cygnus.com> +1999-06-10 Jakub Jelinek <jj@ultra.linux.cz> - * config/tc-sparc.c (md_show_usage): Add missing backslash at end - of continued line. + * config/tc-sparc.c (sparc_ip): Don't use side-effect expression + with isoctal. - * config/tc-mips.c (mips16_extended_frag): Correct base address - for an extended PC relative instruction. - (md_convert_frag): Likewise. + * config/tc-sparc.c (synthetize_setuw, synthetize_setsw, + synthetize_setx): New functions. + (md_assemble): Broken the special cases into the above + functions. Make compiler happy if sizeof(bfd_vma)==4. + Fix sethi generated from set/setuw. If instructions have a relloc, + always clear the fields to be relocated in the opcode. + (sparc_ip): Remove special_case global variable. - * config/tc-mips.c (prev_nop_frag): New static variable. - (prev_nop_frag_holds): New static variable. - (prev_nop_frag_required): New static variable. - (prev_nop_frag_since): New static variable. - (append_insn): If we aren't reordering, and prev_nop_frag is not - NULL, and we don't need any nops, then decrease the size of - prev_nop_frag. Don't insert nops because of instructions in - noreorder sections. Remember whether the previous instructions - where in noreorder sections even when not reordering. - (mips_no_prev_insn): Add preserver parameter. Change all - callers. Refer prev_nop_frag variables when appropriate. - (mips_emit_delays): Set up prev_nop_frag. - (s_mipsset): Clear prev_nop_frag if reordering. - -Wed Feb 12 14:36:29 1997 Ian Lance Taylor <ian@cygnus.com> - - * config/tc-mips.c (append_insn): Remove useless code which - handled swapping a mips16 jump with a mips16 instruction with a - reloc. - - * config/tc-mips.c (md_parse_option): When debugging, set - mips_optimize to 1, not 0. - - * config/tc-mips.c (mips16_ip): Handle an extend operand. - - * config/tc-mips.c (my_getExpression): In mips16 mode, if it looks - like the expression was based on `.', adjust the value of the - symbol. +1999-06-10 Ian Lance Taylor <ian@zembu.com> - * config/tc-mips.c (append_insn): Warn about an attempt to put an - extended instruction in a delay slot when not reordering. - (md_convert_frag): Warn if an extended instruction appears in a - delay slot. + Based on patches from John W. Woznack <jwoznack@concentric.net>: + * itbl-ops.c (itbl_get_reg_val): Add pval parameter. Return + indication of success rather than a value. + (itbl_get_val): Likewise. + (itbl_get_field): Use strcspn. Change delimiters to include + parens. + * itbl-ops.h (itbl_get_reg_val): Update declaration. + (itbl_get_val): Likewise. + * config/tc-mips.c (mips_ip): Update call to itbl_get_reg_val. - * config/tc-mips.c (mips_pseudo_table): Add "insn". - (s_insn): New static function. - * doc/c-mips.texi: Document .insn. + * symbols.c (copy_symbol_attributes): Convert local symbols to + regular symbols. - * config/tc-mips.c (md_begin): Add the general registers to the - symbol table. - (mips16_ip): First parse the expression, and then see whether it - came up with a register, rather than trying to first see whether - we are looking at a register. +1999-06-10 Nick Clifton <nickc@cygnus.com> -Tue Feb 11 15:52:22 1997 Ian Lance Taylor <ian@cygnus.com> + * config/tc-arm.c (md_parse_option): Add support for ARM920 and + ARM920t. - * config/tc-mips.c (mips16_ip): Handle %gprel modifier. - (md_apply_fix): Handle BFD_RELOC_MIPS16_GPREL. +1999-06-07 Jakub Jelinek <jj@ultra.linux.cz> - * config/tc-mips.c (append_insn): Output jump instruction as a - pair of 2 byte instructions, rather than as a single 4 byte - instruction. + * config/tc-sparc.c (md_assemble): Fix up setx, support setsw. + Optimize set if sizeof(bfd_vma) == 64. + (sparc_ip): Fix sethi - without %hi() it should generate + R_SPARC_22 reloc, not R_SPARC_HI22. + (tc_gen_reloc): Handle BFD_RELOC_SPARC22. -Mon Feb 10 22:06:00 1997 Dawn Perchik (dawn@cygnus.com) +1999-06-07 Jakub Jelinek <jj@ultra.linux.cz> - * itbl-ops.c, itbl-lex.l, itbl-parse.y, itbl-ops.h, - config/itbl-mips.h: Add copyright message and fix indentation. + * config/tc-sparc.c (md_begin): Handle native wordsize aliases. + (s_ncons): New function. + (native_op_table): New table. + (sparc_ip): Be more strict on %hi() etc.; prepare assembler for + R_SPARC_OLO10 handling. -Mon Feb 10 18:09:00 1997 Dawn Perchik (dawn@cygnus.com) +Mon Jun 7 10:22:16 1999 Richard Henderson <rth@cygnus.com> - * itbl-ops.c: New file. Add support for dynamically read - instruction registers, opcodes and formats. Build internal table - for new instructions and provide callbacks for assembler and - disassembler. - * itbl-lex.l, itbl-parse.y: Lex and yacc parsers for instruction - spec table. - * itbl-ops.h: New file. Header file for itbl support. - * config/itbl-mips.h: New file. Mips specific definitions for - itbl support. + * expr.h (struct expressionS): Revert last change; widen X_op. + * config/tc-alpha.c (md_begin): Check the field is wide enough. -Fri Feb 7 09:52:34 1997 Jeffrey A Law (law@cygnus.com) +Mon Jun 7 11:25:16 1999 Andreas Schwab <schwab@issan.cs.uni-dortmund.de> - * config/tc-mn10200.c (md_assemble): If a constant operand won't - fit into the constant field of a relaxable operand, then it does - not match. + * Makefile.am (TARGET_CPU_CFILES): Add config/tc-fr30.c. + (TARGET_CPU_HFILES): Add config/tc-fr30.h. + (TARG_ENV_HFILES): Add config/te-epoc-pe.h. + * Makefile.in: Regenerated. -Thu Feb 6 20:08:12 1997 Jeffrey A Law (law@cygnus.com) + * config/obj-elf.c (obj_elf_common): In MRI mode if called as + `common' pass on to s_mri_common. + (elf_pseudo_table): Pass 1 to obj_elf_common for `common'. - * config/tc-mn10200.c (md_estimate_size_before_relax): Treat - a jsr target in a different section just like a jsr to - an undefined target. +1999-06-06 Richard Henderson <rth@cygnus.com> -Thu Feb 6 16:52:57 1997 Ian Lance Taylor <ian@cygnus.com> + * config/obj-elf.c (obj_elf_section): Don't free the return + value of demand_copy_C_string. - * config/tc-mips.c (mips_fix_adjustable): Don't adjust relocations - against any mips16 symbols, not just externally visible ones. - (md_apply_fix): Corresponding change. +1999-06-05 Richard Henderson <rth@cygnus.com> -Wed Feb 5 11:11:06 1997 Ian Lance Taylor <ian@cygnus.com> + * dwarf2dbg.c (dwarf2_gen_line_info): Mirror the section symbol + creation logic from obj_elf_create_section. - * config/tc-mips.c (mips16_ip): Accept floating point registers in - the operand of the exit instruction. + * config/obj-elf.c (elf_pseudo_tab): Add pushsection/popsection. + (section_stack): New. + (special_sections): Make const. + (obj_elf_section): Gut and rewrite parsing. + (obj_elf_change_section): New function broken out of obj_elf_section. + (obj_elf_parse_section_letters): Likewise. + (obj_elf_section_word): Likewise. + (obj_elf_section_type): Likewise. + (obj_elf_previous): Treat as a toggle. + (obj_elf_popsection): New. + * config/tc-ppc.c (ppc_section_word): Take str+len not ptr_str. + (ppc_section_type): Likewise. + * config/tc-ppc.h: Likewise. -Tue Feb 4 14:12:39 1997 Ian Lance Taylor <ian@cygnus.com> + * expr.h (struct expressionS): Don't make X_op a bitfield. + * config/tc-alpha.c: Update for symbol handling changes. + (md_apply_fix) [case GPREL]: Use now_seg instead of absolute_section. + (load_expression, emit_ir_load, emit_loadstore, emit_jsrjmp): Likewise. - * symbols.c (resolve_symbol_value): If we leave an equated symbol - as O_symbol, copy over the segment. +1999-06-05 Richard Henderson <rth@cygnus.com> -Mon Feb 3 12:35:54 1997 Ian Lance Taylor <ian@cygnus.com> + * dwarf2dbg.c (*): Convert to K&R + prototypes. + (dwarf2_gen_line_info): Kill unused variables. + (dwarf2_finish): Likewise. + (dwarf2_where): Likewise. + (dwarf2_directive_file): If we've only got a string, + hand off to s_app_file. + * ecoff.c: Move the include of ecoff.h. + * symbols.h (S_IS_FUNCTION): Prototype. - * config/tc-mips.c (md_apply_fix): If we aren't adjusting this - fixup to be against the section symbol, adjust the value - accordingly. + * read.c (LEX_HASH): Supply a default. + (lex_type): Use it. + (s_globl): Update `c' after skipping whitespace. + * read.h (LEX_END_NAME, is_name_ender): New. + * expr.c (get_symbol_end): Respect it. - * symbols.c (resolve_symbol_value): Don't change X_add_number for - an equated symbol. - * write.c (write_relocs): Avoid looping on equated symbols. - Adjust fx_offset by X_add_number for each symbol. - * config/obj-coff.c (do_relocs_for): Avoid looping on equated - symbols. - (fixup_segment): Add a loop to track down equated symbols and - adjust fx_offset appropriately. +1999-06-04 Mark Klein <mklein@dis.com> -Fri Jan 31 15:21:02 1997 Jeffrey A Law (law@cygnus.com) + * config/tc-hppa.c (md_begin): Convert local symbol dummy_symbol + to real if OBJ_SOM + (tc_gen_reloc): Still need bfd_abs_symbol in some relocs. - * config/tc-mn10200.c (md_relax_table): Add entries to allow - jmp -> bra relaxing. - (md_convert_frag): Handle jmp->bra relaxing. - (md_assemble): Handle jmp->bra relaxing. - (md_estimate_size_before_relax): Likewise. + * config/tc-hppa.c: Update for symbol handling changes. -Fri Jan 31 13:15:05 1997 Alan Modra <alan@spri.levels.unisa.edu.au> +1999-06-03 Ian Lance Taylor <ian@zembu.com> - * config/tc-i386.c (i386_align_code): Add comments explaining the - nop instructions. + * cgen.c: Update for symbol handling changes. + * config/tc-m32r.c: Likewise. -Fri Jan 31 10:46:14 1997 Ian Lance Taylor <ian@cygnus.com> + * config/tc-hppa.h: Update for symbol handling changes. + * config/tc-hppa.c: Likewise. - * config/tc-sparc.c (enforce_aligned_data): New static variable. - (sparc_cons_align): Don't do anything unless enforce_aligned_data - is set. - (md_longopts): Add "enforce-aligned-data". - (md_show_usage): Mention --enforce-aligned-data. - * doc/c-sparc.texi (Sparc-Aligned-Data): New node; document - enforce-aligned-data. + * config/tc-arm.h: Update for symbol handling changes. + * config/tc-arm.c: Likewise. + (symbol_make_empty): Remove. Just use symbol_create. - * config/tc-ppc.c (md_pseudo_table): If OBJ_XCOFF, add "long", - "word", and "short". - (ppc_xcoff_cons): New static function. + * symbols.c (symbol_set_tc): Correct name. - * write.c (relax_segment): Give an error if a .space symbol is - common or undefined. + * Makefile.am: Rebuild dependencies. + ($(OBJS)): Don't depend upon struc-symbol.h. + (.dep1, .tcdep, .objdep): Create itbl-parse.h. + * dep-in.sed: Don't remove struc-symbol.h. + * Makefile.in: Rebuild. - * read.c (read_a_source_file): Don't handle mri_pending_align if - the handler is s_globl or s_ignore. + * doc/internals.texi (Symbols): Describe changes in symbol + handling. -Thu Jan 30 11:46:59 1997 Fred Fish <fnf@cygnus.com> +1999-06-03 Richard Henderson <rth@cygnus.com> + + * dwarf2dbg.c (dwarf2_gen_line_info): Use section_symbol + instead of doing the work by hand. + +1999-06-03 David Mosberger <davidm@hpl.hp.com> + + * dwarf2dbg.c (INITIAL_STATE): New macro encapsulating initial + state of line state-machine. + (struct ls): Collect DWARF2 line state-machine state in new member + SM. Add member EMPTY_SEQUENCE to keep track if a code sequence + resulted in any DWARF2 directives. + (reset_state_machine): New function. + (out_end_sequence): Ditto. + (dwarf2_gen_line_info): When switching sections or switching to a + lower text address, call out_end_sequence() first to terminate the + previous code sequence as code sequences MUST have monotonically + increasing addresses. + (dwarf2_finish): Call out_end_sequence() instead of open coding it. + +1999-06-03 David Mosberger <davidm@hpl.hp.com> + + * as.c (parse_args): Add option -gdwarf2 to allow requesting + DWARF2 debug info (line information only, at this point). + * as.h: Update comment about supported debug formats. + * dwarf2dbg.c, dwarf2dbg.h: New files. + * Makefile.am (GAS_CFILES, HFILES, GENERIC_OBJS): Add them. + + * expr.c (operand): Don't use [ for parens if we want an index op. + (op_encoding): Switch [ into O_index, if desired. + (op_rank): Renumber with O_index on bottom. + (expr): If O_index, match closing bracket. + * expr.h (O_index): New. + + * read.c (read_a_source_file): Conditionally allow matched " + in lines passed to md_assemble. + + * config/obj-elf.c (elf_pseudo_table): Add `common'. + +1999-06-03 Ian Lance Taylor <ian@zembu.com> + + Add support for storing local symbols in a small structure to save + memory when assembling large files. + * as.h: Don't include struc-symbol.h. + (symbolS): Add typedef. + * symbols.c: Include struc-symbol.h. + (local_hash): New static variable. + (save_symbol_name): New static function, from symbol_create. + (symbol_create): Call save_symbol_name. + (local_symbol_count): New static variable. + (local_symbol_conversion_count): Likewise. + (LOCAL_SYMBOL_CHECK): Define. + (local_symbol_make): New static function. + (local_symbol_convert): New static function. + (colon): Handle local symbols. Create local symbol for local + label name. + (symbol_table_insert): Handle local symbols. + (symbol_find_or_make): Create local symbol for local label name. + (symbol_find_base): Check for local symbol. + (symbol_append, symbol_insert): Check for local symbols. + (symbol_clear_list_pointers, symbol_remove): Likewise. + (verify_symbol_chain): Likewise. + (copy_symbol_attributes): Likewise. + (resolve_symbol_value): Handle local symbols. + (resolve_local_symbol): New static function. + (resolve_local_symbol_values): New function. + (S_GET_VALUE, S_SET_VALUE): Handle local symbols. + (S_IS_FUNCTION, S_IS_EXTERNAL, S_IS_WEAK, S_IS_COMMON): Likewise. + (S_IS_DEFINED, S_IS_DEBUG, S_IS_LOCAL, S_GET_NAME): Likewise. + (S_GET_SEGMENT, S_SET_SEGMENT, S_SET_EXTERNAL): Likewise. + (S_CLEAR_EXTERNAL, S_SET_WEAK, S_SET_NAME): Likewise. + (symbol_previous, symbol_next): New functions. + (symbol_get_value_expression): Likewise. + (symbol_set_value_expression): Likewise. + (symbol_set_frag, symbol_get_frag): Likewise. + (symbol_mark_used, symbol_clear_used, symbol_used_p): Likewise. + (symbol_mark_used_in_reloc): Likewise. + (symbol_clear_used_in_reloc, symbol_used_in_reloc_p): Likewise. + (symbol_mark_mri_common, symbol_clear_mri_common): Likewise. + (symbol_mri_common_p): Likewise. + (symbol_mark_written, symbol_clear_written): Likewise. + (symbol_written_p): Likewise. + (symbol_mark_resolved, symbol_resolved_p): Likewise. + (symbol_section_p, symbol_equated_p): Likewise. + (symbol_constant_p): Likewise. + (symbol_get_bfdsym, symbol_set_bfdsym): Likewise. + (symbol_get_obj, symbol_set_obj): Likewise. + (symbol_get_tc, symbol_set_tc): Likewise. + (symbol_begin): Initialize local_hash. + (print_symbol_value_1): Handle local symbols. + (symbol_print_statistics): Print local symbol statistics. + * symbols.h: Include "struc-symbol.h" if not BFD_ASSEMBLER. + Declare new symbols.c functions. Move many declarations here from + struc-symbol.h. + (SYMBOLS_NEED_BACKPOINTERS): Define if needed. + * struc-symbol.h (SYMBOLS_NEED_BACKPOINTERS): Don't set. + (struct symbol): Move bsym to make it clearly the first field. + Remove TARGET_SYMBOL_FIELDS. + (symbolS): Don't typedef. + (struct broken_word): Remove. + (N_TYPE_seg, seg_N_TYPE): Move to symbol.h. + (SEGMENT_TO_SYMBOL_TYPE, N_REGISTER): Likewise. + (symbol_clear_list_pointers): Likewise. + (symbol_insert, symbol_remove): Likewise. + (symbol_previous, symbol_append): Likewise. + (verify_symbol_chain, verify_symbol_chain_2): Likewise. + (struct local_symbol): Define. + (local_symbol_converted_p, local_symbol_mark_converted): Define. + (local_symbol_resolved_p, local_symbol_mark_resolved): Define. + (local_symbol_get_frag, local_symbol_set_frag): Define. + (local_symbol_get_real_symbol): Define. + (local_symbol_set_real_symbol): Define. + Define. + * write.c (write_object_file): Call resolve_local_symbol_values. + * config/obj-ecoff.h (OBJ_SYMFIELD_TYPE): Define. + (TARGET_SYMBOL_FIELDS): Don't define. + * config/obj-elf.h (OBJ_SYMFIELD_TYPE): Add local field. If + ECOFF_DEBUGGING, add ECOFF fields. + (ELF_TARGET_SYMBOL_FIELDS, TARGET_SYMBOL_FIELDS): Don't define. + * config/obj-multi.h (struct elf_obj_sy): Add local field. If + ECOFF_DEBUGGING, add ECOFF fields. + (ELF_TARGET_SYMBOL_FIELDS, TARGET_SYMBOL_FIELDS): Don't define. + (ECOFF_DEBUG_TARGET_SYMBOL_FIELDS): Don't define. + * config/tc-mcore.h: Don't include struc-symbol.h. + (TARGET_SYMBOL_FIELDS): Don't define. + (struct mcore_tc_sy): Define. + (TC_SYMFIELD_TYPE): Define. + * Many files: Use symbolS instead of struct symbol. Use new + accessor functions rather than referring to symbolS fields + directly. + + * read.c (s_mri_common): Don't add in value of line_label. + + * config/tc-mips.c (md_apply_fix): Correct parenthesization when + checking for SEC_LINK_ONCE. + + * config/tc-sh.h (sh_fix_adjustable): Declare. + + * app.c (input_buffer): New static variable. + (app_push): Save saved_input in allocated buffer. + (app_pop): Restored saved_input. + (do_scrub_chars): Change get parameter to take char * and int as + arguments. Change GET macro to pass input_buffer to get + function. Don't save input into allocated buffer. + * as.h (do_scrub_chars): Update declaration. + * input-file.c (input_file_get): Change to take char * and int. + Read data into passed in buffer. Remove static buffer. + * read.c (scrub_from_string): Change to take char * and int. Copy + data into passed in buffer. + + * hash.h: Neaten. Declare hash_traverse. + * hash.c: Complete rewrite based on BFD hashing code. + * gasp.c (chunksize): New variable. + * macro.c (macro_expand_body): Call hash_jam with NULL rather than + hash_delete. + +1999-05-28 Nick Clifton <nickc@cygnus.com> + + * config/tc-arm.c (md_apply_fix3): Add pipeline offset into reloc + addend unless the target uses an old ABI. + +Mon May 24 13:36:55 1999 Doug Evans <devans@canuck.cygnus.com> + + -Wchar-subscripts cleanup + * listing.c (listing_newline): Use unsigned char variable, so + calls to isascii,iscntrl are correct. + * atof-generic.c (atof_generic): Cast arg to isdigit, et. al. with + (unsigned char). + * ecoff.c (ecoff_directive_ent,ecoff_stab): Ditto. + * config/obj-elf.c (obj_elf_vtable_inherit): Ditto. + * config/tc-mips.c (mips_ip,mips16_ip): Ditto. + (my_getSmallExpression,get_number,s_mips_ent): Ditto. + +1999-05-28 Torbjorn Granlund <tege@matematik.su.se> + + * config/tc-m68k.c (m68k_ip): Check for disallowed index register + width for Coldfire. + (arch_coldfire_p): New #define. + (m68k_ip, m68k_init_after_args): Use arch_coldfire_p. + +1999-05-28 Linus Nordberg <linus.nordberg@canit.se> + + * config/tc-m68k.c (install_operand): Add places `n', `o'. + + * config/tc-m68k.c (m68k_ip): Add formats `E', `G', `H'. + (install_operand): Add place `N'. + (init_table): Add registers ACC, MACSR, MASK. + + * config/m68k-parse.h (m68k_register): Add ACC, MACSR, MASK. + + * config/tc-m68k.c: Change mcf5200 --> mcf. + (archs): Add mcf5206e, mcf5307. + (m68k_ip): Add format `u'. + (install_operand): Add place `m', `M', `h'. + (init_table): Add upper/lower registers. + + * config/m68k-parse.h (m68k_register): Add upper/lower registers. + +1999-05-28 Martin Dorey <mdorey@madge.com> + + * config/tc-i960.c: Several minor changes to add ELF and + BFD_ASSEMBLER support. + * config/tc-i960.h: Likewise. + * configure.in (i960-*-elf*): New target. + * aclocal.m4, configure: Rebuild. + +1999-05-25 Alan Modra <alan@spri.levels.unisa.edu.au> + + * config/tc-i386.c (md_apply_fix3): Only do 1999-05-17 fx_pcrel + reloc changes when defined(BFD_ASSEMBLER). + +1999-05-17 Alan Modra <alan@spri.levels.unisa.edu.au> + + * config/tc-i386.c (tc_gen_reloc): Remove F and MAP macros. + + * write.c (write_print_statistics): Output to file, not stderr. + + * expr.c (generic_bignum_to_int32,64): Prototype. + + * read.c (s_lcomm_internal, sizeof_sleb128, sizeof_uleb128, + output_sleb128, output_uleb128, output_big_sleb128, + output_big_uleb128, output_big_leb128): Prototype. + (output_big_sleb128, output_big_uleb128): Make inline. + (output_big_leb128): Remove inline - * config/tc-d10v.c (find_opcode): Remove unused variable "numops". + From Maciej W. Rozycki <macro@ds2.pg.gda.pl> + * config/tc-i386.c (md_apply_fix3): Convert BFD_RELOC_16 with + fx_pcrel set to BFD_RELOC_16_PCREL. Similarly for BFD_RELOC_8. + Handle BFD_RELOC_16_PCREL and BFD_RELOC_8_PCREL. Return changed + value for correct overflow check in write.c:fixup_segment. + * write.c (fixup_segment): Move bitfield overflow checks to after + the md_apply_fix call. + * config/obj-coff.c (fixup_segment): Likewise. + * doc/internals.texi (CPU backend): Mention md_apply_fix modifying + valueT *val argument. -Thu Jan 30 12:28:18 1997 Alan Modra <alan@spri.levels.unisa.edu.au> +Fri May 14 10:52:13 1999 Andreas Schwab <schwab@issan.cs.uni-dortmund.de> - * config/tc-i386.c (i386_align_code): Improve the nop patterns. + * config/atof-ieee.c (gen_to_words): Correctly round a + denormalized number. Fix off-by-one in range checking for + exponent in a denormal. -Thu Jan 30 12:08:40 1997 Ian Lance Taylor <ian@cygnus.com> +1999-05-10 Nick Clifton <nickc@cygnus.com> - * config/tc-mips.c (mips_fix_adjustable): New function. - * config/tc-mips.h (tc_fix_adjustable): Call mips_fix_adjustable. - (mips_fix_adjustable): Declare. + * config/tc-mcore.c (parse_reg): Accept 'sp' as a valid register + name. - Ideas from Srinivas Addagarla <srinivas@cdotd.ernet.in>: - * read.c (read_a_source_file): After doing an mri_pending_align, - adjust the line_label if there is one. - (s_space): Set mri_pending_align if an odd number of bytes were - output. +Thu May 13 09:46:59 1999 Joel Sherrill (joel@OARcorp.com) -Wed Jan 29 15:31:12 1997 Martin M. Hunt <hunt@pizza.cygnus.com> + * configure.in (i386-*-rtemself*, sh-*-rtemself*): New targets. - * config/tc-d10v.h (md_do_align): Add this hook to call - d10v_cleanup() when a ".align" is detected. Fixes PR11487. +1999-05-12 Alan Modra <alan@spri.levels.unisa.edu.au> - * config/tc-d10v.c (find_opcode): Correctly calculate - branch displacement when .aligns are present. + * config/tc-i386.h (InvMem): New flag. Add to AnyMem. + (ReverseRegRegmem): Remove. + (ImmExt): New flag. Renumber some of the opcode_modifier bits. + * config/tc-i386.c (md_assemble): Test for PIII SIMD and AMD + 3DNow! via ImmExt opcode_modifier. Remove ReverseRegRegmem + kludge. -Wed Jan 29 09:42:11 1997 Jeffrey A Law (law@cygnus.com) + From Doug Ledford <dledford@redhat.com> + * config/tc-i386.h (RegXMM): New for P/III. + * config/tc-i386.c: Add support for P/III. - * config/tc-mn10200.c (md_relax_table): Define. - (md_convert_frag): Implement. - (md_assemble): Handle relaxable operands/instructions correctly. - (md_estimate_size_before_relax): Implement. - * config/tc-mn10200.h (TC_GENERIC_RELAX_TABLE): Define. +Sat May 8 23:28:50 1999 Richard Henderson <rth@cygnus.com> -Tue Jan 28 15:27:28 1997 Ian Lance Taylor <ian@cygnus.com> + * config/tc-ppc.c (md_parse_option): Recognize -mppc64bridge. + (md_begin): Allow ppc32 insns in ppc64bridge mode. + (ppc_insert_operand): Accept SIGNOPT in ppc64 mode. - * config/tc-mips.c (append_insn): Give an error for jumps to a - misaligned address. - (md_apply_fix): Make a branch to an odd address an error rather - than a warning. +Thu May 6 23:13:39 1999 Richard Henderson <rth@cygnus.com> - * config/tc-mips.c (md_convert_frag): If the user explicitly - requested an extended opcode, pass warn as true to mips16_immed. + * config/tc-i386.c (i386_immediate): Skip whitespace before + complaining about junk after expression. + (i386_displacement): Likewise. - * config/tc-mips.c (mips16_ip): Handle a missing expression like - an explicit 0, so that explicitly extended instructions work - correctly. +Thu May 6 19:50:14 1999 Richard Henderson <rth@cygnus.com> -Mon Jan 27 17:41:20 1997 Ian Lance Taylor <ian@cygnus.com> + * symbols.c (symbol_find_base): Use memcpy instead of strcpy. + Don't copy before downcaseing. - * ecoff.c (ecoff_build_symbols): Don't generate a local ECOFF - symbol for a common symbol. +1999-05-05 Catherine Moore <clm@cygnus.com> + + * tc-m68k.c: Include elf/m68k.h. + (m68k_elf_final_processing): New routine. + * tc-m68k.h (elf_tc_final_processing m68k_elf_final_processing): + Define. + +Mon May 3 10:26:03 1999 Jeffrey A Law (law@cygnus.com) -Wed Jan 22 10:39:39 1997 Doug Evans <dje@canuck.cygnus.com> + * config/tc-hppa.c (md_apply_fix): Handle 22 bit fmt insn like a + 17 bit fmt insn. - Patch presumed to have been checked in awhile ago but wasn't. - Mon Nov 25 10:45:14 1996 Doug Evans <dje@seba.cygnus.com> - * write.c: Delete "ifndef md_relax_frag" around is_dnrange. - (relax_segment, case rs_org): Move code inside braces. Move locals - target,after inside too. - (relax_segment, case rs_machine_dependent): Guts moved to ... - (relax_frag): New function. - Call md_prepare_relax_scan if defined. +1999-04-30 Nick Clifton <nickc@cygnus.com> -Mon Jan 20 10:56:47 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> + * config/tc-mcore.c (mcore_s_section): Dump literals before + changing section. - * config/tc-m68k.c (m68k_ip): Reject pc-relative addresses for the - 'p' operand specifier. +1999-04-29 Nick Clifton <nickc@cygnus.com> -Mon Jan 20 10:39:36 1997 J.T. Conklin <jtc@cygnus.com> + * config/tc-mcore.c (md_apply_fix3): Insert reloc addend into insn + for COFF/PE port. - * config/tc-m68k.c (HAVE_LONG_BRANCH): New macro, returns true for - m68k family cpus which support long branch addressing modes. - (m68k_ip, md_convert_frag_1, md_estimate_size_before_relax, - md_create_long_jump): Use it. +Mon Apr 26 12:34:37 1999 Doug Evans <devans@canuck.cygnus.com> -Mon Jan 20 12:42:06 1997 Ian Lance Taylor <ian@cygnus.com> + * config/tc-fr30.h (TC_FIX_TYPE): Delete, cgen fields moved to write.h. + (TC_INIT_FIX_DATA): Delete. + * config/tc-m32r.h (TC_FIX_TYPE): Delete, cgen fields moved to write.h. + (TC_INIT_FIX_DATA): Delete. + * write.h (struct fix): New member fx_cgen, ifdef USING_CGEN. + * write.c (fix_new_internal): Initialize fx_cgen member. + * cgen.c (gas_cgen_record_fixup,gas_cgen_record_fixup_exp): Update. + (gas_cgen_md_apply_fix3): Update. + * config/tc-m32r.c (md_cgen_lookup_reloc): Update. + (md_cgen_record_fixup_exp): Update. + (FX_OPINFO_R_TYPE): Update. - * config/tc-mips.c (md_begin): Don't set SEC_ALLOC or SEC_LOAD for - the .reginfo or .MIPS.options section if configured for an - embedded target. + * frags.c (frag_var,frag_variant): Initialize fr_cgen here. + * config/tc-fr30.h (TC_FRAG_INIT): Delete. + * config/tc-m32r.h (TC_FRAG_INIT): Delete. + * frags.h (struct frag): Make opindex, opinfo ints. - * config/tc-mips.c (md_begin): Don't set interlocks for - mips_4650. + * config/tc-fr30.c (FX_OPINFO_R_TYPE): Delete, unused. -Wed Jan 15 13:51:50 1997 Ian Lance Taylor <ian@cygnus.com> +1999-04-26 Tom Tromey <tromey@cygnus.com> - * read.c (read_a_source_file): Make sure the symbol ends with - whitespace before checking whether the next character is '='. + * aclocal.m4, configure: Updated for new version of libtool. -Tue Jan 14 15:07:27 1997 Robert Lipe <robertl@dgii.com> +1999-04-22 Nick Clifton <nickc@cygnus.com> - * config/tc-i386.c (sco_id): Moved from here... - * config/obj-elf.c (sco_id): ...to here. Adding the identifier - really is an SCO ELF specific thing, not just a SCO x86 specific - thing. + * config/tc-mcore.c (md_apply_fix3): Renamed function from + md_apply_fix. + (md_apply_fix3): Do not fix up absolute relocations against + symbolic values. -Thu Jan 9 09:08:43 1997 Ian Lance Taylor <ian@cygnus.com> + * config/tc-mcore.h (MD_APPLY_FIX3): Define. - * read.c (emit_expr): Check for overflow of a negative value - correctly. - * write.c (fixup_segment): Likewise. - * config/obj-coff.c (fixup_segment): Likewise. +1999-04-20 Nick Clifton <nickc@cygnus.com> - * config/tc-m68k.c (struct label_line): Define. - (labels, current_label): New static variables. - (md_assemble): Mark current_label as text, and clear it. - (m68k_frob_label): New function. - (m68k_flush_pending_output): New function. - (m68k_frob_symbol): New function. - * config/tc-m68k.h (tc_frob_label): Define. - (md_flush_pending_output): Define. - (tc_frob_symbol): Don't warn, just call m68k_frob_symbol. - (tc_frob_coff_symbol): Likewise. + * config/tc-mcore.c (md_pseudo_table): Add intercepts for section + changes and data-in-text directives. + (mcore_cons): New function: intercept cons() operations. + (mcore_float_cons): New function: intercept float_cons() + operations. + (mcore_stringer): New function: intercept stringer() operations. - * read.c (read_a_source_file): When defining a macro in MRI mode, - don't add the symbol to the symbol table. +1999-04-18 Ian Lance Taylor <ian@zembu.com> -Tue Jan 7 11:21:42 1997 Jeffrey A Law (law@cygnus.com) + * obj.h (struct format_ops): Change generate_asm_lineno field to + take no parameters. + * config/obj-ecoff.h (OBJ_GENERATE_ASM_LINENO): Don't define. - * config/tc-mn10300.c (tc_gen_reloc): Handle sym1-sym2 fixups - here since fixup_segment doesn't (linkrelax is set). - * config/tc-mn10200.c (tc_gen_reloc): Likewise. + * config/tc-alpha.c (find_opcode_match): Add default case to + switch. + (find_macro_match): Likewise. + (load_expression): Parenthesize && within ||. -Mon Jan 6 15:19:32 1997 Jeffrey A Law (law@cygnus.com) + * config/tc-alpha.h (TC_RELOC_RTSYM_LOC_FIXUP): Define. - * config/tc-mn10200.c (md_assemble): Tweak fx_offset for pc-relative - relocs. +1999-04-17 Nick Clifton <nickc@cygnus.com> -Fri Jan 3 16:47:08 1997 Jeffrey A Law (law@cygnus.com) + * config/tc-mcore.c (md_pseudo_table): Add overrides for .bss + .text .data .section pseudo ops. + (mcore_s_section): New function. Dump lits before changing secs. + (mcore_s_text): New function. Dump lits before changing secs. + (mcore_s_data): New function. Dump lits before changing secs. - * config/tc-hppa.c (struct hppa_fix_struct): Tweak fx_r_field's type - to avoid warnings with the native HP compiler. - (fix_new_hppa): Similarly for the r_type argument. - (pa_build_unwind_subspace, hppa_elf_mark_end_of_function): Enclose - in an #if OBJ_ELF to keep gcc -Wall quiet. - (md_apply_fix): Always initialize "result". +1999-04-16 Gavin Romig-Koch <gavin@cygnus.com> - * config/tc-mn10200.c (md_assemble): Generate relocations. + * config/tc-mips.c (mips_32bitmode): New. + (md_begin): Set mips_32bitmode if needed. + (mips_elf_final_processing): Don't set EF_MIPS_ARCH. + Set EF_MIPS_32BITMODE. -Fri Jan 3 18:17:23 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> +Fri Apr 16 12:26:39 1999 Bob Manson <manson@charmed.cygnus.com> - * config/tc-m68k.c (s_even): Adjust the alignment of the current - section. + * config/obj-coff.c (c_section_symbol): Fix typo in previous + change. -Fri Jan 3 17:10:33 1997 Richard Henderson <rth@tamu.edu> +1999-04-16 Nick Clifton <nickc@cygnus.com> - * config/obj-elf.c (elf_file_symbol): When using ECOFF debugging, - pass on the new file hook. + * config/tc-mcore.h (LOCAL_LABELS_FB): Define to 1. - * config/tc-alpha.c (alpha_fix_adjustable): Not quite the same as - !alpha_force_relocation, as local LITERALs can be adjusted to be - relative to the section. +Thu Apr 15 16:52:09 1999 Jeffrey A Law (law@cygnus.com) -Fri Jan 3 12:09:24 1997 Ian Lance Taylor <ian@cygnus.com> + * tc-hppa.c (pa_get_absolute_exression): Try to handle "5 %r3" + expressions correctly. - * config/obj-coff.c (yank_symbols): If tc_frob_coff_symbol is - defined, call it. - * config/tc-m68k.h (tc_frob_symbol): Check whether text label is - aligned to odd boundary. - (tc_frob_coff_symbol): Define. - * doc/as.texinfo (Set): Change parenthesized @xref to @pxref. +1999-04-15 Gavin Romig-Koch <gavin@cygnus.com> - * macro.c (macro_expand_body): In MRI mode, just copy a single &. + * config/tc-mips.c (mips_elf_final_processing): Set EF_MIPS_ARCH. - * config/tc-m68k.c (m68k_ip): Call frag_grow before adding a - PCINDEX frag. From Ronald F. Guilmette <rfg@monkeys.com>. +Mon Apr 12 23:45:07 1999 Jeffrey A Law (law@cygnus.com) - * config/tc-m68k.c (m68k_ip): Accept 'B' as a size for an - immediate value. - (md_assemble): If the size is 'B', set fx_signed. - (md_apply_fix_2): Use fx_signed when checking for overflow. + * tc-hppa.c (pa_ip, case '3'): New case for PA2.0 fmpyfadd + and fmpynfadd instructions. - * write.h (struct fix): Add fx_signed field. - * write.c (fix_new_internal): Initialize fx_no_overflow and - fx_signed fields. - (fixup_segment): Use fx_signed when checking for overflow. - * config/obj-coff.c (fixup_segment): Check fx_no_overflow and - fx_signed when checking for overflow. +1999-04-11 Richard Henderson <rth@cygnus.com> -Thu Jan 2 13:37:29 1997 Ian Lance Taylor <ian@cygnus.com> + * as.h (environ): Declare it, if needed. + * as.c (dump_statistics): Don't declare environ. + * configure.in (environ): Detect declaration. + * configure, config.in: Rebuild - * NOTES, NOTES.config: Removed. These are rarely, if ever, - updated, and all the useful information is in doc/internals.texi. + * config/tc-i386.c (i386_immediate): Accept @GOT relocations. + (i386_displacement): Allocate enough space for replacement buffer. + Clean up replacement buffer initialization. - Based on patch from Ronald F. Guilmette <rfg@monkeys.com>: - * read.c (read_a_source_file): Check for conditional operators - before doing an MRI pending alignment. - * config/tc-m68k.h (m68k_conditional_pseudoop): Declare. - (tc_conditional_pseudop): Define. - * config/tc-m68k.c (m68k_conditional_pseudop): New function. - * doc/internals.texi (CPU backend): Describe - tc_conditional_pseudoop. +1999-04-11 Bob Manson <manson@charmed.cygnus.com>: - Based on patch from Ronald F. Guilmette <rfg@monkeys.com>: - * config/tc-m68k.c (m68k_rel32_from_cmdline): New static - variable. - (md_begin): Check m68k_rel32_from_cmdline before setting - m68k_rel32. - (m68k_mri_mode_change): Likewise. - (md_longopts): Add --disp-size-default-16 and - --disp-size-default-32. - (md_parse_option): Handle new options. - (md_show_usage): Mention new options. - * doc/c-m68k.texi (M68K-Opts): Document new options. + * subsegs.c (section_symbol): Don't create a new symbol if one + already exists; instead, use the existing one, but set its segment + and frag data if it hasn't already been defined. + * config/obj-coff.c (c_section_symbol): Likewise. - Based on patch from Ronald F. Guilmette <rfg@monkeys.com>: - * config/tc-m68k.c (m68k_index_width_default): New static - variable. - (m68k_ip): Use m68k_index_width_default to set the size of a base - register whose size was not given. - (md_longopts): Add --base-size-default-16 and - --base-size-default-32. - (md_parse_option): Handle new options. - (md_show_usage): Mention new options. - * doc/c-m68k.texi (M68K-Opts): Document new options. +Sat Apr 10 20:10:02 1999 Richard Henderson <rth@cygnus.com> - * doc/c-mips.texi: Mention ISA level 4, and the -mips16 option. + * tc-alpha.c (load_expression): Call as_bad instead of abort. - * configure.in: Recognize mips-*-linux* target. - * configure: Rebuild. +1999-04-08 Nick Clifton <nickc@cygnus.com> - * config/tc-mips.c (load_register): Rewrite 64 bit handling to - work if valueT is only 32 bits. + * config/tc-mcore.c: New File: Support routines for MCore + assembler. + * config/tc-mcore.h: New File: Definitions for MCore assembler. + * config/obj-coff.c: Add support for mcore-pe target. - * config/tc-mips.c: Throughout, check target_big_endian rather - than byte_order. - (byte_order): Remove. - (mips_init_after_args): Remove. - * config/tc-mips.h (LITTLE_ENDIAN, BIG_ENDIAN): Don't define. - (mips_init_after_args): Don't declare. - (tc_init_after_args): Don't define. - - * config/tc-mips.h (tc_frob_after_relocs): Define if - OBJ_MAYBE_ELF. - (mips_elf_final_processing): Likewise. - (ELF_TC_SPECIAL_SECTIONS): Likewise. - -Tue Dec 31 15:12:35 1996 Michael Meissner <meissner@tiktok.cygnus.com> - - * config/tc-v850.c (md_assemble): If this is sst.{h,w} or - sld.{h,w} and the operand is relocatable, adjust the adend by - shifting it right one bit. - -Tue Dec 31 12:56:41 1996 Ian Lance Taylor <ian@cygnus.com> - - * read.c (read_a_source_file): Check mri_pending_align after - checking for a macro. From Ronald F. Guilmette - <rfg@monkeys.com>. - - * Makefile.in (ALL_CFLAGS): Add -D_GNU_SOURCE. - - * config/tc-sparc.c (md_apply_fix3): Rename from md_apply_fix, and - add segment argument. If OBJ_ELF, treat a relocation against a - symbol in a linkonce section like a relocation against an external - symbol. - * config/tc-sparc.h (MD_APPLY_FIX3): Define. - -Mon Dec 30 11:35:40 1996 Ian Lance Taylor <ian@cygnus.com> - - * config/tc-mips.c (mips16_macro): Add case for M_ABS. - -Fri Dec 27 22:51:51 1996 Fred Fish <fnf@cygnus.com> + * Makefile.am: Add support for MCore targets. + * Makefile.in: Regenerate. + * configure.in: Add support for MCore targets. + * configure: Regenerate. - * NOTES.config (Implementation): as.h #define's "GAS" not "gas", - includes config.h instead of host.h, tc.h instead of tp.h, and - targ-env.h instead of target-environment.h. - Also, obj-format.h includes targ-cpu.h instead of - target-processor.h. + * doc/all.texi: Set MCORE. + * doc/as.texinfo: Document MCore specific command line options. -Fri Dec 27 11:42:29 1996 Ian Lance Taylor <ian@cygnus.com> - - * doc/as.texinfo (M): Mention explicitly that -M changes macro - handling. + * write.h: Prevent multiple inclusion. -Thu Dec 19 12:06:08 1996 Ian Lance Taylor <ian@cygnus.com> +1999-04-06 Ian Lance Taylor <ian@zembu.com> - * write.c (adjust_reloc_syms): If the fixup symbol has been - equated to an undefined symbol, convert the fixup to being against - the target symbol. Remove obsolete code handling a special case - for i386 PIC. + * asintl.h (LC_MESSAGES): Never define. + * as.c (main): Don't pass LC_MESSAGES to setlocale if the system + does not define it. + * gasp.c (main): Don't pass LC_MESSAGES to setlocale if the system + does not define it. -Wed Dec 18 22:54:39 1996 Stan Shebs <shebs@andros.cygnus.com> - - * mpw-make.sed: Use NewFolderRecursive for installation. - -Wed Dec 18 16:00:42 1996 Martin M. Hunt <hunt@pizza.cygnus.com> - - * config/tc-d10v.c (do_assemble): Correct previous bug fix. - -Wed Dec 18 15:27:40 1996 Martin M. Hunt <hunt@pizza.cygnus.com> - - * config/tc-d10v.c (md_assemble): Fix bug which caused - second instruction in a line to be case sensitize. PR11312 - -Wed Dec 18 10:08:46 1996 Jeffrey A Law (law@cygnus.com) - - * config/tc-mn10200.c (mn10200_insert_operand): Don't - range check operands with MN10200_OPERAND_NOCHECK set. - (check_operand): Likewise. - -Tue Dec 17 10:59:32 1996 Ian Lance Taylor <ian@cygnus.com> - - * config/tc-mips.c: Undo part of last Friday's alignment changes. - (md_begin): Always align the text section to a four byte - boundary. - (append_insn): Remove call to record_align. - - * config/tc-mips.c (insn_label): Remove. - (struct insn_label_list): Define. - (insn_labels, free_insn_labels): New static variables. - (mips_clear_insn_labels): New static function. - (append_insn): Mark all mips16 text labels, and make them odd. - Handle all labels after emitting a nop, not just one. Call - mips_clear_insn_labels rather than just clearing insn_label. - (mips_emit_delays): Add insns parameter, and use it to decide - whether to mark mips16 labels. Handle all labels, not just one. - Force mips16 labels to be odd. Change all callers. - (mips16_immed): Don't check for an odd branch target. - (md_apply_fix): Don't check mips16 mode for a branch reloc. - (mips16_extended_frag): Ignore the low bit in a branch target. - (md_convert_frag): Likewise. - (mips_no_prev_insn): Call mips_clear_insn_labels rather than just - clearing insn_label. - (mips_align, mips_flush_pending_output, s_cons): Likewise. - (s_float_cons, s_gpword): Likewise. - (s_align): Use insn_labels rather than insn_label. - (s_cons, s_float_cons, s_gpword): Likewise. - (mips_frob_file_after_relocs): New function. - (mips_define_label): Rewrite to add to insn_labels list. - * config/tc-mips.h (tc_frob_file_after_relocs): Define. - * ecoff.c (ecoff_build_symbols): If the size of a function comes - out odd, increment it. - - * config/tc-mips.c (append_insn): Only update prev_insn when not - reordering if place is NULL. - - * config/tc-mips.c (mips16_ip): Check for a missing expression - when using the register indirect addressing mode. - -Mon Dec 16 10:08:46 1996 Jeffrey A Law (law@cygnus.com) - - * config/tc-mn10200.c (mn10200_insert_operand): Don't - check 24bit operands for overflow. - (check_operand): Likewise. - -Mon Dec 16 11:50:40 1996 Ian Lance Taylor <ian@cygnus.com> - - * doc/as.texinfo (Section): Document how to use the .section - pseudo-op for COFF and ELF. - -Sun Dec 15 15:26:37 1996 Ian Lance Taylor <ian@cygnus.com> - - * write.c (adjust_reloc_syms): Fix linkonce check for ELF. - -Sat Dec 14 22:37:27 1996 Ian Lance Taylor <ian@cygnus.com> - - * config/tc-mips.c (prev_insn_reloc_type): New static variable. - (RELAX_MIPS16_ENCODE): Add dslot and jal_dslot arguments, and - store them. Adjust other RELAX_MIPS16 macros. - (RELAX_MIPS16_DSLOT): Define. - (RELAX_MIPS16_JAL_DSLOT): Define. - (append_insn): Pass new arguments to RELAX_MIPS16_ENCODE. Correct - handling of whether previous instruction has a fixup. Set - prev_insn_reloc_type. - (mips_no_prev_insn): Clear prev_insn_reloc_type. - (mips16_extended_frag): Use the right base address for a PC - relative add or load. - (md_convert_frag): Likewise. If a PC relative add or load is - used, record the alignment for the section. - -Fri Dec 13 13:00:33 1996 Ian Lance Taylor <ian@cygnus.com> - - * write.c (adjust_reloc_syms): Don't reduce a reloc against a - linkonce section into a reloc against the section symbol. - - * config/tc-mips.c (mips16_macro): Remove nop instructions after - branch instructions. - - * config/tc-mips.c (md_begin): If configured for an embedded ELF - system, don't set the section alignment to 2**4. - (s_change_sec): Likewise. - (append_insn): Call record_alignment for the section. - (md_section_align): Don't align the section size for an embedded - ELF system. - -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. + * Makefile.am (m68k-parse.c): If configuring in the source + directory, copy m68k-parse.y into the local directory before + running ylwrap, to remove spurious differences when generating + snapshots. + * Makefile.in: Rebuild. -Thu Dec 12 15:18:21 1996 Michael Meissner <meissner@tiktok.cygnus.com> + * config/tc-sparc.h (md_do_align): Just allocate the number of + bytes necessary, rather than always allocating 1024. - * config/tc-ppc.c (ppc_elf_suffix): Move @plt to - BFD_RELOC_24_PLT_PCREL relocation. - (md_apply_fix3): Support BFD_RELOC_24_PLT_PCREL. +1999-04-04 Ian Lance Taylor <ian@zembu.com> -Tue Dec 10 13:51:55 1996 Martin M. Hunt <hunt@pizza.cygnus.com> + * listing.c (listing_newline): Add cast to avoid warning. + * read.c (generate_lineno_debug): Add cases to switch. Reindent. + * config/tc-i386.c (i386_scale): Add return value. + (build_displacement_string): Remove unused local temp_disp2. + (i386_intel_memory_operand): Add parentheses to avoid warning. + (i386_intel_operand): Remove unused local end_of_operand_string. + (i386_operand): Remove unused local operand_modifier. + (i386_operand): Add parens to avoid warning. - * config/tc-d10v.c (write_2_short): Remove code that called - parallel_ok() when the programmer specified parallel instructions. +1999-04-04 Don Bowman <don@pixsci.com> -Tue Dec 10 12:23:19 1996 Jeffrey A Law (law@cygnus.com) + * configure.in: Add mips*-*-vxworks* target; have it define + MIPS_STABS_ELF. + * configure, config.in: Rebuild. - * config/tc-mn10300.c (md_assemble): Update to handle endianness - issues correctly. +1999-03-31 Nick Clifton <nickc@cygnus.com> - * config/tc-mn10200.c (md_assemble): Opcode 0x0 is valid! - * config/tc-mn10300.c (md_assemble): Likewise. + * configure.in (emulations): Add support for arm-epoc-pe. + * configure: Regenerate. + * config/te-epoc-pe.h: New file. Define macros specific to + arm-epoc-pe target. + * config/tc-arm.h: Select epoc-pe-arm target format if configured + for arm-epoc-pe target. -Tue Dec 10 11:37:14 1996 Ian Lance Taylor <ian@cygnus.com> +Mon Mar 29 10:15:40 CST 1999 Catherine Moore <clm@cygnus.com> - * config/tc-mips.c (append_insn): Make sure there is enough room - in a frag after a mips16 instruction to switch it with a jump - instruction. + * tc-mips.c (md_apply_fix): Adjust value for linkonce sections. - * config/tc-mips.c (mips16_extended_frag): Give an error for an - attempt to use a non absolute symbol in an extending frag. +Wed Mar 24 14:11:10 1999 Jeffrey A Law (law@cygnus.com) -Mon Dec 9 16:48:20 1996 Jeffrey A Law (law@cygnus.com) + * tc-hppa.c (pa_parse_nonneg_cmpsub_cmpltr): Clean up code to + detect ",n" without a condition. + (pa_parse_neg_cmpsub_cmpltr): Likewise. - * config/tc-mn10200.c: Flesh out assembler support for MN10200. - * config/tc-mn10200.h: Likewise. -Mon Dec 9 17:09:42 1996 Ian Lance Taylor <ian@cygnus.com> +Tue Mar 23 11:28:23 1999 Jeffrey A Law (law@cygnus.com) - * app.c (do_scrub_chars): At the end of a C comment, pass space to - UNGET rather than PUT. Set old_state before setting state to -2. + * tc-hppa.c (pa_ip, case '~'): The condition for a branch on bit + instruction is encoded with one bit. - * config/tc-mips.c (mips16_extended_frag): Avoid an infinite loop - when extending because the value is exactly maxtiny + 1. - * config/tc-mips.c (RELAX_MIPS16_ENCODE): Add small and ext - arguments, and store them. Adjust other RELAX_MIPS16 macros. - (RELAX_MIPS16_USER_SMALL): Define. - (RELAX_MIPS16_USER_EXT): Define. - (mips16_small, mips16_ext): New static variables. - (append_insn): Pass mips16_small and mips16_ext to - RELAX_MIPS16_ENCODE. - (mips16_ip): Set mips16_small and mips16_ext. - (mips16_immed): Don't check mips16_autoextend. - (mips16_extended_frag): Check USER_SMALL and USER_EXT. +1999-03-23 Ian Lance Taylor <ian@zembu.com> - * write.c (write_relocs): Print an error for an out of range - fixup, rather than calling abort. + * doc/internals.texi (CPU backend): Mention that + line_separator_chars should not include newline. From thi + <ttn@mingle.glug.org>. - * as.c (main): Unlink the output file if there are errors while - generating the fixups. +1999-03-22 Doug Evans <devans@casey.cygnus.com> -Fri Dec 6 18:48:13 1996 Ian Lance Taylor <ian@cygnus.com> + * config/tc-fr30.c (md_begin): Update call to fr30_cgen_cpu_open. + * config/tc-m32r.c (md_begin): Update call to m32r_cgen_cpu_open. - * config/tc-mips.c (mips16_extended_frag): Don't call - S_GET_VALUE. - (md_convert_frag): Call resolve_symbol_value before calling - S_GET_VALUE, and don't add in the frag address. +Sun Mar 21 18:08:18 1999 Richard Henderson <rth@cygnus.com> - * config/tc-mips.c (mips16_immed): Add file and line parameters, - and use them when reporting errors. Change all callers. + * tc-alpha.c (md_assemble): Allow '6' in an opcode. -Fri Dec 6 15:36:32 1996 Jeffrey A Law (law@cygnus.com) +Thu Mar 18 10:55:30 1999 Jeffrey A Law (law@cygnus.com) - * config/tc-mn10300.c: Fix various gcc -Wall warnings. - Remove '$' prefixing for registers. + * tc-hppa.c (pa_ip, case 'a'): Do not call pa_parse_..._cmpsub_cmpltr. -Fri Dec 6 00:55:48 1996 Martin <hunt@cygnus.com> - * config/tc-d10v.c (md_assemble): Check to see if prev_seg - is initialized before using it. - (d10v_cleanup): No longer uses its argument, so make it void. +Thu Mar 18 02:30:07 1999 Jeffrey A Law (law@cygnus.com) - * config/tc-d10v.h (d10v_cleanup): Change prototype. + * tc-hppa.c (pa_ip, case 'd'): Do not allow ",n". -Thu Dec 5 11:03:31 1996 Ian Lance Taylor <ian@cygnus.com> +1999-03-15 Martin Hunt <hunt@cygnus.com> - * write.c (fixup_segment): Don't discard the symbol for a PC - relative fixup to an absolute symbol. + * app.c (do_scrub_begin): Change '-' back to a symbol char + so we can use multiple opcodes on a line again. -Wed Dec 4 15:42:41 1996 Martin M. Hunt <hunt@pizza.cygnus.com> + * config/tc-d30v.c: By default, warn if a symbol has + the same name as a register. Plus some minor + updates from the branch. - * config/tc-d10v.c (md_assemble, d10v_cleanup): Fix bug - with multiple sections. +1999-03-13 Nick Clifton <nickc@cygnus.com> -Wed Dec 4 13:00:07 1996 Ian Lance Taylor <ian@cygnus.com> + * config/tc-d30v.c (md_apply_fix3): Handle BFD_RELOC_8, + BFD_RELOC_16 and BFD_RELOC_64. - * config/tc-mips.c (md_longopts): Rename mips-16 to mips16, and - no-mips-16 to no-mips16. - (s_mipsset): Accept .set mips16 and .set nomips16. +1999-03-12 Andreas Schwab <schwab@issan.cs.uni-dortmund.de> -Wed Dec 4 10:35:33 1996 Michael Meissner <meissner@tiktok.cygnus.com> - - * config/tc-ppc.c (ppc_elf_suffix): Take expressionS pointer - argument, and check for +/- constant following the suffix, folding - it into the expression. - (ppc_elf_cons): Change ppc_elf_suffix calls. - (md_assemble): Ditto. - (shlib): Replace boolean mrelocatable with enumeration shlib. - (md_parse_option): Discriminate between PIC style shared libraries - and -mrelocatable. - (ppc_elf_validate_fix): Don't report warnings for PIC style shared - libraries. + * expr.c (expr): Add missing else. -Tue Dec 3 23:18:29 1996 Michael Meissner <meissner@tiktok.cygnus.com> +1999-03-12 Nick Clifton <nickc@cygnus.com> - * config/tc-ppc.h ({tc,ppc}_comment_chars): Define, so that we can - change the comment characters. + * config/tc-arm.c (md_apply_fix3): Improve error message. - * config/tc-ppc.c (comment_chars): Delete in favor of - tc_comment_chars. - (ppc_{eabi,solaris}_comment_chars): Eabi and Solaris versions of - comment chars. - (ppc_comment_chars): Select appropriate comment chars by default. - (msolaris): New flag for -m{,no-}solaris. - (md_parse_option): Recognize -K pic. Add support for - -m{,no-}solaris. - (md_show_usage): Update. - (md_begin): Do not set ELF flags if Solaris. - (ppc_elf_suffix): @local sets R_PPC_LOCAL24PC relocation. - (md_apply_fix3): Add support for R_PPC_LOCAL24PC. +1999-03-11 Doug Evans <devans@casey.cygnus.com> -Mon Dec 2 13:48:57 1996 Ian Lance Taylor <ian@cygnus.com> - - * as.c (main): Correct handling of flag_always_generate_output. - -Sun Dec 1 21:46:05 1996 Jeffrey A Law (law@cygnus.com) + * Makefile.am (CPU_TYPES): Add fr30. + (cgen.o): Add $(CGEN_CPU_PREFIX)-desc.h dependency. + (fr30,m32r dependencies): Update. + * Makefile.in: Rebuild. - * config/tc-mn10300.c (tc_gen_reloc): Get the addend from - fx_offset, not fx_addnumber. + * cgen.c (gas_cgen_record_fixup): Update use of operand->type. + (gas_cgen_record_fixup_exp): Ditto. + (gas_cgen_finish_insn): Call cgen_operand_lookup_by_num. + (gas_cgen_md_apply_fix3): Ditto. Update call to set_vma_operand. + * config/tc-fr30.c (md_begin): Update call to fr30_cgen_cpu_open. + (md_cgen_lookup_reloc): Update use of operand->type. + * config/tc-m32r.c (md_begin): Update call to fr30_cgen_cpu_open. + (md_convert_frag): Call cgen_operand_lookup_by_num. + (md_cgen_lookup_reloc): Update use of operand->type. + (m32r_cgen_record_fixup_exp): Ditto. - * config/tc-mn10300.h (tc_fix_adjustable): Don't do any - reloc adjustments. +1999-03-09 Jim Blandy <jimb@zwingli.cygnus.com> -Sat Nov 30 17:34:48 1996 Eliot Dresselhaus <eliot@wally.edc.com> + * config/tc-mips.c (md_show_usage): Fix message. - * config/tc-i386.c: Correct misspelling: balenced to balanced. +1999-03-03 Nick Clifton <nickc@cygnus.com> -Wed Nov 27 13:25:39 1996 Ian Lance Taylor <ian@cygnus.com> + * doc/c-arm.texi (ARM Syntax): Document new command line switches + and LDR reg,=<expr> instruction. - * config/tc-mips.c (md_section_align): Check for an alignment of - 4, not an alignment of 16. Corrects August 7 patch. + * config/tc-arm.c: Add support for -mcpu=arm810, -mcpu=arm9 and + -mcpu=arm9tdmi. -Tue Nov 26 10:33:16 1996 Ian Lance Taylor <ian@cygnus.com> +Fri Feb 19 09:36:30 1999 Ian Lance Taylor <ian@cygnus.com> - * configure, conf.in: Rebuild with autoconf 2.12. + * doc/c-arm.texi (ARM-Chars): Fix typo in use of '@'. - * config/tc-ppc.c (ppc_elf_lcomm): Don't give an error if no - alignment is specified. +1999-02-17 Nick Clifton <nickc@cygnus.com> - Add support for mips16 (16 bit MIPS implementation): - * config/tc-mips.c: Extensive additions for mips16 support, not - listed here. - (RELAX_OLD, RELAX_NEW): Use only 7 bits each. - (insn_uses_reg): Change last parameter to an enum. - * config/tc-mips.h (LOCAL_LABELS_DOLLAR): Define as 0. - (md_relax_frag): Define as mips_relax_frag. - (mips_relax_frag): Declare. - (struct mips_cl_insn): Add use_extend and extend fields. + This patch was created by: Scott Bambrough + <scottb@corelcomputer.com> + + * app.c: + Special cased '@' character. The '@' character is used as the + ARM assembler comment character, as a special character + and in ELF .symver pseudo-op's, and as a special character in + .type and .section pseudo-ops. + (symver_pseudo): New static variable. + (symver_state): New static variable. + (struct app_save): Add field 'symver_state'. + (app_push): Save global symver_state int struct app_save. + (app_pop): Restore global symver_state from struct app_save. + (do_scrub_chars): Special case handling of '@' character in + .symver pseudo-ops. + + * configure.in: Modified to recognize armv* uname syntax from ARM + Linux kernel. + * configure: Regenerated. + + * config/obj-elf.c (obj_elf_section): Allow '%' as well as '@' as + a prefix to the section's type. + (obj_elf_type): Allow '%' as well as '@' and '#' as prefixes to + the type's typename. + + * config/tc-arm.h: Add support for PIC generation: + (pic_code): New boolean. + (obj_relocate_extern): Define. + (TC_RELOC_RTSYM_LOC_FIXUP): Define + (TC_CONS_FIX_NEW): Define. (tc_fix_adjustable): Define. - * config/obj-elf.h (S_GET_OTHER): Define. - (S_SET_OTHER): Define. - -Mon Nov 25 18:02:29 1996 J.T. Conklin <jtc@beauty.cygnus.com> - - * config/tc-m68k.c (m68k_ip): Implement cases for new <, >, m, n, - o and p operand specifiers. - -Mon Nov 25 10:45:14 1996 Doug Evans <dje@seba.cygnus.com> - - * write.c: Delete "ifndef md_relax_frag" around is_dnrange. - (relax_segment, case rs_org): Move code inside braces. Move locals - target,after inside too. - (relax_segment, case rs_machine_dependent): Guts moved to ... - (relax_frag): New function. - Call md_prepare_relax_scan if defined. - * config/tc-m68k.h (md_prepare_relax_scan): Renamed from - M68K_AIM_KLUDGE. - -Mon Nov 25 08:49:36 1996 Jeffrey A Law (law@cygnus.com) - - * config/tc-mn10300.c (address_registers): Use '$' as register - prefix instead of '%'. - (data_registers, other_registers, md_assemble): Likewise. - - * config/tc-mn10300.c (address_registers): Use '%' prefix for regs. - (data_registers, other_registers, md_assemble): Likewise. - - * config/tc-mn10300.c (md_assemble): Correctly determine the - correct location and type for each relocation. - (md_pcrel_from): Simplify. - -Fri Nov 22 15:42:26 1996 Ian Lance Taylor <ian@cygnus.com> - - * config/tc-sh.c (md_convert_frag): Improve warning when branch is - converted into branch around branch. - -Thu Nov 21 11:56:11 1996 Jeffrey A Law (law@cygnus.com) - - * config/tc-mn10300.h (DIFF_EXPR_OK): Don't define this. - (tc_fix_adjustable): Don't adjust relocs against weak symbols or - pc-relative relocs. - * config/tc-mn10300.c (md_begin): Set linkrelax. - (md_assemble): Create fixups as needed. - (md_apply_fix3): Gut. It shouldn't ever get called anymore. - -Tue Nov 19 17:48:06 1996 Michael Meissner <meissner@tiktok.cygnus.com> - - * config/tc-d10v.c (parallel_ok): When automatically converting - serial ops to parallel, do not consider a branch as the first - instruction. - -Tue Nov 19 13:35:22 1996 Jeffrey A Law (law@cygnus.com) - - * config/tc-mn10300.c (md_assemble): Handle MN10300_OPERAND_REG_LIST. - -Mon Nov 18 15:26:55 1996 Jeffrey A Law (law@cygnus.com) - - * config/tc-mn10300.c (mn10300_insert_operand): Provide prototype - via PARAMS. - (check_operand): Likewise. - -Mon Nov 18 15:22:28 1996 Michael Meissner <meissner@tiktok.cygnus.com> - - * config/tc-d10v.c (parallel_ok): Branch and link instructions - modify r13. - (write_2_short): Call parallel_ok to check whether two short - instructions the user requested execute in parallel, can be - executed that way. - -Thu Nov 14 11:17:49 1996 Martin M. Hunt <hunt@pizza.cygnus.com> - - * config/tc-d10v.c (write_2_short): Fix bug that wouldn't - allow a branch and link in parallel with an exe instruction. - -Fri Nov 8 13:55:03 1996 Martin M. Hunt <hunt@pizza.cygnus.com> - - * doc/c-d10v.texi: Add info on @word modifier. - -Wed Nov 6 13:46:07 1996 Jeffrey A Law (law@cygnus.com) + (GLOBAL_OFFSET_TABLE_NAME): Define. - * config/tc-mn10300.c (mn10300_insert_operand): MN10300_OPERAND_SPLIT - operands are assumed to be 32bits. Use "bits" field to hold the - number of bits in the main instruction word for MN10300_OPERAND_SPLIT. - (mn10300_check_operand): MN10300_OPERAND_SPLIT operands are assumed - to be 32bits. - - * config/tc-mn10300.c (mn10300_insert_operand): Shift low part - of a MN10300_OPERAND_SPLIT operand by operand->shift. - - * config/tc-mn10300.c (mn10300_insert_operand): Handle - MN10300_OPERAND_SPLIT. - -Tue Nov 5 13:30:40 1996 Jeffrey A Law (law@cygnus.com) - - * config/tc-mn10300.c (md_assemble): Insert operands into - the extension part of the instruction if necessary. - (mn10300_insert_operand): Accept pointer to extension word - argument. Make insn a pointer argument too. Return type - is now void. All callers changed. - -Mon Nov 4 12:53:40 1996 Jeffrey A Law (law@cygnus.com) - - * config/tc-mn10300.c (mn10300_insert_operand): Handle - repeated register operands. - -Fri Nov 1 10:42:49 1996 Ian Lance Taylor <ian@cygnus.com> - - * doc/as.texinfo: Added section on reporting bugs. - - * config/tc-alpha.c: Change uses of void * to PTR. Change the - alpha_macro emit field to expect a const argument, and change the - arg field to be const. Fix some spacing to follow the GNU - standard. - -Fri Nov 1 10:32:03 1996 Richard Henderson <rth@tamu.edu> - - * config/tc-alpha.c (md_parse_option): Add knowledge of 21164pc - (pca56) and 21264 (ev6) cpus. - (md_apply_fix): Private relocation types are now negative. - (alpha_force_relocation): Likewise. - (tc_gen_reloc): Likewise. - (emit_insn): Likewise. - (emit_ldXu): Do the right thing when the hardware can do byte insns. - (emit_stX): Likewise. - (emit_sextX): Likewise. - -Thu Oct 31 16:33:21 1996 Ian Lance Taylor <ian@cygnus.com> - - * config/obj-coff.c (do_relocs_for): Call resolve_symbol_value on - a symbol found in a reloc. - - * symbols.c (resolve_symbol_value): Improve the error message if - an undefined symbol is used in an expression. + * config/tc-arm.c: Add support for PIC generation: + (line_seperator_chars): Allow ';' as a seperator for Linux. + (is_immediate_prefix): New macro. + (arm_parse_reloc): New function. + (s_arm_elf_cons): New function. + (do_branch): Special case for BFD_RELOC_ARM_PLT32. + (md_undefined_symbol): Special case handling for the Global Offset + Table's symbol. + (md_apply_fix3): Handle PIC relocs. + (tc_gen_reloc): Handle PIC relocs. + (md_parse_option): Add support for '-k' command line switch to + enable PIC generation. + (cons_fix_new_arm): New function. + (s_arm_elf_cons): New function. + +Tue Feb 16 16:31:53 1999 Ian Lance Taylor <ian@cygnus.com> + + * configure.in: Add comments for uses of AC_DEFINE. + * acinclude.m4: Likewise. + * acconfig.h: Remove. + * aclocal.m4: Rebuild. + * configure: Rebuild. + * Makefile.in: Rebuild. + * config.in: Rebuild. -Wed Oct 30 20:15:35 1996 Ian Lance Taylor <ian@cygnus.com> +1999-02-15 Jim Lemke <jlemke@cygnus.com> - * doc/internals.texi: Rewrite, and add a lot of documentation. - * doc/Makefile.in (internals.info): New target. + * config/tc-mips.c (mips_ip: case 'o'): Fix assertion failure for + non-constant offset from a base register. -Wed Oct 30 14:55:57 1996 Jeffrey A Law (law@cygnus.com) +1999-02-14 Ken Raeburn <raeburn@raeburn.org> - * config/tc-v850.h (tc_fix_adjustable): Don't adjust relocs - against weak symbols. + * config/tc-alpha.c (md_show_usage): Put \ before newline in + strings always. -Tue Oct 29 12:28:16 1996 Jeffrey A Law (law@cygnus.com) +Sat Feb 13 14:10:10 1999 Richard Henderson <rth@cygnus.com> - * config/tc-v850.c (md_assemble): Don't lose for relaxable - addresses like .+6. + * config/tc-alpha.c (cpu_types): Enable EV6 PALcode with -m21264. + (emit_insn): Look for pc-relative and no-overflow specifiers on + internal relocation types. - * config/tc-v850.c (md_convert_frag): Make sure we insert the - fixup at the right address within the frag. +1999-02-13 Jim Blandy <jimb@zwingli.cygnus.com> - * config/tc-v850.c (md_convert_frag): Don't set fragP->fr_fix - to an absolute value, instead increment it as needed. + * doc/c-mips.texi (MIPS Opts): Updated list of -mNNNN and + -mcpu=NNNN flags. - * config/tc-v850.h (TC_GENERIC_RELAX_TABLE): Define. - * config/tc-v850.c: Fix some indention problems. - (md_relax_table): Define for D9->D99 branch displacement - relaxing. - (md_convert_frag): Do something useful instead of aborting. - (md_estimate_size_before_relax): Likewise. - (md_assemble): Note if the matching instruction has a relaxable - operand. If it does, allocate frag with frag_var and don't - do any fixups. + * config/tc-mips.c: Remove all the mips_NNNN variables; just use + mips_cpu instead. + (mips_4650, mips_4010, mips_4100): Variables removed. + (hilo_interlocks, gpr_interlocks, append_insn, macro_build, macro, + macro2, mips16_macro, mips_ip): Test mips_cpu, not the mips_NNNN + variables. + (md_begin): Don't bother initializing the mips_NNNN variables; + mips_cpu is set, and that's good enough now. + (md_parse_option): Have the -mNNNN options set mips_cpu instead of + the mips_NNNN variable. The -no-mNNNN flags are now no-ops. + (show): New function, to handle wrapping in the CPU lists. + (md_show_usage): Update lists of -mcpu and -mNNNN switches. -Mon Oct 28 10:48:40 1996 Martin M. Hunt <hunt@pizza.cygnus.com> +Sat Feb 13 00:17:26 1999 Richard Henderson <rth@cygnus.com> - * config/tc-d10v.h (md_cleanup): New function. This is needed to - write out any buffered instructions when a ".end" is found. + * config/tc-i386.c (i386_intel_operand): Ignore `SHORT' rather + than treat as an immediate specifier. -Mon Oct 28 10:43:45 1996 Martin M. Hunt <hunt@pizza.cygnus.com> +Thu Feb 11 16:18:31 1999 Richard Henderson <rth@cygnus.com> - * read.c (read_a_source_file): New hook md_cleanup(). + * config/tc-i386.c: Prototype many functions. + (set_intel_syntax): Accept `prefix'/`noprefix' specifiers. + (i386_immediate): Remove unused second argument. + (i386_intel_operand): Fix i386_is_reg typo. + (i386_operand): Use allow_naked_reg. + (output_invalid): Make operand int for K&R. -Fri Oct 25 00:01:00 1996 Ian Lance Taylor <ian@cygnus.com> +Thu Feb 11 11:21:02 1999 Ian Lance Taylor <ian@cygnus.com> - * write.c (fix_new_exp): Use make_expr_symbol to build an - expression symbol for a complex fixup. + * Makefile.am (EXTRA_as_new_SOURCES): Uncomment--fixed by automake + patch. + * Makefile.in: Rebuild. -Thu Oct 24 14:31:04 1996 Jeffrey A Law (law@cygnus.com) +1999-02-09 Doug Evans <devans@casey.cygnus.com> - * config/tc-v850.c (v850_reloc_prefix): Several disgusting - hacks to improve parsing of complex hi, lo, zda, etc - expressions. - (md_assemble): Don't demand and eat a trailing ')' after finding - a v850 relocation prefix. Sign extend the constant in a - BFD_RELOC_LO16 expression. Do eat a trailing ')' after a complete - operand. - (parse_cons_expression_v850): Don't eat a trailing ')' after - finding a v850 relocation prefix. + * Makefile.am (DISTCLEANFILES): Change cgen-opc.h to cgen-desc.h. + (cgen.o): Ditto. + (EXTRA_as_new_SOURCES): Comment out. + (.tcdep): <arch>-opc.h renamed to <arch>-desc.h. + * Makefile.in: Rebuild. + * doc/Makefile.in: Rebuild. + * configure.in: Require autoconf 2.13. Redo using_cgen handling. + Delete call to AM_CYGWIN32. Replace AM_EXEEXT with AC_EXEEXT. + (AC_OUTPUT): <arch>-opc.h renamed to <arch>-desc.h. + * configure: Rebuild. + * aclocal.m4: Rebuild. + * config.in: Rebuild. + * cgen.c: Include cgen-desc.h, not cgen-opc.h. + (*): CGEN_OPCODE_DESC renamed to CGEN_CPU_DESC. + (gas_cgen_cpu_desc): Renamed from gas_cgen_opcode_desc. + CGEN_INSN_ATTR renamed to CGEN_INSN_ATTR_VALUE. + CGEN_OPERAND_ATTR renamed to CGEN_OPERAND_ATTR_VALUE. + (gas_cgen_record_fixup): Remove unnecessary != 0 test. + (gas_cgen_record_fixup_exp): Ditto. + (gas_cgen_finish_insn): Ditto. Refer to operand table via cpu + descriptor, not global variable. + (gas_cgen_md_apply_fix3): Refer to operand_table via cpu + descriptor, not global variable. Refer to insert_operand handler + via cpu descriptor, not global function. + * cgen.h (*): CGEN_OPCODE_DESC renamed to CGEN_CPU_DESC. + * config/tc-fr30.c: Include opcodes/fr30-desc.h. + (*): gas_cgen_opcode_desc renamed to gas_cgen_cpu_desc. + CGEN_INSN_ATTR renamed to CGEN_INSN_ATTR_VALUE. + Update call to CGEN_OPERAND_TYPE,CGEN_INSN_OPERANDS. + * config/tc-m32r.c: Ditto. + (assemble_two_insns): Update calls to cgen_lookup_get_insn_operands. + (md_assemble): Ditto. + (md_convert_frag): Update call to CGEN_OPERAND_ENTRY. - * config/tc-v850.h (TC_PARSE_CONS_EXPRESSION): Define. - (TC_CONS_FIX_NEW): Likewise. - * config/tc-v850.c (parse_cons_expression_v850): New function. - (cons_fix_new_v850): Likewise. +1999-02-09 Nick Clifton <nickc@cygnus.com> - * config/tc-v850.h (tc_fix_adjustable): Don't adjust TDA relocs. + * config/tc-arm.c (md_apply_fix3): Fix handling of label1 - label2 + relocations for ELF targets. -Wed Oct 23 18:20:29 1996 Ian Lance Taylor <ian@cygnus.com> +1999-02-08 Nick Clifton <nickc@cygnus.com> - * config/tc-ppc.c (md_apply_fix3): Give a better warning message - for an unknown relocation type. + * configure.in: Add support for StrongARM target. + * configure: Regenerate. -Wed Oct 23 16:21:28 1996 Jeffrey A Law (law@cygnus.com) +1999-02-05 Nick Clifton <nickc@cygnus.com> + + * config/tc-arm.h: Tidy OBJ_ELF and OBJ_COFF definitions. + + * config/tc-arm.c (md_apply_fix3): Fix BFD_RELOC_ARM_PCREL_BRANCH + for COFF ports. + +Wed Feb 3 11:35:47 1999 Richard Henderson <rth@cygnus.com> + + * config/tc-alpha.c (md_show_usage): Document pca56 and ev6 options. + +Mon Feb 1 20:37:30 1999 Catherine Moore <clm@cygnus.com> + + * config/tc-i386.h (LONG_DOUBLE_MNEM_SUFFIX): Define. + (INTEL_DWORD_MNEM_SUFFIX): Define. + (BYTE_PTR): Define. + (WORD_PTR): Define. + (DWORD_PTR): Define. + (XWORD_PTR): Define. + (SHORT): Define. + (OFFSET_FLAT): Define. + (FLAT): Define. + (NONE_FOUND): Define. + (No_dSuf): Define. + (No_xSuf): Define. + * config/tc-i386.c (set_intel_syntax): New routine. + (intel_syntax): Declare. + (allow_naked_reg): Declare. + (md_pseudo_table): Support .intel_syntax and .att_syntax. + (intel_float_operand): New routine. + (md_assemble): Handle INTEL_DWORD_MNEM_SUFFIX. + Handle brackets as well as parens. Call i386_intel_operand for + intel syntax. Reverse operands if appropriate. Handle new + suffixes. Handle movzx and movsx. + (i386_is_reg): New routine. + (i386_immediate): New routine. + (i386_scale): New routine. + (i386_displacement): New routine. + (i386_operand_modifier): New routine. + (build_displacement_string): New routine. + (i386_parse_seg): New routine. + (i386_intel_memory_operand): New routine. + (i386_intel_operand): New routine. + (i386_operand): Call i386_displacement, i386_immediate, + i386_scale, etc. instead of handling inline. + (parse_register): Handle registers without prefix. + +Mon Feb 1 12:24:58 1999 Catherine Moore <clm@cygnus.com> + + * configure: Regenerate. + * configure.in (arm-*-oabi): New. + (thumb-*-oabi): New. + * config/tc-arm.c (target_oabi): Declare. + (md_apply_fix3): Support REL relocs. + (md_parse_option): Handle -oabi. + (elf32_arm_target_format): New routine. + (md_longopts): Add OPTION_OABI. + * config/tc-arm.h: Redefine TARGET_FORMAT. + + +1999-01-28 Nick Clifton <nickc@cygnus.com> + + * write.c (write_relocs): Handle out of range error. + + * config/tc-fr30.c (fr30_fix_adjustable): New function. + (fr30_force_relocation): Default to 0. + + * config/tc-fr30.h (obj_fix_adjustable): Define. + (TC_FORCE_RELOCATION): Define. + + * cgen.c (gas_cgen_md_apply_fix3): Do not apply fixes to VTABLE + relocs. + +1999-01-16 Nick Clifton <nickc@cygnus.com> + + * config/tc-d30v.c (write_2_short): Do not generate a sequential + merge of two instructions if the left instruciton kills the right. + +1999-01-11 Doug Evans <devans@casey.cygnus.com> + + * Makefile.in: Regenerate. + * configure.in: Redo test for using cgen. + * configure: Regenerate. - * config/tc-v850.c (md_pseudo_table): Add .word; allocates - 4 bytes of space. +1999-01-09 Nick Clifton <nickc@cygnus.com> -Tue Oct 22 22:01:25 1996 Jeffrey A Law (law@cygnus.com) + * config/obj-coff.h (obj_adjust_symtab): Prevent accidental + redefinition of this macro. - * config/tc-v850.c (md_assemble): Handle TDAOFF relocs - differently for movea & sst/sld insns. +Tue Jan 5 21:58:03 1999 Doug Evans <devans@canuck.cygnus.com> -Tue Oct 22 17:09:32 1996 Michael Meissner <meissner@tiktok.cygnus.com> + * config/tc-mips.c (mips_frob_file): Disable "Unmatched %hi reloc" + warning. - * config/tc-d10v.c (parallel_ok): Don't allow illegal combinations - of instructions. +1998-12-29 Gavin Romig-Koch <gavin@cygnus.com> -Tue Oct 22 11:28:39 1996 Ian Lance Taylor <ian@cygnus.com> + * config/tc-mips.c (append_insn): For mips16, insert a nop between + a read of HI or LO and an immediatly following branch. - * obj.h (struct format_ops): Add frob_file_after_relocs field. - * config/obj-multi.h (obj_frob_file_after_relocs): Define. - * config/obj-ecoff.c (ecoff_format_ops): Initialize new - frob_file_after_relocs field. - * config/obj-elf.c (elf_format_ops): Likewise. - * config/tc-mips.c: Undefine obj_frob_file_after_relocs before - including obj-elf.h. +1998-12-29 Gavin Romig-Koch <gavin@cygnus.com> -Mon Oct 21 11:38:30 1996 Ian Lance Taylor <ian@cygnus.com> + * config/tc-mips.c (md_begin): Another correction to the setting of + mips_eabi64. - * config/tc-mips.c (cons_fix_new_mips): Only treat 8 byte reloc - specially if not ELF. - (md_apply_fix): Handle BFD_RELOC_64. - (tc_gen_reloc): Handle BFD_RELOC_64. +1998-12-23 Gavin Romig-Koch <gavin@cygnus.com> - * config/tc-i386.c (md_apply_fix3): Don't increment value for a PC - relative reloc when BFD_ASSEMBLER and OBJ_AOUT (more ugly gas - reloc hacking). + * config/tc-mips.c (md_begin): Correct type-o in setting of mips_eabi64. - * config/obj-aout.h (S_IS_DEFINE): non BFD_ASSEMBLER version: - Don't check S_GET_OTHER. +1998-12-21 Nick Clifton <nickc@cygnus.com> -Fri Oct 18 14:06:26 1996 Ian Lance Taylor <ian@cygnus.com> + * config/tc-m32r.c (md_assemble): Emit a NOP after a relaxable 16 + bit insn when optimizing, so that parallelised instructions will + start on a 32 bit boundary. - * config/tc-mips.c (mips_ip): Accept an odd floating point - register with l.s or s.s. +1998-12-19 Gavin Romig-Koch <gavin@cygnus.com> - * config/obj-aout.c (obj_pseudo_table): Use obj_aout_type for - .type pseudo-op. - (obj_aout_type): New static function. + * config/tc-mips.c (mips_eabi64): New. + (md_begin): Set mips_eabi64. + (mips_elf_final_processing): Use it. -Thu Oct 17 17:55:17 1996 Ian Lance Taylor <ian@cygnus.com> +1998-12-18 Gavin Romig-Koch <gavin@cygnus.com> - * Makefile.in ($(OBJS)): Depend upon libiberty.h. + * config/tc-mips.c (mips_elf_final_processing): + Correct setting of ABI in e_flags. -Wed Oct 16 11:28:31 1996 Jeffrey A Law (law@cygnus.com) +Wed Dec 16 16:17:22 1998 Dave Brolley <brolley@cygnus.com> - * config/tc-v850.c (v850_reloc_prefix): Recognize zdaoff, tdaoff - and sdaoff expressions. + * config/tc-fr30.c (md_assemble): Warn about invalid instructions in delay slots. - * write.c (fixup_segment): Don't add symbol value to addend if - TC_V850 and OBJ_ELF. - * config/tc-v850.h (tc_fix_adjustable): Don't adjust any - pc-relative fixups. +1998-12-16 Gavin Romig-Koch <gavin@cygnus.com> - * config/tc-v850.c (md_pcrel_from): Undo yesterday's changes. - (md_pcrel_from_section): Likewise. - * config/tc-v850.h (MD_PCREL_FROM_SECTION): Likewise. + * config/tc-mips.c (md_begin,md_parse_option): Handle vr4111. + +1998-12-15 Doug Evans <devans@casey.cygnus.com> -Tue Oct 15 23:19:00 1996 Jeffrey A Law (law@cygnus.com) + * cgen.c (gas_cgen_md_apply_fix3): Mark as an error, rather than a + warning, values that don't fit in the field. - * config/tc-v850.c (md_pcrel_from): Delete unused function. - (md_pcrel_from_section): New function. - * config/tc-v850.h (MD_PCREL_FROM_SECTION): Define. +1998-12-15 Gavin Romig-Koch <gavin@cygnus.com> -Mon Oct 14 13:59:12 1996 Ian Lance Taylor <ian@cygnus.com> + * config/tc-mips.c (mips_abi_string): New. + (md_parse_option,md_longopts): Add mabi. + (mips_elf_final_processing): Set e_flags based on mabi flag. - * config/tc-mips.c (load_register): Add cast to offsetT when using - a constant with &~. +1998-12-15 Gavin Romig-Koch <gavin@cygnus.com> -Mon Oct 14 11:24:28 1996 Richard Henderson <rth@tamu.edu> + * config/tc-mips.c (md_parse_option): Handle vr4111. - * config/obj-elf.c (elf_frob_file): Move ECOFF debug processing to ... - (elf_frob_file_after_relocs): ... here. New function. - * config/obj-elf.h (obj_from_file_after_relocs): New macro. - * write.c (write_object_file): Call *frob_after_relocs after the - call to write_relocs. +98-12-11 Ken Raeburn <raeburn@cygnus.com> - * config/tc-alpha.c: Use new BFD_RELOC_ALPHA_ELF_LITERAL reloc. + * config/tc-h8300.c (build_bytes): Change message given if the + instruction requires H8/300H mode and we're not in Hmode, to + suggest that it may be the operand modes that are the problem, not + necessarily the opcode. - * config/tc-alpha.c (load_expression): Don't SET_VALUE on the section - symbol, as this messes up linking. Instead, expand the recursive call - inline and change up the appropriate bits to get the 0x8000 offset - in the reloc addend. +1998-12-10 Nick Clifton <nickc@cygnus.com> -Thu Oct 10 17:30:31 1996 Ian Lance Taylor <ian@cygnus.com> + * config/tc-fr30.c: Add line separator character. - * config/tc-sparc.h (tc_fix_adjustable): Permit the difference of - two symbols in the same segment to be adjusted. +Tue Dec 8 19:51:50 1998 Mark Klein <mklein@dis.com> - * configure.in: Don't get confused by CPU-VENDOR-linux-gnu. + * configure.in (hppa-*-mpeix*): New target. + * config/obj-som.h (obj_som_compiler): Declare. + * config/obj-som.c (compiler_seen): New static variable. + (obj_som_compiler): New function. + * config/tc-hppa.c: Update tc_data uses for change to bfd/som.h. + (md_pseudo_table): Add "compiler" if OBJ_SOM. + (pa_type_args): Set hppa_priv_level. + (pa_compiler): New static function if OBJ_SOM. * configure: Rebuild. -Thu Oct 10 17:22:18 1996 Michael Meissner <meissner@tiktok.cygnus.com> +Tue Dec 8 15:00:50 1998 Ian Lance Taylor <ian@cygnus.com> - * config/tc-ppc.c (ppc_insert_operand): Change most warnings into - errors. - (ppc_elf_validate_fix): Ditto. - (md_assemble): Ditto. - (ppc_tc): Ditto. - (ppc_pe_section): Ditto. - (ppc_frob_symbol): Ditto. - -Thu Oct 10 12:05:45 1996 Jeffrey A Law (law@cygnus.com) - - * config/mn10300.c (md_assemble): Pass an extra shift count - to mn10300_insert_operand based on the opcode format. - (mn10300_insert_operand): Accept and use extra shift count - parameter. - - * config/tc-mn10300.c (md_assemble): Use FMT_* macros for - formats rather than hard-coded constants. - - * config/tc-mn10300.c (md_assemble): Format D5 instructions - are 7 bytes long. Write out instructions in big-endian format. - -Tue Oct 8 14:56:15 1996 Jeffrey A Law (law@cygnus.com) - - * config/tc-mn10300.c (md_assemble): Tweak further so - that all instructions are parsed correctly. - -Tue Oct 8 13:02:21 1996 Ian Lance Taylor <ian@cygnus.com> - - * as.h: Include libiberty.h. - (xmalloc, xrealloc): Don't declare. - * as.c: Don't include libiberty.h. - * expr.c, read.c, stabs.c, config/obj-coff.c: Likewise. - * config/tc-mips.c: Likewise. - * messages.c: Likewise. - (xstrerror): Don't declare. - * xmalloc.c: Remove. - -Mon Oct 7 16:53:23 1996 Jeffrey A Law (law@cygnus.com) - - * config/tc-mn10300.h (pre_defined_registers) Remove. - (system_registers, cc_names): Likewise. - (address_registers, data_registers, other_registers): New register - arrays. - (register_name, system_register_name, cc_name): Remove. - (mn10300_reloc_prefix): Likewise. - (data_register_name): New function. - (address_register_name, other_register_name): Likewise. - (md_assemble): Rough cut at parsing operands. Remove lots of - unwanted code. - (md_apply_fix3): Disable for now. - -Mon Oct 7 11:38:34 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> - - * config/tc-m68k.c (select_control_regs): New function, extracted - out of m68k_init_after_args. - (m68k_init_after_args): Use it. - (mri_chip): Use it here as well to update set of allowed control - regs for movec. - -Mon Oct 7 11:24:29 1996 Ian Lance Taylor <ian@cygnus.com> - - * config/obj-elf.c (elf_begin): New function. - (obj_elf_section): Add the section symbol to the symbol table. - * config/obj-elf.h (obj_begin): Define. - (elf_begin): Declare. - * as.c (perform_an_assembly_pass): Call obj_begin if it is - defined. - -Fri Oct 4 18:37:32 1996 Ian Lance Taylor <ian@cygnus.com> - - * config/obj-coff.c (fixup_segment): Subtract the section address - from a PC relative reloc if TC_M68K. + * read.c (output_leb128): Don't mark as inline. -Thu Oct 3 15:15:30 1996 Ian Lance Taylor <ian@cygnus.com> +1998-12-08 Andrew MacLeod <amacleod@cygnus.com> - * config/tc-sparc.c (md_pseudo_table): Make .uahalf, .uaword, and - .uaxword available even if not OBJ_ELF. - (md_atof): Remove unused local variable wordP. + * config/tc-ppc.c (ppc_vbyte): Prototype and new function for + AIX .vbyte unaligned data support. + (md_pseudo_table): Add 'vbyte' to list of valid pseudos. + (ppc_elf_validate_fix): Add eh_frame to list of ELF relocatable + sections. -Thu Oct 3 00:16:50 1996 Jeffrey A Law (law@cygnus.com) +1998-12-07 Nick Clifton <nickc@cygnus.com> - * config/tc-mn10x00.c, config/tc-mn10x00.h: New files - for Matsushita MN10x00 support. - * configure.in: Recognize mn10x00-*-* - * configure: Rebuilt. + * config/tc-d30v.c (md_assemble, do_assemble): Improve erroneous + input handling. -Wed Oct 2 15:54:03 1996 Klaus Kaempf <kkaempf@progis.de> +Mon Dec 7 09:48:34 1998 Catherine Moore <clm@cygnus.com> - * obj-evax.h: move openvms definitions from here to tc-alpha.c. - * tc-alpha.c: add support for vms_case_hack like in vax/vms. - (load_expression): track clobbering of base reg before jmp/jsr. - (s_alpha_file): pass case_hack flags and source filename via - symbol table to bfd. - * tc-alpha.h (TC_CONS_FIX_NEW): define + * config/tc-arm.c (elf32_arm_force_relocation): Check for + BFD_RELOC_ARM_PCREL_BRANCH. -Tue Oct 1 16:16:01 1996 Joel Sherrill <joel@oarcorp.com> +Sun Dec 6 12:46:36 1998 Ian Lance Taylor <ian@cygnus.com> - * configure.in (mips-*-rtems*): New target, like mips-*-elf*. + * configure.in: Define TARGET_BYTES_{BIG,LITTLE}_ENDIAN after + checking the target type. + (mips-dec-bsd*): Set endian to little. * configure: Rebuild. -Tue Oct 1 12:37:48 1996 Ian Lance Taylor <ian@cygnus.com> - - * read.c (s_macro): Warn if a macro has the same name as a - pseudo-op. - (s_space): In m68k MRI mode, align to a word boundary. - * macro.c (define_macro): Add namep parameter. Change all - callers. - * macro.h (define_macro): Update declaration. - - * as.c (show_usage): Print bug report address. - (parse_args): Change version printing to match current GNU - standards. - * gasp.c (show_usage): Print bug report address. - (main): Change version printing to match current GNU standards. + COFF weak symbol support, based on patches from Mark Elbrecht + <snowball3@usa.net>: + * config/obj-coff.h (S_IS_WEAK): Define if not BFD_ASSEMBLER. + * config/obj-coff.c (obj_coff_weak): New static function. + (obj_coff_endef) [both versions]: Handle weak symbols. + (coff_frob_symbol): Likewise. + (yank_symbols): Likewise. + (obj_pseudo_table): Add "weak". - * config/tc-m68k.c (init_table): Correct access control unit - register numbers. From Ken Rose <rose@netcom.com>. + * configure.in (m68k-*-gnu*): New target. From Aymeric Vincent + <aymeric.vincent@emi.u-bordeaux.fr>. + * aclocal.m4: Rebuild with current tools. + * configure: Rebuild. - * config/tc-alpha.c: Add some static function prototypes. - (alpha_macros): Move to top of file. Make static. - (alpha_num_macros): Move to top of file. + * config/tc-alpha.c (emit_ldgp): Give an error message rather than + an assertion failure for a case we can't handle when OBJ_ECOFF. -Tue Oct 1 09:36:19 1996 Stu Grossman (grossman@critters.cygnus.com) + * expr.c (operator): And with 0xff to avoid problems with signed + char. - * tc-v850.h: Define LOCAL_LABEL to recognise _.L_* symbols - generated by DWARF. +1998-12-03 Nick Clifton <nickc@cygnus.com> -Sat Sep 28 03:38:08 1996 Ian Lance Taylor <ian@cygnus.com> + * config/tc-fr30.c (md_cgen_lookup_reloc): Generate + BFD_RELOC_FR30_48 instead of BFD_RELOC_FR30_32. - * listing.c (list_symbol_table): Remove bogus code in BFD64 case, - and just call sprintf_vma. +1998-12-02 Nick Clifton <nickc@cygnus.com> -Thu Sep 26 16:04:11 1996 Ian Lance Taylor <ian@cygnus.com> + * config/tc-fr30.c (md_cgen_lookup_reloc): Enable relocs for + LDI:20 insn. - * expr.c (expr): Change >>= to >> (fix typo). (From meissner). +Thu Nov 26 11:23:48 1998 Dave Brolley <brolley@cygnus.com> -Tue Sep 24 19:05:08 1996 Ian Lance Taylor <ian@cygnus.com> + * config/tc-fr30.c (md_pcrel_from_section): Restore previous calculation + of pcrel point. - * read.c (float_cons): Call md_flush_pending_output if it is - defined. +Tue Nov 24 17:21:52 1998 Nick Clifton <nickc@cygnus.com> -Tue Sep 24 12:22:18 1996 Martin M. Hunt <hunt@pizza.cygnus.com> + * config/tc-fr30.c (md_pcrel_from_section): Fix calculation of + pcrel point. - * config/tc-d10v.c (md_operand): Created. Allows operands to - start with '#'. - * config/tc-d10v.h (md_operand): Undefined. +Tue Nov 24 14:54:38 1998 Nick Clifton <nickc@cygnus.com> -Mon Sep 23 12:13:18 1996 Ian Lance Taylor <ian@cygnus.com> + * config/tc-d10v.c (md_assemble): Make static 'etype' have file + scope. + (d10v_cleanup): Only generate previous insn if a multiline insn is + not pending. - * config/tc-m68k.c (add_fix): Treat a width of '3' like 'B'. - (md_assemble): A fixup width of '3' means a 1 byte reloc. +Fri Nov 20 11:41:13 1998 Nick Clifton <nickc@cygnus.com> -Thu Sep 19 12:21:24 1996 Ian Lance Taylor <ian@cygnus.com> + * config/tc-fr30.c (md_cgen_lookup_reloc): Add support for + FR30_OPERAND_I32. - * config/obj-coff.c (fixup_segment): Don't adjust PC relative - reloc for the i960 for a reloc in the same section. This undoes - one of the two changes made Aug 19. +Thu Nov 19 15:01:29 1998 Nick Clifton <nickc@cygnus.com> -Wed Sep 18 12:11:58 1996 Ian Lance Taylor <ian@cygnus.com> + * config/tc-arm.c (md_parse_option): Add support for -marm7xxx and + -marm6xxx command line switches. - * config/obj-coff.c (obj_coff_endef): Both versions: Move C_STAT - symbols to the position of the debugging information. +1998-11-18 Doug Evans <devans@casey.cygnus.com> -Mon Sep 16 11:41:40 1996 Ian Lance Taylor <ian@cygnus.com> + * Makefile.am (DEP): Use $(srcdir)/../mkdep. + (itbl-ops.o): Delete duplicate dependencies. + Rebuild dependencies. + Add fr30 dependencies. + * Makefile.in: Rebuild. - * expr.c (expr): Always use unsigned right shifts for >>. +Tue Nov 17 13:42:42 1998 Nick Clifton <nickc@cygnus.com> -Thu Sep 12 10:25:45 1996 James G. Smith <jsmith@cygnus.co.uk> + * config/tc-fr30.c (md_cgen_lookup_reloc): Updated to match latest + opcode list. + * listing.c: Ignore line terminator characters found inside + strings. - * config/tc-arm.c (md_apply_fix3): Update two thumb instruction - slots when processing BL fixups. +Thu Nov 12 19:21:24 1998 Dave Brolley <brolley@cygnus.com> - * config/tc-arm.c (output_inst): Ensure Thumb BL fixup is marked - on the first half of the instruction. + * po/gas.pot: Regenerated. -Wed Sep 11 00:09:35 1996 Ian Lance Taylor <ian@cygnus.com> +Thu Nov 12 10:54:16 1998 Nick Clifton <nickc@cygnus.com> - * ecoff.c (ecoff_stab): Create an expression symbol for a complex - stabs expression, rather than giving an error. + * config/tc-fr30.c (fr30_is_colon_insn): New name for + fr30_is_label_start(). Also checks for delay slot insns. - * ecoff.c (ecoff_new_file): Don't do anything if we are still in - the same file. + * config/tc-fr30.c (fr30_is_label_start): New function: Handle + FR30 instructions which contain a colon in the mnemonic. -Tue Sep 10 11:45:37 1996 Ian Lance Taylor <ian@cygnus.com> + * config/tc-fr30.h (TC_START_LABEL): Define this macro. - * config/tc-mips.c (append_insn): Fill in the value for a constant - jump, rather than creating a reloc. +Wed Nov 11 09:58:21 1998 Nick Clifton <nickc@cygnus.com> -Mon Sep 9 10:57:42 1996 Ian Lance Taylor <ian@cygnus.com> + * config/tc-fr30.c: Removed currently superflous code. - * config/tc-mips.c (append_insn): Don't swap an instruction which - sets a condition code with an instruction which uses a condition - code. - (mips_ip): In cases 'N' and 'M', look for $fccN rather than an - immediate value. +Tue Nov 10 13:13:05 1998 Nick Clifton <nickc@cygnus.com> - * config/tc-mips.c (md_begin): Recognize r5000 for cpu. - (mips_ip): Give a better error message if the ISA level is wrong. - (md_parse_option): Recognize -mcpu=[v][r]5000. + * config/tc-fr30.h: New file. + * config/tc-fr30.c: Tweaking so that it will compile. -Sat Sep 7 13:25:55 1996 James G. Smith <jsmith@cygnus.co.uk> +Tue Nov 10 14:41:33 1998 Catherine Moore <clm@cygnus.com> - * config/tc-mips.c (COUNT_TOP_ZEROES): Added macro to count - leading zeroes. - (load_register): Ensure hi32 bits are not lost during lo32bit - processing. Fix shift offset that was overflowing into the next - instruction field. Add code to generate shorter sequences for - constants with a single contiguous seqeuence of ones. + * config/tc-d10v.h (obj_fix_adjustable): Define. + (TC_FORCE_RELOCATION): Define. + (d10v_force_relocation): Declare. + * config/tc-d10v.c (tc_gen_reloc): Handle Vtable relocs. + (md_apply_fix3): Handle Vtable relocs. + (d10v_fix_adjustable): New. + (d10v_force_relocation): New. -Fri Sep 6 17:07:12 1996 Martin M. Hunt <hunt@pizza.cygnus.com> +Mon Nov 9 14:25:06 1998 Nick Clifton <nickc@cygnus.com> - * config/tc-d10v.c (d10v_dot_word): New function to support - "@word" with the word pseudo-op. - (md_apply_fix3): Cleanup and changes to support correct sizes - for 16 and 18-bit relocs. + * config/tc-d30v.c: Change default behaviour to ignore potential + conflicts between register name and symbol names. -Fri Sep 6 16:00:29 1996 Doug Evans <dje@canuck.cygnus.com> +Wed Nov 4 18:42:00 1998 Dave Brolley <brolley@cygnus.com> - * configure.in (sparc-*-aout): Set `em'. + * configure.in: Add fr30-*-*. + * config/tc-fr30.c: New file. + * Makefile.in: Regenerated. + * config.in: Regenerated. * configure: Regenerated. - * config/te-sparcaout.h: New file. - * config/tc-sparc.h (TARGET_BYTES_BIG_ENDIAN): Define. - Ifdef TE_SPARCOUT define TARGET_FORMAT and SPARC_BIENDIAN. - * config/tc-sparc.c (INSN_BIG_ENDIAN): New macro. - (SPECIAL_CASE_{SETSW,SETX}): Define. - ({NOP,OR,FMOVS,SETHI,SLLX,SRA}_INSN): Define. - (md_begin): Delete setting of `target_big_endian'. - (output_insn): New function. - (md_assemble): Rewrite. Add `setx' support. - (sparc_ip): Handle `0' operand char. Recognize setuw, setsw, setx - special cases. - (md_atof): Add little endian support. - (md_number_to_chars): Likewise. - (md_apply_fix): Likewise. - (md_longopts): Recognize -EL,-EB ifdef SPARC_BIENDIAN. - (md_parse_option): Likewise. - (md_show_usage): Print -EL, -EB ifdef SPARC_BIENDIAN. + * doc/Makefile.in: Regenerated. + * po/gas.pot: Regenerated. -Thu Sep 5 13:40:29 1996 Ian Lance Taylor <ian@cygnus.com> +Mon Nov 2 20:54:16 1998 Doug Evans <devans@canuck.cygnus.com> - * ecoff.c (ecoff_new_file): New function. - * ecoff.h (ecoff_new_file): Declare. - * config/obj-ecoff.h (obj_app_file): Define. + * config/tc-m32r.c (assemble_two_insns): Ensure both insns + are 16 bit insns. -Thu Sep 5 13:39:25 1996 Richard Henderson <rth@tamu.edu> +Mon Nov 2 20:10:18 1998 Martin von Loewis <loewis@informatik.hu-berlin.de> - * config/tc-alpha.c (load_expression): Bias the .lit8 section - symbol by 32k so that our 16-bit signed offset can address the - entire chunk. Reported by <matt@lkg.dec.com>. + * app.c (do_scrub_begin): Set characters above 127 to be symbol + characters. + (do_scrub_chars): Add some casts to unsigned char to avoid + unwanted sign extension. + * read.c (lex_type): Set characters about 127 to be symbol + characters. + * config/tc-i386.c (md_begin): Set identifier_chars and + operand_chars for values above 127. -Wed Sep 4 10:23:20 1996 Ian Lance Taylor <ian@cygnus.com> +Mon Nov 2 15:05:33 1998 Geoffrey Noer <noer@cygnus.com> - * config/tc-mips.c (load_register): Remove unused variable tmp. + * configure.in: detect cygwin* instead of cygwin32* + * configure: regenerate -Wed Sep 4 11:24:29 1996 James G. Smith <jsmith@cygnus.co.uk> +Tue Oct 27 13:18:40 1998 Nick Clifton <nickc@cygnus.com> - * config/tc-mips.c (load_register): Remove unnecessary code that - was causing the high 32bits of 64bit constants to be lost. - -Tue Sep 3 13:52:56 1996 Martin M. Hunt <hunt@pizza.cygnus.com> - - * config/tc-d10v.c: Added changes to support function - pointers and "@word" syntax. + * listing.c: Add support for producing a listing from piped + input. -Tue Sep 3 11:57:18 1996 Jeffrey A Law (law@cygnus.com) - - * config/tc-v850.c: Remove commented out and #if 0'd code. - (v850_reloc_prefix): Provide prototype. - (postfix, get_reloc, build_insn): Remove prototypes for nonexistant - functions. - (md_begin, md_assemble, md_apply_fix3): Remove unused variables. - (md_assemble): Add default to case statement. +Tue Oct 27 08:56:44 1998 Gavin Romig-Koch <gavin@cygnus.com> -Sat Aug 31 16:03:00 1996 Jeffrey A Law (law@cygnus.com) + * config/tc-mips.c (hilo_interlocks): Remove mips_3900. + (append_insn): Account for the tx39's multiply behavior. - * config/tc-v850.c (md_assemble): Compute size of the instrction - from the opcode. +1998-10-26 Michael Meissner <meissner@cygnus.com> - * config/tc-v850.c (md_apply_fix3): Do simple byte, short and - word fixups too. + * config/tc-m32r.c (assemble_two_insns): Rename assemble_two_insns + from assemble_parallel_insns. Add support for '->' to indicate + explicitly serializing the instructions. + (md_assemble): Ditto. -Fri Aug 30 23:50:08 1996 Jeffrey A Law (law@cygnus.com) +Sat Oct 24 15:12:19 1998 Catherine Moore <clm@cygnus.com> - * config/tc-v850.c (md_apply_fix3): Use little endian get/put - routines to fetch/store the updated instruction from/to memory. - (v850_insert_operand): If the operand has a specialized insert - routine, call it. + * config/tc-sh.c (sh_fix_adjustable): Adjust EXTERN and + WEAK handling. -Fri Aug 30 18:35:26 1996 J.T. Conklin <jtc@hippo.cygnus.com> +Thu Oct 22 12:41:33 1998 Catherine Moore <clm@cygnus.com> - * config/tc-v850.c (reg_name_search): Align calling convention to - be like identical function found in tc-ppc.c. - (get_reloc): Removed. - (v850_reloc_prefix): New function, parse lo(), hi() and hi0(). - (md_assemble): emit fixups. - (md_pcrel_from): renamed from md_pcrel_from_section, emit proper - displacement. - (md_apply_fix3): handle fixups/relocs. - * config/tc-v850.h (MD_PCREL_FROM_SECTION): Removed definition. - -Fri Aug 30 18:12:00 1996 Ian Lance Taylor <ian@cygnus.com> - - Add SH ELF support. - * configure.in (sh-*-elf*): New target. - * config/tc-sh.h (TARGET_ARCH): Define. - (WORKING_DOT_WORD): Define. - (TC_COFF_FIX2RTYPE): Only define if OBJ_COFF. - (BFD_ARCH, COFF_MAGIC, TC_COUNT_RELOC): Likewise. - (TC_RELOC_MANGLE, tc_coff_symbol_emit_hook): Likewise. - (DO_NOT_STRIP, NEED_FX_R_TYPE, TC_KEEP_FX_OFFSET): Likewise. - (TC_COFF_SIZEMACHDEP, tc_frob_file): Likewise. - (SUB_SEGMENT_ALIGN): Likewise. - (RELOC_32): Don't define. - (tc_frob_file_before_adjust): Define if BFD_ASSEMBLER. - (target_big_endian): Declare if OBJ_ELF. - (TARGET_FORMAT): Define if OBJ_ELF. - * config/tc-sh.c: Use BFD reloc codes instead of SH COFF reloc - numbers throughout. - (tc_crawl_symbol_chain): Only define if OBJ_COFF. - (tc_headers_hook, tc_coff_sizemachdep): Likewise. - (struct sh_count_relocs): Define. - (sh_count_relocs): New static function, broken out of - sh_frob_file. Add BFD_ASSEMBLER code. - (sh_frob_section): Likewise. - (sh_frob_file): Call sh_frob_section. - (md_convert_frag): If BFD_ASSEMBLER, change type of headers, and - call section_symbol rather than seg_info (seg)->dot. - (md_section_align): Add OBJ_ELF version. - (SWITCH_TABLE_CONS): Define. - (SWITCH_TABLE): Use SWITCH_TABLE_CONS. - (md_apply_fix): Change parameter types if BFD_ASSEMBLER. Only - handle fx_r_type == 0 if not BFD_ASSEMBLER. Return 0 if - BFD_ASSEMBLER. - (struct reloc_map): Define if not BFD_ASSEMBLER. - (coff_reloc_map): Likewise. - (sh_coff_reloc_mangle): Use coff_reloc_map to convert fx_r_type. - (tc_gen_reloc): New function if BFD_ASSEMBLER. - * write.c (write_relocs): Ifdef out fx_where test which triggers - inappropriately for SH ELF. - (write_object_file): Call tc_frob_file_before_adjust and - obj_frob_file_before_adjust if they are defined. + * cgen.c (gas_cgen_md_apply_fix3): Revert last change. - * write.c (write_object_file): Use BFD_RELOC_16, not - BFD_RELOC_NONE, when calling fix_new_exp for a broken word. +Thu Oct 22 10:03:15 1998 Ron Unrau <runrau@cygnus.com> - * read.c (emit_expr): Fix conversion of byte count to BFD reloc - code. + * config/tc-mips.c : support frame and regmask/fregmask when + MIPS_STABS_ELF is specified. -Fri Aug 30 14:47:38 1996 Martin M. Hunt <hunt@pizza.cygnus.com> +Wed Oct 21 11;34:51 1998 Catherine Moore <clm@cygnus.com> - * config/tc-d10v.c (find_opcode): Fix problem with calculating - branch sizes in across sections. + * config/tc-sh.c (sh_fix_adjustable): Only include if OBJ_ELF. + (md_apply_fix): Don't return 1 for VTABLE relocs. + * config/tc-sh.h (obj_fix_adjustable): Define only if OBJ_ELF. -Fri Aug 30 00:44:13 1996 Jeffrey A Law (law@cygnus.com) +Tue Oct 20 11:18:28 1998 Alan Modra <alan@spri.levels.unisa.edu.au> - * config/tc-850.c (md_assemble): Handle hi() correctly. Handle - hi0() too. + * doc/c-i386.texi: Replace occurences of "opcode" with + "instruction mnemonic", "instruction", or "mnemonic" when + referring to the name of an instruction. Use "opcode" when + referring to the sequence of machine bytes. -Wed Aug 28 23:11:08 1996 Jeffrey A Law (law@cygnus.com) + * config/tc-i386.c (opcode_chars): Rename to mnemonic_chars. + (is_opcode_char): Rename to is_mnemonic_char. + (md_assemble and i386_operand): Correct error messages from + "opcode" to "instruction mnemonic" + Rename throughout opcode[] -> mnemonic[], opp -> mnem_p, + MAX_OPCODE_SIZE -> MAX_MNEM_SIZE, + DWORD_OPCODE_SUFFIX -> DWORD_MNEM_SUFFIX, + WORD_OPCODE_SUFFIX -> WORD_MNEM_SUFFIX, + BYTE_OPCODE_SUFFIX -> BYTE_MNEM_SUFFIX, + SHORT_OPCODE_SUFFIX -> SHORT_MNEM_SUFFIX + LONG_OPCODE_SUFFIX -> LONG_MNEM_SUFFIX - * config/tc-v850.c (md_begin): Deal with end of opcode - table marker. + * config/tc-i386.h (*_MNEM_SUFFIX): Rename from *_OPCODE_SUFFIX. -Wed Aug 28 19:20:04 1996 Martin M. Hunt <hunt@pizza.cygnus.com> + * config/tc-i386.c (i386_operand): Check for garbage after + register name. - * config/tc-d10v.c (find_opcode): Fix a bug which could generate - the wrong opcode for cases like st2w where there are many forms - of the same instruction. +Tue Oct 20 10:49:42 1998 Ian Lance Taylor <ian@cygnus.com> -Tue Aug 27 13:53:22 1996 Ian Lance Taylor <ian@cygnus.com> + * config/tc-i386.c (md_apply_fix3): Change handling of PCREL reloc + for BFD_ASSEMBLER to only change value when COFF if TE_PE. - * expr.c (operand): If md_parse_name is defined, call it before - calling symbol_find_or_make. - * config/tc-ppc.h (md_parse_name): Define. - (ppc_parse_name): Declare. - * config/tc-ppc.c (reg_name_search): Add regs and regcount - parameters. - (register_name): Update call to reg_name_search. - (cr_operand): New static variable. - (cr_names): New static const array. - (ppc_parse_name): New function. - (md_assemble): If PPC_OPERAND_CR is set in the operand flags, set - cr_operand before calling expression. +Mon Oct 19 20:20:42 1998 Catherine Moore <clm@cygnus.com> -Tue Aug 27 09:05:50 1996 Jeffrey A Law (law@cygnus.com) + * config/tc-sh.h (obj_fix_adjustable): Define. + * config/tc-sh.c (sh_force_relocation): Handle VT relocs. + (md_apply_fix): Likewise. + (tc_gen_reloc): Likewise. + (sh_fix_adjustable): New. - * config/tc-hppa.c (tc_gen_reloc): Add new argument to - hppa_gen_reloc_type call. +Mon Oct 19 12:35:43 1998 Doug Evans <devans@seba.cygnus.com> -Mon Aug 26 18:24:51 1996 Martin M. Hunt <hunt@pizza.cygnus.com> + * cgen.c (gas_cgen_finish_insn): Update handling of CGEN_INT_INSN_P. + * cgen.h (gas_cgen_finish_insn): Update prototype. + * config/tc-m32r.c (m32r_insn): CGEN_INT_INSN -> CGEN_INT_INSN_P. + cgen_insn_t -> CGEN_INSN_INT. + (make_parallel): Update handling of CGEN_INT_INSN_P. + (assemble_parallel_insn): Ditto. + (target_make_parallel): New function. + (md_assemble): Use it. - * config/tc-d10v.c: Fixed ".word". Fixed problem with range checking - on addresses. Improved error messages. - * doc/c-d10v.texi: Added docs for register pairs. +Mon Oct 19 13:16:12 1998 Catherine Moore <clm@cygnus.com> -Mon Aug 26 13:39:27 1996 Martin M. Hunt <hunt@pizza.cygnus.com> + * config/tc-m32r.c (m32r_force_relocation): Fix typo. - * config/tc-d10v.c (parallel_ok): Fix bug in parallel - checking code. +Sun Oct 18 18:48:57 1998 Jeffrey A Law (law@cygnus.com) -Mon Aug 26 14:38:22 1996 Ian Lance Taylor <ian@cygnus.com> + * config/tc-sh.c (md_assemble): Make sure the entire opcode is + converted into lower case. - * ecoff.c (init_file): Initialize fMerge to 1. - (add_file): Restore old file merging code, but only merge files if - fMerge is set. - (ecoff_directive_loc): Clear fMerge field of current file. - (ecoff_generate_asm_lineno): Likewise. +Fri Oct 16 13:36:34 CDT Catherine Moore <clm@cygnus.com> -Fri Aug 23 11:40:47 1996 Martin M. Hunt <hunt@pizza.cygnus.com> + * cgen.c (gas_cgen_md_apply_fix3): Handle VTABLE relocs. + (gas_cgen_tc_gen_reloc): Likewise. + * config/tc-m32r.h (obj_fix_adjustable): Define. + * config/tc-m32r.c (m32r_fix_adjustable): New. + (m32r_force_relocation): Handle VTABLE relocs. - * doc/c-d10v.texi: Fix typo. +Wed Oct 14 11:33:38 1998 Nick Clifton <nickc@cygnus.com> -Fri Aug 23 10:41:32 1996 Jeffrey A Law (law@cygnus.com) + * doc/c-arm.texi (ARM Directives): Document .ltorn directive. - * config/tc-v850.c (md_assemble): Correct bit masking for - hi and lo expressions. +Mon Oct 12 11:07:21 1998 Nick Clifton <nickc@cygnus.com> - * config/tc-v850.c (md_assemble): Rough cut at demanding - "ep" or "r30" in sst and sld instructions. - (md_apply_fix3): Don't abort. Just warn that we don't - have relocs yet. + * config/tc-m32r.c (assemble_parallel_insn): Convert second opcode + to lower case before parsing. - * config/tc-v850.c (CC_NAME_CNT): Define. - (cc_name): New function. - (md_assemble): Handle V850_OPERAND_CC correctly. + * config/tc-d30v.c (parallel_ok): Ignore conflicts when explicitly + parallel insns modift buts in the PSW as a side effect. - * config/tc-v850.c (md_assemble): Don't forget to initialize - "insn"! +Thu Oct 8 10:18:33 1998 Nick Clifton <nickc@cygnus.com> - * config/tc-v850.c (reg_name_search): Generalize to search - any given register table. - (register_name): Pass appropriate table and size to reg_name_search. - (system_register_name): New function. - (SYSREG_NAME_CNT): Define. - (md_assemble): Handle operands which are system registers. + * config/tc-d30v.c (find_format): Test for missing flag and + control registers. - * config/tc-v850.c (md_assemble): If we find a register, but the - opcode doesn't want a register, then we don't have a match. - (md_assemble): Get size of the instruction from the opcode table. - -Thu Aug 22 10:20:30 1996 Ian Lance Taylor <ian@cygnus.com> - - * configure.in: Set and substitute HLDENV. - * configure: Rebuild. - * Makefile.in (HLDENV): New variable. - (as.new): Use $(HLDENV). - - * ecoff.c (ecoff_directive_endef): Avoid a division by zero error - if an array dimension is not known. - -Thu Aug 22 10:50:00 1996 Martin M. Hunt <hunt@pizza.cygnus.com> + (md_apply_fix3): Fix error messages to avoid + assumption about presence of a symbol. - * config/tc-d10v.c: Fix a reloc bug caused by my last change. - * doc/c-d10v.texi: Cleanup. - -Tue Aug 20 15:15:16 1996 J.T. Conklin <jtc@hippo.cygnus.com> + (parallel_ok): Disallow parallel instructions that both modify the + same flag register. - * config/tc-v850.c: New file. - * config/tc-v850.h: New file. - * configure (v850-*-elf): New target. - * configure.in (v850-*-elf): New target. - -Wed Aug 21 15:50:54 1996 Martin M. Hunt <hunt@pizza.cygnus.com> + (find_format): Generate a warning if an odd numbered register is + used as the first register in a mutli-register instruction. - * doc/c-d10v.texi: New file. - * doc/all.texi: Added D10V stuff. - * doc/as.texinfo: Added D10V stuff. +Wed Oct 7 14:09:14 1998 Nick Clifton <nickc@cygnus.com> -Tue Aug 20 14:10:02 1996 Martin M. Hunt <hunt@pizza.cygnus.com> + * config/tc-d30v.c (md_apply_fix3): Do not assume that bad + relocations are always associated with a symbol. - * config/tc-d10v.c: All references to defined symbols should - now use the optimal instruction. .float and .double now work. +Tue Oct 6 09:31:15 1998 Catherine Moore <clm@cygnus.com> -Mon Aug 19 14:41:36 1996 Ian Lance Taylor <ian@cygnus.com> + * tc-sparc.h (TC_FORCE_RELOCATION): Define. + (elf32_sparc_force_relocation): Declare. + * tc-sparc.c (md_apply_fix3): Handle vtable relocs. + (tc_gen_reloc): Handle vtable relocs. + (elf32_sparc_force_relocation): New. - * config/obj-coff.c (fixup_segment): Adjust PC relative reloc by - section address for the i960 as is done for the i386. +Mon Oct 5 09:25:32 1998 Catherine Moore <clm@cygnsu.com> -Thu Aug 15 16:37:59 1996 Stan Shebs <shebs@andros.cygnus.com> + * symbols.c (S_IS_FUNCTION): New. + * config/tc-v850.h (obj_fix_adjustable): Define. + (TC_FORCE_RELOCATION): Define. + (v850_force_relocation): Declare. + * config/tc-v850.c (tc_gen_reloc): Use offset instead + of fx_addnumber for VTABLE reloc addends. + (md_apply_fix3): Handle VTABLE relocs. + (v850_fix_adjustable): New. + (v850_force_relocation): New. - * mpw-config.in: Add wildcards for config matching, add mips-*-* - case, forward-include bfd/elf-bfd.h. +Mon Oct 5 00:48:52 1998 Jeffrey A Law (law@cygnus.com) -Thu Aug 15 13:24:30 1996 Martin M. Hunt <hunt@pizza.cygnus.com> + * tc-hppa.c (fp_operand_format): Add some additional formats. + (pa_ip): Do not automatically promote into pa2.0 mode. + (pa_level): Handle ".level 2.0". - * config/tc-d10v.c: Add additional information to the opcode - table to help determinine which instructions can be done - in parallel. +Sun Oct 4 20:57:43 1998 Alan Modra <alan@spri.levels.unisa.edu.au> -Thu Aug 15 17:01:31 1996 James G. Smith <jsmith@cygnus.co.uk> + * config/tc-i386.c (md_assemble): Handle AMD_3DNOW_OPCODE. + * config/tc-i386.h (template.extension_opcode): Change to + unsigned int to allow full range of 8-bit opcode suffixes. + (None): Redefine as 0xffff. - * config/tc-arm.c: Major changes to add Thumb support, with lots - of change input from <rearnsha@armltd.co.uk>. - Reverted to INSN_SIZE macro, rather than insn_size variable. - (insns): Added ARM "bx" instruction support. - (tinsns): Added Thumb instruction definition structure. - (arm_tops_hsh): Added hash structure for Thumb opcodes. - (md_pseudo_table): Added ".arm", ".thumb" and ".code" pseudo-ops. - (opcode_select,s_arm,s_thumb,s_code): Added. - (decode_shift): Allow upper-case RRX. - (do_ldst): Simpler halfword support. - (do_ldmstm): Improved. - (reg_list, do_bx, thumb_reg, thumb_add_sub, thumb_shift, - thumb_mov_compare, thumb_load_store, do_t_arit, do_t_add, - do_t_asr, do_t_branch, do_t_bx, do_t_compare, do_t_ldmstm, - do_t_ldrb, do_t_ldrh, do_t_lds, do_t_lsl, do_t_lsr, do_t_mov, - do_t_push_pop, do_t_str, do_t_strb, do_t_strh, do_t_sub, do_t_swi, - do_t_adr): Added. - (md_apply_fix3): Add support for BFD_RELOC_ARM_THUMB_* relocations. - (md_parse_option): Add support for -mthumb. - (md_show_usage): Updated to reflect new command line option. - (arm_data_in_code, arm_canonicalize_symbol_name): Added. - * config/tc-arm.h: Provide TC_FIX_TYPE to allow private ARM - fragment information to be held. + From Jeff B Epler <jepler@usgs.gov> + * doc/c-i386.texi (i386-SIMD): New section. -Thu Aug 15 16:12:00 1996 Richard Earnshaw (rearnsha@armltd.co.uk) +Thu Oct 1 15:37:54 1998 Richard Henderson <rth@cygnus.com> - * tc-arm.c (md_apply_fix3): Also set fixP->fx_done if fx_addsy is - non-null, but is a constant. - (fix_new_arm): Call make_expr_symbol to make the expression symbol - so that error reporting will work correctly. + * read.c (discard_rest_of_line): New function. + * read.h: Declare it. + * config/tc-alpha.c (s_alpha_mask, s_alpha_frame): Use it. -Wed Aug 14 10:37:21 1996 Ian Lance Taylor <ian@cygnus.com> +Thu Oct 1 10:33:53 1998 Nick Clifton <nickc@cygnus.com> - * config/tc-i386.c (tc_i386_fix_adjustable): Don't adjust relocs - against weak symbols. + * config/tc-d10v.c (find_symbol_matching_register): New function. + (find_opcode): Cope with the case where a register name matches + a symbol name. -Tue Aug 13 17:39:24 1996 Ian Lance Taylor <ian@cygnus.com> +Wed Sep 30 10:52:32 1998 Nick Clifton <nickc@cygnus.com> - * config/tc-ppc.h (TC_FORCE_RELOCTION): Define if OBJ_XCOFF. - (ppc_force_relocation): Declare if OBJ_XCOFF. - * config/tc-ppc.c (ppc_force_relocation): New function if - OBJ_XCOFF. + * config/tc-v850.c (md_pcrel_from): Rename to + v850_pcrel_from_section. + (v850_pcrel_from_section): Do not resolves symbols in other + sections. -Mon Aug 12 16:49:43 1996 Ian Lance Taylor <ian@cygnus.com> + * config/tc-v850.h (MD_PCREL_FROM_SECTION): Define. - * config/tc-mips.h (BYTE_ORDER): Don't define. No longer used. +Mon Sep 28 11:01:20 1998 Nick Clifton <nickc@cygnus.com> -Fri Aug 9 17:48:28 1996 Martin M. Hunt <hunt@pizza.cygnus.com> + * config/tc-d10v.c (find_opcode): Generate an error if a register + is supplied for an operand that should not be a register. - * config/tc-d10v.c: Fix problem with relocs. +Fri Sep 25 10:04:21 1998 Nick Clifton <nickc@cygnus.com> -Fri Aug 9 14:16:14 1996 Ian Lance Taylor <ian@cygnus.com> + * config/tc-d30v.c (write_2_short): But do allow delayed branch + instructions to have another instruction in the right bin. - * config/tc-sh.c (sh_do_align): If not BFD_ASSEMBLER, always align - with nops if not in data_section or bss_section. +Thu Sep 24 09:28:34 1998 Nick Clifton <nickc@cygnus.com> -Thu Aug 8 12:32:56 1996 Klaus Kaempf <kkaempf@progis.de> + * config/tc-d30v.c (write_2_short): Do not allow instructions in + the right container if the left container holds a branch + instruction. - Add support for openVMS/Alpha. - * as.h (PRINTF_LIKE): Don't define if VMS, for now. - * config/obj-evax.c: New file. - * config/obj-evax.h: New file. - * config/tc-alpha.c: Add support for EVAX format if OBJ_EVAX is - defined. - * config/tc-alpha.h: Add support for EVAX format if OBJ_EVAX is - defined. Add case for bfd_target_evax_flavour. - * config/vms-a-conf.h: New file. - * conf-a-gas.com: New file. - * configure.in: Add target alpha-*-*vms*. - * configure: Rebuild. - * makefile.vms: New file. - * read.c (s_lcomm): Align bss_seg on 8 byte boundary if OBJ_EVAX. - Don't call ffs on openVMS/Alpha. - -Wed Aug 7 14:19:03 1996 Philippe De Muyter <phdm@info.ucl.ac.be> - - * configure.in: Make GAS_CHECK_DECL_NEEDED include <string.h> or - <strings.h> if they exist. Call GAS_CHECK_DECL_NEEDED on strstr - and sbrk. - * acconfig.h (NEED_DECLARATION_STRSTR): New macro. - (NEED_DECLARATION_SBRK): New macro. - * configure, conf.in: Rebuild. - * as.h: Only include <strings.h> if HAVE_STRINGS_H. - (strstr): Declare if NEED_DECLARATION_STRSTR. - * as.c: If HAVE_SBRK and NEED_DECLARATION_SBRK, declare sbrk. - -Wed Aug 7 11:50:26 1996 Ian Lance Taylor <ian@cygnus.com> - - * symbols.c (resolve_symbol_value): Handle addition or subtraction - by a constant before entering the main switch. Reject attempts to - apply an arithmetic function to non-absolute symbols, except for - the special case of subtraction of two symbols in the same - section. +Wed Sep 23 10:54:29 1998 Nick Clifton <nickc@cygnus.com> - * config/tc-mips.c (md_section_align): Do align if OBJ_ELF, but - not to more than a 16 byte boundary. + * config/tc-d30v.c (reg_name_search): Only warn if a name matches + both a register name and symbol name. + (find_format): Allow correct parsing of MVTSYS and MVFSYS insns. - * config/tc-i386.c (tc_gen_reloc): Accept all relocs; remove - #ifndef OBJ_ELF lines. From Eric Valette <valette@crf.canon.fr>. - (tc_gen_reloc): If out of memory call as_fatal rather than - assert. If no howto found, call as_bad_where rather than - as_fatal. Change the error message slightly. Set howto to a - non-NULL value in order to keep going. +Tue Sep 22 17:49:16 1998 Nick Clifton <nickc@cygnus.com> -Tue Aug 6 12:58:03 1996 Martin M. Hunt <hunt@pizza.cygnus.com> + * config/tc-d30v.c (write_2_short): Implement EITHER_BUT_PREFER_MU + execution unit class. - * config/tc-d10v.c: Added code to support 32-bit fixups for stabs. + (reg_name_search): If a name matches a register and a symbol, + prefer the register. + (find_format): Disallow flag registers when a general purpose + register is required. + If a number is required, but a register has been given, check to + see if a symbol with the same name as the register exists, and if + so, use that symbol. -Tue Aug 6 11:15:26 1996 Jeffrey A Law (law@cygnus.com) +Tue Sep 22 16:40:52 1998 Jim Wilson <wilson@cygnus.com> - * config/tc-h8300.c (get_specific): New operand "size" derived - from ".b", ".w" and ".l" extensions. All callers changed. If - the base instruction has no operands, then use the size to - determine which specific instruction to use. + * config/obj-elf.h (ECOFF_DEBUGGING): Add missing parens. -Mon Aug 5 14:21:10 1996 Ian Lance Taylor <ian@cygnus.com> +Tue Sep 22 15:44:21 1998 Nick Clifton <nickc@cygnus.com> - * config/tc-i960.c (mem_fmt): Call parse_expr before emit. + * config/tc-d30v.c (find_format): Do not accept flag registers as + general purpose registers. + (find_format): If an immediate value is expected at a given place + in a format, but a register name has been provided instead, check + to see if that register name matches the name of a predefined + symbol and if it does, then use the symbol instead. + (reg_name_search): If a register name matches a symbol name, + prefer the register name to the symbol name. -Fri Aug 2 11:23:31 1996 Ian Lance Taylor <ian@cygnus.com> +Mon Sep 21 10:42:57 1998 Nick Clifton <nickc@cygnus.com> - * config/tc-mips.c (md_section_align): Don't change addr if - OBJ_ELF. + * config/tc-m32r.c (m32r_do_align): After inserting NOPs, reset + the previous insn to empty. -Thu Aug 1 23:51:52 1996 Jeffrey A Law (law@cygnus.com) +1998-09-20 Michael Meissner <meissner@cygnus.com> - * config/tc-hppa.c: Revert yesterday's changes. - -Wed Jul 31 14:46:11 1996 Martin M. Hunt <hunt@pizza.cygnus.com> + * config/tc-ppc.c (md_apply_fix3): Do not break string into two + pieces, forcing the use of an ANSI compiler. - * config/tc-d10v.c: Disable range checking on 16-bit values. +Sun Sep 20 00:58:12 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> -Wed Jul 31 16:27:19 1996 Ian Lance Taylor <ian@cygnus.com> + * config/tc-m68k.h (TC_FORCE_RELOCATION): New macro. Force vtable + relocs. + * config/tc-m68k.c (md_apply_fix_2): Do nothing for vtable relocs. - * config/tc-m68k.c (m68k_ip): Set ok_arch for every instruction, - not just the ones that don't match. +Tue Sep 15 08:51:07 1998 Catherine Moore <clm@cygnus.com> + + * config/obj-elf.c (obj_elf_vtable_inherit): Handle arm + assembler syntax. + (obj_elf_vtable_entry): Likewise. + * config/tc-arm.h: Define TC_FORCE_RELOCATION for OBJ_ELF. + * config/tc-arm.c (md_apply_fix3): Handle VTABLE relocations. + (tc_gen_reloc): Likewise. + (arm_fix_adjustable): Likewise. + (elf32_arm_force_relocation): New. + (armelf_frob_symbol): Remove coff-style symbol support. -Wed Jul 31 11:45:15 1996 Martin M. Hunt <hunt@pizza.cygnus.com> +Wed Sep 9 11:27:16 1998 Richard Henderson <rth@cygnus.com> - * config/tc-d10v.c: Fixed bugs in short relocs and range checking. + * config/tc-i386.c (i386_operand): Fix typo in last patch. -Wed Jul 31 15:41:42 1996 James G. Smith <jsmith@cygnus.co.uk> +Tue Sep 8 18:10:01 1998 Catherine Moore <clm@cygnus.com> + + * config/tc-arm.c (arm_adjust_symtab): Move #ifdef + OBJ_COFF so that routine is defined for a.out format. - * config/tc-arm.c: Changed INSN_SIZE to variable insn_size, as - pre-cursor to adding Thumb support. Also added cpu_variant flag - information to each of the asm_flg structures. - (md_parse_option): Updated ARM7 parsing to allow 't' for - thumb/halfword support, aswell as 'm' for long multiply. - (md_show_usage): Updated help message. - (md_assemble): Check that instruction flags are applicated to the - current cpu variant. - (md_apply_fix3, tc_gen_reloc): Add BFD_RELOC_ARM_OFFSET_IMM8 and - BFD_RELOC_ARM_HWLITERAL relocation support for new halfword and - signextension instructions. - (do_ldst): Generate halfword and signextension variants if - mnemonic flags match. - (ldst_extend): Do not allow shifts in the offset field of halfword - or signextension instructions. - (validate_offset_imm): Provide check on halfword and signextension - immediate range. - (add_to_lit_pool): Merge identical literal pool values. +Tue Sep 8 15:56:19 1998 Richard Henderson <rth@cygnus.com> -Tue Jul 30 14:28:23 1996 Jeffrey A Law (law@cygnus.com) + * config/tc-i386.c (i386_operand): Detect non-segment registers + used as segment prefixes. - * config/tc-hppa.c (selector_table): Add 'E' selector. - (cons_fix_new_hppa): Don't coke on e_esel. - (tc_gen_reloc, SOM version): Handle R_COMP2 when used - to help generate exception handling tables. - (md_apply_fix): Don't try to apply fixups with an e_esel - selector. - (hppa_fix_adjustable): Fixups with e_esel selectors - are not adjustable. +Sat Sep 5 19:00:38 1998 Ian Lance Taylor <ian@cygnus.com> -Tue Jul 30 15:51:41 1996 Ian Lance Taylor <ian@cygnus.com> + * ehopt.c (check_eh_frame): Check the size of the FDE, and don't + optimize across FDE boundaries. - * config/tc-sparc.c (md_pseudo_table): Add 2byte, 4byte, and 8byte - pseudo-ops. + * config/obj-coff.c (obj_coff_section): Preserve any link once + flags when setting the section flags. -Fri Jul 26 11:43:03 1996 Martin M. Hunt <hunt@pizza.cygnus.com> +Fri Sep 4 17:07:14 1998 Nick Clifton <nickc@cygnus.com> - * config/tc-d10v.c: Added lots of error checking. Added hacks - to support accumulator shifts. - -Fri Jul 26 11:56:08 1996 Ian Lance Taylor <ian@cygnus.com> + * config/tc-arm.h (obj_adjust_symtab): Fixed typo. + * config/tc-arm.c (armelf_adjust_symtab): Reformatted. - * symbols.c (S_SET_EXTERNAL): Let .weak override. - (S_CLEAR_EXTERNAL): Likewise. - (S_SET_WEAK): Remove error; just let .weak override. +Fri Sep 4 13:57:43 1998 Jakub Jelinek <jj@sunsite.ms.mff.cuni.cz> -Thu Jul 25 15:22:51 1996 Martin M. Hunt <hunt@pizza.cygnus.com> + * config/tc-sparc.c (in_signed_range): Sign extend 32-bit words + to the host width. - * config/tc-d10v.c (md_assemble): Now handles multiline - instructions. +Wed Sep 2 11:31:14 1998 Richard Henderson <rth@cygnus.com> -Thu Jul 25 12:03:33 1996 Martin M. Hunt <hunt@pizza.cygnus.com> + * frags.c (frag_grow): Include the size of the frag struct in the + obstack chunk size. - * config/tc-d10v.c: Fix packaging bug. Added range checking. - Added kludge for divs instruction. Fixed minor problem with - multiple text sections. - * config/tc-d10v.h (d10v_cleanup): Change prototype. - -Tue Jul 23 10:49:36 1996 Martin M. Hunt <hunt@pizza.cygnus.com> + * subsegs.c (subseg_set_rest): Adjust the seginfo frchain start + if the new subseg comes before the old. - * config/tc-d10v.c (md_apply_fix3): Fix all instruction - addresses to be right-shifted by 2. +Tue Sep 1 15:01:33 1998 Jakub Jelinek <jj@sunsite.ms.mff.cuni.cz> -Mon Jul 22 11:32:36 1996 Martin M. Hunt <hunt@pizza.cygnus.com> + * config/tc-sparc.c (sparc_ip): Allow all digits in an instruction + to handle edge8 and edge16. - * config/tc-d10v.c: Many changes to get relocs working. - (register_name): No longer creates a symbol for register names. - (pre_defined_registers): moved to opcodes/d10v-opc.c. - (d10v_insert_operand): Now works correctly for either container. - * config/tc-d10v.h (d10v_cleanup): Declare. - -Mon Jul 22 14:01:33 1996 Ian Lance Taylor <ian@cygnus.com> - - * config/tc-mips.c (tc_gen_reloc): BFD_RELOC_PCREL_HI16_S and - BFD_RELOC_PCREL_LO16 are expected to be PC relative. - -Mon Jul 22 12:46:55 1996 Richard Henderson <rth@tamu.edu> - - * tc-alpha.c: Patches to track current minimum alignment to reduce - the number of fragments created with frag_align. - (alpha_current_align): New static variable. - (s_alpha_text): Reset alignment to 0. - (s_alpha_data, s_alpha_rdata, s_alpha_sdata): Likewise. - (s_alpha_stringer, s_alpha_space): New functions. - (s_alpha_cons, alpha_flush_pending_output): Remove functions. - (alpha_cons_align): New function to replace both of them. - (emit_insn): Only align if alpha_current_align is less than 2; - reset alpha_current_align to 2. - (s_alpha_gprel32): Likewise. - (s_alpha_section): New function. Basically duplicate the other - alpha section change hooks. Only define for ELF. - (s_alpha_float_cons): Simplify alignment handling. - (md_pseudo_table): Only define "rdata" and "sdata" if OBJ_ECOFF. - If OBJ_ELF, define "section", "section.s", "sect", and "sect.s". - Don't define the s_alpha_cons pseudo-ops. Do define - s_alpha_stringer and s_alpha_space pseudo-ops. - (alpha_align): Skip if less than current default alignment. Set - default alignment. - * tc-alpha.h (md_flush_pending_output): Remove. - (md_cons_align): Add. - - * tc-alpha.c: Add oodles of function description comments. - (md_bignum_to_chars): Remove; there are no callers. - (md_show_usage): Mention some more variants. - -Thu Jul 18 15:54:54 1996 Ian Lance Taylor <ian@cygnus.com> - - From Andrew Gierth <ANDREWG@microlise.co.uk>: - * configure.in (sparc-*-sysv4*): New target. - * configure: Rebuild. +Mon Aug 31 09:51:14 1998 Richard Henderson <rth@cygnus.com> - * config/tc-sparc.c (md_pseudo_table): Change uahalf, uaword, and - uaxword to use s_uacons. - (sparc_no_align_cons): New static variable. - (s_uacons): New static function. - (sparc_cons_align): If sparc_no_align_cons is set, just clear it - and return. + * config/obj-elf.c (obj_elf_vtable_inherit): Print error message + before we clobber the symbol involved. - * config/tc-sparc.c (s_common): Remove unused label allocate_bss. +Mon Aug 31 10:58:06 1998 Catherine Moore <clm@cygnus.com> - * configure.in: Add mips-*-irix6* target. Handle Irix 6 like Irix - 5 with regard to shared libraries. - * configure: Rebuild. + * config/tc-arm.c: Remove OBJ_ELF definitions for + S_GET_STORAGE_CLASS and S_SET_STORAGE_CLASS. Only + use arm_adjust_symtab for OBJ_COFF. + (armelf_adjust_symtab): New Routine. + * config/tc-arm.h: Define obj_adjust_symtab to + armelf_adjust_symtab for OBJ_ELF. + +Sat Aug 29 22:18:51 1998 Richard Henderson <rth@cygnus.com> - * config/tc-m68k.c (m68k_ip): Use the correct length when - allocating space for the unsupported architecture error message. + * configure.in: Make all i386-elf targets use bfd_gas. + * config/tc-i386.c (tc_i386_force_relocation): New. + (tc_i386_fix_adjustable): Don't fix vtable relocs. + (md_apply_fix3): Likewise. + (tc_gen_reloc): Handle them. + * config/tc-i386.h (TC_FORCE_RELOCATION): Always define, calling + tc_i386_force_relocation. -Thu Jul 18 12:57:10 1996 Michael Meissner <meissner@tiktok.cygnus.com> +Mon Aug 24 13:40:21 1998 Nick Clifton <nickc@cygnus.com> - * configure.in (d10v-*-*): Allow d10v-*-*, don't require d10v-*-elf*. + * config/tc-arm.c (md_show_usage): Improve formatting of --help output. -Wed Jul 17 14:25:13 1996 Martin M. Hunt <hunt@pizza.cygnus.com> +Fri Aug 21 18:43:48 1998 Nick Clifton <nickc@cygnus.com> - * config/tc-d10v.c: New file. - * config/tc-d10v.h: New file. - * configure (d10v-*-elf): New target. - * configure.in (d10v-*-elf): New target. + * config/tc-d30v.c (md_assemble): Copy previous opcode over + current opcode after writing the first insturction of a reverse + sequential pair. -Fri Jul 12 20:54:19 1996 Michael Meissner <meissner@tiktok.cygnus.com> +Fri Aug 21 07:30:35 1998 Doug Evans <devans@canuck.cygnus.com> - * config/tc-ppc.c (md_parse_option): Recognize -K PIC. + * read.h (generate_lineno_debug): Add prototype. + * read.c (generate_lineno_debug): Make non-static. -Wed Jul 10 12:39:08 1996 Richard Henderson <rth@tamu.edu> +Thu Aug 20 23:17:04 1998 Alan Modra <alan@spri.levels.unisa.edu.au> - * config/tc-alpha.c (alpha_align): Change fill parameter - to a pointer. Take NULL as 0 or nop depending on section. Change - all callers. - (s_alpha_align): Rename local variables. + * config/tc-i386.c (md_assemble): Only warn for address/data size + prefixes. - * doc/as.texinfo (.align): Document action of omitted - fill parameter. +Thu Aug 20 14:45:08 1998 Nick Clifton <nickc@cygnus.com> -Wed Jul 10 00:23:30 1996 Ian Lance Taylor <ian@cygnus.com> + * config/tc-arm.c (arm_fix_adjustable): Do not adjust relocations + against Thumb function names, as the linker needs this information. - * config/tc-ppc.c (md_apply_fix3): Give a useful error message - when an unsupported PC relative reloc is seen, rather than calling - abort. +1998-08-20 Vladimir N. Makarov <vmakarov@cygnus.com> - * app.c (do_scrub_chars): Remove not_cpp_line local variable. - Instead, check state when '#' comment is seen. + * expr.c (operand): Check also that there is no advance in operand + after atof_generic in order to decide "is it label 0f or floating + point number?". -Mon Jul 8 14:11:49 1996 Ian Lance Taylor <ian@cygnus.com> +Wed Aug 19 09:30:16 1998 Nick Clifton <nickc@cygnus.com> - * config/tc-mips.c (mips_regmask_frag): Only define if OBJ_ELF or - OBJ_MAYBE_ELF. - (tc_gen_reloc): If fixup was changed to be PC relative, change - reloc type accordingly. Use name of reloc in error message. + * config/tc-m32r.c: Replace double dash prefix to M32R specific + command line options with a single dash. + * doc/c-m32r.texi: Replace double dash prefix with a single dash. - * as.h: Don't define const or volatile. - * flonum.h: Don't define const. +Tue Aug 18 11:59:43 1998 Catherine Moore <clm@cygnus.com> - * config/tc-m68k.c (tc_gen_reloc): Change the code appropriately - if fx_pcrel is set. Correct setting the addend case in the - OBJ_ELF case (from Andreas Schwab - <schwab@issan.informatik.uni-dortmund.de>). - (md_show_usage): Correct -mfc5200 to -m5200. + * tc-arm.h: Define obj_fix_adjustable for OBJ_ELF. + * tc-arm.c (arm_fix_adjustable): New routine. -Fri Jul 5 10:32:58 1996 J.T. Conklin <jtc@rtl.cygnus.com> +1998-08-13 Vladimir N. Makarov <vmakarov@cygnus.com> - * doc/c-m68k.texi: Document -m5200 flag. - * doc/as.texinfo: Likewise. + * read.c (s_align, s_comm, s_mri_common, s_fail, s_globl, s_space, + s_float_space, s_struct, cons_worker): Move ignore_rest_of_line or + demand_empty_rest_of_line before mri_comment_end. + (equals): Check garbage after expression before + mri_comment_end in MRI mode. - * config/tc-m68k.c (m68k_ip): The coldfire does not support 8x - scale factor. +Thu Aug 13 15:08:42 1998 Ian Lance Taylor <ian@cygnus.com> -Fri Jul 5 11:07:24 1996 Ian Lance Taylor <ian@cygnus.com> + * config/tc-mips.c (macro): Correct M_SGE_I/M_SGEUI_I case for a + small immediate constant to use the constant itself rather than + always using 1. - * symbols.c (S_SET_EXTERNAL): Change as_warn to as_bad. - (S_CLEAR_EXTERNAL, S_SET_WEAK): Likewise. +Wed Aug 12 18:47:38 1998 Ian Lance Taylor <ian@cygnus.com> -Thu Jul 4 11:59:46 1996 Ian Lance Taylor <ian@cygnus.com> + * config/tc-hppa.c (pa_enter): Call as_bad rather than abort. + (pa_leave): Likewise. - * Makefile.in (VERSION): Set to cygnus-2.7.1. +Wed Aug 12 13:25:03 1998 Alan Modra <alan@spri.levels.unisa.edu.au> - * Released binutils 2.7. + * config/tc-i386.c (md_assemble): Emit a warning for stand-alone + prefixes. + (i386_operand): Fix an error message. -Thu Jul 4 10:11:33 1996 James G. Smith <jsmith@cygnus.co.uk> +Tue Aug 11 14:44:32 1998 Nick Clifton <nickc@cygnus.com> - * config/tc-mips.c (mips_ip): Only perform range check when - dealing with O_constant expressions. + * doc/c-arm.texi (ARM Directives): Document .req directive. -Wed Jul 3 15:02:21 1996 J.T. Conklin <jtc@rtl.cygnus.com> + * config/tc-arm.c (reg_required_here): Display erroneous string if + the register name could not be decoded. + Do not set inst.instruction if the sift is -1. - * m68k-parse.h (m68k_register): Add new coldfile control - registers. +Mon Aug 10 15:39:56 1998 Richard Henderson <rth@cygnus.com> - * config/tc-m68k.c (mcf5200_control_regs): New variable, - array of control registers for the coldfire. - (cpu_of_arch): Added mcf5200. - (archs): Added mcf5200. - (init_table): Add new control registers. - (m68k_ip): Added support for new control registers. - (m68k_init_after_args): Likewise. + * config/tc-alpha.c (tc_gen_reloc): Bias WEAK symbols just as + we do for EXTERN. - * config/tc-m68k.c (md_show_usage): Add -m5200 to usage text. +Mon Aug 10 15:06:18 1998 Nick Clifton <nickc@cygnus.com> -Wed Jul 3 16:05:50 1996 Ian Lance Taylor <ian@cygnus.com> + * config/tc-d30v.c (d30v_align): Always perform alignment request, + even if it is belived to be unnecessary. - * read.h (is_it_end_of_statement): Declare. - * read.c (is_it_end_of_statement): Remove declaration. +Mon Aug 10 17:48:09 1998 Alan Modra <alan@spri.levels.unisa.edu.au> - * config/tc-ppc.c (ppc_elf_suffix): Correct parenthesization of || - within &&. - (md_assemble): Fix handling of @l with an unsigned constant. Add - default case to reloc switch. + config/tc-i386.c (i386_operand): Size immediate constants by + suffix (erroneously removed as part of July 7 change). - * config/tc-i386.h (AOUT_MACHTYPE): Define as 0 if TE_386BSD. +Sun Aug 9 20:45:32 1998 Catherine Moore <clm@cygnus.com> - Based on patches from Tom Quiggle <quiggle@sgi.com>: - * ecoff.c (last_lineno): New static variable. - (add_procedure): Set last_lineno. - (ecoff_directive_loc): Likewise. - (ecoff_generate_asm_lineno): Likewise. - (ecoff_fix_loc): New function. - * ecoff.h (ecoff_fix_loc): Declare. - * config/tc-mips.c (append_insn): When inserting nops, and using - ECOFF debugging, call ecoff_fix_loc. + * config/obj-elf.h: Check for redefinition of obj_frob_symbol. + * config/tc-arm.c: Define S_GET_STORAGE_CLASS and S_SET_STORAGE_CLASS. + (armelf_frob_symbol): New Routine. + * config/tc-arm.h: Define obj_frob_symbol if OBJ_ELF. -Tue Jul 2 23:02:12 1996 Jeffrey A Law (law@cygnus.com) +Sat Aug 8 15:21:28 1998 Richard Henderson <rth@cygnus.com> - * config/tc-h8300.c (build_bytes): If an operand type is - marked as SRC_IN_DST retrieve it from the "destination" op. + * config/tc-alpha.c (alpha_fix_adjustable): Don't adjust weak syms. -Sat Jun 29 13:38:31 1996 Ian Lance Taylor <ian@cygnus.com> +Wed Aug 5 15:54:14 1998 Nick Clifton <nickc@cygnus.com> - * configure.in (arm-*-riscix*): Set emulation to riscix. - * configure: Rebuild. - * config/te-riscix.h: New file to define TE_RISCIX. + * config/tc-arm.c (md_begin): Set BFD private flags depending upon + command line switches passed to assembler. - * config/tc-sh.h (SUB_SEGMENT_ALIGN): Define. +Mon Aug 3 14:02:52 1998 Doug Evans <devans@seba.cygnus.com> -Fri Jun 28 15:14:31 1996 Ian Lance Taylor <ian@cygnus.com> - - * Makefile.in (config.status): Just run config.status as other - tools do. - -Fri Jun 28 11:09:38 1996 Stan Shebs <shebs@andros.cygnus.com> - - * mpw-config.in (TARGET_OS): Add definition to conf. + * cgen.h (GAS_CGEN_MAX_FIXUPS): GAS_ prepended, all uses updated. + (gas_cgen_opcode_desc): Declare. + (gas_cgen_parse_operand): Declare. + (*): Prepend gas_ to gas specific fns to denote them as such. + All uses updated. + * cgen.c (gas_cgen_opcode_desc): New global + (gas_cgen_init_parse): Renamed from cgen_asm_init_parse. + (queue_fixup): Renamed from cgen_queue_fixup. + (*): Prepend gas_ to gas specific fns to denote them as such. + All uses updated. + (gas_cgen_md_apply_fix3): Update call to insert_operand. + (gas_cgen_finish_insn): Renamed from cgen_asm_finish_insn. + * config/tc-m32r.c (md_begin): Remove use of CGEN_SYM. + Open opcode table and initialize it. + (make_parallel): Use gas_cgen_opcode_desc. + (assemble_parallel_insn): Ditto. Remove use of CGEN_SYM. + (md_assemble): Ditto. -Thu Jun 27 20:39:40 1996 James G. Smith <jsmith@cygnus.co.uk> +Sat Aug 1 19:27:30 1998 Richard Henderson <rth@cygnus.com> + + * as.h (debug_info_type): Add entries for unspecified and dwarf*. + * ecoff.c (ecoff_generate_asm_lineno): Take no arguments; call + as_where ourselves. Provide a stub for !ECOFF_DEBUGGING. + * ecoff.h: Move ECOFF_DEBUGGING protection inside GAS_ECOFF_H. + Move ecoff_generate_asm_lineno outside ECOFF_DEBUGGING protection. + * read.c (generate_lineno_debug): Tidy ECOFF bits. Use + DEBUG_UNSPECIFIED rather than DEBUG_NONE for initial test. + * config/obj-elf.h (ECOFF_DEBUGGING) [TC_ALPHA]: Define to a variable. + (SEPARATE_STAB_SECTIONS): Conditionalize on value of ECOFF_DEBUGGING. + (INIT_STAB_SECTION): Likewise. + (OBJ_PROCESS_STAB): Likewise. + + * config/tc-alpha.c (md_longopts): New options -mdebug/-no-mdebug. + (md_parse_option): Watch for them. + (alpha_cur_ent_sym, alpha_flag_mdebug): New variables. + (md_begin): Kill neverdef code. + (s_alpha_ent, s_alpha_end, s_alpha_mask, s_alpha_frame): New. + (s_alpha_prologue): Watch alpha_cur_ent_sym. + (s_alpha_coff_wrapper): New. + (md_pseudo_table): Trap all ECOFF pseudos. + +Fri Jul 31 16:45:54 1998 Ron Unrau <runrau@cygnus.com> + + Start of changes to remove mdebug section from mips*-elf + Based on MIPS_STAB_ELF definition + * acconfig.h: undef if not configured + * config.in: undef if not configured + * config/mips-elf.h: only set ECOFF debugging if not stabs-in-elf + * config/tc-mips.c (s_ent): set BSF_FUNCTION + * stabs.c (s_stab_generic): flush frag + +Fri Jul 31 16:14:45 1998 Catherine Moore <clm@cygnus.com> + + * configure.in: (arm-*-elf): Handle. + (thumb-*-elf): Handle. + * configure: Regenerate. + * read.c (stringer): Fix typo in comment. + * write.c (fixup_segment): Don't add symbol value to addend if + TC_ARM and OBJ_ELF. + * config/tc-arm.c (md_section_align): Don't align dwarf debug + sections. + (tc_gen_reloc): Always set the reloc addend to fixp->fx_offset + for OBJ_ELF. + +Thu Jul 30 21:38:43 1998 Frank Ch. Eigler <fche@cygnus.com> + + * config/tc-d30v.c ({cur,prev}_left_kills_right_p): New variables. + (write_2_short): Emit warning if new flag is set. + (do_assemble): Set flags if left instruction is one of special + "right-instruction-killer" type. + +Tue Jun 28 18:12:28 1998 Stan Cox <scox@cygnus.com> + + * config/tc-sparc.c (md_number_to_chars, cons_fix_new_sparc): + Always output words in debug_info section as big endian. + (sparc_target_format): Choose correct bfd target. + (md_apply_fix3): Rename BFD_RELOC_SPARC_32LE to BFD_RELOC_SPARC_REV32. + +Tue Jul 28 11:01:21 1998 Jeffrey A Law (law@cygnus.com) - * config/tc-mips.c (append_insn): Parenthesize - cop_interlocks expressions. + * config/tc-mn10300.c (md_assemble): Fix "errmsg" initialization + to work with internationalization code. Issue an error when two + operands match that are not allowed to match. -Thu Jun 27 12:18:26 1996 Ian Lance Taylor <ian@cygnus.com> +Mon Jul 27 16:25:58 1998 Doug Evans <devans@canuck.cygnus.com> - * listing.c (listing_print): Close the listing file if it is not - stdout. Close the other files opened for the listing. + * configure.in (install_tooldir): Allow target to specify whether + it wants to be installed in $(tooldir)/bin. + * configure: Regenerate. + * Makefile.am (install-exec-local): Set install-exec-tooldir + dependency via configure. + * Makefile.in: Regenerate. - * config/tc-sparc.h (md_cons_align): Define. - (sparc_cons_align): Declare. - (HANDLE_ALIGN): Define. - (sparc_handle_align): Declare. - * config/tc-sparc.c (sparc_cons_align): New function. - (sparc_handle_align): New function. - * read.c (cons_worker): Call md_cons_align if it is defined. +Fri Jul 24 19:58:59 1998 Doug Evans <devans@canuck.cygnus.com> - * as.h (struct frag): Add fr_file and fr_line fields. - * frags.c (frag_new): Set fr_file and fr_line. - (frag_var): Likewise. - (frag_variant): Likewise. + * Makefile.am (install-exec-local): Split into two ... + (install-exec-bindir,install-exec-tooldir): New rules. + * Makefile.in: Regenerate. - * as.h (struct frag): Remove unused align_mask and align_offset - fields. +Fri Jul 24 16:31:49 1998 Ian Lance Taylor <ian@cygnus.com> - * listing.c (calc_hex): Offset by fr_fix when examining fr_var. - From <uddeborg@carmen.se>. + * Makefile.am (install-exec-local): Don't remove the file before + checking whether $(bindir) == $(tooldir)/bin. From Maciej + W. Rozycki <macro@ds2.pg.gda.pl>. + * Makefile.in: Rebuild. -Wed Jun 26 13:21:34 1996 Ian Lance Taylor <ian@cygnus.com> +Fri Jul 24 09:13:46 1998 Doug Evans <devans@canuck.cygnus.com> - * configure.in (mips-*-osf*): New target. - * configure: Rebuild. + * cgen.c: Include libiberty.h. + (cgen_md_apply_fix3): Update call to md_cgen_lookup_reloc. + (cgen_tc_gen_reloc): Use xmalloc, not bfd_alloc. + * cgen.h (cgen_md_apply_fix3,cgen_tc_gen_reloc): Declare. + (md_cgen_lookup_reloc)): Declare. + (md_cgen_record_fixup_exp): Declare. + * config/tc-m32r.h (md_pcrel_from_section): Declare. + (m32r_relax_frag): Declare. + (cgen_md_apply_fix3): Decls moved to cgen.h. + (cgen_record_fixup_exp,cgen_tc_gen_reloc): Ditto. + (m32r_cgen_record_fixup_exp): Delete decl. + * config/tc-m32r.c (m32r_cpu_desc): #if 0 out. + (assemble_nop): Delete. + (expand_debug_syms): Delete unused `exp'. + (md_cgen_lookup_reloc): Renamed from CGEN_SYM (lookup_reloc). + Add default case for -Wall. + (m32r_cgen_record_fixup_exp): Add default case for -Wall. + (md_atof): Delete unused wordP. - * config/tc-m68k.c: Add 68ec060 as a synonym for 68060. +Thu Jul 23 13:19:50 1998 Jeffrey A Law (law@cygnus.com) -Wed Jun 26 16:23:08 1996 James G. Smith <jsmith@cygnus.co.uk> + * config/tc-mn10300.c (md_assemble): Make sure "errmsg" has a non-NULL + value. - * config/tc-mips.c: Added cop_interlocks, to avoid NOP insertion - between co-processor comparisons and branches for the VR4300. +Wed Jul 22 14:36:56 1998 Ian Lance Taylor <ian@cygnus.com> -Mon Jun 24 18:02:50 1996 Jason Molenda (crash@godzilla.cygnus.co.jp) + * doc/as.texinfo: Add documentation for .end, .exitm, .fail, + .ifc, .ifeqs, .ifge, .ifgt, .ifle, .iflt, .ifnc, .ifne, .ifnes, + .print, .purgem, and .struct. Remove documentation for + .app-file. - * Makefile.in (bindir, libdir, datadir, mandir, infodir, includedir, - INSTALL_PROGRAM, INSTALL_DATA): Use autoconf-set values. - (docdir): Removed. - * configure.in (AC_PREREQ): autoconf 2.5 or higher. - * doc/Makefile.in (bindir, libdir, datadir, mandir, infodir, - includedir): Use autoconf set values. - (docdir): Removed. +Tue Jul 21 16:50:52 1998 Doug Evans <devans@seba.cygnus.com> -Mon Jun 24 11:58:14 1996 Ian Lance Taylor <ian@cygnus.com> + * cgen.c (cgen_md_apply_fix3): set_operand renamed to set_vma_operand. + Update call to insert_operand. - * listing.c (listing_eject): Don't do anything if listing is 0. - (listing_list): Likewise. - (listing_source_line): Likewise. - (listing_title): Don't save title if listing is 0. - (listing_source_file): Check listing rather than listing_tail. +Fri Jul 17 11:42:20 1998 Nick Clifton <nickc@cygnus.com> - * configure.in: On alpha*-*-osf*, link against libbfd.a if not - using shared libraries. - * configure: Rebuild. + * config/tc-m32r.c (ms_show_usage): Formatting changes. -Fri Jun 21 18:22:23 1996 Ian Lance Taylor <ian@cygnus.com> +Wed Jul 15 15:38:28 1998 Ian Lance Taylor <ian@cygnus.com> - * config/tc-mips.c (mips_ip): In case 'i'/'j', don't require an - absolute expression if a relocation type was specified. + * config/tc-i386.c (md_assemble): Don't get confused by trailing + whitespace after a prefix operator. -Fri Jun 21 17:40:16 1996 Joel Sherrill <joel@merlin.gcs.redstone.army.mil> +Tue Jul 14 15:32:56 1998 Richard Henderson <rth@cygnus.com> - * configure.in: Add support for *-*-rtems* configurations. - * configure: Rebuild. + * configure.in (i386-*-beos{pe,elf,}*): Recognize. -Fri Jun 21 16:01:18 1996 Richard Henderson <rth@tamu.edu> - - * configure.in: Add alpha-*-linuxecoff* target. Use elf for - alpha-*-linux* target. Force bfd_gas for alpha-*. Require - opcodes library for alpha. - * configure: Rebuild with autoconf 2.10. - * config/tc-alpha.c: Substantial rewrite to add ELF support and - use new opcode table. - * config/tc-alpha.h (md_undefined_symbol): Don't define. - (LOCAL_LABEL): Define differently if OBJ_ELF. - (FAKE_LABEL_NAME): Define if OBJ_ELF. - * config/alpha-opcode.h: Remove. - * config/obj-elf.h: If TC_ALPHA, define ECOFF_DEBUGGING. - * Makefile.in (TARG_CPU_DEP_alpha): Depend upon - include/opcode/alpha.h rather than config/alpha-opcode.h. - -Thu Jun 20 19:10:28 1996 Ian Lance Taylor <ian@cygnus.com> - - * config/obj-aout.c (obj_emit_relocations): Give an error if the - relocation symbol was not resolved. - * config/obj-coff.c (do_relocs_for): Likewise. - - * write.c (adjust_reloc_syms): Refetch the symbol section after - calling S_GET_VALUE, since it may have changed. - - * expr.c (struct expr_symbol_line): Define. - (expr_symbol_lines): New static variable. - (make_expr_symbol): Add entry to expr_symbol_lines. - (expr_symbol_where): New function. - * expr.h: Use extern on function declarations. - (expr_symbol_where): Declare. - * symbols.c (resolve_symbol_value): Try to use expr_symbol_where - rather than printing the meaningless name of an expression - symbol. +Tue Jul 14 12:33:44 1998 Chris Torek <torek@bsdi.com> -Thu Jun 20 15:57:41 1996 Ken Raeburn <raeburn@cygnus.com> + * config/tc-sparc.c (log2): New static function. + (s_reserve): Use log2 to convert alignment before calling + record_alignment. + (s_common): Use log2 to convert alignment before calling + record_alignment and frag_align. + (sparc_cons_align): Use log2. - * config/tc-i386.c (md_number_to_chars): Deleted. - * config/tc-i386.h (md_number_to_chars): New macro. +Tue Jul 14 11:58:40 1998 Ian Lance Taylor <ian@cygnus.com> - * config/tc-alpha.c (build_operate_n, build_mem): Moved earlier in - the file. - (load_symbol_address, load_expression): Use build_mem. - (build_operate): New function. - (emit_addq_r): Use it. + * config/tc-sparc.c (s_reserve): Set symbol size if OBJ_ELF. + (s_common): Likewise. - Wed Mar 13 22:14:14 1996 Pat Rankin <rankin@eql.caltech.edu> + * config/tc-sparc.c (sparc_handle_align): Reindent a bit. Correct + initialization of waddr. + (sparc_elf_final_processing): Add default case to switch. - * symbols.c (colon): #if VMS, use S_SET_OTHER to store `const_flag'. +Tue Jul 14 11:00:16 1998 Alan Modra <alan@spri.levels.unisa.edu.au> - Tue Mar 5 14:31:45 1996 Pat Rankin <rankin@eql.caltech.edu> + * doc/c-i386.texi: Fix a typo. Use the term 80-bit real rather + than temporary real. - * config/tc-vax.h (NOP_OPCODE): Define. +Mon Jul 13 13:55:42 1998 Ian Lance Taylor <ian@cygnus.com> - Sun Feb 4 21:01:03 1996 Pat Rankin <rankin@eql.caltech.edu> + * write.c (subsegs_finish): Don't align the segments if there were + any errors. - * config/obj-vms.h (S_IS_COMMON): Define. - (S_IS_LOCAL): Check for \002 as well as \001. - (LONGWORD_ALIGNMENT): New macro. - (SUB_SEGMENT_ALIGN): Use it. + * config/obj-coff.c (c_symbol_merge): Correct number of bytes when + copying aux information. - Fri Jan 26 17:44:09 1996 Pat Rankin <rankin@eql.caltech.edu> + * expr.c (make_expr_symbol): Catch attempts to turn an O_big + expression into a symbol. - * config/vms-conf.h: Reconcile with conf.in. +Mon Jul 13 13:29:04 1998 Alan Modra <alan@spri.levels.unisa.edu.au> -Wed Jun 19 11:31:50 1996 Ian Lance Taylor <ian@cygnus.com> + * config/tc-i386.c (mode_from_disp_size): Change arg and return + type to unsigned int. + (md_assemble): Change type used to store offsets from unsigned + long to long. + (i386_operand): Switch error check to only call RESTORE_END_STRING + once after parse_register. - * write.c (is_dnrange): Only define if TC_GENERIC_RELAX_TABLE is - defined. +Fri Jul 10 16:00:04 1998 Nick Clifton <nickc@cygnus.com> - * doc/as.texinfo: Document that any number of hex digits can - follow \x. - - * as.c (struct defsym_list): Define. - (defsyms): New static variable. - (parse_args): Just put --defsym arguments on defsyms list, rather - than defining them. - (main): Define defsyms after output file is created. - - * config/tc-m68k.c (m68k_ip): Reject PRE and POST indexing mode on - cpu32. From Eric Norum <Eric.Norum@usask.ca>. - - * config/tc-mips.c (mips_ip): In cases 'I', 'i', and 'j', set - insn_error rather than calling check_absolute_expr. - - * as.c (emulation_name): Remove unused static variable. - (default_emul_bfd_name): Add return NULL to avoid warning. - * ecoff.c (ecoff_stab): Remove unused variables name and - name_end. - * frags.c (frag_new): Remove unused variable tmp. - * hash.c (hash_grow): Parenthesize + within <<. - (hash_print_statistics): Use %lu, not %d, to print unsigned - long variables. - * messages.c: Include "libiberty.h". - (fprint_value): Add cast to avoid printf warning. - (sprint_value): Likewise. - * read.c: Include "ecoff.h". - (emit_expr): Add casts to avoid printf warnings. - * read.h: Use extern for function declarations. - (pop_insert): Declare. - * stabs.c: Include "ecoff.h". - * subsegs.c (subseg_set_rest): Remove unused variables tmp, - former_last_fragP, and new_fragP. - * subsegs.h (subsegs_print_statistics): Declare. - * symbols.c (debug_verify_symchain): Change macro to discard - arguments. - * write.c (dump_section_relocs): Likewise. - * write.h: Use extern for function declarations. - (write_print_statistics): Declare. - * config/e-mipsecoff.c (mipsecoff_bfd_name): Return NULL to avoid - warning. - * config/e-mipself.c (mipself_bfd_name): Likewise. - * config/obj-elf.h (elf_ecoff_set_ext): Declare. + * config/tc-v850.c (md_show_usage): Changed format to match that + of gcc, ld, etc. - * config/tc-sparc.h (TC_RELOC_RTSYM_LOC_FIXUP): If OBJ_ELF, always - emit relocations against external symbols. + * as.c (show_usage): Changed format to match that of gcc, ld, etc. - * config/tc-alpha.c (tc_gen_reloc): Output a sensible error - message if bfd_reloc_type_lookup fails, rather than calling - assert. +Thu Jul 9 12:09:57 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> - * config/tc-alpha.c (alpha_force_relocation): Add - BFD_RELOC_12_PCREL to switch. + * config/tc-m68k.c (tc_m68k_fix_adjustable): Don't adjust vtable + relocs. + (md_apply_fix_2): Force the symbol of the vtable reloc to be + weak. -Tue Jun 18 20:29:57 1996 Doug Evans <dje@canuck.cygnus.com> +Thu Jul 9 11:31:54 1998 Ian Lance Taylor <ian@cygnus.com> - * config/tc-i386.h (LOCAL_LABEL,FAKE_LABEL_NAME): Use defaults for - TE_PE (Lfoo, not .Lfoo). + * doc/Makefile.am (MAINTAINERCLEANFILES): Define. + * doc/Makefile.in: Rebuild. -Tue Jun 18 17:13:33 1996 Ian Lance Taylor <ian@cygnus.com> +Wed Jul 8 12:18:56 1998 Jeffrey A Law (law@cygnus.com) - * read.c (s_fill): Don't warn about a zero repeat count. + * config/tc-mips.c (mips_ip, case 'i' and 'j'): Mask off high bits + for %lo expressions. + (mips_ip, case 'u'): Move range check after code to mask + off bits in %hi/%lo expressions. Mask off high bits for + %lo expressions. - * config/tc-mips.c (mips_ip): Don't warn about using AT as a - coprocessor register. +Tue Jul 7 17:57:38 1998 Ian Lance Taylor <ian@cygnus.com> - * config/tc-i386.c (md_assemble): When checking the size of a - register to set the size of an instruction, do a bitwise and with - Reg8 and Reg16 rather than requiring the type to be exactly Reg8 - or Reg16. + * doc/Makefile.am (gasver.texi): New target. + (as.info, as.dvi): Depends upon gasver.texi. + * doc/as.texinfo: Include gasver.texi. Mention version number on + title page and in top node. + * doc/Makefile.in: Rebuild. -Tue Jun 18 13:19:51 1996 Jeffrey A. Law <law@rtl.cygnus.com> +Tue Jul 7 11:42:16 1998 Richard Henderson <rth@cygnus.com> + + * listing.c (listing_listing): For EDICT_LIST, skip all lines up to + but not including the line containing the edict. + * listing.h (LISTING_EOF): New. + * input-scrub.c (input_scrub_next_buffer): Call it. + +Tue Jul 7 13:00:37 1998 Alan Modra <alan@spri.levels.unisa.edu.au> + + * config/tc-i386.c (i386_operand): Don't set the size of an + immediate address based solely on the suffix and the mode. + + * config/tc-i386.c (md_assemble): Add assertion to make sure + overlap2 does not set Imm. + + * config/tc-i386.c (space_chars): Remove. The scrubber converts + sequences of whitespace to a single space. + (is_space_chars): Just compare with space. + (md_begin): Don't initialize space_chars. + (md_assemble): Just skip a single whitespace character. + (i386_operand): Rewrite base-index parsing to use new + parse_register, and to skip white space. Skip white space in a + number of other places too. Don't give error message if + parse_register fails. + (parse_register): Change reg_string parameter to be non-const. + Add end_op parameter. Skip white space after the `%', and return + end of register string. Give error message here rather than + caller. + +Fri Jul 3 15:34:34 1998 Ian Lance Taylor <ian@cygnus.com> + + Based on patch from Matt Semersky <matts@scd.hp.com>: + * expr.c (op_encoding): Make const. + (expr_set_precedence): New function. + (expr_begin): Don't set operator rankings, just call + expr_set_precedence. + * expr.h (expr_set_precedence): Declare. + * read.c (s_mri): Call expr_set_precedence. + +Thu Jul 2 16:24:58 1998 Ian Lance Taylor <ian@cygnus.com> + + * doc/as.texinfo (Statements): Remove paragraph discussing + continuing lines with a backslash. This hasn't worked for years, + if it ever did. + +Thu Jul 2 14:06:22 1998 Klaus Kaempf <kkaempf@rmi.de> + + * obj-vms.c: Add C++ support with ctors/dtors sections. Add weak + symbol definitions. + (Ctors_Symbols, Dtors_Symbols): New symbol chains. + (ps_CTORS, ps_DTORS): New section types. + (vms_fixup_xtors_section): New function + (Ctors_Psect, Dtors_Psect): Define. + (IS_GXX_XTOR): Define + (global_symbol_directory): Change check of gxx_bug_fixed to 0. + Filter static constructors/destructors and add to + Ctors_Symbols/Dtors_Symbols chain. + (vms_write_object_file): Write Ctors_Symbols/Dtors_Symbols to + appropriate section. + + * tc-alpha.h (TARGET_FORMAT): Rename "evax-alpha" to "vms-alpha". + * makefile.vms: Merge vax/vms support. + +Wed Jul 1 20:06:20 1998 Richard Henderson <rth@cygnus.com> + + * config/obj-elf.c (obj_elf_vtable_inherit, obj_elf_vtable_entry): New. + (elf_pseudo_table): Add them. + * config/tc-mips.c (mips_force_relocation): Force vtable relocs. + (md_apply_fix): Accept them. + (mips_fix_adjustable): Don't adjust them. + (tc_gen_reloc): Mung BFD_RELOC_VTABLE_ENTRY for Rel. + * config/tc-ppc.c (md_apply_fix3): Accept vtable relocs. + * config/tc-ppc.h (TC_FORCE_RELOCATION_SECTION): Force vtable relocs. + (tc_fix_adjustable): Don't adjust them. + +Wed Jul 1 16:35:32 1998 Doug Evans <devans@seba.cygnus.com> + + * Makefile.am (CGEN_CPU_PREFIX): New variable. + (cgen.o): Use it. + * Makefile.in: Regenerate. + * configure.in: AC_SUBST cgen_cpu_prefix. + * configure: Regenerate. - * config/tc-h8300.c (parse_reg): Tweak error messages. - (build_bytes): Likewise. - (skip_colonthing): Handle :32 suffix. - (get_specific): Promote L_24 to L_32 if it makes a match. - Don't always promote L_8 to L_16. - (do_a_fix_imm): Clean up L_32 and L_24 handling. +Wed Jul 1 21:38:56 1998 J"orn Rennecke <amylaar@cygnus.co.uk> - * config/tc-h8300.c (Smode): New variable. - (h8300hmode): Turn off Hmode. - (h8300smode): New function. Turn on Smode and Hmode. - (md_pseudo_table): New ".h8300s" pseudo-op. - (parse_reg): Handle "exr" register. - (get_operand): Handle bizarre syntax for "stm.l" and "ldm.l". - Handle "mach" and "machl" operands for ldmac. - (get_specific): Handle "stm.l" and "ldm.l". - (build_bytes): Handle "stm.l" and "ldm.l"; handle MACREG operands. - * config/tc-h8300.h (COFF_MAGIC): Handle H8/S magic number. - (Smode): Declare. + * config/tc-sh (COND_JUMP_DELAY, COND12_DELAY_LENGTH): Define. + Changed all users of COND12_DELAY. -Mon Jun 17 15:50:53 1996 J.T. Conklin <jtc@rtl.cygnus.com> +Fri Jun 26 11:21:11 1998 Jeffrey A Law (law@cygnus.com) - * doc/as.texinfo: Reorder chapter of machine dependent options so - that it is sorted by chip name. + * config/tc-mn10300.c (set_arch_mach): New function. + (md_pseudo_table): Add pseudo-ops to set the current machine type. + (md_begin): Default to mn10300 mode. + (md_assemble): Only accept instructions for the core mn10300 + chip and the active machine type. - * doc/as.texinfo: Use consistant spelling of Vax. - * doc/c-vax.texi: Likewise. +Wed Jun 24 19:06:04 1998 Ian Lance Taylor <ian@cygnus.com> -Mon Jun 17 11:26:56 1996 Jeffrey A. Law <law@rtl.cygnus.com> + * subsegs.h (segment_info_type): Give the struct a name. + * config/tc-h8300.h (tc_reloc_mangle): Add prototype. + * config/tc-h8500.h (tc_reloc_mangle): Declare. + * config/tc-sh.h (sh_coff_reloc_mangle): Add prototype. + * config/tc-w65.h (tc_reloc_mangle): Declare. + * config/tc-z8k.h (tc_reloc_mangle): Declare. - * config/tc-hppa.c (md_pseudo_table): Add ".begin_try" and ".end_try" - pseudo ops. - (tc_gen_reloc, SOM version): Handle R_BEGIN_TRY and R_END_TRY. - (md_apply_fix): Likewise. - (pa_try): New function. - (hppa_force_relocation): Force relocs for BEGIN_TRY and END_TRY. +Wed Jun 24 13:45:00 1998 Catherine Moore <clm@cygnus.com> -Sun Jun 16 22:57:47 1996 Jeffrey A. Law <law@rtl.cygnus.com> + * config/tc-v850.c (v850_comm): Restore old section + after common processing. - * config/tc-hppa.c (md_pseudo_table): Add ".level" pseudo op. - (pa_level): New function. +Wed Jun 24 11:50:54 1998 Klaus Kaempf <kkaempf@progis.de> -Fri Jun 14 20:06:44 1996 Ian Lance Taylor <ian@cygnus.com> + * config/obj-vms.c (Create_VMS_Object_File): Force binary file. - * listing.c (listing_newline): Don't do anything if listing is 0. +Tue Jun 23 17:47:31 1998 Jim Wilson <wilson@cygnus.com> -Thu Jun 13 17:50:54 1996 Ian Lance Taylor <ian@cygnus.com> + * config/tc-h8300.c (do_a_fix_imm, build_bytes): Replace cast to + char with code that explicitly sign-extends. - * subsegs.c (section_symbol): If symbol_table_frozen is set, call - symbol_create, not symbol_new. +Tue Jun 23 13:54:57 1998 Nick Clifton <nickc@cygnus.com> + + * config/tc-v850.c (md_begin): Restore text section as the current + section after creating call table sections. + * config/obj-coff.h (SYM_AUXINFO): New macro to conceal ugly + code. -Wed Jun 12 14:10:44 1996 Ian Lance Taylor <ian@cygnus.com> + * config/obj-coff.c (c_symbol_merge): Replace complex expresion + with call to macro SYM_AUXINFO. - * write.c (adjust_reloc_syms): Don't set sy_used_in_reloc for an - absolute symbol unless TC_FORCE_RELOCATION returns true. +Tue Jun 23 15:09:27 1998 Mike Stump <mrs@wrs.com> - * config/obj-coff.c (previous_file_symbol): Remove BFD_ASSEMBLER - version. - (c_dot_file_symbol): BFD_ASSEMBLER version: Don't set the value of - the symbol to a pointer. Don't set previous_file_symbol. - Simplify symbol list rearrangement. - (coff_frob_symbol): Don't do anything with C_FILE symbols. - (coff_adjust_symtab): Don't check previous_file_symbol. + * Makefile.am (install-exec-local): Don't let EXEEXT interfere + with the program transform name. + * Makefile.in: Rebuild. -Mon Jun 10 14:52:29 1996 Michael Meissner <meissner@tiktok.cygnus.com> +Mon Jun 22 19:52:42 1998 Ian Lance Taylor <ian@cygnus.com> - * config/tc-ppc.c (ppc_elf_lcomm): New function for .lcomm - directive. - (md_pseudo_table): Add ppc_elf_lcomm. + * config/obj-coff.c (c_symbol_merge): Fix copying of auxiliary + information. -Mon Jun 10 11:45:51 1996 Ian Lance Taylor <ian@cygnus.com> +Mon Jun 22 15:18:58 1998 Ian Lance Taylor <ian@cygnus.com> - * config/tc-m68k.c (m68k_ip): Accept ABSL for 'O', so that `bfextu - d0{24:1},d0' works without an immediate prefix on the bit numbers. - (md_begin): Add digits to alt_notend_table. - (md_parse_option): Make s a const pointer. + * config/tc-i386.c (i386_operand): Be prepared for a space between + the open parenthesis and the start of the register operand, + because of the June 16 change. - * config/tc-sparc.c (md_pseudo_table): Add "empty". - (s_empty): New static function. +Sun Jun 21 21:27:03 1998 Ian Lance Taylor <ian@cygnus.com> - * config/obj-coff.c (struct filename_list): Only define if not + * config/tc-sh.c (md_apply_fix): Handle weak symbols correctly if BFD_ASSEMBLER. - (filename_list_head, filename_list_tail): Likewise. - (c_section_symbol): Remove unused BFD_ASSEMBLER version. - (obj_coff_endef, BFD_ASSEMBLER version): Don't set the debugging - flag for C_MOS, C_MOE, C_MOU, or C_EOS symbols, since they should - have a section of N_ABS rather than N_DEBUG. If we do a merge, - remove the new symbol from the list. - (obj_coff_endef, both versions): Call tag_insert even if there is - an old symbol with the same name, if the old symbol does not - happen to be a tag. - (coff_frob_symbol): Check SF_GET_TAG, C_EOF, and C_FILE outside of - the SF_GET_DEBUG condition. Don't call SA_SET_SYM_ENDNDX with a - symbol that will be moved to the end of the symbol list. - (coff_adjust_section_syms): Always call section_symbol for .text, - .data, and .bss. - (coff_frob_section): Likewise. Also, remove unused variable - strname. - - * config/tc-ns32k.c (convert_iif): Call frag_grow rather than - manipulating frags directly. - (md_number_to_field): Adjust mem_ptr correctly if ENDIAN is - defined. - - * app.c (do_scrub_chars): If '/' is LINE_COMMENT_START, check - whether the next character is '*' before checking whether we are - at the start of a line. Permit LINE_COMMENT_START to start a - comment in state 1 (seen some whitespace) as well, to match the - documentation. - - * gasp.c (do_align): Permit a fill value for .align. - -Wed Jun 5 17:09:26 1996 Ian Lance Taylor <ian@cygnus.com> - - * read.c (next_char_of_string): Warn if a newline is seen in the - middle of a string. Call bump_line_counters when appropriate. - -Wed Jun 5 17:08:36 1996 Richard Henderson <rth@tamu.edu> - - * symbols.c (colon): Use LOCAL_LABEL. - -Tue Jun 4 10:55:16 1996 Tom Tromey <tromey@csk3.cygnus.com> - - * Makefile.in (install): Don't check to see if tooldir exists. - Make $(tooldir) and $(tooldir)/bin. - -Tue Jun 4 10:14:53 1996 Michael Meissner <meissner@tiktok.cygnus.com> - - * config/ppc-sol.mt (TDEFINES): Don't turn on -mregnames by - default. - -Mon Jun 3 11:34:41 1996 Ian Lance Taylor <ian@cygnus.com> - - * config/tc-mips.c (mips_ip): Don't call as_warn if we are setting - insn_error. Don't put the string "ERROR" in insn_error. Set - insn_error rather than calling as_warn for an unsupported opcode. - -Sat Jun 1 21:51:55 1996 Ian Lance Taylor <ian@cygnus.com> - - * config/tc-mips.c (md_parse_option): Check for a 64 bit format - before permitting -64. - * output-file.c (output_file_create): Remove duplicate - bfd_perror. - -Fri May 31 01:08:06 1996 Ian Lance Taylor <ian@cygnus.com> - - * config/tc-mips.c (md_begin): If -64, create a .MIPS.options - section rather than a .reginfo section. - (mips_elf_final_processing): If -64, write out 64 bit RegInfo - information. - - * config/tc-mips.c (load_register): If mips_isa < 3, permit a 32 - bit value with the high bit set. - -Thu May 30 19:00:19 1996 Ian Lance Taylor <ian@cygnus.com> - - * read.c (s_lcomm): Set section flags for .sbss section. - * config/tc-mips.c (mips_64): New static variable. - (mips_target_format): If mips_64, return elf64 targets rather than - elf32 ones. - (md_longopts): Add "32" and "64". - (md_parse_option): Handle -32 and -64. - (md_show_usage): Mention -32 and -64. - (cons_fix_new_mips): If mips_64, don't convert an 8 byte reloc to - a 4 byte one. +Sun Jun 21 12:26:36 1998 Nick Clifton <nickc@cygnus.com> -Thu May 30 10:36:19 1996 Michael Meissner <meissner@tiktok.cygnus.com> + * config/tc-d30v.c (d30v_align): Always perform alignment request, + even if it is belived to be unnecessary. - * config/tc-ppc.c (comment_chars): Make '!' a comment character - for Solaris compatibility. +Fri Jun 19 13:57:06 1998 Ian Lance Taylor <ian@cygnus.com> - * stabs.c (s_stab_generic): Under PowerPC Solaris, convert a - .stabd with 4 arguments into a .stabn. + * write.c (adjust_reloc_syms): Never adjust relocs against weak + symbols. + * config/tc-mips.c (md_apply_fix): Adjust accordingly. -Wed May 29 16:43:16 1996 Ian Lance Taylor <ian@cygnus.com> +Fri Jun 19 09:50:17 1998 Jeffrey A Law (law@cygnus.com) - * config/tc-mips.c (macro): When passing X_add_number to - macro_build, cast it to int first. + * config/tc-mn10300.c (mn10300_insert_operand): Do not hardcode the + shift amount for a repeated operand. The shift amount for the + repeated copy comes from the size of the operand. -Tue May 28 13:29:39 1996 Ian Lance Taylor <ian@cygnus.com> +Fri Jun 19 00:44:19 1998 Jeffrey A Law (law@cygnus.com) - * config/tc-z8k.c (md_apply_fix): Handle fx_r_type of 0, as - created by emit_expr. + * config/tc-h8300.c (get_operand): Fix typos in ldm/stm support. - * symbols.c (symbol_create): If bfd_make_empty_symbol fails, call - as_perror rather than assert. +Wed Jun 17 13:07:05 1998 Ian Lance Taylor <ian@cygnus.com> -Fri May 24 18:24:11 1996 Ian Lance Taylor <ian@cygnus.com> + * config/tc-mips.c (md_show_usage): Fix -mipsN usage. - * config/tc-mips.c (mips_ip): Mark sections created to hold - floating point information as read only. +Tue Jun 16 13:06:21 1998 Alan Modra <alan@spri.levels.unisa.edu.au> -Fri May 24 12:07:54 1996 David Edelsohn <edelsohn@mhpcc.edu> + * app.c (do_scrub_begin): If tc_symbol_chars is defined, treat all + characters in it as LEX_IS_SYMBOL_COMPONENT. + * config/tc-i386.h (tc_symbol_chars): Define. + (extra_symbol_chars): Declare. + * config/tc-i386.c (extra_symbol_chars): Define. + (comment_chars): Don't use '/' as comment start if TE_LINUX. + (line_comment_chars): Set to '/' if TE_LINUX. + * doc/c-i386.texi (i386-prefixes): Update. + * doc/internals.texi (CPU backend): Document tc_symbol_chars. - * config/tc-ppc.c (ppc_set_cpu): Change defaults to match AIX. +Fri Jun 12 13:36:54 1998 Tom Tromey <tromey@cygnus.com> -Thu May 23 17:34:24 1996 Michael Meissner <meissner@tiktok.cygnus.com> + * po/Make-in (all-yes): If maintainer mode, depend on .pot file. + ($(PACKAGE).pot): Unconditionally depend on POTFILES. - * read.c (potable): Add .skip as a synonym for .space. +1998-06-12 Vladimir N. Makarov <vmakarov@cygnus.com> - * stabs.c (s_stab_generic): For PowerPC ELF, allow .stabd to take - 4 arguments, providing the 4th argument is 0, to allow - compatibility with the Solaris assembler. + * config/tc-d10v.c (md_apply_fix3): Checking displacement + constraint in instructions REP & REPI. -Thu May 16 15:51:48 1996 Ian Lance Taylor <ian@cygnus.com> +Thu Jun 11 08:56:46 1998 Nick Clifton <nickc@cygnus.com> - * config/tc-sh.h (struct sh_segment_info_type): Define. - (TC_SEGMENT_INFO_TYPE): Define. - (sh_frob_label): Declare. - (tc_frob_label): Define. - (sh_flush_pending_output): Declare. - (md_flush_pending_output): Define. - * config/tc-sh.c (md_assemble): If relaxing, emit a R_SH_CODE - reloc before the instruction if necessary. - (sh_frob_label): New function. - (sh_flush_pending_output): New function. - (sh_coff_frob_file): Ignore ALIGN, CODE, DATA, and LABEL relocs - when looking for the reloc for the target of .uses. - (md_convert_frag): Fix printf format (%0xlx to 0x%lx). - (sh_force_relocation): Force CODE, DATA, and LABEL relocs to be - emitted. - (md_apply_fix): Ignore CODE, DATA, and LABEL relocs. - (sh_coff_reloc_mangle): Force CODE, DATA, and LABEL relocs to use - the absolute symbol. + * config/tc-d30v.c (md_apply_fix3): Catch BFD_RELOC_8, + BFD_RELOC_16, BFD_RELOC_64 and issue appropriate error messages. - * subsegs.h (segment_info_type): Add tc_segment_info_data field if - TC_SEGMENT_INFO_TYPE is defined. + (check_range): If the operand is shifted, then shift the number + before checking its range. -Wed May 15 12:23:53 1996 Ian Lance Taylor <ian@cygnus.com> + * write.c (adjust_reloc_syms): Add more checks for NULL pointers. - * config/tc-i386.c (md_assemble): Make sure the opcode suffix - matches the register size. + * config/tc-v850.c (v850_comm): Set SEC_COMMON bit on special + common sections. -Wed May 15 08:33:37 1996 Jeffrey A Law (law@cygnus.com) +Wed Jun 10 17:26:35 1998 Nick Clifton <nickc@cygnus.com> - * config/obj-coff.c (count_entries_in_chain): Ignore Fixups with - fx_done set. - (do_relocs_for): Likewise. - (fixup_segment): Don't just quit if linkrelax is set. Try to - apply non pc-relative sym1-sym2 fixups, even if linkrelax is - nonzero. + * config/tc-v850.c (v850_comm): Create special sections as needed. -Fri May 10 14:16:59 1996 Michael Meissner <meissner@tiktok.cygnus.com> +1998-06-10 Vladimir N. Makarov <vmakarov@cygnus.com> - * config/tc-ppc.c (ppc_elf_validate_fix): Allow GOT and section - relative relocations with -mrelocatable. Also allow unfixed - relocs in .ex_shared. + * config/tc-d10v.c (write_2_short): Addition of swapping + instructions for sequential and reverse sequential order when + given order is not possible. -Tue May 7 11:24:10 1996 Ian Lance Taylor <ian@cygnus.com> +Tue Jun 9 13:52:53 1998 Ian Lance Taylor <ian@cygnus.com> - * config/obj-coff.c (yank_symbols): Check that FNAME_OFFSET is - non-zero before assuming this is a long file name. - (w_strings): Likewise. - (c_dot_file_symbol): Set FNAME_OFFSET to 1 for a long file name. + * Makefile.am: Rebuild dependencies. + (DEP_INCLUDES): Fix reference to intl build directory. + * Makefile.in: Rebuild. - * config/obj-coff.c (w_strings): Move declaration of i inside - #ifdef block which uses it. +Tue Jun 9 12:20:05 1998 Alan Modra <alan@spri.levels.unisa.edu.au> -Tue May 7 00:49:58 1996 Jeffrey A Law (law@cygnus.com) + * doc/c-i386.texi: Update 16 bit documentation. - * config/tc-h8300.c (do_a_fix_imm): Rename last argument to - "relaxmode". Output relocs which identify various relaxing - possibilities for mov.[bwl] instructions. - (build_bytes): Pass in a relaxing mode to do_a_fix_imm. + * config/tc-i386.h: Change Data16 to Size16, Data32 to Size32, + IgnoreDataSize to IgnoreSize as they are used for address size as + well as data size. + * config/tc-i386.c: Likewise. Add code to reject addr32/data32 in + 32-bit mode, similarly addr16/data16 and variants. -Mon May 6 15:26:28 1996 Doug Evans <dje@canuck.cygnus.com> +Mon Jun 8 18:32:01 1998 Nick Clifton <nickc@cygnus.com> - * config/tc-arm.h (TC_HANDLES_FX_DONE): Define. - (MD_APPLY_FIX3): Define. - * config/tc-arm.c (my_get_expression): Only watch for bad segments - if OBJ_AOUT. - (md_apply_fix3): Renamed from md_apply_fix. - If pcrel reloc and symbol is in different section, undo effects - of md_pcrel_from. + * config/tc-d30v.c (md_assemble): Fix handling of reverse + sequential word multiply instructions. + + (do_assemble): Add extra command line argument, to allow mul32 + attribute to be preserved across parallel insns. + (md_assemble): Insert NOPs between explicitly parallel insns which + contain an 32 bit multiply and a 16 multiply. + +Mon Jun 8 12:20:30 1998 Alan Modra <alan@spri.levels.unisa.edu.au> + + * config/tc-i386.c: REPNE renamed to REPNE_PREFIX_OPCODE, and + likewise for REPE. + + * config/tc-i386.c (reloc): Add braces. + + * config/tc-i386.c (struct _i386_insn): Rename bi to sib to be + consistent with Intel naming. + * config/tc-i386.h (base_index_byte): Rename to sib_byte. Don't + use bitfields in sib_byte. + (modrm_byte): Don't use bitfields here either. + + * config/tc-i386.c (current_templates): Add const. + (parse_register): Add const to return, param, and char *s. + (i386_operand): Add const to reg_entry *r. + * config/tc-i386.h (templates): Add const to start, end. + + Inspired by code for 16 bit gas support from Martynas Kunigelis + <martynas@nm3.ktu.lt>: + * config/tc-i386.c (md_assemble): Add full support for 16 bit + modrm, and Jump, JumpByte, JumpDword, JumpInterSegment insns. + (uses_mem_addrmode): Remove. + (md_estimate_size_before_relax): Add support here too. + (md_relax_table): Rewrite interface to md_relax for 16 bit + support. + (BYTE, WORD, DWORD, UNKNOWN_SIZE): Remove. + (opcode_suffix_to_type): Remove. + (CODE16, SMALL, SMALL16, BIG, BIG16): Define. + (SIZE_FROM_RELAX_STATE): Modify to suit above. + (md_convert_frag): Likewise. + (i386_operand): Add support for 16 bit base/index regs, + immediates, and displacements. Remove some unnecessary casts, and + localise end_of_operand_string, displacement_string_start, + displacement_string_end variables. Add GCC_ASM_O_HACK. + * config/tc-i386.h (NO_BASE_REGISTER_16): Define. + + * config/tc-i386.c (prefix_hash): Remove. + (md_begin): Rewrite without obstacks. Remove prefix hash table + handling. Rewrite lexical table handling. + (i386_print_statistics): Don't print prefix statistics. + (md_assemble): Rewrite instruction parser so that line is not + converted to lower case. Don't do a hash_find for prefixes, + instead recognise them via opcode modifier. + (expecting_operand, paren_not_balanced): Localise variables. + * config/tc-i386.h (IsPrefix): Define. + (prefix_entry): Remove. + + * config/tc-i386.h (PREFIX_SEPERATOR): Don't define. + * config/tc-i386.c (PREFIX_SEPARATOR): Define here instead, using + '\\' in case where comment_chars contains '/'. + + * config/tc-i386.c (MATCH): Ensure given operand and template + match for JumpAbsolute. Makes e.g. `ljmp table(%ebx)' invalid; + you must write `ljmp *table(%ebx)'. + + From H.J. Lu <hjl@gnu.org>: + * config/tc-i386.c (BFD_RELOC_16, BFD_RELOC_16_PCREL): Define + as 0 ifndef BFD_ASSEMBLER. + (md_assemble): Allow immediate operands without suffix or + other reg operand to default in size to the current code size. + +Mon Jun 8 09:45:00 1998 Catherine Moore <clm@cygnus.com> + + * config/tc-v850.c (md_begin): Restore creation of + .call_table_text and .call_table_data sections. -Sat May 4 12:49:35 1996 Jeffrey A Law (law@cygnus.com) +Sat Jun 6 00:02:41 1998 Nick Clifton <nickc@cygnus.com> - * config/tc-hppa.c (hppa_fix_adjustable): Don't adjust - any reloc with an LR% or RR% field selector for SOM. + * config/tc-d30v.c (md_assemble): Set execution type to unknown + after emitting a word of noops. -Sat May 4 11:26:19 1996 Ian Lance Taylor <ian@cygnus.com> +Fri Jun 5 23:27:04 1998 Alan Modra <alan@spri.levels.unisa.edu.au> - * Makefile.in: Add subsegs.h to appropriate TARG_CPU_DEP_* - variables. + * config/tc-i386.c (mode_from_disp_size): Disp16 is mode 2. + (i386_operand): Simplify checks for valid base/index combinations. + Disallow `in 4(%dx),%al'. -Fri May 3 17:58:31 1996 Ian Lance Taylor <ian@cygnus.com> + * config/tc-i386.c (struct _i386_insn): Make regs, base_reg, and + index_reg const. + (add_prefix): Change parameter from char to int. - * config/obj-coff.c (coff_frob_symbol): Don't merge a symbol with - SF_GET_STATICS set. - (yank_symbols): Likewise. + * config/tc-i386.h (Ugh): Define opcode modifier. + * config/tc-i386.c (md_assemble): Print warnings for Ugh insns. -Wed May 1 13:38:17 1996 Ian Lance Taylor <ian@cygnus.com> - - * subsegs.h (segment_info_type): If MANY_SEGMENTS and not - BFD_ASSEMBLER, add name field. - * config/obj-coff.c: Include "libiberty.h". - (coff_header_append): Handle long section names. - (crawl_symbols): Just use the name field for the symbol name, - without worrying about null byte termination. - (w_strings): Handle long section names. - (write_object_file): Likewise. Also, use the name field, rather - than scnhdr.s_name. - (obj_coff_add_segment): Permit long section names. - (obj_coff_init_stab_section): Use the name field, rather than - scnhdr.s_name. - (adjust_stab_section): Likewise. - * config/te-pe.h (COFF_LONG_SECTION_NAMES): Define. - - * config/tc-i960.c (brtab_emit): Don't set fx_im_disp field. - (mem_fmt): Likewise. - (md_apply_fix): Don't check fx_im_disp field. - -Thu Apr 25 11:39:51 1996 Ian Lance Taylor <ian@cygnus.com> - - * configure.in: Add * after sparc*-*-vxworks. + * config/tc-i386.c (md_assemble): Rewrite MATCH and + CONSISTENT_REGISTER_MATCH macros to check register types more + thoroughly. Check for illegal suffix/operand combinations + when matching insns with operands. Handle new `s' suffix, and + associated FloatMF opcode modifier for float insns with memory + operands. + * config/tc-i386.h (FloatMF): Define new opcode modifier. + (No_sSuf, No_bSuf, No_wSuf, No_lSuf): Likewise. + (SHORT_OPCODE_SUFFIX, LONG_OPCODE_SUFFIX): Define. + * config/tc-i386.c: Rename WORD_PREFIX_OPCODE to + DATA_PREFIX_OPCODE throughout. + + * config/tc-i386.c (REGISTER_WARNINGS): Define. + (md_assemble): Rewrite suffix/register operand checking code to be + more thorough. Remove Abs8,16,32. Change occurrences of Mem to + AnyMem, the better to grep. + (pi): Remove Abs. + (i386_operand): Don't set Mem bits in i.types[this_operand] when + given a memory operand. Don't set Abs bits either. + (type_names): Remove Mem*, Abs*. + * config/tc-i386.h (Mem8, Mem16, Mem32, Abs8, Abs16, Abs32): Don't + define opcode_modifiers as these cases are handled by Disp8, + Disp16, Disp32 and suffix checks. + (COMES_IN_BOTH_DIRECTIONS): Remove. + (FloatR): Define. It's OK to share the bit with ReverseRegRegmem. + + * config/tc-i386.c (md_assemble): Don't emit operand size prefix + if IgnoreDataSize modifier given. Remove ShortformW modifier + test. Add test for ShortForm in W base_opcode modification. + Merge Seg2ShortForm and Seg3ShortForm code. + * config/tc-i386.h (ShortFormW): Remove. + (IgnoreDataSize): Define. + +Fri Jun 5 10:50:53 1998 Nick Clifton <nickc@cygnus.com> + + * config/tc-d30v.c (md_assemble): Store previous segment state + with previous instruction. + +Wed Jun 3 18:21:56 1998 Alan Modra <alan@spri.levels.unisa.edu.au> + + * config/tc-i386.c (SCALE1_WHEN_NO_INDEX): Define. + (ebp, esp): Remove static variables. + (MATCH): Remove test for InOutPortReg. + (i386_operand): Properly handle InOutPortReg here instead. + Disallows `inb (%dx,2)', `inb %es:(%dx)' and `mov (%dx),%ax' + (md_assemble): Simplify and correct modrm and sib generation. + (i386_operand): Add warning for scale without index. + Rewrite checks for valid base/index combinations. + + * config/tc-i386.c (END_STRING_AND_SAVE): Protect arguments of + macros and enclose in do while(0). + (RESTORE_END_STRING): Likewise. + (md_assemble): Add one to printed operand number so we start + from 1 not 0. Add some more gettext invocations. + (i386_operand): Fix `%%s' -> `%%%s'. Inc printed operand + number here too. + + * config/tc-i386.h (WAIT_PREFIX, LOCKREP_PREFIX, ADDR_PREFIX, + DATA_PREFIX, SEG_PREFIX): Define. + * config/tc-i386.c (struct _i386_insn): Remove wait_prefix field. + (check_prefix): Remove function. + (add_prefix): New function. Add prefix to i.prefix as well as + doing checks. + (md_assemble): Changes for add_prefix. Remove hack for wait + prefix, instead always output prefixes in fixed order. Test + for jcxz/loop when selecting between word & dword operations, + and add address size prefix rather than operand size prefix. + Remove operand -> address size hack when emitting jcxz/loop. + (i386_operand): Remove O_Absent check as it's done in expr. + +Wed Jun 3 15:09:10 1998 Ian Lance Taylor <ian@cygnus.com> + + * configure.in: Recognize m5200 as a cpu_type of m68k. + * aclocal.m4: Rebuild with current libtool. * configure: Rebuild. - * app.c (do_scrub_begin): If tc_comment_chars is not defined, - define it to comment_chars. Use tc_comment_chars rather than - comment_chars. - (do_scrub_chars): Use tc_comment_chars rather than comment_chars. - * config/tc-m68k.h (tc_comment_chars): Define. - (m68k_comment_chars): Declare. - * config/tc-m68k.c (m68k_comment_chars): Rename from - comment_chars. Change into a pointer rather than an array. - (md_longopts): Add "bitwise-or". - (md_parse_option): Handle OPTION_BITWISE_OR. - (md_show_usage): Mention --bitwise-or. - * doc/c-m68k.texi: Document --bitwise-or. - -Wed Apr 24 11:28:38 1996 Ian Lance Taylor <ian@cygnus.com> - - * config/tc-m68k.c (m68k_ip): Prevent attempts to use long offsets - in 68000 mode. - - * config/obj-coff.c (obj_coff_section): BFD_ASSEMBLER version: - call demand_empty_rest_of_line. Non BFD_ASSEMBLER version: - correct handling of input line pointer, and call - demand_empty_rest_of_line. - -Mon Apr 22 18:02:37 1996 Doug Evans <dje@blues.cygnus.com> - - * config/tc-sparc.c (in_bitfield_range): New static function. - (sparc_ip): New cases X,Y. Use SPARC_OPCODE_ARCH_V9_P. - (md_apply_fix, cases BFD_RELOC_32_PCREL_S2, - BFD_RELOC_SPARC_{WDISP16,WDISP19}): Fix undefined code. - (md_apply_fix): New cases BFD_RELOC_SPARC_[56]. - (tc_gen_reloc): New cases BFD_RELOC_SPARC_[56]. +Wed Jun 3 14:11:59 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> -Thu Apr 18 18:58:33 1996 Ian Lance Taylor <ian@cygnus.com> + * config/tc-m68k.c (md_estimate_size_before_relax): Add more calls + to relaxable_symbol to prevent references to external symbol from + being relaxed. - * config/obj-coff.c: BFD_ASSEMBLER: - (coff_last_bf): New static variable. - (coff_frob_symbol): Set endndx of a .bf symbol. - Non BFD_ASSEMBLER: - (obj_coff_endef): Call SF_SET_PROCESS on a .bf symbol. - (last_bfP): New static variable. - (yank_symbols): Set endndx of a .bf symbol. +Wed Jun 3 14:10:36 1998 Ian Lance Taylor <ian@cygnus.com> -Thu Apr 18 11:53:58 1996 Michael Meissner <meissner@tiktok.cygnus.com> + * config/tc-m68k.c (relaxable_symbol): If TARGET_OS is "elf", all + symbols are relaxable. - * config/tc-ppc.c (md_parse_option): Add support for Solaris's -le - and -s options. Add -be for good measure. - -Wed Apr 17 12:31:01 1996 Ian Lance Taylor <ian@cygnus.com> - - * read.c (s_space): Support non-constant fill value. Handle fill - value correctly for a size other than 1. - -Tue Apr 16 15:17:40 1996 Doug Evans <dje@canuck.cygnus.com> - - * config/tc-arm.c (my_get_float_expression): Update call to - gen_to_words, X_PRECISION changed from 6 to 5. - -Tue Apr 16 10:25:42 1996 Michael Meissner <meissner@tiktok.cygnus.com> - - * config/tc-ppc.c (register_name,reg_name_search): Move register - name lookup from PE specific code to all targets. Add support for - -mregnames/-mno-regnames to control whether register names are - expanded or not. - (md_assemble): Call register_name for all platforms. - (md_parse_option): Add support for -mregnames/-mno-regnames. - - * configure.in (powerpcle*-*-solaris): Add support. - (powerpc*-*-linux): Ditto. - * configure: Regenerate. - - * config/ppc-sol.mt: New config file for PowerPC Solaris. +Wed Jun 3 09:16:00 1998 Catherine Moore <clm@cygnus.com> + + * config/tc-v850.c (md_begin): Don't create special + sections by default. + +Tue Jun 2 14:52:56 1998 Jeffrey A Law (law@cygnus.com) -Mon Apr 15 12:26:33 1996 Ian Lance Taylor <ian@cygnus.com> + * config/tc-mips.c (macro): For div and udiv, close the + reorder block as soon as possible. - * config/tc-mips.c (mips_frob_file): Permit multiple %hi relocs to - be associated with a single %lo reloc. +Tue Jun 2 15:36:13 1998 Ian Lance Taylor <ian@cygnus.com> - * config/tc-mips.c (load_address): Cast X_add_number to valueT - before comparing against MAX_GPREL_OFFSET, so that negative - numbers are handled correctly. - (macro): Likewise. + From Matt Semersky <matts@scd.hp.com>: + * macro.c (macro_mri_mode): New function. + * macro.h (macro_mri_mode): Declare. + * read.c (s_mri): Call macro_mri_mode when switching in and out of + MRI mode. -Thu Apr 11 12:39:02 1996 Ian Lance Taylor <ian@cygnus.com> +Tue Jun 2 13:32:22 1998 Klaus Kaempf <kkaempf@progis.de> - * config/tc-sparc.c (last_insn): New static variable. - (md_assemble): Warn about putting floating point branches in a - delay slot. If architecture is less than v9, insert NOP - instructions between floating point instructions and floating - point branches. (The SunOS assembler does both these operations.) - Save the last instruction opcode. - (sparc_ip): Add pinsn parameter. Change caller. + * config/tc-alpha.c (s_alpha_comm): Allow alignment parameter in + OBJ_EVAX case. - * config/tc-m68k.c (md_estimate_size_before_relax): Correct check - for byte jump to next instruction to skip empty frags. + * config/tc-alpha.c (s_alpha_comm): Defer restoring character + until after xstrdup in OBJ_EVAX case. -Wed Apr 10 16:48:12 1996 Ian Lance Taylor <ian@cygnus.com> +Tue Jun 2 13:11:13 1998 Pat Rankin <rankin@eql.caltech.edu> - * config/tc-alpha.c (alpha_ip): If we are going to call emit_add64 - for addq with a 16 bit signed value, just emit a lda instruction - instead. + * config/tc-vax.c (md_create_short_jump): Fix off by two bug in + offset calculation. Also, use VAX_BRW from vax-inst.h instead + of hardcoded magic number. + (md_create_long_jump): Use VAX_JMP and VAX_ABSOLUTE_MODE macros. -Wed Apr 10 14:34:49 1996 Jeffrey A Law (law@cygnus.com) +Tue Jun 2 09:25:34 1998 Doug Evans <devans@canuck.cygnus.com> - * config/tc-h8300.c (do_a_fix_imm): Don't cut off high bits - of a 32bit operand. + * read.c (do_s_func): New function. + (s_func): Call it. + * read.h (do_s_func): Add prototype. -Mon Apr 8 14:42:53 1996 Ian Lance Taylor <ian@cygnus.com> +Mon Jun 1 12:47:30 1998 Doug Evans <devans@canuck.cygnus.com> - * configure.in: Permit --enable-shared to specify a list of - directories. - * configure: Rebuild. + * config/tc-m32r.c (m32r_do_align): Only fill code sections with + nops if fill pattern not specified. -Fri Apr 5 17:01:35 1996 Jeffrey A Law (law@cygnus.com) +Mon Jun 1 14:08:35 1998 Ian Lance Taylor <ian@cygnus.com> - * config/tc-h8300.c (get_specific): Remove some #if 0 code. - (build_bytes): Remove all ABSMOV related code; it's unnecessary. + From Andrew Crabtree <andrewc@typhoon.rose.hp.com>: + * config/te-go32.h (TE_GO32): Define. + * config/tc-i386.h (LOCAL_LABEL): Don't define if TE_GO32. -Fri Apr 5 15:13:10 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> +Sun May 31 15:43:06 1998 Doug Evans <devans@canuck.cygnus.com> - * config/atof-ieee.c: Fix handling of denormalized extended - precision numbers and overflow/underflow detection. - (MAX_PRECISION, X_PRECISION, P_PRECISION): Changed from 6 to 5, to - not include the 16 bit gap in the m68k extended precision format. - -Fri Apr 5 14:29:23 1996 Ian Lance Taylor <ian@cygnus.com> - - * configure.in: Add i386-*-freebsdelf* target; from John Polstra - <jdp@polstra.com>. - * configure: Rebuild. + Implement .func/.endfunc pseudo-ops. + * read.h (stabs_generate_asm_func,stabs_generate_asm_endfunc): Declare. + (s_func): Declare. + * read.c (potable): Add .func,.endfunc. + (s_func): New function. + * stabs.c (stabs_generate_asm_func,stabs_generate_asm_endfunc): New + functions. + (in_doc_func_p,current_function_label): New static globals. + (stabs_generate_asm_lineno): Emit function relative stabs if in .func. + +Fri May 29 18:13:12 1998 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-a29k.h (WORKING_DOT_WORD): Define. + * config/tc-alpha.h (WORKING_DOT_WORD): Define. + * config/tc-arm.h (WORKING_DOT_WORD): Define. + * config/tc-h8300.h (WORKING_DOT_WORD): Define. + * config/tc-h8500.h (WORKING_DOT_WORD): Define. + * config/tc-hppa.h (WORKING_DOT_WORD): Define. + * config/tc-i860.h (WORKING_DOT_WORD): Define. + * config/tc-i960.h (WORKING_DOT_WORD): Define. + * config/tc-tic30.h (WORKING_DOT_WORD): Define. + * config/tc-w65.h (WORKING_DOT_WORD): Define. + * config/tc-z8k.h (WORKING_DOT_WORD): Define. + * config/tc-a29k.c: Don't define md_short_jump_size, + md_long_jump_size, md_create_short_jump or md_create_long_jump. + * config/tc-alpha.c: Likewise. + * config/tc-alpha.h: Likewise. + * config/tc-arm.c: Likewise. + * config/tc-h8300.c: Likewise. + * config/tc-h8500.c: Likewise. + * config/tc-hppa.c: Likewise. + * config/tc-i860.c: Likewise. + * config/tc-i960.c: Likewise. + * config/tc-ppc.c: Likewise. + * config/tc-sh.c: Likewise. + * config/tc-sparc.h: Likewise. + * config/tc-tic30.c: Likewise. + * config/tc-w65.c: Likewise. + * config/tc-z8k.c: Likewise. + +Fri May 29 16:03:26 1998 Pat Rankin <rankin@eql.caltech.edu> + + * config/tc-vax.c (_): Delete this macro used for placeholder + values in vax_operand_width_size; it conflicts with the _() macro + used for internationalization. + +Fri May 29 13:46:07 1998 Ian Lance Taylor <ian@cygnus.com> + + * symbols.c (symbol_find_base): Fix case insensitive symbol name + code. From Chris Moller <moller@bops.com>. + + Based on patch from Klaus Kaempf <kkaempf@progis.de>: + * struc-symbol.h (struct broken_word): Add seg and subseg fields. + * read.c (emit_expr): Initialize seg and subseg fields of a new + broken word. + * write.c (write_object_file): Switch to the appropriate segment + and subsegment when processing a broken word. + + * config/tc-m68k.c (mri_assemble): New static function. + (build_mri_control_operand): Call mri_assemble rather than + md_assemble. + (s_mri_else, s_mri_break, s_mri_next, s_mri_for): Likewise. + (s_mri_endf, s_mri_endw): Likewise. + +Wed May 27 11:16:25 1998 Ian Lance Taylor <ian@cygnus.com> + + * read.c (s_org): Call md_flush_pending_output if it is defined. + + * config/tc-sparc.c (md_show_usage): Add \n\ to new string. + +Tue May 26 19:27:52 1998 Stan Cox <scox@equinox.cygnus.com> + + * config/tc-sparc.c (OPTION_LITTLE_ENDIAN_DATA): New. + (md_parse_option): Add for same. + (sparc_md_end): Set bfd_mach_sparc_sparclite_le. + (md_apply_fix3, tc_gen_reloc): Allow BFD_RELOC_SPARC_32LE. + (cons_fix_new_sparc): Added to create BFD_RELOC_SPARC_32LE. + + * config/tc-sparc.h (cons_fix_new_sparc): Added. + +Thu May 21 15:02:41 1998 Nick Clifton <nickc@cygnus.com> -Fri Apr 5 18:39:28 1996 James G. Smith <jsmith@cygnus.co.uk> + * config/tc-arm.c (find_real_start): Relax definition of local + labels. - * config/tc-mips.c: Allow non-zero offsets from .sdata symbols to - be accessed using the $gp register. - * config/tc-mips.h (MAX_GPREL_OFFSET): Added. +Tue May 19 16:59:44 1998 Nick Clifton <nickc@cygnus.com> -Wed Apr 3 10:56:14 1996 Doug Evans <dje@canuck.cygnus.com> + * config/tc-d30v.c (d30v_align): Apply address adjustment to all + symbols at the given address, not just the last one specified. - * config/tc-sparc.c (sparc_md_end): Set bfd machine number to - bfd_mach_sparc_sparclet if current_architecture is sparclet. +Tue May 19 08:25:19 1998 Catherine Moore <clm@cygnus.com> -Mon Apr 1 16:55:44 1996 Ian Lance Taylor <ian@cygnus.com> + * config/tc-sparc.c (sparc_handle_align): Use number_to_chars_bigendian + or number_to_chars_littleendian to write data. - * read.c (get_line_sb): Bump line counters based on - input_line_pointer[-1], not *input_line_pointer. Don't bother to - call LISTING_NEWLINE. - (s_macro): Don't call demand_empty_rest_of_line. - * app.c (do_scrub_chars): When handling C style comments, unget - ch2 rather than ch. +Mon May 18 17:09:30 1998 Nick Clifton <nickc@cygnus.com> -Fri Mar 29 16:15:06 1996 Ian Lance Taylor <ian@cygnus.com> + * config/tc-v850.c (md_assemble): Remove artificially created + register name symbols. - * read.h (enum linkonce_type): Define. - (s_linkonce): Declare. - * read.c (potable): Add "linkonce". - (s_linkonce): New function. - * subsegs.h (segment_info_type): Add linkonce field to - MANY_SEGMENTS && ! BFD_ASSEMBLER section. - * config/obj-coff.h (obj_handle_link_once): Define if TE_PE. - (obj_coff_pe_handle_link_once): Declare if TE_PE. - * config/obj-coff.c: If TE_PE and not BFD_ASSEMBLER, #include - "coff/pe.h". - (obj_coff_pe_handle_link_once): New function, defined if TE_PE. - (c_section_symbol): If TE_PE, set the x_comdat field in the aux - entry based on the linkonce field in segment_info. - * doc/as.texinfo: Document .linkonce. +Mon May 18 13:47:06 1998 Doug Evans <devans@canuck.cygnus.com> -Fri Mar 29 11:31:27 1996 J.T. Conklin (jtc@lisa.cygnus.com) + * write.c (fixup_segment): Change "segment" to "section" in + error message. - * doc/as.1: Changed to be recognized by catman -w on Solaris. +Mon May 18 16:55:40 1998 Michael Meissner <meissner@cygnus.com> -Thu Mar 28 15:27:47 1996 Ian Lance Taylor <ian@cygnus.com> + * write.c (fixup_segment): Change sym1-sym2 message again. - * stabs.c (s_stab_generic): Call the listing functions before - doing the rest of the processing, which may involve freeing the - string. Pass string, not string + stroff, to OBJ_PROCESS_STAB in - SEPARATE_STAB_SECTIONS case. +Mon May 18 09:31:43 1998 Michael Meissner <meissner@cygnus.com> - * config/tc-hppa.c: Remove nested comment. - (tc_gen_reloc): Move label done inside the ifdef in which it is - used. - (md_apply_fix): Pass pointers to correct types to libhppa.h - functions. Always return a value. - - * config/tc-mips.h (tc_frob_file): Define. - (mips_frob_file): Declare. - * config/tc-mips.c (struct mips_hi_fixup): Define. - (mips_hi_fixup_list): New static variable. - (imm_unmatched_hi): New static variable. - (md_assemble): Clear imm_reloc, imm_unmatched_hi, and - offset_reloc. Pass imm_unmatched_hi to append_insn. - (append_insn): Add unmatched_hi parameter. If it is set, add the - new fixup to mips_hi_fixup_list. Change all callers. - (mips_ip): Set imm_unmatched_hi when appropriate. - (mips_frob_file): New function. - -Thu Mar 28 11:47:59 1996 Doug Evans <dje@canuck.cygnus.com> - - * configure.in (sparc-*-solaris2*): Renamed from sparc*-*-solaris2*. - * configure: Regenerated. + * write.c (fixup_segment): Improve error message for sym1-sym2 + errors when sym1 is in a different segment from sym2. -Tue Mar 26 18:19:12 1996 Ian Lance Taylor <ian@cygnus.com> +Wed May 13 10:16:37 1998 Doug Evans <devans@canuck.cygnus.com> - * as.c (main): Call bfd_set_error_program_name. + * config/tc-m32r.c (warn_unmatched_high): New static local. + (OPTION_WARN_PARALLEL): Rename from OPTION_WARN. + (OPTION_NO_WARN_PARALLEL): Rename from OPTION_NO_WARN. + (md_longopts): Recognize --{no-,}warn-unmatched-high. + (md_parse_option): Likewise. + (md_show_usage): Likewise. + (m32r_frob_file): Likewise. + + * read.c (generate_file_debug,generate_lineno_debug): New functions. + (read_a_source_file): Call them. + * read.h (stabs_generate_asm_file): Declare. + * stabs.c (stabs_generate_asm_file): New function. + (generate_asm_file): New function. + (stabs_generate_asm_lineno): Move file name handling into + generate_asm_file. + +Tue May 12 12:03:44 1998 Richard Henderson <rth@cygnus.com> + + * config/tc-d30v.c (cur_mul32_p, prev_mul32_p): Make static. + (d30v_current_align, d30v_current_align_seg): New variables. + (d30v_last_label): New variable. + (d30v_align, s_d30v_align, s_d30v_text): New functions. + (s_d30v_data, s_d30v_section): Likewise. + (md_pseudo_table): Call them. + (md_begin): Initialize d30v_current_align_seg. + (md_assemble): Call d30v_align when needed by known current alignment. + (d30v_frob_label, d30v_cons_align): New functions. + * config/tc-d30v.h (md_do_align): Remove. + (tc_frob_label): Call d30v_frob_label. + (md_cons_align): New. + + * config/tc-d30v.c (find_format): Convert complex expressions to + expression symbols before processing. Clean up code formatting. + +Sun May 10 22:35:02 1998 Jeffrey A Law (law@cygnus.com) + + * po/Make-in (install-info): New target. + +Thu May 7 15:49:07 1998 Jeffrey A Law (law@cygnus.com) + + * config/tc-mn10200.c (md_assemble): Handle "bra" just like "jmp" + instructions. + * config/tc-mn10300.c (md_assemble): Likewise. -Fri Mar 22 11:13:00 1996 Ian Lance Taylor <ian@cygnus.com> +Thu May 7 11:47:22 1998 Doug Evans <devans@canuck.cygnus.com> - * as.h (strdup): Don't declare. - * stabs.c: Include libiberty.h - (get_stab_string_offset): Use xstrdup rather than strdup. - (s_stab_generic): Likewise. - * as.c (parse_args): Likewise. - * read.c (s_mri_sect): Likewise. + * Makefile.am: Update with `make dep-am'. + (HFILES): Add cgen.h. + (cgen.o): Depend on cgen.h. + * Makefile.in: Regenerate. - * gasp.c (change_base): Recognize \(...) construct documented to - pass through enclosed characters literally through to the output. - (process_assigns): Likewise. Also, be more careful to avoid - looking past the end of the buffer. + * cgen.c (cgen_md_apply_fix3): Don't pass newline to as_warn_where. -Thu Mar 21 13:18:43 1996 Ian Lance Taylor <ian@cygnus.com> +Thu May 7 13:20:56 1998 Anders Blomdell <anders.blomdell@control.lth.se> - * config/tc-i386.c (md_parse_option): If OBJ_ELF, ignore -k for - FreeBSD compatibility. From John Polstra <jdp@polstra.com>. + * gasp.c (grab_label): Permit a label to be a preprocessor + variable by permitting a label to start with a backslash. -Wed Mar 20 18:13:32 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> +Thu May 7 12:50:33 1998 Frank Ch. Eigler <fche@cygnus.com> - * doc/as.texinfo, doc/c-i960.texi: Fix typos. + * config/tc-mips.c (validate_mips_insn): Removed hack + for previously inaccessible bitfields in some INSN_TRAP + instructions. -Wed Mar 20 17:05:16 1996 David Mosberger-Tang <davidm@azstarnet.com> +Thu May 7 11:13:00 1998 Frank Ch. Eigler <fche@cygnus.com> - * config/alpha-opcode.h: Added cvtst instruction. + * config/tc-d30v.c (do_assemble): Abort with error message + if opcode operands do not match. + +Thu May 7 09:36:06 1998 Frank Ch. Eigler <fche@cygnus.com> -Mon Mar 18 13:12:46 1996 Ian Lance Taylor <ian@cygnus.com> + * config/tc-mips.c (macro_build, validate_mips_insn): Implement + 'q' operand format for 20-bit "break"/"sdbbp" instructions. + (mips_ip): Truncate overflowed "break" 'c' operand. Implement + similar new 'q' operand. - * ecoff.c (ecoff_stab): Don't try to make a symbol out of the stab - string. Extract the addend from the result of expression. +Thu May 7 07:47:14 1998 Michael Meissner <meissner@cygnus.com> -Fri Mar 15 17:10:43 1996 Ian Lance Taylor <ian@cygnus.com> + * cgen.c (cgen_asm_finish_insn): Fix typo. - * app.c (do_scrub_chars): If whitespace is seen in state 11, and - LABELS_WITHOUT_COLONS is not defined, and we are not in m68k MRI - mode, change the state to 3 rather than 1. +Thu May 7 02:19:14 1998 Doug Evans <devans@charmed.cygnus.com> -Thu Mar 14 18:18:25 1996 Ian Lance Taylor <ian@cygnus.com> + * cgen.h: New file. + * cgen.c: Include it. + (MAX_FIXUPS): Renamed to CGEN_MAX_FIXUPS. + (cgen_asm_finish_insn): Result is now void. New arg `result'. + All callers updated. + * config/tc-m32r.c: Include cgen.h. + (m23r_insn): New members num_fixups,fixups. - * config/obj-coff.h (C_REGISTER_SECTION): Change from 20 to 50, to - correspond to 11 March change. +Wed May 6 16:29:19 1998 Jeffrey A Law (law@cygnus.com) -Thu Mar 14 15:27:10 1996 Jeffrey A Law (law@cygnus.com) + * config/tc-hppa.c (md_apply_fix): Slightly rework some code + to avoid compiler warning. - * config/tc-h8300.c (build_bytes, MEMIND case): Generate - an R_MEM_INDIRECT reloc rather than R_RELBYTE. +Wed May 6 15:26:34 1998 Klaus Kaempf <kkaempf@progis.de> -Tue Mar 12 12:21:10 1996 Ian Lance Taylor <ian@cygnus.com> + * makefile.vms: Run dec c with /nodebug. Pass CC value when + calling make. - * configure: Rebuild with autoconf 2.8. + * makefile.vms (OBJS): Add ehopt.obj -Mon Mar 11 18:57:12 1996 Ian Lance Taylor <ian@cygnus.com> +Wed May 6 15:11:12 1998 Klaus Kaempf <kkaempf@progis.de> - * config/atof-ieee.c (gen_to_words): Improve handling of - X_PRECISION numbers. Based on patches from Andreas Schwab - <schwab@issan.informatik.uni-dortmund.de>. + * doc/c-vax.texi: Correct and extend vax/vms documentation. -Mon Mar 11 09:59:53 1996 Steve Chamberlain <sac@slash.cygnus.com> +Wed May 6 11:51:51 1998 Richard Henderson <rth@cygnus.com> - * as.h (SEG_NORMAL, SEG_LIST): Bump segment limit from 10 to 40. - (SEG_LAST): New. - * subsegs.c (MANY_SEGMENTS): Increase segment limit. - * obj-coff.c (seg_N_TYPE, seg_info_off_by_4): Likewise. - (do_relocs_for, w_symbols, obj_coff_add_segment, do_linenos_for, - crawl_symbols, coff_header_append): Loop to SEG_LAST rather than - SEG_E9. + * config/tc-d30v.c (do_assemble): Accept a new parameter requesting + a short format insn. + (md_assemble): Set it for explicitly packed insns. -Thu Mar 7 15:17:39 1996 Doug Evans <dje@charmed.cygnus.com> - - * config/tc-sparc.c (sparc_ip): Handle operand char 'O' (neg reg). +Tue May 5 13:23:13 1998 Nick Clifton <nickc@cygnus.com> -Thu Mar 7 09:19:15 1996 Jeffrey A Law (law@cygnus.com) + * config/obj-coff.c (c_symbol_merge): Do not take address of + native fields when performing the memcpy. - * config/tc-hppa.c (SUBSEG_MILLI): Define. - (pa_def_subspaces): Add $MILLICODE$. - (pa_spaces_begin): Set section flags for $MILLICODE$. +Tue May 5 13:10:41 1998 Gavin Koch <gavin@cygnus.com> -Wed Mar 6 14:11:30 1996 Ian Lance Taylor <ian@cygnus.com> + * config/tc-mips.c (macro,macro2): Implement + M_DMULO_I, M_MULO_I, M_DMULOU_I, and M_MULOU_I. - * config/obj-elf.c (obj_elf_section): Only SEC_LOAD if the type is - not SHT_NOBITS. Don't tamper with flags based on type if a - special section was found (revert Feb 29 change). +Mon May 4 17:49:14 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> - * config/tc-sh.c (sh_do_align): Only align using the nop pattern - if aligning to a longword boundary or greater. + * config/tc-m68k.h (TC_RELOC_RTSYM_LOC_FIXUP): Changed to keep + relocations against globally visible symbols. + * config/tc-m68k.c (relaxable_symbol): New macro. + (m68k_ip, md_estimate_size_before_relax): Use it. + (tc_m68k_fix_adjustable): Also handle weak symbols. -Tue Mar 5 15:10:43 1996 Jim Wilson <wilson@chestnut.cygnus.com> +Mon May 4 16:12:23 1998 Ian Lance Taylor <ian@cygnus.com> - * config/tc-sh.c (sh_do_align): Pass 1 not 2 to frag_align. + * config/tc-i386.h (TC_RELOC_RTSYM_LOC_FIXUP): Keep relocs for all + references to externally visible symbols. + * config/tc-i386.c (md_apply_fix3): When OBJ_ELF, don't add the + values in twice for a PC relative reloc if the symbol is + externally defined. -Mon Mar 4 20:50:57 1996 Steve Chamberlain <sac@slash.cygnus.com> - - * configure.in (i386-*-cygwin32): Don't use bfd_gas. - * configure: Regenerated. - -Mon Mar 4 10:13:06 1996 Jeffrey A Law (law@cygnus.com) - - * config/tc-hppa.c: Add default definitions for R_N0SEL and - R_N1SEL since they're not defined for old versions of hpux. - - * config/tc-hppa.c (tc_gen_reloc): Fix typo in R_COMP2 code. - Set "sym_ptr_ptr" and "addend" fields to dummy values for - R_N0SEL and R_N1SEL. - -Fri Mar 1 10:20:52 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> - - * flonum-konst.c: Add two more constants for 1e+-2048 and - 1e+-4096, and correct the other constants. - - * symbols.c (resolve_symbol_value): Handle O_logical_not. - -Thu Feb 29 13:58:35 1996 Michael Meissner <meissner@tiktok.cygnus.com> + * config/tc-sparc.h (tc_fix_adjustable) [OBJ_AOUT]: When PIC, + don't adjust a PC relative reloc against an externally visible + symbol. + * config/tc-sparc.c (md_apply_fix3): When generating a.out PIC, + for a PC relative fixup against an externally visible defined + symbol, arrange to store object file and addend values as though + the symbol were not defined. + (tc_gen_reloc): Likewise. - * config/obj-elf.c (obj_elf_section): Allow predefined section - types to set the nobits type. Avoid a shadowed declaration. +Thu Apr 30 13:09:39 1998 Fred Fish <fnf@ninemoons.com> -Wed Feb 28 15:38:56 1996 Jeffrey A Law (law@cygnus.com) + * read.c (sizeof_leb128): Referenced externally by write.c so + don't inline. - * config/tc-hppa.c (hppa_fix_adjustable): For SOM, don't - reduce relocs using e_nlrsel field selectors. +Wed Apr 29 15:45:57 1998 Michael Meissner <meissner@cygnus.com> - * write.c (fix_new_exp): Don't use #elif. Some compilers - don't handle it. + * config/tc-m32r.c ({,expand_}debug_sym): New functions to record + and expand a 'debug' symbol associated with the next instruction + that does not cause a short instruction to be filled with a NOP. + (md_pseudo_table): Add support for .debugsym. + (assemble_parallel_insn): Add calls to expand_debug_sym as + appropriate. + (md_assemble): Ditto. - * config/tc-hppa.c (selector_table): Add "n", "nl", and "nlr" to - the selector table. - (pa_chk_field_selector): Handle new field selectors for SOM. +Tue Apr 28 19:16:26 1998 Tom Tromey <tromey@cygnus.com> -Tue Feb 27 14:42:27 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> + * as.c (main): Conditionally call setlocale. + * gasp.c (main): Likewise. + * asintl.h: Include <locale.h> if HAVE_LOCALE_H. + (LC_MESSAGES): Now can be defined even when ENABLE_NLS. - * configure.in (m68k-*-linux*aout*, m68k-*-linux*): New targets. - * configure: Rebuild. - * config/te-linux.h (LOCAL_LABELS_FB): Define. - * config/tc-m68k.h (TARGET_FORMAT) [TE_LINUX]: Define to - "a.out-m68k-linux". - * config/tc-m68k.c (comment_chars): Don't include '#' if TE_LINUX - is defined. +Tue Apr 28 18:33:23 1998 Frank Ch. Eigler <fche@cygnus.com> -Mon Feb 26 18:58:58 1996 Stan Shebs <shebs@andros.cygnus.com> + * config/tc-d30v.c (md_show_usage): Correct gettext typo. + +Tue Apr 28 12:16:30 1998 Ian Lance Taylor <ian@cygnus.com> - * mpw-make.sed: Update to handle shared library support. + * config/tc-hppa.c: Change all calls to bzero to use memset. + (pa_ip): Add cast to avoid warning. + (tc_gen_reloc, md_apply_fix): Likewise. + (pa_find_space_by_number): Likewise. + (hppa_force_relocation): Likewise. + (pa_block): Change i to unsigned int. + * config/obj-som.h (obj_som_copyright): Declare. -Mon Feb 26 10:34:10 1996 Doug Evans <dje@charmed.cygnus.com> +Tue Apr 28 11:35:56 1998 Frank Ch. Eigler <fche@cygnus.com> - * config/tc-sparc.c (sparc_ip): Print all architectures that support - the insn on mismatch. + * ecoff.c (ecoff_build_lineno): Do not use dummy first_lineno + for line numbers for assembly source. -Fri Feb 23 21:44:39 1996 Rob Savoye <rob@chinadoll.cygnus.com> +Mon Apr 27 15:58:46 1998 Ian Lance Taylor <ian@cygnus.com> - * configure.in: Add support for a29-coff. + * configure.in: Change version number to 2.9.4 * configure: Rebuild. -Thu Feb 22 16:39:43 1996 Ian Lance Taylor <ian@cygnus.com> - - * config/tc-sh.c (sh_coff_frob_file): Don't consider the address - of the section when looking for the R_SH_USES fixup, because the - frag addresses have not yet been adjusted. - - * gdbinit.in: Set a breakpoint on as_warn_where. +Mon Apr 27 12:07:33 1998 Doug Evans <devans@seba.cygnus.com> - * config/tc-mips.c (macro): Add missing arguments to macro_build - omitted in last change. From Jim Wilson <wilson@cygnus.com>. + * cgen.c (cgen_asm_finish_insn): New arg relax_p. All callers updated. -Wed Feb 21 17:00:32 1996 Ian Lance Taylor <ian@cygnus.com> +Mon Apr 27 15:16:12 1998 Ian Lance Taylor <ian@cygnus.com> - * config/tc-h8300.c (tc_reloc_mangle): Change reloc based on size - if it is TC_CONS_RELOC. Set a size of 4 to R_RELLONG. - -Wed Feb 21 09:25:39 1996 Doug Evans <dje@charmed.cygnus.com> + * ecoff.h: Change symbolS in function declaration to struct + symbol. - * config/tc-sparc.c (sparc_ip): Recognize %asr0 for v8. +Sun Apr 26 13:44:22 1998 Ian Lance Taylor <ian@cygnus.com> -Tue Feb 20 21:48:03 1996 Doug Evans <dje@charmed.cygnus.com> + * config/tc-sh.c (parse_reg): Add casts to avoid warnings. + (md_convert_frag): Fix i18n typo. - * config/tc-sparc.c (parse_keyword_arg): Accept leading '%'. - (sparc_ip): Accept %asr[1..31] for v8 and %asr[%16..31] for v9. - Recognize [uU] format args as sparclet cpregs. +Sat Apr 25 20:12:02 1998 Richard Henderson <rth@cygnus.com> -Tue Feb 20 22:25:55 1996 Ian Lance Taylor <ian@cygnus.com> + * ecoff.c (ecoff_get_cur_proc_sym): New function. + * ecoff.h: Protoype it. + * config/tc-alpha.c [ELF] (s_alpha_prologue): New function. + [EVAX] (s_alpha_prologue): Delete. + (md_pseudo_table): Update. - * config/tc-sh.c (sh_handle_align): Don't emit R_SH_ALIGN relocs - in bss_section. +Sat Apr 25 14:00:52 1998 Ian Lance Taylor <ian@cygnus.com> -Mon Feb 19 14:16:24 1996 Ian Lance Taylor <ian@cygnus.com> + * config/tc-i960.c (md_assemble): Change bp_error_msg from static + array to local pointer. + (get_args, parse_expr): Add casts to avoid warnings. - * config/tc-sparc.h (TC_RELOC_RTSYM_LOC_FIXUP): Check S_IS_WEAK as - well as S_IS_EXTERNAL. - (tc_fix_adjustable): Likewise. - * config/tc-sparc.c (md_apply_fix): In OBJ_ELF case, check for - S_IS_WEAK as well as S_IS_EXTERNAL when deciding whether to return - early. - (tc_gen_reloc): Check S_IS_WEAK as wel as S_IS_EXTERNAL when - deciding whether to convert BFD_RELOC_32_PCREL_S2 if PIC. +Fri Apr 24 12:47:42 1998 Philippe De Muyter <phdm@macqel.be> -Mon Feb 19 02:15:57 1996 Doug Evans <dje@charmed.cygnus.com> + * read.c (s_set): Cast xmalloc return value to fragS *. + * config/tc-m68k.c (m68k_ip): Function made static to match + previous forward declaration. + (insert_reg, init_regtable, md_convert_frag_1): Likewise. - * config/tc-sparc.c (max_architecture): Change to sparclite for - 32 bit arch. - (default_compatible): Delete. - (sparc_ffs): New function. - (md_begin): Only call SPARC_OPCODE_CONFLICT_P once. - (sparc_ip): Rewrite architecture match and bump logic. +Fri Apr 24 09:26:46 1998 Nick Clifton <nickc@cygnus.com> -Sun Feb 18 15:03:50 1996 Ian Lance Taylor <ian@cygnus.com> + * config/tc-v850.c: Add internationalisation macros to error + strings. - * configure.in: Check for 'do not mix' from native linker before - trying to use -rpath. - * configure: Rebuild. + * config/tc-m32r.c (can_make_parallel): Add internationalisation + macros to error strings. -Fri Feb 16 16:53:31 1996 Ian Lance Taylor <ian@cygnus.com> +Thu Apr 23 19:23:23 1998 Ian Lance Taylor <ian@cygnus.com> - * config/obj-coff.h (SF_ADJ_LNNOPTR): Define (non BFD_ASSEMBLER). - (SF_GET_ADJ_LNNOPTR): Define (non BFD_ASSEMBLER). - (SF_SET_ADJ_LNNOPTR): Define (non BFD_ASSEMBLER). - * config/obj-coff.c (obj_coff_endef): Set ADJ_LNNOPTR when LNNOPTR - is set. - (w_symbols): If ADJ_LNNOPTR is set, add the section lnnoptr field - to the symbol lnnoptr field, to get the correct file offset. + * config/tc-ppc.c (ppc_fix_adjustable): Correct test of whether a + reloc is in the TOC csect. + (md_apply_fix3): Correct gettext typo. + +Thu Apr 23 14:58:31 1998 Nick Clifton <nickc@cygnus.com> + + * config/tc-arm.c (find_real_start): Ignore symbols starting with + .L - they are local labels and the branches are not really + function calls but rather far jumps. + +Wed Apr 22 15:57:21 1998 Tom Tromey <tromey@cygnus.com> + + * po/Make-in (MKINSTALLDIRS): Don't look in $(top_srcdir). + +Wed Apr 22 14:52:36 1998 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-i386.c (md_assemble): Print operand number rather than + using ordinal_names. + (i386_operand): Likewise. + +Tue Apr 21 22:34:25 1998 Tom Tromey <tromey@scribbles.cygnus.com> + + * Makefile.am (INTLLIBS): Define to work around apparent automake + bug. + All Makefiles: Regenerated. + + * Many files: Added gettext invocations around user-visible + strings. + * acconfig.h (ENABLE_NLS, HAVE_CATGETS, HAVE_GETTEXT, HAVE_STPCPY, + HAVE_LC_MESSAGES): Define. + * dep-in.sed: Added asintl.h. + * po/Make-in: New file. + * gasp.c (main): Call setlocale, bindtextdomain, and textdomain. + Include "asintl.h". + * read.c (Z_): Renamed from `_'. + * Makefile.am (SUBDIRS): Added po. + (POTFILES): new macro. + (po/POTFILES.in): New target. + ($(OBJS)): Added asintl.h. + (HFILES): Likewise. + (INCLUDES): Added -DLOCALEDIR, -I$(top_srcdir)/../intl. + (as_new_LDADD): Added $(INTLLIBS). + (as_new_DEPENDENCIES): Added $(INTLDEPS). + (gasp_new_LDADD): Added $(INTLLIBS). + (gasp_new_DEPENDENCIES): New macro. + * configure, aclocal.m4: Rebuilt. + * configure.in: Call CY_GNU_GETTEXT. Generate po/Makefile.in and + po/Makefile. + (ALL_LINGUAS): Define. + * macro.c: Include "asintl.h". + * as.c (main): Call setlocale, bindtextdomain, and textdomain. + * as.h: Include "asintl.h". + * config/tc-i386.c (ordinal_names): Removed. + (md_assemble): Changed error text to avoid ordinal_names. + (i386_operand): Likewise. + (reloc): Added as_bad to avoid i18n problems. + (tc_gen_reloc): Likewise. + * config/tc-arm.c (bad_args): Now a #define. + (bad_pc): Likewise. + * config/obj-vms.c (VMS_stab_parse): Changed type of + `long_const_msg'. + (global_symbol_directory): Unified strings to avoid i18n + problems. + * config/tc-m68k.c (get_reloc_code): Added some as_bad calls to + avoid i18n problems. + * config/tc-ns32k.c (reloc): Added as_bad to avoid i18n problems. + * config/tc-ppc.c (md_apply_fix3): Added as_bad_where to avoid + i18n problems. + * config/tc-sh.c (md_convert_frag): Added as_bad to avoid i18n + problems. + * config/tc-v850.c (md_assemble): Changed C++ comment into C + comment. + * config/tc-vax.c (md_assemble): Added as_warn to avoid i18n + problems. + * as.c (print_version_id): Added an fprintf to avoid i18n + problems. + * cond.c (cond_finish_check): Added as_bad call to avoid i18n + problems. + * expr.c (expr): Added as_warn call to avoid i18n problems. + * messages.c (as_assert): Changed code to avoid i18n problems. + (as_abort): Likewise. + * read.c (pseudo_set): Added as_bad call to avoid i18n problems. + (s_space): Likewise. + * po/Make-in, po/POTFILES.in, po/gas.pot: New files. + +Tue Apr 21 17:01:22 1998 Alan Modra <alan@spri.levels.unisa.edu.au> + + * config/tc-i386.c (check_prefix): New static function, split out + from md_assemble. + (struct _i386_insn): Add wait_prefix field. + (md_assemble): Remove wait_prefix local variable. Use + check_prefix when adding a prefix. + + * config/tc-i386.c (current_templates): New static variable. + (md_assemble): Remove current_templates local variable. + (md_assemble, i386_operand): Improve error and warning messages in + many places. Add RESTORE_END_STRING in many places before error + return. Clarify some comments. + + * config/tc-i386.c (struct _i386_insn): Change seg field to a two + element array. + (md_assemble): Parse string instruction operands, looking for + segment override prefixes. Check for invalid segment prefixes on + string instruction. + (i386_operand): i.seg[] and max mem_operand changes for string + insns. + * config/tc-i386.h (EsSeg): Define. + + * config/tc-i386.h (regKludge): Define. + (iclrKludge, imulKludge): Don't define. + * config/tc-i386.c (md_assemble): Merge imulKludge and iclrKludge + code. Move ReverseRegRegmem fudges into Modrm case. Reorder + opcode_modifier checks to look for more common cases first. Add + default_seg for IsString case. -Thu Feb 15 14:48:38 1996 Michael Meissner <meissner@tiktok.cygnus.com> +Tue Apr 21 16:18:12 1998 Ian Lance Taylor <ian@cygnus.com> - * config/obj-elf.c (elf_frob_symbol): On the PowerPC, force all - symbols that are not function, file, or section symbols to be - object types. + * configure.in: Call AM_PROG_LEX rather than AC_PROG_LEX and + AC_DECL_YYTEXT. + * configure: Rebuild with new automake and libtool. + * aclocal.m4, Makefile.in: Likewise. -Thu Feb 15 11:20:18 1996 Ian Lance Taylor <ian@cygnus.com> + * doc/Makefile.am (as.dvi): New target. + * doc/Makefile.in: Rebuild. - * configure: Set and substitute RPATH_ENVVAR. - * configure: Rebuild. - * Makefile.in (RPATH_ENVVAR): New variable. - (check): Use $(RPATH_ENVVAR) rather than LD_LIBRARY_PATH. +Sat Apr 18 01:21:04 1998 Stan Cox <scox@cygnus.com> - * configure.in: Accept i686. From H.J. Lu <hjl@zoom.com>: i386 - doesn't need opcodes. If configuring shared, opcodes needs bfd. + * configure.in: Added sparc86x support. + * configure: Rebuild. + + * config/tc-sparc.c (lookup_arch): Added arch_type to struct + sparc_arch. + (md_parse_option): Warn if -EL is not supported for this architecture. -Wed Feb 14 16:33:12 1996 Martin Anantharaman <martin@mail.imech.uni-duisburg.de> - - * read.c (s_mri_sect): Don't return '\0' in type. Set all - appropriate flags in BFD section. - - * configure.in (m68k-*-psos*): New target. - * configure: Rebuild. - * config/te-psos.h: New file. - * config/tc-m68k.c (comment_chars): Don't include '#' if TE_PSOS - is defined. + * config/tc-sparc.h (SPARC_BIENDIAN) Always define. + +Sat Apr 18 01:19:01 1998 Jeffrey A Law (law@cygnus.com) -Wed Feb 14 13:43:24 1996 Ian Lance Taylor <ian@cygnus.com> + * config/tc-mips.c (mips_ip): Note when we use get match on + the full instruction name. - From Alan Modra <alan@spri.levels.unisa.edu.au>: - * configure.in: Remove duplicate setting of cpu_type. Check - whether opcodes library is required for on all targets, not just - primary one. - * configure: Rebuild. +Wed Apr 15 15:17:27 1998 Richard Henderson <rth@cygnus.com> - * config/tc-mips.c (mips_big_got): New static variable. - (s_extern): Don't declare. - (reg_needs_delay): New static function. - (macro_build): Permit GOT/CALL_HI/LO relocs. - (macro_build_lui): If place is not NULL, use the number in the - expression. - (load_address): Handle mips_big_got case. - (macro): Handle mips_big_got for M_LA_AB, M_JAL_A, and load and - store macros. - (OPTION_XGOT): Define. - (md_longopts): Add "xgot" if OBJ_ELF. - (md_parse_option): Handle -xgot. - (md_show_usage): Mention -xgot. - (md_apply_fix): Permit GOT/CALL_HI/LO relocs. - (tc_gen_reloc): Handle GOT/CALL_HI/LO relocs. - -Wed Feb 14 11:22:27 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> - - * config/tc-m68k.c (m68k_ip) [operand kind '#']: When fixing - the byte relocation, point it to the low byte of the word. - -Tue Feb 13 15:31:18 1996 Ian Lance Taylor <ian@cygnus.com> - - * configure.in: Set HDLFLAGS for *-*-hpux with --enable-shared. - * configure: Rebuild. + * symbols.c (resolve_symbol_value) [O_symbol]: Also store the symbol + back into the expression to handle add/sub simplification correctly. -Mon Feb 12 15:53:46 1996 Doug Evans <dje@charmed.cygnus.com> +Wed Apr 15 07:06:04 1998 Catherine Moore <clm@cygnus.com> - * configure.in: Recognize any sparc* cpu. - * configure: Regenerated. + * config/tc-mips.c (hilo_interlocks): Remove 4300. -Mon Feb 12 15:41:21 1996 Ian Lance Taylor <ian@cygnus.com> - - * read.c (potable): Add "mri" and ".mri". - (s_mri): New function. - * read.h (s_mri): Declare. - * app.c (scrub_m68k_mri): New static variable. - (mri_pseudo): New static variable. - (do_scrub_begin): Add m68k_mri parameter. Use it rather than - flag_m68k_mri. Initialize scrub_m68k_mri. - (mri_state, mri_last_ch): New static variables. - (struct app_save): Add scrub_m68k_mri, mri_state, and mri_last_ch - fields. - (app_push): Save new fields. - (app_pop): Restore new fields. - (do_scrub_chars): Check scrub_m68k_mri rather than flag_mri_mri. - If TC_M68K, use a trivial state machine to look for occurrences of - the .mri pseudo-op, and change the mode appropriately. - * as.h (do_scrub_begin): Update prototype. - * input-scrub.c (input_scrub_begin): Pass flag_m68k_mri to - do_scrub_begin. - * config/tc-m68k.c (reg_prefix_optional_seen): New static - variable. - (m68k_mri_mode_change): New function. - (md_parse_option): Set reg_prefix_optional_seen. - * config/tc-m68k.h (m68k_mri_mode_change): Declare. - (MRI_MODE_CHANGE): Define. - * doc/as.texinfo: Document .mri pseudo-op. - - * app.c (do_scrub_chars): In MRI mode, don't treat '#' as a - comment character. - -Mon Feb 12 15:16:29 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> - - Support for OBJ_ELF on m68k, mostly inside #ifdef OBJ_ELF: - * config/m68k-parse.h (enum pic_relocation): Define. - (struct m68k_exp): Add pic_reloc field. - * config/tc-m68k.h (TC_RELOC_RTSYM_LOC_FIXUP): Define. - (tc_fix_adjustable): Define to call tc_m68k_fix_adjustable. - (NO_RELOC): Define to BFD_RELOC_NONE if BFD_ASSEMBLER, to zero - otherwise. - * config/tc-m68k.c: Delete definition of NO_RELOC. - (struct m68k_it): Add pic_reloc field. - (add_fix): Copy over pic_reloc field. - (md_pseudo_table): Interpret .align parameter as byte count. - (mote_pseudo_table): Likewise. - (tc_m68k_fix_adjustable): New function. - (get_reloc_code): New function. - (md_assemble): Use it as last argument to fix_new_exp. - (md_apply_fix_2): For a relocation against a symbol don't put the - addend into the data. - (tc_gen_reloc): Different addend computation for OBJ_ELF. - (m68k_ip): Don't relax an operand that requires pic relocation. - (md_begin): Align .text, .data and .bss on 4 byte boundary by - default. - * write.c (fixup_segment): Don't add symbol value to addend if - TC_M68K and OBJ_ELF. - * config/m68k-parse.y (yylex): Handle @PLTPC, etc. - (motorola_operand): Add rule for `(zapc, EXPR)'. - -Mon Feb 12 10:07:33 1996 David Mosberger-Tang <davidm@azstarnet.com> - - * ecoff.c (ecoff_directive_weakext): Fixed so that whitespace - *really* is permissible before the comma. - -Mon Feb 12 00:12:13 1996 Ian Lance Taylor <ian@cygnus.com> - - * config/tc-sh.c (sh_do_align): Align to a 2 byte boundary before - inserting nop instructions. - -Fri Feb 9 10:54:19 1996 Ian Lance Taylor <ian@cygnus.com> - - * config/te-aux.h: Change include of aux.h to aux-coff.h. - -Thu Feb 8 20:02:58 1996 Ian Lance Taylor <ian@cygnus.com> - - * config/tc-i960.c (tc_coff_symbol_emit_hook): Correct storage - class setting for a CALLNAME symbol in COFF. - - * read.c (potable): Pass negative numbers for new .balign[wl] and - .p2align[wl] pseudo-ops. - (s_align_bytes): Treat a negative argument as specifying the fill - length. - (s_align_ptwo): Likewise. - -Wed Feb 7 14:12:03 1996 Ian Lance Taylor <ian@cygnus.com> - - * read.c (potable): Add balignw, balignl, p2alignw, and p2alignl. - (do_align): Take new len parameter. Change all callers. Pass it - to md_do_align. - (s_align_bytes): Arg now indicates the length of the fill pattern. - (s_align_ptwo): Likewise. - * config/obj-coff.c (write_object_file): Pass length to - md_do_align. - * config/tc-i386.h (md_do_align): Take new len parameter. - * config/tc-m88k.h (md_do_align): Likewise. - * config/tc-m88k.c (m88k_do_align): Likewise. - * config/tc-sh.h (md_do_align): Likewise. - * config/tc-sh.c (sh_do_align): Likewise. - * doc/as.texinfo: Document new pseudo-ops. +Mon Apr 13 16:51:04 1998 Nick Clifton <nickc@cygnus.com> - * config/obj-coff.c (fixup_mdeps): Divide offset by fr_var, as is - done in cvt_frag_to_fill. + * config/tc-arm.c (do_msr): Support undocumented 'msr cpsr_flg, + #<n>' instruction. - * config/tc-sh.h (sh_do_align): Declare. - (md_do_align): Define. - * config/tc-sh.c (sh_do_align): New function. +Thu Apr 9 10:29:42 1998 Doug Evans <devans@canuck.cygnus.com> - * ecoff.c (ecoff_build_lineno): Don't try to store the address - difference if the next address is before the current one. + * symbols.c (max_indent_level): New global. + (print_symbol_value_1): Use it. + * expr.h (expr_build_dot): Declare. + * expr.c (expr_build_dot): New function. - * config/tc-m68k.c (struct m68k_cpu): Add alias field. - (archs): Initialize new field. - (m68k_ip): Don't list alias names when listing CPUs which support - an instruction. +Wed Apr 8 16:16:11 1998 Doug Evans <devans@canuck.cygnus.com> - * as.c (main): Call parse_args before read_begin. - * app.c (do_scrub_chars): If flag_m68k_mri, don't put a dot in - front of generated pseudo-ops. - * read.c (potable): Ignore "name". - (s_app_file): Permit a single quote after the string, since one - may appear in m68k MRI mode. + * symbols.c (print_binary): New function. + (print_expr_1): Call it. - * configure.in: Check for --enable-shared. If linking against - shared BFD and opcodes, fix library name on SunOS, and try to set - -rpath reasonably. - * configure: Rebuild. +Mon Apr 6 12:06:39 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> -Tue Feb 6 15:16:17 1996 Ian Lance Taylor <ian@cygnus.com> - - * as.h (flag_m68k_mri): Declare. - * as.c (parse_args): If TC_M68K, set flag_m68k_mri for -M. - * Many files: For MRI syntax that is specific to the m68k MRI - assembler, check flag_m68k_mri rather than flag_mri or - MRI_MODE_NEEDS_PSEUDO_DOT. - -Mon Feb 5 16:29:11 1996 Ian Lance Taylor <ian@cygnus.com> - - * config/tc-i960.c (ARCH_HX): Define. - (arch_tab): Add HX. - (targ_has_sfr): Handle ARCH_HX. - (targ_has_iclass): Handle ARCH_HX. - (tc_coff_fix2rtype): Add return 0 to avoid warning. - (tc_headers_hook): If the architecture was specified explicitly, - use it when setting the flags. Set the extern variable coff_flags - rather than headers->filehdr.f_flags, since the latter is set - unconditionally in obj-coff.c. - (i960_handle_align): Remove unused variable fixp. - - Support for building bfd and opcodes as shared libraries, based on - patches from Alan Modra <alan@spri.levels.unisa.edu.au>: - * configure.in: Set OPCODES and BFD to search directories. - Substitute OPCODES_DEP and BFDDEP. On SunOS, set HLDFLAGS. - * configure: Rebuild. - * Makefile.in (LDFLAGS, HLDFLAGS): New variables. - (LIBDEPS): New variable. - (as.new0: Depend upon $(LIBDEPS) rather than $(LIBS). Use - $(HLDFLAGS) in link. - (check): Set LD_LIBRARY_PATH in the environment. - -Fri Feb 2 17:41:53 1996 Michael Meissner <meissner@wogglebug.tiac.net> - - * config/tc-ppc.h (ELF_TC_SPECIAL_SECTIONS): Make .sdata2, .sbss2, - .PPC.EMB.sdata0, and .PPC.EMB.sbss0 sections all default to - read-only, not read/write. - -Fri Feb 2 14:09:25 1996 Alan Modra <alan@spri.levels.unisa.edu.au> - - * Makefile.in (INSTALL_XFORM): Remove -e. - -Fri Feb 2 12:32:15 1996 Ian Lance Taylor <ian@cygnus.com> - - * write.c (write_relocs): Use S_IS_DEFINED and S_IS_COMMON rather - than comparing S_GET_SEGMENT to undefined_section. - (write_object_file): Skip symbols which were equated to an - undefined or common symbol. - * symbols.c (resolve_symbol_value): Use S_IS_DEFINED and - S_IS_COMMON rather than comparing S_GET_SEGMENT to - undefined_section. - (S_GET_VALUE): Likewise. Avoid recursion problems if S_IS_DEFINED - or S_IS_COMMON call S_GET_VALUE. - * config/obj-aout.h (S_IS_COMMON): Define if not BFD_ASSEMBLER. - * config/obj-aout.c (obj_emit_relocations): If a reloc is equated - to an undefined or common symbol, convert the reloc to be against - the target symbol. - (obj_crawl_symbol_chain): Skip symbols which were equated to an - undefined or common symbol. - * config/obj-bout.h (S_IS_COMMON): Define if not BFD_ASSEMBLER. - * config/obj-bout.c (obj_emit_relocations): If a reloc is equated - to an undefined or common symbol, convert the reloc to be against - the target symbol. - (obj_crawl_symbol_chain): Skip symbols which were equated to an - undefined or common symbol. - * config/obj-coff.c (do_relocs_for): Use S_IS_DEFINED and - S_IS_COMMON rather than comparing S_GET_SEGMENT to - undefined_section. - (yank_symbols): Skip symbols which were equated to an undefined or - common symbol. - -Thu Feb 1 15:34:32 1996 Ian Lance Taylor <ian@cygnus.com> - - * config/obj-aout.h (S_IS_LOCAL): Check for \002 as well as \001. - * config/obj-bout.h (S_IS_LOCAL): Likewise. + * config/tc-m68k.c (m68k_ip, case "#B"): Install the offset of the + operand in the opcode. - * configure.in: Make sure we only add m68k-parse.o to - ${extra_objects} once, no matter how many m68k targets have been - enabled. - * configure: Rebuild. +Fri Apr 3 11:58:19 1998 Alan Modra <alan@spri.levels.unisa.edu.au> -Wed Jan 31 18:31:46 1996 Steve Chamberlain <sac@slash.cygnus.com> + * config/tc-i386.h: Reorder operand flags and opcode modifier + flags for clarity. Remove unused definitions: Unknown, + ImmUnknown, DispUnknown, NoModrm. + * config/tc-i386.c (type_names): Add missing Debug type. + (md_assemble): Better duplicate prefix checking. Quicker string + instruction check via new opcode_modifier flag. - * configure.in (i386-*-cygwin32, ppc-*-cygwin32): New. - * configure: Rebuild. +Fri Apr 3 11:44:34 1998 Ian Lance Taylor <ian@cygnus.com> -Wed Jan 31 14:03:17 1996 Richard Henderson <rth@tamu.edu> + * doc/as.texinfo (Invoking): Clarify -Wa example. - * config/tc-m68k.c (md_pseudo_table): Add "extend" and "ldouble". - * doc/c-m68k.texi: Document .extend and .ldouble. +Fri Apr 3 09:12:23 1998 Gavin Koch <gavin@cetus.cygnus.com> - * configure.in (m68*-apple-aux*): New target. - * config/te-aux.h: New file. - * config/obj-coff.c (compare_external_relocs): New static function - if TE_AUX. - (do_relocs_for): Sort relocs if TE_AUX. - (fixup_segment): If TE_AUX, store common symbol value in segment. - * config/tc-m68k.h (TARGET_FORMAT): Define if TE_AUX. + * config/tc-mips.c (mips_pseudo_table): Add weakext entry. + (s_mips_weakext): Define. + * ecoff.c (ecoff_directive_weakext): Don't define if defined(TC_MIPS). + * config/obj-ecoff.c (obj_pseudo_table): Don't add weakext if + defined(TC_MIPS). + +Thu Apr 2 22:42:02 1998 Jeffrey A Law (law@cygnus.com) -Wed Jan 31 12:24:58 1996 Ian Lance Taylor <ian@cygnus.com> + * config/tc-mn10200.c (tc_gen_reloc): The difference of two symbols + is an error if the value can not be computed at assembly time. + * config/tc-mn10300.c (tc_gen-reloc): Likewise. - * config/obj-coff.h (S_IS_LOCAL): Check for \002 as well as \001. +Thu Apr 2 16:36:47 1998 Ian Lance Taylor <ian@cygnus.com> - * config/tc-mips.c (s_mips_globl): Set BSF_OBJECT if it is not - BSF_FUNCTION. - (s_cpload): Set BSF_OBJECT for _gp_disp symbol. - * read.c (s_lcomm): If S_SET_SIZE is defined, set the size of the - symbol. - * ecoff.c (add_procedure): Set the BSF_FUNCTION flag. - (ecoff_build_symbols): If S_SET_SIZE is defined, set the size of - an undefined symbol and the size of a function symbol. - * config/obj-elf.c (elf_frob_symbol): If TC_MIPS, set BSF_OBJECT - for all common symbols. + * gasp.c (main): Set next field of new include_path structure to + NULL. From Avery Pennarun <averyp@gdc.ca>. -Tue Jan 30 12:35:24 1996 Ken Raeburn <raeburn@cygnus.com> + * read.c (s_mri_sect): Call as_bad rather than abort for an + unsupported MRI target. - * config/tc-i960.c (parse_memop): In MRI mode, don't use implicit - scaling of index. +Wed Apr 1 11:08:27 1998 Nick Clifton <nickc@cygnus.com> - * expr.c (operand): Accept 0x hex constants in MRI mode if not on - m68k. + * config/tc-arm.c (arm_validate_fix): New function. Determine if + the destination of a branch instruction should be altered. + (find_real_start): New function: Locate the real, Thumb coded + start of a Thumb function. + (do_t_branch23): Alter the destination of branches to Thumb + functions. -Mon Jan 29 12:21:30 1996 Ian Lance Taylor <ian@cygnus.com> + * config/tc-arm.h: Define TC_VALIDATE_FIX. - * config/obj-elf.c (obj_elf_type): Set BSF_OBJECT flag for a type - of object. From Ronald F. Guilmette <rfg@monkeys.com>. +Tue Mar 31 13:27:33 1998 Dean M. Deaver <deaver@amt.tay1.dec.com> - * ecoff.c (localsym_t): Add addend field. - (add_ecoff_symbol): Add addend argument. Change all callers. - (coff_sym_value): Make static. - (coff_sym_addend): New static variable. - (ecoff_directive_def): Initialize coff_sym_addend. - (ecoff_directive_val): Accept symbol + constant. - (ecoff_directive_endef): Pass coff_sym_addend to add_ecoff_symbol. - (ecoff_build_symbols): Include the addend in the symbol value. + * config/tc-arm.c (decode_shift): Handle addressing mode 2 w/rrx + also. -Fri Jan 26 19:28:52 1996 Kim Knuttila <krk@cygnus.com> +Wed Apr 1 13:13:20 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> - * config/tc-ppc.c (md_assemble): Ignore overflow on - BFD_RELOC_16_GOTOFF and BFD_RELOC_PPC_TOC16. + * doc/as.texinfo: Use @itemx for a secondary item in a table. + * doc/c-hppa.texi: Likewise. -Fri Jan 26 16:14:17 1996 Michael Meissner <meissner@tiktok.cygnus.com> +Tue Mar 31 17:52:40 1998 Ian Lance Taylor <ian@cygnus.com> - * config/tc-ppc.c (md_apply_fix3): SDA21 relocations are now 4 - bytes in size, so offset appropriately in big endian mode when - writing the bottom 2 bytes. + * Makefile.am: Rebuild dependencies. + * Makefile.in: Rebuild. -Thu Jan 25 20:26:23 1996 Doug Evans <dje@charmed.cygnus.com> + * Makefile.am (DEP_INCLUDES): New variable. + (.dep1): Change to work when srcdir is not an absolute path. + (.tcdep, .objdep, .dep2, dep.sed): Likewise. + * Makefile.in: Rebuild. - * config/tc-sparc.c (default_compatible): New static local. - (md_begin): Initialize it. Rewrite warn_on_bump handling. - (sparc_ip): If no architecture or -bump specified, don't mark as - mismatched those in default_compatible. +Mon Mar 30 12:46:48 1998 Ian Lance Taylor <ian@cygnus.com> -Thu Jan 25 12:21:53 1996 Ian Lance Taylor <ian@cygnus.com> + * config/tc-i386.h, config/tc-i386.c: Revert March 24 + LinearAddress patch. - SCO ELF support from Robert Lipe <robertl@arnet.com>: - * configure.in (i386-*-sco*elf*): Use fmt elf, targ sco5. + * configure.in: Set version to 2.9.1. * configure: Rebuild. - * config/sco5.mt: New file; set TDEFINES to -DSCO_ELF. - * config/tc-i386.c (sco_id): New function, if SCO_ELF. - * config/tc-i386.h (tc_init_after_args): Define if SCO_ELF. - (sco_id): Declare if SCO_ELF. - -Thu Jan 25 03:10:53 1996 Doug Evans <dje@charmed.cygnus.com> - - * config/tc-sparc.c (initial_architecture,can_bump_v9_p): Deleted. - ({max,warn_after}_architecture): New static locals. - (md_begin): Replace NUMOPCODES with sparc_num_opcodes. - If both architecture and -bump requested, set max_architecture to max. - (sparc_md_end): Simplify. - (sparc_ip): Replace references to can_bump_v9_p with max_architecture. - Rewrite code to bump architecture and check for conflicts. - (md_longopts): Recognize -xarch={v8plus,v8plusa} for compatibility - with Solaris assembler. - (md_parse_option): Likewise. Call sparc_opcode_lookup_arch. - (md_show_usage): Update. - -Wed Jan 24 22:11:03 1996 Doug Evans <dje@charmed.cygnus.com> - - * Makefile.in (RUNTEST): Fix reference to $${srcdir}. - -Mon Jan 22 09:21:36 1996 Doug Evans <dje@charmed.cygnus.com> - - * config/tc-sparc.h (TARGET_FORMAT): Use #ifdef SPARC_ARCH64 instead of - #ifdef sparcv9 when choosing value. - (ENV64): Delete. - (md_end): Define. - (sparc_md_end): Declare. - * config/tc-sparc.c (SPARC_V9): Renamed from sparcv9. - (initial_architecture): New static local. - (can_bump_v9_p): Likewise. - (NO_V9): Delete all occurrences. - (sparc_md_end): New function. - (sparc_ip): New local v9_arg_p. Rework fp reg number test. - Don't bump architecture to v9 unless can_bump_v9_p set. - (md_parse_option): -A<arch> passed, set can_bump_v9_p accordingly. - * configure.in (sparc64 target cpu): Don't set obj_format here. - (SPARC_V9): Renamed from sparcv9. - (sparc64-*-elf*): Define SPARC_ARCH64. - * configure: Regenerated. - * acconfig.h (SPARC_V9): Renamed from sparcv9. - (SPARC_ARCH64): Add. - * conf.in: Regenerated. - * config/vmsconf.h: Update. - -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. + * Branched binutils 2.9. -Mon Jan 22 11:53:00 1996 Ian Lance Taylor <ian@cygnus.com> +Mon Mar 30 11:22:08 1998 Alan Modra <alan@spri.levels.unisa.edu.au> - * 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-i386.h (FWait): Define. + * config/tc-i386.c (md_assemble): Emit fwait prefix before any + other prefixes. Check FWait flag in opcode table to see which + instructions require an fwait prefix. - * config/tc-ppc.c (ppc_csect): An unnamed csect is storage class - XMC_PR. +Mon Mar 30 10:12:00 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> -Mon Jan 22 10:59:48 1996 Michael Meissner <meissner@tiktok.cygnus.com> + * stabs.c (get_stab_string_offset): Always create a stab string + section. - * config/obj-elf.c (elf/ppc.h): Include elf/ppc.h if target - computer is PowerPC. +Sat Mar 28 22:28:02 1998 Ian Lance Taylor <ian@cygnus.com> - * config/tc-ppc.c (md_apply_fix3): Add more embedded relocations. + Fix some gcc -Wall warnings: + * atof-generic.c (atof_generic): Add casts to avoid warnings. + * ehopt.c (eh_frame_code_alignment): Likewise. + * expr.c (integer_constant, operand): Likewise. + * frags.c (frag_align): Likewise. + * gasp.c (level_0, change_base, doinstr): Likewise. + * hash.c (hash_ask): Likewise. + * listing.c (listing_page, calc_hex, print_lines): Likewise. + (debugging_pseudo): Likewise. + * macro.c (define_macro, check_macro): Likewise. + * read.c (read_a_source_file, s_align, s_float_space): Likewise. + (ignore_rest_of_line, float_cons): Likewise. + * symbols.c (decode_local_label_name): Likewise. + * write.c (record_alignment, cvs_frag_to_fill): Likewise. + (fixup_segment, number_to_chars_bigendian): Likewise. + (number_to_chars_littleendian): Likewise. + * config/atof-ieee.c (gen_to_words): Likewise. + * config/tc-sparc.c (md_begin, md_assemble): Likewise. + (sparc_ip, parse_keyword_arg, s_common): Likewise. + * read.c (output_big_sleb128): Initialize locals to avoid + warnings. + (output_big_uleb128, equals): Likewise. + * atof-generic.c (atof_generic): Change number_of_digits_* locals + to unsigned int. Change zeros to unsigned int. + * cond.c (s_if): Add return to default case. + * frags.c (frag_now_fix): Change return type to addressT. + * frags.h (frag_now_fix): Update declaration. + * listing.c (file_info_struct): Change linenum to unsigned int. + (struct list_info_struct): Change hll_line to unsigned int. + (print_source): Update format string. + * read.c (emit_expr): Change scan to unsigned int, and don't + bother to initialize it. + * symbols.c (dollar_label_count): Change to unsigned long. + * write.c (adjust_reloc_syms): Remove unused label reduce_fixup. + * config/tc-sparc.c (sparc_memory_model): Only define if OBJ_ELF. + * config/tc-sparc.c (tc_gen_reloc): Add return to default case. - * config/tc-ppc.h (ELF_TC_SPECIAL_SECTIONS): Add sections - mentioned in the eabi. +Fri Mar 27 12:46:47 1998 Ian Lance Taylor <ian@cygnus.com> -Thu Jan 18 17:58:19 1996 Kim Knuttila <krk@cygnus.com> + * config/tc-m68k.c (m68k_ip): Check legal addressing modes for + mcf5200 just as we do for m68000. + (m68k_init_after_args): Likewise. + (md_estimate_size_before_relax): Likewise. - * config/tc-ppc.c (ppc_reldata): Changed alignement on reldata_section - * config/tc-ppc.c (ppc_pdata): Changed the alignment on pdata_section +Fri Mar 27 10:30:01 1998 Catherine Moore <clm@cygnus.com> -Mon Jan 15 17:43:42 1996 Michael Meissner <meissner@tiktok.cygnus.com> + * config/tc-v850.c (md_assemble): Store relocation addend in + fixup instead of instruction. - * config/tc-ppc.c (mapping): Add more relocation suffixes. +Thu Mar 26 23:07:18 1998 Alan Modra <alan@spri.levels.unisa.edu.au> -Sun Jan 14 21:29:36 1996 Michael Meissner <meissner@tiktok.cygnus.com> + * config/tc-i386.c (md_assemble): Swap template arguments to + CONSISTENT_REGISTER_MATCH macro in reverse direction test. + This macro is currently symmetric, so passing them the wrong + way didn't cause any problem, but may if the macro is changed + in the future. + After copying template to i.tm, use i.tm. rather than t-> to + access fields, and make t a const* + Move i.tm.operand_types[] swap to immediately after the copy. - * config/tc-ppc.c (ppc_elf_validate_fix): Allow .gcc_except_table - as a section it is ok to have unadorned -mrelocatable pointers in. +Wed Mar 25 13:44:18 1998 Doug Evans <devans@canuck.cygnus.com> -Sat Jan 13 11:09:08 1996 Michael Meissner <meissner@tiktok.cygnus.com> + * expr.h (expr_build_uconstant): Add prototype. + (expr_build_unary,expr_build_binary): Add prototypes. + * expr.c (expr_build_uconstant): New function. + (expr_build_unary,expr_build_binary): New functions. - * config/tc-ppc.c (ppc_section*): Wrap these functions inside - #ifdef OBJ_ELF. +Wed Mar 25 13:10:42 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de> -Fri Jan 12 15:32:07 1996 Michael Meissner <meissner@tiktok.cygnus.com> + * gasp.c (IS*): Cast argument to unsigned char, not unsigned int. + * macro.c (macro_expand_body): Increase buffer size. + * messages.c (as_warn): Likewise. + (as_warn_where, as_bad, as_bad_where): Likewise. - * config/obj-elf.c (obj_elf_section): Add hooks so machine - dependent section attributes can be handled. +Wed Mar 25 12:59:07 1998 Ian Lance Taylor <ian@cygnus.com> - * config/tc-ppc.h: (md_elf_section_{letter,type,word,flags}): New - macros to add support for exclude section flag and ordered section - type. + Based on patch from H.J. Lu <hjl@gnu.org>: + * Makefile.am (DISTSTUFF): New variable. + (diststuff): New target. + * Makefile.in: Rebuild. - * config/tc-ppc.c (ppc_elf_section_{letter,type,word,flags}): New - functions to add support for exclude section flag and ordered - section type. +Tue Mar 24 16:51:29 1998 Nick Clifton <nickc@cygnus.com> -Fri Jan 12 12:04:00 1996 Ian Lance Taylor <ian@cygnus.com> + * config/tc-m32r.h (md_cleanup, md_elf_section_change_hook): Call + m32r_elf_section_change_hook. - * subsegs.c (section_symbol): Don't try to look up the section - symbol in the hash table. It should be possible to have a symbol - with the same name as a section, but no connection to it. + * config/tc-m32r.c (m32r_elf_section_change_hook): New function to + emit a nop if a section ends with a 16 bit instruction. - * read.c (cons_worker): Only call mri_comment_end from flag_mri. - From James Carlson <carlson@xylogics.com>. +Tue Mar 24 19:48:09 1998 Ian Lance Taylor <ian@cygnus.com> - * expr.c (operand): Skip whitespace after a close parenthesis. - From James Carlson <carlson@xylogics.com>. + * config/obj-coff.c (obj_coff_bss): Compile unconditionally. Call + s_lcomm rather than obj_coff_lcomm. + (obj_pseudo_table): Compile .bss pseudo-op unconditionally. -Tue Jan 2 12:43:23 1996 Jim Wilson <wilson@chestnut.cygnus.com> +Tue Mar 24 18:30:58 1998 H.J. Lu <hjl@gnu.org> - * config/tc-sh.c (md_apply_fix): Call as_bad_where instead of - as_warn_where for relocation overflow. - (parse_reg): Accept register name only if next character is - not alphanumeric. + * config/tc-i386.h (LinearAddress): Define. + * config/tc-i386.c (md_assemble): If LinearAddress is set for the + instruction, don't use a default segment. -Sat Dec 30 23:42:51 1995 Jeffrey A Law (law@cygnus.com) +Mon Mar 23 18:53:40 1998 Joel Sherrill <joel@OARcorp.com> - * ecoff.c (ecoff_stab): Simplify. Correctly handle sym + offset - addresses for static variables. + * configure.in: (sh*-*-rtems*): Switched from ELF to COFF. + * configure: Rebuild. -Thu Dec 21 12:54:32 1995 Michael Meissner <meissner@tiktok.cygnus.com> +Fri Mar 20 19:15:44 1998 Ian Lance Taylor <ian@cygnus.com> - * config/tc-ppc.c (mapping): Make @got give a real GOT relocation, - and xgot give the old toc16 relocation. - (md_apply_fix3): Support all GOT relocations. + * aclocal.m4, configure: Rebuild with libtool 1.2. -Wed Dec 20 14:57:17 1995 Ian Lance Taylor <ian@cygnus.com> +Thu Mar 19 16:03:12 1998 Nick Clifton <nickc@cygnus.com> - * config/tc-mips.c (load_address): Correctly handle a constant in - SVR4_PIC case. From Richard Kenner <kenner@vlsi1.ultra.nyu.edu>. + * config/tc-arm.c (md_apply_fix3): fix code to test the range of + PC relative branches. Patch courtesy of Jonathan Walton. -Fri Dec 15 14:25:07 1995 J.T. Conklin <jtc@rtl.cygnus.com> + +Wed Mar 18 09:29:51 1998 Nick Clifton <nickc@cygnus.com> - * config/tc-sh.c (parse_reg): Recognize SH3 registers. - (get_specific): Handle A_SSR, A_SPC and A_REG_B. - (build_Mbytes): Handle REG_B. + * configure.in (emulations): Add thumb-pe target. -Fri Dec 15 16:07:25 1995 Ian Lance Taylor <ian@cygnus.com> + * configure (emulations): Add thumb-pe target. - * ecoff.c (ecoff_build_aux): Use new bfd_big_endian macro. +1998-03-17 Ken Raeburn <raeburn@cygnus.com> -Fri Dec 15 12:11:48 1995 Raymond Jou <rjou@mexican.cygnus.com> + * itbl-lex.l (yywrap): Don't define if already defined as a + macro. - * mpw-make.sed: If linking, edit ALL_CFLAGS to CFLAGS. +Fri Mar 13 16:31:38 1998 Tom Tromey <tromey@cygnus.com> -Thu Dec 14 15:09:52 1995 Ian Lance Taylor <ian@cygnus.com> + * depend.c (quote_string_for_make): New function. + (wrap_output): Use it. - * config/obj-coff.c (write_object_file): Set the s_align field to - the number of bytes, rather than to the power of 2. +Thu Mar 12 18:28:22 1998 Nick Clifton <nickc@cygnus.com> -Tue Dec 12 12:19:37 1995 Ian Lance Taylor <ian@cygnus.com> + * config/obj-elf.c (obj_elf_section): Set bss flag in seg_info + structure if type is SHT_NOBITS. [Bug fix courtesy of rth] - * Makefile.in (DISTCLEAN_HERE): New variable. - (distclean): Use it. - (maintainer-clean): Depend upon clean-here rather than clean, - distclean, and clean-info. Run make maintainer-clean in doc. - Remove files listed in DISTCLEAN_HERE. - * doc/Makefile.in (maintainer-clean realclean): Split out from - distclean. Depend upon clean-info and distclean. +Sat Feb 28 17:28:55 1998 Richard Henderson <rth@cygnus.com> -Mon Dec 11 16:23:51 1995 Stan Shebs <shebs@andros.cygnus.com> + * config/tc-alpha.c (md_shortopts, md_longopts, md_parse_option): + Recognize -GN and -relax. + (md_begin): Initialize gp size from -G switch. + (alpha_force_relocation): Always force if -relax. + (alpha_align): Take a new argument that will specify when to + emit an R_ALPHA_ALIGN relocation (though we don't do that now). + Change all callers. Emit nop alignment padding as nop+unop pair. - * mac-as.r: Fix copyright and version strings. - (cfrg): Use PROG_NAME instead of literal name. +Sat Feb 28 17:06:22 1998 Richard Henderson <rth@cygnus.com> -Mon Dec 11 14:14:08 1995 Ian Lance Taylor <ian@cygnus.com> + * config/obj-elf.c [TC_ALPHA]: Include <elf/alpha.h>. + * config/tc-alpha.h (ELF_TC_SPECIAL_SECTIONS): New. - * read.c (read_a_source_file): If tc_unrecognized_line is defined, - call it. - * config/tc-a29k.h (tc_unrecognized_line): Define. - * config/tc-a29k.c (a29k_unrecognized_line): New function. - (md_operand): Handle a29k style local dollar labels. +Thu Feb 26 15:49:04 1998 Michael Meissner <meissner@cygnus.com> -Wed Dec 6 17:52:52 1995 Ian Lance Taylor <ian@cygnus.com> + * config/tc-d30v.c (write_2_short): Delayed jsr instructions don't + require padding to the next long word boundary. - * config/obj-multi.h: If OBJ_MAYBE_ELF, define OBJ_SYMFIELD_TYPE. +Mon Feb 23 11:29:06 1998 Doug Evans <devans@seba.cygnus.com> -Tue Dec 5 13:26:34 1995 Ken Raeburn <raeburn@cygnus.com> + * cgen.c: #include symcat.h. + * config/tc-m32r.c: Likewise. - * read.c (s_fill): If md_flush_pending_output is defined, call - it. +Mon Feb 23 10:27:40 1998 Jeffrey A Law (law@cygnus.com) -Mon Dec 4 15:10:53 1995 Ken Raeburn <raeburn@cygnus.com> + * config/tc-mips.c (mips_ip, case 'P'): Make 'P' arguments be + absolute expressions instead of '$' prefixed register names. - * config/obj-coff.c (size_section, fill_section, fixup_mdeps): - Treat rs_align_code like rs_align. +Sat Feb 21 22:36:52 1998 Richard Henderson <rth@cygnus.com> -Sun Dec 3 16:46:54 1995 Richard Earnshaw (rearnsha@armltd.co.uk) + * read.c (s_set): Record file and line info for symbols when -as. + (pseudo_set): Don't overwrite that dummy fragment. - * config/tc-arm.c (cp_address_required_here): Set pre_inc when - converting an absolute address into a PC-relative one. +Fri Feb 20 15:03:13 1998 Ian Lance Taylor <ian@cygnus.com> -Fri Dec 1 11:57:56 1995 Stan Shebs <shebs@andros.cygnus.com> + * config/tc-ppc.c (md_pseudo_table): Add "section". + (ppc_named_section): New static function. - * mpw-config.in: Don't always use te-generic.h for emulation. - (powerpc-apple-macos): Use emulation te-macos.h. - * mpw-make.sed (install, install-only): Edit in Mac-specific - install procedure. +Thu Feb 19 22:25:42 1998 Richard Henderson <rth@cygnus.com> -Fri Dec 1 10:59:25 1995 Ian Lance Taylor <ian@cygnus.com> + * tc-ppc.c (ppc_biei): Cache the last symbol we inserted + so we don't have to scan the entire list. - * configure.in: Improve message about unsupported ELF targets. - * configure: Rebuild. +Tue Feb 17 17:02:15 1998 Fred Fish <fnf@cygnus.com> - * config/tc-m88k.c (m88k_do_align): Correct check for whether fill - pattern is zero. From Manfred Hollstein. - -Thu Nov 30 13:25:49 1995 Kim Knuttila <krk@cygnus.com> - - * config/tc-ppc.c (ppc_pe_section): To get the alignment right for - the various idata sections, we check the name on the .section pseudo. - -Thu Nov 30 11:23:42 1995 Manfred Hollstein KS/EF4A 60/1F/110 #40283 <manfred@lts.sel.alcatel.de> - - * config/obj-coff.c (fixup_segment): If TC_M88K is defined, do not - add section's paddr to add_number; compatibility to native as and - ld forbids. - -Wed Nov 29 23:14:27 1995 Ken Raeburn <raeburn@cygnus.com> - - * configure.in: Treat m68k-sysv4 like m68k-elf, not m68k-sysv3. - - * hash.c (struct hash_entry): Moved here... - * hash.h (struct hash_entry): ...from here. - - * config/obj-elf.c (elf_frob_symbol): Don't free and clear sy_obj - if it's already known to be null. - -Wed Nov 29 13:00:20 1995 Michael Meissner <meissner@tiktok.cygnus.com> - - * config/tc-ppc.c (md_apply_fix3): Don't adjust the value for 32 - bit relocs converted to PC relative relocs. This turned out to - add the offset from the beginning of .text twice. - -Tue Nov 28 10:42:36 1995 Ken Raeburn <raeburn@cygnus.com> - - * stabs.c (s_stab_generic): In 's' case, free string from - obstack. - - * config/obj-elf.h (ELF_TARGET_SYMBOL_FIELDS): Remove unused field - sy_name_offset. - * config/obj-multi.h (ELF_TARGET_SYMBOL_FIELDS) [OBJ_MAYBE_ELF]: - Ditto. - - * subsegs.h (segment_info_type): Make bitfields unsigned. + * config/tc-d30v.c (parallel_ok): For the explicitly parallel + case, allow the parallel instructions to modify the same flag + bits. - * expr.h (struct expressionS): Make X_op and X_unsigned bitfields, - and move them together. On most systems this will reduce the - structure size by one word. - (operatorT): Define O_max. - * expr.c (expr_begin): Verify that X_op is wide enough to hold - O_max. +Thu Feb 19 16:08:15 1998 Richard Henderson <rth@cygnus.com> - * read.c (pop_insert): Print error returned by hash table - insertion code. + * listing.c (list_symbol_table): Categorize symbols by + undefined_section rather than sy_frag->line == NULL. - * as.c (dump_statistics): Split out from main; dump some hash - table stats and target-specific stats. - (start_time): No longer automatic to main. - (main): Set file-level start_time and call dump_statistics at - exit. Exit by calling xexit. - (show_usage): Make --statistics description less specific. - * subsegs.c (subsegs_print_statistics): New function. - * write.c (write_print_statistics): New function. - (n_fixups): New static variable. - (fix_new_internal): Increment it. - * read.c (read_print_statistics): New function. - * read.h (read_print_statistics): Declare. - * symbol.c (symbol_print_statistics): New function. - * symbol.h (symbol_print_statistics): Declare. - * hash.c (hash_print_statistics): New function. - * hash.h (hash_print_statistics): Declare. - * config/tc-i386.c (i386_print_statistics): New function. - * config/tc-i386.h (i386_print_statistics): Declare. - (tc_print_statistics): New macro. - * messages.c (as_fatal, as_assert, as_abort): Use xexit, not - exit. +Wed Feb 18 23:39:46 1998 Richard Henderson <rth@cygnus.com> - * hash.c (DELETED): Rewrite to use a valid but unique address. - (START_POWER): Reduce to 10. - (enum stat_enum): New enumerator, replacing STAT_* index macros. - Add new values for counting strcmp calls. - (GROW_FACTOR): New macro. - (hash_grow): Use GROW_FACTOR. Rewrite for quick returns instead - of nesting blocks. - (FULL_VALUE): New macro. Use 1/4 of table size instead of 1/2. - (hash_new): Use FULL_VALUE. - (struct hash_control): Definition moved here. - (hash_code): Don't mask to low bits. - (hash_ask): Mask returned hash code here. Check hash value before - calling strcmp; count strcmp calls. - * hash.h (struct hash_control): Declare, don't define, here. - (HASH_STATLENGTH): Deleted. - (struct hash_entry): Add field for hash code. - (hash_say, hash_apply): Don't declare. + * Makefile.am (install-exec-local): Install properly when ln + fails or tooldir == prefix. - * hash.c (destroy): Return void. - (applicatee): Ditto. - (main): Fix declarations. - (hash_apply): Return void. Argument `function' returns void. Put - inside "#ifdef TEST". - (hash_say): Define only if TEST is defined. - * hash.h (hash_apply, hash_say): Declarations deleted. +Tue Feb 17 18:58:51 1998 Doug Evans <devans@seba.cygnus.com> -Mon Nov 27 13:18:25 1995 Ian Lance Taylor <ian@cygnus.com> + * cgen.c (cgen_md_apply_fix3): Delete call to validate_operand. + Test result of insert_operand for error. - * configure: Rebuild with autoconf 2.7. +Fri Feb 13 16:41:42 1998 Ian Lance Taylor <ian@cygnus.com> -Tue Nov 21 18:39:01 1995 Ian Lance Taylor <ian@cygnus.com> + * Makefile.am (AUTOMAKE_OPTIONS): Add cygnus. + * configure, Makefile.in, aclocal.m4: Rebuild with automake 1.2e. + * doc/Makefile.am (AUTOMAKE_OPTIONS): Define. + * doc/Makefile.in: Rebuild. - * aclocal.m4 (AC_PROG_CC): Remove local definition. - * configure: Rebuild with autoconf 2.6. +Fri Feb 13 00:47:44 1998 Ian Lance Taylor <ian@cygnus.com> -Mon Nov 20 17:26:00 1995 Ian Lance Taylor <ian@cygnus.com> + * config/tc-mips.c (macro_build): Handle operand type 'C'. + (macro): Fix handling of M_COP[0-3]. - * config/tc-ppc.c (ppc_debug_name_section_size): Remove. - (ppc_stabx): Don't increment ppc_debug_name_section_size. - (ppc_bc): Likewise. - (ppc_frob_file): Remove. - * config/tc-ppc.h (tc_frob_file): Don't define. - (ppc_frob_file): Don't declare. +Thu Feb 12 14:06:59 1998 Ian Lance Taylor <ian@cygnus.com> -Mon Nov 20 13:37:05 1995 Ken Raeburn <raeburn@cygnus.com> + Based on patches from Ross Harvey <ross@teraflop.com>: + * macro.c (ISSEP): Only treat '<' and '>' as separator characters + if macro_alternate or macro_mri. + (getstring): Remove support for byte constants between < and >. + (get_any_string): '<' only starts a string if macro_alternate or + macro_mri. + (macro_expand_body): Permit keyword parameters following + positional parameters. - * Makefile.in (TARG_CPU_DEP_alpha): Mention alpha-opcode.h. - * config/alpha-opcode.h: Include one-operand variants of jmp and - jsr. + NetBSD patches from Gordon W. Ross <gwr@mc.com>: + * configure.in (alpha*-*-netbsd*): New target. + * config/te-nbsd.h (LOCAL_LABELS_FB): Define. + * configure: Rebuild. - * config/te-delt88.h: Renamed from te-delta88.h, to avoid conflict - with te-delta.h in 8.3 file systems. - * configure.in: Adjusted. + * as.h (flag_warn_suppress_instructionswap): Move from here... + * config/tc-d10v.c (flag_warn_suppress_instructionswap): ...to + here, and make static. -Thu Nov 16 12:49:38 1995 Ian Lance Taylor <ian@cygnus.com> + * ehopt.c (eh_frame_code_alignment): Only use seg_info if + BFD_ASSEMBLER or MANY_SEGMENTS. - * config/tc-mips.c (s_err): Remove; just use the one in read.c. + * as.c (show_usage): Update bug-gnu-utils address. + * gasp.c (show_usage): Likewise. + * doc/as.texinfo (Bug Reporting): Likewise. - * config/m68k-parse.y (yylex): In MRI mode, '@' can start an octal - number. - * expr.c (operand): Handle MRI suffixes after unadorned 0. +Wed Feb 11 23:26:28 1998 Jeffrey A Law (law@cygnus.com) -Thu Nov 16 00:21:44 1995 Ken Raeburn <raeburn@cygnus.com> + * config/tc-mips.c (load_address): Don't use mips III or mips IV + insns regardless of the size of a pointer if we're in mips I or + MIPS II mode. + (macro, macro2, s_cprestore, s_cpadd): Likewise. - Version 2.6 released. - * Makefile.in (VERSION): Updated to 2.6. +Thu Feb 12 03:41:00 1998 J"orn Rennecke <amylaar@cygnus.co.uk> - * config/obj-coff.c (write_object_file): Change use of md_do_align - to pass a pointer rather than a fill value, to match other uses. +Fix rac to accept only a0: + * tc-d10v.c (parallel_ok, find_opcode): + Split OPERAND_ACC into OPERAND_ACC0 and OPERAND_ACC1. + Introduce OPERAND_GPR. -Wed Nov 15 03:52:00 1995 Ken Raeburn <raeburn@cygnus.com> +Wed Feb 11 16:28:13 1998 Richard Henderson <rth@cygnus.com> - * config/tc-ns32k.h (TC_FIX_TYPE): Add missing semicolon. + * read.c (s_fill): Handle non-constant repeat counts by creating + an rs_space fragment. - * as.c (main): Move md_end call to just after call to - perform_an_assembly_pass. Delete cpu-specific code here. - * config/tc-i960.h (md_end): New macro, calls brtab_emit. - * config/tc-arm.c (md_end): Unused function deleted. - * config/tc-ns32k.c (md_end): Ditto. +Tue Feb 10 18:31:31 1998 Ian Lance Taylor <ian@cygnus.com> - * config/tc-i386.c (i386_align_code): New function, moved here - from HANDLE_ALIGN macro. - * config/tc-i386.h (HANDLE_ALIGN): Call it. + * config/tc-i386.c (i386_operand): Change error added Jan 2 1998 + from as_bad to as_warn. - Mon Jul 31 14:53:19 1995 Alan Modra <alan@spri.levels.unisa.edu.au> +Tue Feb 10 18:04:00 1998 Jim Lemke <jlemke@cygnus.com> - * config/tc-i386.h (md_do_align): cast fill and 0x90 to char - before comparing + * as.c: (perform_an_assembly_pass): Use [TEXT|DATA|BSS]_SECTION_NAME + * as.h: Define default values of [TEXT|DATA|BSS]_SECTION_NAME + * config/obj-elf.c (elf_begin): Use [TEXT|DATA|BSS]_SECTION_NAME - Mon May 1 10:91:49 1995 Alan Modra <alan@spri.levels.unisa.edu.au> +Tue Feb 10 17:58:18 1998 Ian Lance Taylor <ian@cygnus.com> - * config/tc-i386.h (md_do_align): Make ".align n,0x90" generate - multi-byte nops to avoid changing gcc. The necessary gcc change - might break old assemblers. + * ehopt.c (eh_frame_code_alignment): If not BFD_ASSEMBLER, use + seg_fix_rotP rather than fix_root from seg_info. - Sat Apr 22 20:53:05 1995 Alan Modra <alan@spri.levels.unisa.edu.au> +Tue Feb 10 15:32:22 1998 Ian Carmichael <iancarm@cygnus.com> - * config/tc-i386.h (md_do_align, HANDLE_ALIGN): Add macros to - generate optimal multi-byte nop instructions for ".align n" - ".align n,0x90", and aligns requiring more than 15 bytes of - padding still generate multiple 0x90's as before. + * expr.c: Add support for 0x1_2_3_4 bignums. -Mon Nov 13 17:40:21 1995 Ian Lance Taylor <ian@cygnus.com> +Tue Feb 10 14:43:40 1998 Ian Lance Taylor <ian@cygnus.com> - * config/tc-m68k.c (s_mri_until): Call pop_mri_control. + * configure.in: Change -linux* to -linux-gnu*. + * configure: Rebuild. -Mon Nov 13 20:39:06 1995 Stan Shebs <shebs@andros.cygnus.com> + * app.c (do_scrub_begin): Treat \r as whitespace. - * configure.in (ppc-*-macos*, ppc-*-mpw*): New configurations. - * configure: Update. - * mpw-make.sed: Reorder commands to make sed happier. - * config/te-macos.h: New file. - * config/tc-ppc.h (TARGET_FORMAT): Set correctly for PowerMac. +Mon Feb 9 14:16:11 1998 Ian Lance Taylor <ian@cygnus.com> -Sun Nov 12 21:14:56 1995 Jeffrey A Law (law@cygnus.com) + * Makefile.am: Update dependencies. + * Makefile.in: Rebuild. - * config/tc-hppa.c (pa_ip): Fix off-by-2 bug in length check for - conditional branches. - (md_apply_fix): Likewise. +Sat Feb 7 15:33:51 1998 Ian Lance Taylor <ian@cygnus.com> -Thu Nov 9 16:14:01 1995 Ian Lance Taylor <ian@cygnus.com> + * configure, aclocal.m4: Rebuild with new libtool. - * config/tc-a29k.c (md_apply_fix): Warn if an attempt is made to - generate a reloc which the linker will not handle correctly. Fix - overflow checking--R_IREL is 18 bits, not 17. +Fri Feb 6 16:08:30 1998 Jeffrey A Law (law@cygnus.com) -Wed Nov 8 19:59:36 1995 Ian Lance Taylor <ian@cygnus.com> + * config/tc-mips.c (md_begin): If mips_cpu is set, then use it as + the argument to bfd_set_arch_mach. + (load_address): Use bfd_arch_bits_per_address to determine the + bit size of an address instead of looking at the isa level. + (macro, macro2, s_cprestore, s_cpadd): Likewise. - * config/obj-coff.c (fixup_segment): Don't subtract md_pcrel_from - from a PC relative reloc if TC_A29K. +Fri Feb 6 14:44:34 1998 Nick Clifton <nickc@cygnus.com> - * config/tc-a29k.c (line_separator_chars): Restore '@'. Existing - code depends upon it. + * config/tc-v850.c (md_parse_option): Add -mv850any command line option. - * config/tc-a29k.c (md_operand): Handle $float, $double, and - $extend. Based on code from Eric Freudenthal - <freudenthal@nyu.edu>. - * config/tc-a29k.h (LEX_DOLLAR): Define. - * read.c (LEX_DOLLAR): Define if not defined. - (lex_type): Use LEX_DOLLAR. +Thu Feb 5 12:39:08 1998 Ian Lance Taylor <ian@cygnus.com> -Wed Nov 8 16:38:14 1995 Eric Freudenthal <freudenthal@nyu.edu> + * ehopt.c: New file. + * as.h (enum _relax_state): Add rs_cfa. + (check_eh_frame, eh_frame_estimate_size_before_relax): Declare. + (eh_frame_relax_frag, eh_frame_convert_frag): Declare. + * read.c (emit_expr): Call check_eh_frame. + * write.c (cvt_frag_to_fill): Handle rs_cfa. + (relax_segment): Likewise. + * Makefile.am: Rebuild dependencies. + (GAS_CFILES): Add ehopt.c. + (GENERIC_OBJS): Add ehopt.o. + * doc/internals.texi (Frags): Document rs_cfa. - * configure.in (a29k-nyu-sym1): New target, just like other a29k - targets. + * as.c (show_usage): Mention --traditional-format. + (parse_args): Accept --traditional-format. + * as.h (flag_traditional_format): Declare. + * output-file.c (output_file_create): If flag_traditional_format, + set BFD_TRADITIONAL_FORMAT on stdoutput. + * doc/as.texinfo, doc/as.1: Document --traditional-format. -Wed Nov 8 11:38:48 1995 Ian Lance Taylor <ian@cygnus.com> + * config/tc-mips.c (append_insn): Make sure that if we have a + fixup for an unmatched %hi reloc, it does not associated with a + variant frag. - * config/obj-coff.c (c_dot_file_symbol): Cast xmalloc return. + * configure, Makefile.in, aclocal.m4: Rebuild with new libtool. + * doc/Makefile.in: Likewise. -Tue Nov 7 09:14:35 1995 Kim Knuttila <krk@cygnus.com> +Wed Feb 4 15:41:54 1998 Nick Clifton <nickc@cygnus.com> - * config/tc-ppc.c (md_apply_fix3): Added BFD_RELOC_RVA. Currently - used only by "dlltool.c". + * config/tc-m32r.c (check_for_side_effects): New function. + (can_make_parallel): Add checks for instruction side effects + clashing with the other instruction. + (assemble_parallel_insn): Improve warning messages. Return error + message from non-swapped instruction order. -Mon Nov 6 18:51:26 1995 Ian Lance Taylor <ian@cygnus.com> +Wed Feb 4 20:00:26 1998 James G. Smith <jsmith@teknema.demon.co.uk> - * config/tc-alpha.c: Undefine inline if not __GNUC__. - (md_pseudo_table): Don't define "extern". + * config/tc-arm.c: Rename arm_after_pass_hook() to arm_cleanup(). -Sat Nov 4 00:51:21 1995 Ian Lance Taylor <ian@cygnus.com> + * config/tc-arm.h: Replace md_after_pass_hook definition with a + md_cleanup definition. This moves the forced literal output to + the end of the source pass, and avoids macro's inserting literals + into the code immediately after the macro expansion. - * config/tc-ppc.c (ppc_biei): Force symbol into text_section. +Wed Feb 4 13:17:19 1998 Ian Lance Taylor <ian@cygnus.com> - * config/tc-ppc.c (md_show_usage): Put backslash at end of line. + * config/tc-sparc.h (tc_fix_adjustable) [OBJ_ELF]: A reloc against + a gas internal symbol is adjustable. + * config/tc-ppc.h (tc_fix_adjustable): Likewise. -Fri Nov 3 13:02:59 1995 Ian Lance Taylor <ian@cygnus.com> + * as.h: If gcc version greater than 2.6, use `__format__' and + `__printf__' in function attributes, rather than `format' and + `printf'. - * macro.c (macro_expand_body): Don't warn about == with a - nonexistent parameter, in case it is in a comment field. +Mon Feb 2 18:38:18 1998 Ian Lance Taylor <ian@cygnus.com> - * as.c (main): On TC_A29K, call macro_init with macro_alternate - set to 1. - * macro.c (get_any_string): Don't keep quotes if macro_strip_at is - set, even if macro_alternate is set. - (get_apost_token): If macro_strip_at, only skip kind if it is '@'. - (sub_actual): If macro_strip_at, and kind is '@', don't look up - the token unless it ended in '@'. - * config/tc-a29k.c (line_separator_chars): Remove '@'. - * doc/c-a29k.texi: Document macro usage on A29K. + * config/tc-sparc.c: Only include elf/sparc.h if OBJ_ELF. -Thu Nov 2 23:07:57 1995 Ian Lance Taylor <ian@cygnus.com> +Mon Feb 2 18:30:34 1998 Steve Haworth <steve@pm.cse.rmit.EDU.AU> - * config/tc-m68k.c (m68k_ip): Handle new 'W' place, meaning a - signed word. - (install_operand): Likewise. + Add tms320c30 support: + * config/tc-tic30.h: New file. + * config/tc-tic30.c: New file. + * config/obj-coff.h: If TC_TIC30, include coff/tic30.h and define + TARGET_FORMAT as "coff-tic30". + * configure.in (tic30-*-*aout*, tic30-*-*coff*): New targets. + * Makefile.am: Rebuild dependencies. + (CPU_TYPES): Add tic30. + (CPU_OBJ_VALID): tic30-aout is valid. + (TARGET_CPU_CFILES): Add config/tc-tic30.c. + (TARGET_CPU_HFILES): Add config/tc-tic30.h. + * configure, Makefile.in: Rebuild. - * config/obj-elf.c (ecoff_debug_pseudo_table): Add "extern". +Mon Feb 2 10:20:37 1998 Nick Clifton <nickc@cygnus.com> -Wed Nov 1 15:17:02 1995 Manfred Hollstein KS/EF4A 60/1F/110 #40283 <manfred@lts.sel.alcatel.de> + * config/tc-v850.c (md_assemble): Improvements to error messages. - * configure.in (m88k-motorola-sysv*): New target. - * configure: Rebuild. - * config/te-delta88.h: New file. - * config/obj-coff.c (write_object_file): Use md_do_align if it is - defined. - * config/tc-m88k.h (SUB_SEGMENT_ALIGN): Define. - (md_do_align): Define. - * config/tc-m88k.c: Include "subsegs.h". - (m88k_do_align): New function. +Mon Feb 2 12:39:05 1998 Geoff Keating <geoffk@ozemail.com.au> - * config/te-delta.h (STRIP_UNDERSCORE): Don't define. - (COFF_NOLOAD_PROBLEM): Define. - (LOCAL_LABELS_DOLLAR, LOCAL_LABELS_FB): Define. + * config/tc-ppc.c (md_apply_fix3): Change BFD_RELOC_HI16 and + BFD_RELOC_HI16_S to store the high bits of any value. -Wed Nov 1 16:07:43 1995 Ken Raeburn <raeburn@cygnus.com> + * config/tc-ppc.h (tc_fix_adjustable): Undo change of Fri Jun 27. + (TC_RELOC_RTSYM_LOC_FIXUP): Don't let the + assembler calculate relocations to any external symbol at all. + * config/tc-ppc.c (md_apply_fix3) [OBJ_ELF]: Correct bugs + involving generation of pc-relative relocs. + (md_pcrel_from_section) [OBJ_ELF]: The job this code used to do + has been moved to md_apply_fix3. - * config/tc-i386.c (md_assemble): For a jump instruction with - non-constant target, require 7 available bytes in the current - frag, not 6. + * config/tc-ppc.c (md_apply_fix3): Fix test for too-far branch. + (ppc_elf_suffix): Warn about 'identifier+constant@got' syntax, + which actually means (the address of identifier's GOT entry) + + constant, which is not particularly useful. -Tue Oct 31 15:37:16 1995 Fred Fish <fnf@rtl.cygnus.com> +Fri Jan 30 11:02:35 1998 Doug Evans <devans@canuck.cygnus.com> - * config/obj-elf.h: Include bfd/elf-bfd.h rather than - bfd/libelf.h. + * read.h (include_dirs): Declare. + (include_dir_count,include_dir_maxlen): Declare. -Tue Oct 31 16:34:28 1995 David Mosberger-Tang <davidm@azstarnet.com> +Fri Jan 30 11:47:02 1998 Ian Lance Taylor <ian@cygnus.com> - * configure.in (alpha-*-linux*): Use ecoff. + * configure.in: Correct check for shared opcodes library. * configure: Rebuild. - * ecoff.c (ecoff_directive_extern): New function. - (ecoff_directive_weakext): New function. - (ecoff_build_symbols): Handle weak symbols. - (ecoff_setup_ext): Likewise. - (ecoff_frob_symbol): Warn about weak common symbols. - * ecoff.h (ecoff_directive_extern): Declare. - (ecoff_directive_weakext): Declare. - * symbols.c (S_IS_WEAK): New function. - * symbols.h (S_IS_WEAK): Declare. - * config/obj-ecoff.c (obj_pseudo_table): Add "extern" and - "weakext". - * config/tc-mips.c (mips_pseudo_table): Remove "extern". - (s_extern): Remove. - -Tue Oct 31 13:29:08 1995 Ian Lance Taylor <ian@cygnus.com> - - * config/tc-ppc.c (ppc_lglobl): Do the right thing. - - * config/tc-ppc.c (ppc_bb): Call SF_SET_PROCESS. - (ppc_eb): Likewise. Set the storage class to C_BLOCK, not C_FCN. - (ppc_frob_symbol): Don't change C_BLOCK symbols to C_HIDEXT. - * config/obj-coff.c (coff_frob_symbol): Don't call - SA_SET_SYM_ENDNDX with the current symbol; call it with the next - one. If OBJ_XCOFF, try to figure out whether the symbol is going - to be dropped. - - * config/tc-ppc.c (md_pseudo_table): Add "bc" and "ec". - (ppc_stab_symbol): New static variable. - (ppc_change_csect): Check that ppc_toc_csect is not NULL. - (ppc_stabx): Set ppc_stab_symbol around call to symbol_make. Set - sy_tc.real_name to the stab string. - (ppc_bc, ppc_ec): New static functions. - (ppc_canonicalize_symbol_name): If ppc_stab_symbol is set, don't - do anything. - (ppc_symbol_new_hook): If ppc_stab_symbol is set, don't look for a - suffix. - (ppc_frob_symbol): Set BSF_NOT_AT_END for symbols with csect aux - entries. - - * input-scrub.c (input_scrub_push): Reset sb_index. - -Mon Oct 30 17:52:46 1995 Ian Lance Taylor <ian@cygnus.com> - - * listing.c (listing_newline): Don't create a frag in the absolute - section. - -Sat Oct 28 01:02:05 1995 Ian Lance Taylor <ian@cygnus.com> - * config/tc-ppc.c (md_pseudo_table): Add "data" and "text". - (ppc_csect): Move most of the code to ppc_change_csect, and call - it. - (ppc_change_csect): New static function, taken from ppc_csect. - (ppc_section): New static function. - (ppc_saw_abs): New static varable. - (ppc_frob_symbol): Create aux entry for absolute symbols. Warn if - a symbol has no csect. - (ppc_adjust_symtab): New function. - * config/tc-ppc.h (tc_adjust_symtab): Define if OBJ_XCOFF. - (ppc_adjust_symtab): Declare if OBJ_XCOFF. - - * write.c (write_object_file): If tc_adjust_symtab is defined, - call it just before the call to obj_adjust_symtab. + * listing.c (buffer_line): If we can't open the file, set at_end. + (listing_print): Remove unused local variable fi. - * symbols.c (symbol_find_or_make): Change name to be const. - * symbols.h (symbol_find_or_make): Update declaration. + * config/m68k-parse.y (reglistpair): Handle register list in + either order. -Thu Oct 26 19:18:27 1995 Ken Raeburn <raeburn@cygnus.com> + * config/vms-conf.h: Don't undef VERSION. - * doc/as.texinfo (Align): Mention SH. - * doc/c-m68k.texi (M68K-Directives, .even): Describe behavior, not - .align value. - * doc/c-z8k.texi (Z8000 Directives, global): Fix minor typo. - (Z8000 Directives, even): Don't give numeric align value, instead - explain behavior. +Thu Jan 29 14:42:44 1998 Pat Rankin <rankin@eql.caltech.edu> -Thu Oct 26 11:45:03 1995 Richard Earnshaw (rearnsha@armltd.co.uk) + * Makefile.am (CONFIG_OBJS): New variable, containing part of old + OBJS variable. + (GENERIC_OBJS): New variable, with the rest of the old OBJS + variable. + (OBJS): Now just $(CONFIG_OBJS) and $(GENERIC_OBJS). + ($(srcdir)/make-gas.com): Rename from make-gas.com. + (stamp-mk.com): Replace $(OBJS) with $(GENERIC_OBJS). + (EXTRA_DIST): Define. + * vmsconf.sh: Handle {targ-cpu, obj-format, atof-targ} modules + explicitly rather than via the list of object files. + (gcc-as.opt): New file created when make-gas.com is run. + * config-gas.com: Create {targ-cpu.h, obj-format.h, targ-env.h, + itbl-cpu.h} to #include appropriate file rather than copying that + file. + * config/vms-conf.h: Synchronize with current config.in. + * Makefile.in: Rebuild. - * tc-arm.c (do_ldst): Assemble ldr/str r0, [r1] as a pre-increment - instruction. +Thu Jan 29 18:48:19 1998 Bill Moyer <billm@cygnus.com> -Wed Oct 25 11:59:24 1995 Per Bothner <bothner@kalessin.cygnus.com> + * config/tc-d30v.c (do_assemble): Added flag_explicitly_parallel. + (parallel_ok): Relaxed parallel subinstruction dependency check. - * Makefile.in (diststuff): Also make info. - (maintainer-clean realclean): Also make clean-info. +Wed Jan 28 14:35:00 1998 Bill Moyer <billm@cygnus.com> -Tue Oct 24 15:21:33 1995 Jeffrey A Law (law@cygnus.com) + * as.h (flag_warn_suppress_instructionswap): added new flag. + * tc-d10v.c (md_parse_option,md_longopts): added "--nowarnswap" + command line argument. + * tc-d10v.c (write_2_short): emit "Swapping instructions" + warning only if flag_warn_suppress_instructionswap is false. - * config/tc-hppa.c (md_pseudo_table): Add new ".nsubspa" opcode. - (pa_subspace): For ".nsubspa", always create a new subspace - with the given attributes, even if one already exists with the - same name. +Wed Jan 28 16:41:19 1998 J.J. van der Heijden <J.J.vanderHeijden@student.utwente.nl> -Tue Oct 24 14:50:38 1995 Michael Meissner <meissner@tiktok.cygnus.com> + * configure.in (i386-*-mingw32*): New target. + * configure: Rebuild. - * config/tc-ppc.h (TC_FORCE_RELOCATION_SECTION): Rename from - TC_FORCE_RELOCATION, taking an additional section argument. If - the section of the target symbol is not the same as the current - section, always force the relocation to be used. - (MD_PCREL_FROM_SECTION): New macro to call md_pcrel_from_section. +Wed Jan 28 14:51:18 1998 Ian Lance Taylor <ian@cygnus.com> - * config/tc-ppc.c (md_pcrel_from_section): Rename from the - md_pcrel_from function, taking an additional section argument. - Invoke TC_FORCE_RELOCATION_SECTION instead of TC_FORCE_RELOCATION. + * symbols.c (resolve_symbol_value): Don't set the segment if it + hasn't changed, and this is OBJ_AOUT without BFD_ASSEMBLER. - * write.c (TC_FORCE_RELOCATION_SECTION): Define in terms of the - older TC_FORCE_RELOCATION if not defined. - (MD_PCREL_FROM_SECTION): If not defined, invoke md_pcrel_from. - (fixup_segment): Use MD_PCREL_FROM_SECTION instead of - md_pcrel_from, and TC_FORCE_RELOCATION_SECTION instead of - TC_FORCE_RELOCATION. - -Mon Oct 23 16:20:04 1995 Ken Raeburn <raeburn@cygnus.com> + * config/obj-aout.h (S_IS_LOCAL): Correct typo--pass argument to + S_GET_SEGMENT. - * input-scrub.c (as_where): Set name to null pointer if we don't - have a file name. - * messages.c (identify): Only print filename if non-null. - (as_show_where): Ditto, for line number too. - (as_warn_internal, as_bad_internal): Ditto. +Wed Jan 28 13:54:50 1998 Pat Rankin <rankin@eql.caltech.edu> - * input-file.c (input_file_open): If the input file can't be - opened, consider it an error. + as.h (unlink): Reverse 13-Feb-97 change; use of unlink vs remove + depends upon HAVE_{UNLINK,REMOVE} values rather than host + compiler. -Mon Oct 23 11:15:44 1995 James G. Smith <jsmith@pasanda.cygnus.co.uk> +Wed Jan 28 13:48:08 1998 Ian Lance Taylor <ian@cygnus.com> - * config/tc-mips.c: Added mips_4100 control, and support for - accepting the 4100 as a MIPS architecture variant (md_begin, - macro_build, mips_ip, md_parse_option). Adding suitable - command-line OPTIONs, and updating the help text (md_show_usage). - -Wed Oct 18 13:20:32 1995 Ken Raeburn <raeburn@cygnus.com> - - * subsegs.c (subseg_begin): Only set absolute_frchain.fix_* when - BFD_ASSEMBLER is defined. - - * Use one active frag and one obstack per frag chain: - * frags.c (frags): Variable deleted. - (frag_alloc): New function. - (frag_grow, frag_more, frag_variant, frag_now_fix, - frag_append_1_char): Refer to frchain_now->frch_obstack instead of - frags variable. - (frag_new): Ditto. Verify that frch_last and frag_now match on - entry and exit, and that old frag_now has non-zero type. Replace - "know" uses with "assert". Use frag_alloc instead of mucking with - obstack alignment. - * frags.h (frags): Declaration deleted. - * subsegs.h (struct frchain): Add new field frch_frag_now. - * subsegs.c (frchains, dummy_frag, absolute_frchain): New static - variables. - (subsegs_begin): Initialize frchains obstack. Under gcc, don't - give it any stricter alignment than frchainS structures need. Do - not initialize frags obstack. Set frag_now to point to - dummy_obstack. Initialize absolute_frchain. - (subseg_set_rest): Save and restore frag_now in frch_frag_now - field of frchainS. Don't create new frags on section switch, and - use frag_alloc when creating a new frag chain. For absolute - section, set frchain_now to absolute_frchain. Verify that - frch_last and frag_now match on entry and exit. Initialize - per-chain obstack, and under gcc, set required alignment to that - needed by fragS structure. - - * write.c (chain_frchains_together_1): Verify fr_type is nonzero. - - * stabs.c (get_stab_string_offset): Only copy input string if a - fresh copy is needed, not if the section already exists. - (s_stab_generic): Cache stab section name to bypass lookups, since - usually it will match. Could be made faster still by changing the - memory allocation rules. - (s_xstab): Cache section name to bypass repeated string - allocation. - - * frags.c (frag_new): Deleted register declarations. - - * listing.c (frag_now): Don't declare. - - * as.c (chunksize): New variable. - (debug_memory): New variable. - (main): If debug_memory is set, reduce chunksize and - _bfd_chunksize. - * as.h (chunksize): Declare it. - * read.c (read_begin): Use it. - - * config/tc-alpha.c (md_shortopts): Include 'g'. - (md_parse_option): Ignore it. - - * Makefile.in (distclean): Remove Makefile and config.status from - testsuite directory. - (clean-here): Don't delete testsuite. Instead, delete only the - files within it that would be generated by running tests. - - * config/tc-hppa.c (hppa_elf_mark_end_of_function): Call - frag_now_fix instead of accessing obstack info directly. - * config/tc-arm.c (s_ltorg): Ditto. - (md_assemble): Ditto. + * config/obj-coff.h (RESOLVE_SYMBOL_REDEFINITION): Define. - * config/tc-i386.c (md_assemble): Call frag_grow instead of - obstack_room. +Wed Jan 28 09:52:00 1998 Nick Clifton <nickc@cygnus.com> -Wed Oct 18 12:22:59 1995 Ken Raeburn <raeburn@cygnus.com> + * config/tc-v850.c (v850_insert_operand): Display instruction when + an error is encountered. - * stabs.c (aout_process_stab): Insert debug symbol into symbol - chain after parsing value expression, if any, to avoid separating - continued .stabs lines. +Tue Jan 27 13:32:01 1998 Robert Lipe <robertl@dgii.com> -Mon Oct 16 10:56:41 1995 Ian Lance Taylor <ian@cygnus.com> + * configure.in (i386-*-sco3.2v5*): Defaults to ELF now. + (i386-*-sco3.2v5*coff): New target. + (i386-*-sco3.2*): New target. + * configure: Rebuild. - * config/tc-mips.c (mips_elf_pseudo_table): Remove. - (mips_pop_insert): Don't call pop_insert on mips_elf_pseudo_table. +Tue Jan 27 11:06:52 1998 Nick Clifton <nickc@cygnus.com> -Mon Oct 16 07:07:37 1995 Michael Meissner <meissner@wogglebug.tiac.net> + * config/tc-v850.c: Tidy error message production. - * config/tc-ppc.c (md_begin): Use new flags PPC_OPCODE_COMMON for - -mcom support and PPC_OPCODE_ANY for -many. - (md_parse_option): Ditto. - (ppc_arch): Ditto. - (md_begin): For duplicate instructions, print all duplicates - before aborting. +Tue Jan 27 12:24:32 1998 Ian Lance Taylor <ian@cygnus.com> -Sun Oct 15 22:06:14 1995 Michael Meissner <meissner@cygnus.com> + * config/tc-arm.c (md_apply_fix3): Add new variable newimm to hold + validate_immediate return value in the right type for comparisons + to FAIL. - * config/tc-ppc.c (md_parse_option): Support for -mcom to turn on - common mode operation. - (md_show_usage): Add -mcom to usage message. +Tue Jan 27 06:51:59 1998 Richard Henderson <rth@cygnus.com> -Fri Oct 13 13:32:45 1995 steve chamberlain <sac@slash.cygnus.com> + * listing.c (MAX_BYTES): Use listing variables not constants. + (data_buffer): No longer an array, but a pointer. + (calc_hex): sizeof(data_buffer) -> MAX_BYTES. + (listing_listing): Allocate data_buffer. - * expr.c (op_rank): Add O_symbol_rva. - * expr.h (operatorT): Add O_symbol_rva. - * read.c (cons_worker): Set O_symbol_rva when necessary. - * write.c (fix_new_exp): Understand O_symbol_rva. +Tue Jan 27 06:38:35 1998 Richard Henderson <rth@cygnus.com> -Tue Oct 10 11:34:14 1995 Ian Lance Taylor <ian@cygnus.com> + * as.c (parse_args): Add --listing-lhs-width, --listing-lhs-width2, + --listing-rhs-width, --listing-cont-lines. + (show_usage): Update. + * listing.c (listing_lhs_width, listing_lhs_width_second): New vars. + (listing_lhs_cont_lines, listing_rhs_width): New vars. + (print_lines): Use the variables instead of the constants. + (listing_listing): Likewise. + * listing.h: Declare the new vars. + +Tue Jan 27 05:32:05 1998 Richard Henderson <rth@cygnus.com> - * config/tc-mips.c: Correct s_cons arguments. From Michael - Joosten <joost@ori.cadlab.de>. + * as.c (parse_args): Add --keep-locals alias for -L. + Add --strip-local-absolute. + (show_usage): Update. + * as.h (flag_strip_local_absolute): New flag. + * symbols.c (S_IS_LOCAL): Use it. + * config/obj-aout.h (S_IS_LOCAL): Likewise. + * config/obj-bout.h (S_IS_LOCAL): Likewise. + * config/obj-coff.h (S_IS_LOCAL): Likewise. -Mon Oct 9 19:59:53 1995 Ian Lance Taylor <ian@cygnus.com> +Mon Jan 26 13:07:41 1998 Nick Clifton <nickc@cygnus.com> - * config/tc-ppc.c (ppc_macro): Make count unsigned. - (ppc_biei): Set segment to now_seg and value to coff_n_line_nos. - (ppc_frob_symbol): Handle C_BINCL and C_EINCL symbols by setting - the fix_line field. - * config/obj-coff.c (coff_n_line_nos): Rename from n_line_nos, and - make non-static. Change all users. - * config/obj-coff.h (coff_n_line_nos): Declare. + * config/tc-m32r.c: Detect if explicitly parallel instructions + might have an io conflict and issue a warning message. -Fri Oct 6 16:24:27 1995 Ken Raeburn <raeburn@cygnus.com> +Thu Jan 22 17:51:44 1998 Nick Clifton <nickc@cygnus.com> - Mon Sep 25 22:49:32 1995 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> + * cgen.c (cgen_save_fixups, cgen_restore_fixups, + cgen_swap_fixups): Functions to save, restore and swap the fixup + chain with a backup copy. + (cgen_asm_finish_insn): Returns address of constructed insn. - * configure.in (AC_ARG_WITH(bfd-assembler)): Fix help message. +Wed Jan 21 16:49:10 1998 Richard Henderson <rth@cygnus.com> - * config/obj-elf.c (obj_elf_common): Convert specified byte - alignment to power of two. Set size of local bss symbol. + * listing.c (file_info_struct): Remove FILE, add POS. + (last_open_file_info, last_open_file): New; a one entry FILE* cache. + (file_info): Don't open the file. + (buffer_line): Check for the file in the last_open cache, updating + as necessary. + (print_source): Don't reference file_info->file. + (listing_listing): Likewise. + (listing_print): Close the file in the cache, if any. - * config/tc-m68k.c (tc_gen_reloc): Fix typo in variable name. +Fri Jan 16 14:51:48 1998 Ian Lance Taylor <ian@cygnus.com> -Fri Oct 6 15:22:25 1995 Ian Lance Taylor <ian@cygnus.com> + * read.c (dwarf_file_string): New file static variable. + (emit_expr): Look for constant sequence that leads up to a file + name in DWARF debugging output. + (stringer): Use dwarf_file_string to decide whether to accept a + string as a file name. - * sb.c, macro.c: Decide whether to include <string.h> or - <strings.h> just as as.h does. +Fri Jan 16 11:30:37 1998 Richard Henderson <rth@cygnus.com> -Fri Oct 6 09:55:33 1995 Doug Evans <dje@canuck.cygnus.com> + * tc-m68k.c (m68k_ip): Remove absl->reglst MRI hack. + (crack_operand): Add reg->reglst MRI hack. + (r_seg): Put reglst symbols in reg_section. + (m68k_frob_symbol): Frob reglst symbols into absolute_section. - * Makefile.in (site.exp): Fix setting of $srcdir. +Thu Jan 15 14:19:01 1998 Richard Henderson <rth@cygnus.com> - * config/tc-arm.c (md_atof): Fix little-endian output. - * config/tc-arm.h (ARM_BI_ENDIAN): Move definition so defined for - all coff targets. + * tc-sh.c (get_specific): Handle SGR & DBR. -Thu Oct 5 20:17:30 1995 Ken Raeburn <raeburn@cygnus.com> +Thu Jan 15 13:46:48 1998 Richard Henderson <rth@cygnus.com> - * doc/as.texinfo: Split out the NS32k family documentation, - despite its being commented out for now. - * doc/c-ns32k.texi: New file. + * tc-h8300.c (parse_reg): Take the length of the symbol into + account when attempting to match a register name. + * tc-h8500.c (parse_reg): Likewise. - * sb.c, macro.c: Include string.h. +Wed Jan 14 17:52:33 1998 Nick Clifton <nickc@cygnus.com> - * Makefile.in (comparison): Only check *.o; we don't care if - timestamps inserted by the native linker differ. + * cgen.c: Formatting changes to improve readability. - * config/tc-alpha.c (alpha_align): Only fill with a no-op pattern - if alignment stricter than 4 bytes is requested; in that case, - align to a 4-byte boundary first. +Wed Jan 14 15:41:41 1998 Jeffrey A Law (law@cygnus.com) - Thu Sep 28 19:35:27 1995 Pat Rankin <rankin@eql.caltech.edu> + * config/tc-mips.c (macro): Rework division code to avoid unfilled + delay slot. - * config/obj-vms.c (VMS_RSYM_Parse): eliminate "might be used - uninitialized" warning for `Max_Source_Offset'. +Wed Jan 14 18:04:20 1998 Michael Meissner <meissner@cygnus.com> -Wed Oct 4 16:17:02 1995 Kim Knuttila <krk@cygnus.com> + Based on a patch from Jim Wilson + * config/tc-d30v.c (do_assemble): Remove non-ansi default case. + (tc_gen_reloc): Handle cross section PC relative relocs + correctly. - * config/tc-ppc.c (parse_toc_entry): New function to parse [toc] - qualifiers and detect errors if present. - (md_assemble): Add call to parse_toc_entry. Also added some support - for the [tocv] qualifier. - (ppc_pe_tocd): New function to support data in the toc section. +Wed Jan 14 15:02:19 1998 Doug Evans <devans@seba.cygnus.com> -Wed Oct 4 14:03:39 1995 Ian Lance Taylor <ian@cygnus.com> + * config/tc-mips.c (mips_ip): Don't test pinfo flags if INSN_MACRO. - * config/tc-ppc.c (ppc_frob_symbol): Don't create an aux entry for - an absolute symbol. +Mon Jan 12 13:04:57 1998 Doug Evans <devans@seba.cygnus.com> -Tue Oct 3 12:18:19 1995 Ian Lance Taylor <ian@cygnus.com> + * cgen.c: #include setjmp.h. Clean up pass over `struct foo' usage. + (expr_jmp_buf): New static local. + (cgen_parse_operand): Allow use of longjmp in parsing to handle errors. + (cgen_md_operand): New function. + * tc-m32r.c: Clean up pass over `struct foo' usage. + (md_estimate_size_before_relax): Use CGEN_INSN_MNEMONIC. - * config/tc-m68k.c (isword): Accept all values from -65536 to - +65535, so ~VAL will not be rejected. +Tue Jan 6 15:36:02 1998 Richard Henderson <rth@cygnus.com> - * cond.c (s_endif): Call demand_empty_rest_of_line. In MRI mode, - skip characters after the pseudo-op. - (s_else): Likewise. - * read.c (get_line_sb): Don't look past buffer_limit. - (s_include): In MRI mode, skip characters after the file name. + * symbols.c (S_SET_SEGMENT): Don't set the segment for section syms. + (S_IS_EXTERNAL, S_IS_LOCAL): Correct parenthetication. -Mon Oct 2 16:15:27 1995 Ian Lance Taylor <ian@cygnus.com> +Fri Jan 2 16:08:54 1998 Ian Lance Taylor <ian@cygnus.com> - * config/m68k-parse.y (m68k_reg_parse): In MRI mode, permit - periods in register names. + * config/tc-i386.c (i386_operand): Give an error if there are + unrecognized characters after an expression. -For older changes see ChangeLog.1. +For older changes see ChangeLog-9697 |