From 3d759c53c925566cd94b579aa4751191d40ae4ab Mon Sep 17 00:00:00 2001 From: Ken Raeburn Date: Wed, 12 Aug 1998 10:50:35 +0000 Subject: [PATCH] sanitize-vr5400 -> sanitize-cygnus, for 98r2 --- .Sanitize | 16 +- bfd/.Sanitize | 2 +- gas/.Sanitize | 18 +- gas/ChangeLog | 9 +- gas/ChangeLog-9697 | 6101 ++++++++++++++++++++++++++++++ gas/config/.Sanitize | 16 +- gas/testsuite/.Sanitize | 18 +- gas/testsuite/gas/mips/.Sanitize | 20 +- gas/testsuite/gas/mips/mips.exp | 13 +- gdb/.Sanitize | 12 +- gdb/ChangeLog-97 | 4 +- gdb/configure.tgt | 4 +- opcodes/.Sanitize | 18 +- sim/mips/.Sanitize | 26 +- sim/mips/configure.in | 8 +- 15 files changed, 6198 insertions(+), 87 deletions(-) create mode 100644 gas/ChangeLog-9697 diff --git a/.Sanitize b/.Sanitize index 0baba7cdd4f..82bb519d39a 100644 --- a/.Sanitize +++ b/.Sanitize @@ -574,24 +574,24 @@ else done fi -vr5400_files="ChangeLog config.sub" +cygnus_files="ChangeLog config.sub" -if ( echo $* | grep keep\-vr5400 > /dev/null ) ; then - for i in $vr5400_files ; do - if test ! -d $i && (grep sanitize-vr5400 $i > /dev/null) ; then +if ( echo $* | grep keep\-cygnus > /dev/null ) ; then + for i in $cygnus_files ; do + if test ! -d $i && (grep sanitize-cygnus $i > /dev/null) ; then if [ -n "${verbose}" ] ; then - echo Keeping vr5400 stuff in $i + echo Keeping cygnus stuff in $i fi fi done else for i in * ; do - if test ! -d $i && (grep sanitize-vr5400 $i > /dev/null) ; then + if test ! -d $i && (grep sanitize-cygnus $i > /dev/null) ; then if [ -n "${verbose}" ] ; then - echo Removing traces of \"vr5400\" from $i... + echo Removing traces of \"cygnus\" from $i... fi cp $i new - sed '/start\-sanitize\-vr5400/,/end-\sanitize\-vr5400/d' < $i > new + sed '/start\-sanitize\-cygnus/,/end-\sanitize\-cygnus/d' < $i > new if [ -n "${safe}" -a ! -f .Recover/$i ] ; then if [ -n "${verbose}" ] ; then echo Caching $i in .Recover... diff --git a/bfd/.Sanitize b/bfd/.Sanitize index 30e09e4812f..23c3e2ce0b7 100644 --- a/bfd/.Sanitize +++ b/bfd/.Sanitize @@ -486,7 +486,7 @@ else echo Removing traces of \"cygnus\" from $i... fi cp $i new - sed '/start\-sanitize\-cygnus/,/end-\sanitize\-cygnus/d' < $i > new + sed '/start\-sanitize\-cygnus/,/end\-sanitize\-cygnus/d' < $i > new if [ -n "${safe}" -a ! -f .Recover/$i ] ; then if [ -n "${verbose}" ] ; then echo Caching $i in .Recover... diff --git a/gas/.Sanitize b/gas/.Sanitize index 7c7d1f6868e..25cce6b21f6 100644 --- a/gas/.Sanitize +++ b/gas/.Sanitize @@ -186,23 +186,23 @@ else done fi -vr5400_files="ChangeLog ChangeLog-9697" -if ( echo $* | grep keep\-vr5400 > /dev/null ) ; then - for i in $vr5400_files ; do - if test ! -d $i && (grep sanitize-vr5400 $i > /dev/null) ; then +cygnus_files="ChangeLog ChangeLog-9697" +if ( echo $* | grep keep\-cygnus > /dev/null ) ; then + for i in $cygnus_files ; do + if test ! -d $i && (grep sanitize-cygnus $i > /dev/null) ; then if [ -n "${verbose}" ] ; then - echo Keeping vr5400 stuff in $i + echo Keeping cygnus stuff in $i fi fi done else - for i in $vr5400_files ; do - if test ! -d $i && (grep sanitize-vr5400 $i > /dev/null) ; then + for i in $cygnus_files ; do + if test ! -d $i && (grep sanitize-cygnus $i > /dev/null) ; then if [ -n "${verbose}" ] ; then - echo Removing traces of \"vr5400\" from $i... + echo Removing traces of \"cygnus\" from $i... fi cp $i new - sed '/start\-sanitize\-vr5400/,/end-\sanitize\-vr5400/d' < $i > new + sed '/start\-sanitize\-cygnus/,/end-\sanitize\-cygnus/d' < $i > new if [ -n "${safe}" -a ! -f .Recover/$i ] ; then if [ -n "${verbose}" ] ; then echo Caching $i in .Recover... diff --git a/gas/ChangeLog b/gas/ChangeLog index 357d0d15cd6..cd853e74a13 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +Mon Aug 10 15:39:56 1998 Richard Henderson + + * config/tc-alpha.c (tc_gen_reloc): Bias WEAK symbols just as + we do for EXTERN. + Mon Aug 10 15:06:18 1998 Nick Clifton * config/tc-d30v.c (d30v_align): Always perform alignment request, @@ -1489,12 +1494,12 @@ Wed Apr 15 10:35:59 1998 Frank Ch. Eigler VCALLMSR instruction. end-sanitize-r5900 -start-sanitize-vr5400 +start-sanitize-cygnus Wed Apr 15 07:06:04 1998 Catherine Moore * config/tc-mips.c (hilo_interlocks): Remove VR5400. -end-sanitize-vr5400 +end-sanitize-cygnus Wed Apr 15 07:06:04 1998 Catherine Moore * config/tc-mips.c (hilo_interlocks): Remove 4300. diff --git a/gas/ChangeLog-9697 b/gas/ChangeLog-9697 new file mode 100644 index 00000000000..eed55ede1e2 --- /dev/null +++ b/gas/ChangeLog-9697 @@ -0,0 +1,6101 @@ +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 + + * 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 + + * 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 + + * config/tc-d10v.c (build_insn): Make `number' a long for 64-bit hosts. + +Thu Dec 18 16:42:57 1997 Richard Henderson + + * 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. + +Wed Dec 17 15:29:03 1997 Michael Meissner + + * config/tc-d30v.c (md_shortopts): Add 'n' and 'N' options. + (exec_type_enum): Enumeration giving all of the exec types. + (warn_nops): New static variable to give nop warning level. + ({cur,prev}_mul32_p): New static variable to keep track of whether + the current/previous instruction is a 32-bit multiply. + (Optimizing): Make static. + (NOP{2,_LEFT,_RIGHT}): Macros for word of nops and left/right + nops. + (d30v_insert_operand): Delete declaration of unused function. + (write_2_short): Make exec_type argument enum, not int. + (parallel_ok): Ditto. + (check_range): Delete unused variable(s). + (build_insn): Ditto. + (find_format): Ditto. + (md_apply_fix3): Ditto. + (md_show_usage): Document -n and -N. + (md_parse_option): Parse -n and -N. + (write_1_short): If -n, warn about adding a nop. Use + NOP_{LEFT,RIGHT}. + (write_2_short): Use enumeration values instead of hard coded + integers. Reset exec_type for default operations. For explicit + parallel operations, call parallel_ok to make sure everything is + ok. If writing out a parallel operation, and the previous + instruction was a 32-bit multiply, indicate current instruction + is. + (parallel_ok): Allow add/tx ... to be done in parallel with + another add/tx ... assuming the gpr registers don't overlap. + (md_assemble): Use exec type enumeration values, not hard coded + ints. Check for loads or 16-bit multiplies following in the next + cycle after a 32-bit multiply. Add nops if that is the case. + (do_assemble): Copy prev_mul32_p to cur_mul32_p, and set + cur_mul32_p if current instruction is a 32-bit multiply. + (find_format): Change spacing and layout. + +start-sanitize-tic80 +Tue Dec 16 16:55:45 1997 Fred Fish + + * config/tc-tic80.c (tic80_relax): New static variable. + (md_longopts): Add new OPTION_RELAX and OPTION_NO_RELAX options. + (md_parse_option): Handle new relax options. + (md_show_usage): Document new relax options. + (find_opcode): Don't use short forms of PC relative branches if + tic80_relax is set. + +end-sanitize-tic80 +Tue Dec 16 15:26:03 1997 Michael Meissner + + * config/tc-d30v.c (parallel_ok): Remove non-register bits from + used/set flag fields. Make flag vars unsigned long. Use + FLAG_A{0,1} for accumulators. Allow any 2 insns to be done in + parallel if they use the same conditional flag with reversed + meaning. Allow 2 add/sub insns that set the carry or overflow + flags but do not query them to be done in parallel. Don't allow 2 + word store operations to be done in parallel with ADDppp or + SUBppp. Don't allow loads to be done in parallel with 16 bit + multiplies. + +Tue Dec 16 09:20:43 1997 Nick Clifton + + * config/tc-arm.c: Prevent use of interworking support for + non-COFF targets. + +Mon Dec 15 15:20:32 1997 Nick Clifton + + * doc/all.texi: Add M32R cpu. + + * doc/as.texinfo: Add documentation of m32r processor. + + * doc/c-m32r.texi: New file, documenting m32r specific features. + +start-sanitize-m32rx + * config/tc-m32r.c (allow_m32rx): New function. + (enable_m32rx): New variable. + (md_pseudo_table): Added .m32r and .m32rx pseudo ops + (md_show_usage): Document new --m32rx command line option. + (md_parse_option): Implement new --m32rx command line option. +end-sanitize-m32rx + +Mon Dec 15 10:32:28 1997 Jeffrey A Law (law@cygnus.com) + + * config/tc-mips.c (mips_ip): Correctly insert 'P' operands into + the instruction. + +start-sanitize-tic80 +Fri Dec 12 11:44:20 1997 Fred Fish + + * config/tc-tic80.c (build_insn): Handle instructions that have + long (32 bit) PC relative offsets. Fix places that previously + misused R_MPPCR for 15 bit offsets to use the new R_MPPCR15W type. + (md_apply_fix): Add case to handle long PC relative offsets. + +end-sanitize-tic80 +Fri Dec 12 10:35:01 1997 Nick Clifton + + * doc/c-arm.texi (ARM Options): Document support for new ARM + processor names. + + * config/tc-arm.c (md_parse_option): Add support for new ARM + processor names. + +Thu Dec 11 17:46:50 1997 Richard Henderson + + * config/tc-m68k.c (m68k_ip): Don't overwrite opcode table data. + (insop, m68k_ip): Make `opcode' const so it doesn't happen again. + +Fri Dec 5 11:23:59 1997 Nick Clifton + + * config/tc-v850.c (md_assemble): Fix BFD_RELOC_32 against a + symbol + offset. + + * config/tc-v850.h (ELF_TC_SPECIAL_SECTIONS): Use + SHT_V850_{S|T|Z}COMMON to mark special common sections. + +Tue Dec 2 17:05:13 1997 Nick Clifton + + * config/tc-v850.c: Brought up to date with the branch. + +Mon Dec 1 20:24:18 1997 J"orn Rennecke + + * 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. + +Sat Nov 22 16:19:22 1997 Richard Henderson + + * tc-alpha.c (range_signed_16, range_signed_32): Work around an + apparent bug in gcc's long long support crossing from x86. + +Sat Nov 22 14:26:09 1997 Nick Clifton + + * config/tc-arm.c: Brought up to date with latest changes on arm + branch. + +Sat Nov 22 15:50:09 1997 Klaus Kaempf + + * config-gas.com: Get version info from configure.in. + + * makefile.vms: include depend.obj in OBJS. + + * config/tc-alpha.c (s_alpha_section): Remove ".lcomm" handling. + + * config/tc-alpha.c (alpha_basereg_clobbered): Remove variable and + all corresponding code. + +Thu Nov 20 15:06:08 1997 Richard Earnshaw + + * config/tc-arm.h (TARGET_FORMAT for generic a.out targets): Allow + run-time endian selection. + +Wed Nov 19 17:44:42 1997 Richard Henderson + + * tc-sh.c (parse_reg): Properly quote for fv4. + +Wed Nov 19 23:46:18 1997 Ian Lance Taylor + + * symbols.c (resolve_symbol_value): Add missing breaks in case on + symbol value operator. + +start-sanitize-cygnus +Wed Nov 19 02:24:07 1997 Ken Raeburn + + * config/tc-mips.c (gpr_interlocks, cop_interlocks): VR5400 has + these. + +end-sanitize-cygnus +Tue Nov 18 18:45:14 1997 J"orn Rennecke + + * config/tc-d10v.c (parallel_ok, find_opcode): + Split OPERAND_FLAG into OPERAND_FFLAG and OPERAND_CFLAG. + +Sun Nov 16 10:05:07 1997 Fred Fish + + * config/obj-coff.c (fixup_segment): Cast second arg of + md_apply_fix3 call to type "valueT *". + +Thu Nov 13 13:53:10 1997 Andrew Cagney + + * configure.in (emulations): Make FreeBSD an aout / i386bsd + variant. + * configure: Re-generate. + +Thu Nov 13 11:07:14 1997 Gavin Koch + + * 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 + + * config/tc-d10v.c (find_opcode): For OPCODE_FAKE, add check for + first argument if it's supposed to be a register. + +start-sanitize-tx49 +Wed Nov 12 10:06:27 1997 Gavin Koch + + * config/tc-mips.c (mips_4900): Added. + (hilo_interlocks): Added mips_4900. + (md_begin): Set default for mips_4900. + (macro_build,mips_ip): Test for INSN_4900 if mips_4900. + (md_longopts): Add "m4900" and "no-m4900". + (md_parse_option): Handle above options. + +end-sanitize-tx49 +Tue Nov 11 19:25:05 1997 J"orn Rennecke + + * 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 + + * 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 + + * 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 +start-sanitize-cygnus + + * config/tc-mips.c (mips_ip): Added cases for "e", "%", and "P" + operand types. + (hilo_interlocks): VR5400 has interlocks. + (md_begin): Expect mips64vr5400, not mips64r5400. +end-sanitize-cygnus + + * 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 + + * frags.h: Handle multiple inclusion. + +Wed Nov 5 10:51:49 1997 Doug Evans + + 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 + + * 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 + + * 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 + + * 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 + +start-sanitize-cygnus + * config/tc-mips.c (mips_5400): New variable. + (md_begin, md_parse_option): Handle 5400 options/names. + (macro_build, mips_ip): Check for 5400-specific instructions. + (md_longopts, OPTION_M5400, OPTION_NO_M5400): More command-line + support for 5400. + +end-sanitize-cygnus + * 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 + + * config/tc-arm.c (md_apply_fix3): Fix thumb ADR pseudo op. Patch + from Tony Thompson at ARM: athompso@arm.com + +Thu Oct 30 11:11:26 1997 Michael Meissner + + * config/tc-d30v.c (build_insn): Allow odd registers for ld2w and + friends. + +start-sanitize-tx49 +Wed Oct 29 16:22:38 1997 Gavin Koch + + * config/tc-mips.c (hilo_interlocks): True for tx49. + (md_begin): Add mips64tx49. + (md_parse_option): Add 4900 cpu. + +end-sanitize-tx49 +Fri Oct 24 15:56:47 1997 Ian Lance Taylor + + * 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 + + * 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 + + * config/tc-sparc.c (v9a_asr_table): New variable. + (sparc_ip): Handle v9a asr's. + Patch from David Miller . + +Wed Oct 22 17:22:59 1997 Richard Henderson + + * config/tc-sparc.h (md_do_align): New macro. + * config/tc-sparc.c (sparc_handle_align): Handle rs_align_code. + Patch from Jakub Jelinek . + +Wed Oct 22 12:51:18 1997 Ian Lance Taylor + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * read.c (get_line_sb): Accept any eol marker while scanning macros. + +Tue Oct 14 19:12:45 1997 Richard Henderson + + * 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 + + * config/tc-d10v.c (parallel_ok): Allow parallel instruction issue + when second instruction is writing to first instructions inputs. + +Mon Oct 13 15:27:17 1997 Richard Henderson + + * 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 + + * 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 + + * configure.in (sparc): Set DEFAULT_ARCH from correct target. + * configure: Regenerated. + +Fri Oct 10 11:22:45 1997 Martin M. Hunt + + * 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 + + * config/tc-d10v.c (parallel_ok): Flag SP as modified for @-sp + operand - OPERAND_ATMINUS. + +Fri Oct 10 00:47:44 1997 Michael Meissner + + * 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 + + From Robin Kirkham : + * 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 + + * tc-d10v.h (TC_START_LABEL): Don't define. + (tc_frob_label): Define. + +Thu Oct 9 00:07:23 1997 J"orn Rennecke + + * 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 + + * 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 + + * 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 + + * configure.in: Change alpha-*-* to alpha*-*-*; config.guess now + recognizes alphaev5 etc. + * configure: Rebuild. + +Wed Oct 8 00:04:05 1997 Gavin Koch + + * 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 + + * 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 + + * 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 + + * 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 + . + + * 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 + + * 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 + + * config/tc-m68k.c (m68k_ip): Remove ` operand specifier. + +Wed Sep 24 16:54:40 1997 Joel Sherrill + + * configure.in (sh*-*-rtems*): New target, like sh-*-elf*. + * configure: Rebuild. + +Wed Sep 24 11:30:25 1997 Ian Lance Taylor + + * config/tc-m68k.c (m68k_ip): Handle q and v operand specifiers. + + * doc/c-i386.texi (i386-Float): Remove incorrect assertion that + fn* instructions do not insert implicit fwait. This was changed + Jan 29, 1996. + + * config/m68k-parse.y (yylex): Permit an expression to be used for + the scale factor. + + * 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. + +Tue Sep 23 17:48:09 1997 Ian Lance Taylor + + * app.c (do_scrub_chars): Clear mri_state at end of .mri + pseudo-op. + + * 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. + +Fri Sep 19 17:08:41 1997 Jeffrey A Law (law@cygnus.com) + + * config/tc-mn10300.c (md_assemble): Use strcasecomp instead + of strcmp where appropriate. + +Thu Sep 18 14:11:56 1997 Nick Clifton + + * 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. + +Thu Sep 18 11:24:01 1997 Doug Evans + + * 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 + + * config/tc-v850.c (v850_reloc_prefix): Recoded to use CHECK_ () + macro. + (handle_tdaoff, handle_zdaoff, handle_sdaoff): New functions. +start-sanitize-v850e + + * config/tc-v850.c (md_assemble): Corrected typo. + * config/tc-v850.c Add new sections: call_table_data and + call_table_text. + (v850_reloc_prefix): Add support for ctoff() relocation prefix. + (handle_ctoff): New Function. + + * doc/c-v850.texi (V850 Opcodes): Document call table relocations. +end-sanitize-v850e + +Tue Sep 16 14:18:22 1997 Nick Clifton + + * 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 + + * 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. +start-sanitize-v850e + (TARGET_PROCESSOR): New constant. + (TARGET_PROCESSOR): New constant. +end-sanitize-v850e + +start-sanitize-tx19 +Mon Sep 15 17:26:46 1997 Gavin Koch + + * config/tc-mips.c (mips_1900): Replace with mips_3900 and + mips16. + +end-sanitize-tx19 +Mon Sep 15 11:28:04 1997 Ken Raeburn + + Merge in work from Martin Hunt: + + * config/tc-d30v.c (build_insn): For mvfsys and mvtsys, + CR is 0 for PSWL and PSWH. + + * config/tc-d30v.c (do_assemble): Don't accept + illegal condition codes for cmpu instruction. + + * config/tc-d30v.c: Add support for BFD_RELOC_D30V_9_PCREL + used in d*i instructions. + + * config/tc-d30v.c (check_size): New function. Check + relocations for overflows. + (md_pcrel_from_section): Fix relocations between sections. + (md_apply_fix3): Use new relocation types for 15 and 21 + bit relocations in the right container. Needed because + the address of the instruction is not eight-byte aligned + but the relocations must be. + + * config/tc-d30v.c (md_apply_fix3): Check for overflow. + (find_format): If ".s" or ".l" are used, don't try + to compute branch sizes. + + * config/tc-d30v.c (do_assemble): Check for ".s" or + ".l" extensions to opcode names. + (find_format): Generate the correct instructions when + ".s" or ".l" are used. + + * config/tc-d30v.c (build_insn): Check for odd registers + on instructions that require even registers. + + * config/tc-d30v.h (md_start_line_hook): Define. + * config/tc-d30v.c (md_start_line_hook): New hook. + Checks the beginning of each line for a ".". If it + finds one, assume a pseudo-op and flush any unwritten + instructions. + + * config/tc-d30v.c (md_apply_fix3): Fix problem + with determining when fixups were done. + + * config/tc-d30v.c (build_insn): Fix bug where the numeric + part of a symbol (for example, "foo+8") was being written + into the instruction. + (md_pseudo_table): Change .word to be 32 bits and add + .hword as 16 bits. + + * config/tc-d30v.c (parallel_ok): Check to see if first + instruction is a jump. + + * config/tc-d30v.c (parallel_ok): Major code reorganization. + +Wed Sep 10 10:07:08 1997 Nick Clifton + +start-sanitize-v850e + * config/tc-v850.c (md_assemble): Corrected spelling mistake. +end-sanitize-v850e + * configure.in (emulations): Add v850 emulation. + +Tue Sep 9 17:14:33 1997 Doug Evans + + * 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 + + * doc/c-v850.texi (V850 Opcodes): Document hi0() reloc prefix. + Correct description of hi() reloc prefix. + +start-sanitize-v850e + * doc/c-v850.texi (V850 Opcodes): Document new reloc prefix. + * config/tc-v850.c (v850_reloc_prefix): Add hilo() reloc prefix. + * config/tc-v850.c (md_assemble): Add support for BFD_RELOC_32. +end-sanitize-v850e + + * doc/c-v850.texi: Document new pseudo ops and command line + options. + + * config/tc-v850.c (set_machine): New function. + * config/tc-v850.c (.v850): New pseudo op. +start-sanitize-v850e + * config/tc-v850.c (.v850e): New pseudo op. + * config/tc-v850.c (.v850ea): New pseudo op. +end-sanitize-v850e + + +Mon Sep 8 23:08:04 1997 Ian Lance Taylor + + 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 + + * 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 + + * as.h: Don't declare alloca if it is a macro. + * macro.c: Likewise. + +start-sanitize-tx19 +Sun Sep 7 16:04:53 1997 Gavin Koch + + * config/tc-mips.c: Add tx19/r1900. + +end-sanitize-tx19 +Sun Sep 7 00:30:19 1997 Richard Henderson + + * 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 + + * read.h (s_lcomm_bytes): Add prototype (for real this time). + +Thu Sep 4 12:10:01 1997 Ian Lance Taylor + + * config/obj-elf.c (elf_frob_symbol): Only set BSF_OBJECT for + symbols on Irix. + +Wed Sep 3 11:21:33 1997 Nick Clifton + + * 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 + + * 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 + + * 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 + + * 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 + + * doc/c-v850.texi (V850 Opcodes): Correct name for tiny data area + pointer. + +Tue Aug 26 12:23:25 1997 Ian Lance Taylor + + * expr.c (integer_constant): If BFD64, don't make a bignum if the + number will fit in 64 bits. + + * config/tc-alpha.c (load_expression): Check explicitly for O_big, + rather than calling abort. + + * as.h: Don't define alloca if __GNUC__. Just declare it. + * macro.c: Copy alloca handling from as.h. + + * config/tc-i386.c (i386_align_code): Correct 16 bit noops. From + Gabriel Paubert . + + * 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. + +Mon Aug 25 16:04:14 1997 Nick Clifton + + * config/tc-v850.c (pre_defined_registers): Add 'hp' as alias for + r2. + (md_begin): Set up machine architecture and type. + +Mon Aug 25 14:25:48 1997 Ian Lance Taylor + + * 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-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. + +Mon Aug 25 11:21:48 1997 Nick Clifton + + * config/tc-v850.c (md_assemble): Restore input_line_pointer upon + exit. + +start-sanitize-v850e + * config/tc-v850.c (parse_register_list): Support constant + expressions as register lists. +end-sanitize-v850e + +Mon Aug 25 10:19:34 1997 Nick Clifton + + * doc/c-v850.texi: Change the major node to v850 Machine + Dependencies. + +Fri Aug 22 11:16:14 1997 Nick Clifton + + * doc/as.texinfo: Add inclusion of c-v850.texi + + * doc/c-v850.texi: New file. + + * read.c (is_end_of_line): Make NUL character be considered to be + a line terminator. + +Fri Aug 22 10:45:33 1997 Nick Clifton + + * config/tc-v850.c (parse_register_list): Add support for curly + brace syntax. + (cc_names): Add "e" and "ne" conditions. + +Thu Aug 21 11:00:36 1997 Nick Clifton + + * app.c (do_scrub_chars): Support a double dash as starting a + comment that extends to end of line. + +Thu Aug 21 10:54:27 1997 Nick Clifton + + * config/tc-v850.c (v850_section, v850_bss, v850_offset): New + functions. + (md_pseudo_table): New pseudo ops: .bss, .offset, .section + +Thu Aug 21 00:59:53 1997 Doug Evans + + * config/tc-m32r.c (md_estimate_size_before_relax): Update recorded + insn when changing to a different instruction. + +Wed Aug 20 00:45:20 1997 J"orn Rennecke + + * tc-sh.c (parse_reg, get_specific, build_Mytes): Add SH4 + floating point extensions. + (parse_reg): parse sgr and dbr. + +Tue Aug 19 17:07:34 1997 Nick Clifton + + * config/tc-v850.c (system_register_name): Support numbers for + system register IDs. + +Tue Aug 19 08:59:12 1997 Fred Fish + + * 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. +start-sanitize-tic80 + * config/obj-coff.h (ALIGNMENT_IN_S_FLAGS): Define for TC_TIC80. + * config/tc-tic80.c (md_pseudo_table): Use s_lcomm_bytes for bss + pseudo, instead of s_lcomm which wants a power of two for alignment. +end-sanitize-tic80 + +Mon Aug 18 20:42:23 1997 Richard Henderson + + * macro.c (check_macro): use alloca instead of xmalloc to plug leak. + +Mon Aug 18 20:33:06 1997 Richard Henderson + + * 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. + + * cond.c (s_ifc): Add missing demand_empty_rest_of_line. + +Mon Aug 18 11:26:36 1997 Nick Clifton + + * config/tc-v850.c (md_apply_fix3): Add support for new 16 bit PC + relative reloc. + +start-sanitize-v850e +Mon Aug 18 11:24:21 1997 Nick Clifton + + * config/tc-v850.c: Remove support_v850e flag and command line + option. + + * configure.in (emulations): Add support for v850e target + + * configure (emulations): Add support for v850e target + +Mon Aug 18 11:24:21 1997 Nick Clifton + + * config/tc-v850.c: Remove support_v850ea flag and command line + option. + + * configure.in (emulations): Add support for v850ea target + + * configure (emulations): Add support for v850ea target +end-sanitize-v850e + +Fri Aug 15 14:00:13 1997 Ian Lance Taylor + + * Makefile.am (check-DEJAGNU): Don't cd into testsuite until after + setting EXPECT and TCL_LIBRARY. + * Makefile.in: Rebuild. + + * 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 + +start-sanitize-v850e + * config/tc-v850.c (md_assemble, md_show_usage, md_parse_option): + Add support for v850ea instructions. + + * config/tc-v850.c (md_assemble, md_show_usage, md_parse_option): + Add support for v850e instructions. +end-sanitize-v850e + + * config/tc-v850.c (md_assemble): Fix error recovery to reload + text of entire opcode. + +Tue Aug 12 10:27:34 1997 Richard Henderson + + * doc/internals.texi: Document rs_leb128. + +Tue Aug 12 12:17:03 1997 Ian Lance Taylor + + * config/tc-m68k.c (m68k_ip): Give an error message for SIZE_BYTE + in ABSL case, rather than calling abort. + +Mon Aug 11 21:48:00 1997 Richard Henderson + + * 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 + + * 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 + + * 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. + +Tue Aug 5 12:32:07 1997 Ian Lance Taylor + + * 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. + + * cond.c (s_else): If not listing false conditionals, turn listing + off in the false branch of the else. + +Mon Aug 4 11:28:35 1997 Ian Lance Taylor + + * config/tc-mips.c (macro): Fix handling of a double load from a + symbol plus an offset. + + * ecoff.c (ecoff_build_symbols): Set fMerge to 0 for an FDR which + has an associated external symbol. + +Sun Aug 3 23:23:59 1997 Richard Henderson + + * config/tc-alpha.c (s_alpha_ucons): New function. + (md_pseudo_table): Add unaligned data pseudos for DWARF. + +Thu Jul 31 15:13:43 1997 Jeffrey A Law (law@cygnus.com) + + * config/tc-v850.c (md_assemble): Ignore the rest of the current + line if we encounter an error. + + * config/tc-v850.c (md_assemble): Sign extend constants value + for hi and hi0 expressions. + (v850_insert_operand): Enable range checking for generic 16bit + operands. + +Tue Jul 29 14:20:43 1997 Jeffrey A Law (law@cygnus.com) + + * config/tc-v850.c (md_assemble): Turn on fx_no_overflow for + LO16, HI16 and HI16_S relocs. + +Mon Jul 28 18:41:41 1997 Rob Savoye + + * 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. + +Fri Jul 25 10:54:43 1997 Jeffrey A Law (law@cygnus.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. + +Thu Jul 24 15:21:49 1997 Doug Evans + + * tc-sparc.c (md_begin): Cast sparc_opcodes to PTR for hash_insert. + +Thu Jul 24 17:51:29 1997 Ian Lance Taylor + + * macro.c (define_macro): Make sure the index is in range before + checking for '('. + +start-sanitize-tic80 +Thu Jul 24 12:13:19 1997 Fred Fish + + * config/tc-tic80.c (build_insn): Remove "extended" and replace with + "fx" and "fxfrag". Add "ffrag". Change code to initialize and use + the right f/ffrag and fx/fxfrag pairs since instruction may be split + across frags. + +end-sanitize-tic80 +Tue Jul 22 18:38:56 1997 Robert Hoehne + + * 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. + +Tue Jul 22 12:41:40 1997 Doug Evans + + * 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. + +Tue Jul 22 13:25:13 1997 Ian Lance Taylor + + * config/tc-m68k.c (md_apply_fix_2): Check for PC relative reloc + code if BFD_ASSEMBLER. + +Mon Jul 21 08:57:17 1997 Jeffrey A Law (law@cygnus.com) + + * config/tc-v850.c (system_registers): Fix ordering of registers. + +start-sanitize-tic80 +Tue Jul 15 16:29:54 1997 Fred Fish + + * config/tc-tic80.c (build_insn): Initialize extended word to zero + when it will be filled in later by relocation information. + +end-sanitize-tic80 +Mon Jul 14 23:10:58 1997 Ian Lance Taylor + + * config/tc-mips.c (macro_build): Restore check of fmt argument. + (mips_ip): Fix ISA checks. + +start-sanitize-r5900 +Tue Jul 15 10:15:39 1997 Jeffrey A Law (law@cygnus.com) + + * configure.in: Default the r5900 to little endian. + * configure: Rebuilt. + +end-sanitize-r5900 +start-sanitize-tic80 +Mon Jul 14 19:30:55 1997 Fred Fish + + * config/tc-tic80.c (build_insn): Fix endianness problem with + O_big operands. + +end-sanitize-tic80 +Sun Jul 13 20:43:46 1997 Ian Lance Taylor + + * config/tc-mips.c (check_absolute_expr): Change warning to + error. + +Fri Jul 11 10:18:47 1997 Jeffrey A Law (law@cygnus.com) + + * config/tc-mips.c (macro_build): Refine code to check if an + instruction is available on a particular cpu variant. + (mips_ip): Likewise. + +Mon Jul 7 22:53:08 1997 Ian Lance Taylor + + * 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. + +Wed Jul 2 12:05:00 1997 Ian Lance Taylor + + * config/obj-coff.c (fixup_segment): Never subtract section + address from PC relative reloc which will be fully resolved. + +Tue Jul 1 15:23:07 1997 Jeffrey A Law (law@cygnus.com) + + * ecoff.c (page_type): Renamed from page_t to avoid conflict + with hpux10 header files. + +Mon Jun 30 12:27:28 1997 Ian Lance Taylor + + From Jason Merrill : + * 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. + +Fri Jun 27 19:15:27 1997 Michael Meissner + + * config/tc-ppc.h (tc_fix_adjustable): Only check for GOT type + relocations, don't check for symbol being external, weak, etc. + +Mon Jun 16 19:12:51 1997 Geoff Keating + + * 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. + + * 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. + +Mon Jun 16 13:59:18 1997 H.J. Lu + + * symbols.c (copy_symbol_attributes): Copy BSF_OBJECT flag. + * config/obj-elf.h (OBJ_COPY_SYMBOL_ATTRIBUTES): Copy size + expression. + + * config/obj-multi.h (OBJ_COPY_SYMBOL_ATTRIBUTES): Define instead + of obj_copy_symbol_attributes. + +Mon Jun 16 12:45:56 1997 Ian Lance Taylor + + * 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. + + * Makefile.in (CFLAGS): Subsitute from configure script. From + Jeff Makey . + + * config/tc-i386.c (i386_operand): Use alloca rather than a fixed + buffer size to make a copy of the symbol. + + * Makefile.in (OBJS): Put @extra_objects@ on the same line as + macro.o. + +Thu Jun 12 12:16:20 1997 Ian Lance Taylor + + * 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. + +Tue Jun 10 17:08:34 1997 Jeffrey A Law (law@cygnus.com) + + * config/tc-mn10300.c (md_assemble): Allow an empty register + list for instructions which use register lists. + +Tue Jun 10 11:18:09 1997 H.J. Lu + + * config/tc-arm.c (md_apply_fix3): Make temp unsigned long. + + * config/tc-arm.c (arm_adjust_symtab): Only set storage classes if + OBJ_COFF. + + * 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. + +Mon Jun 9 12:55:45 1997 H.J. Lu + + * depend.c (wrap_output): new prototype. + +Mon Jun 9 12:52:44 1997 Ian Lance Taylor + + * config/tc-sh.c (md_apply_fix): Check for overflow. + + * config/tc-m68k.c (md_section_align): If a.out and BFD, force + section size to be aligned. + +Fri Jun 6 17:15:55 1997 Ian Lance Taylor + + * 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. + +Thu Jun 5 15:38:17 1997 Ian Lance Taylor + + * macro.c (macro_expand): In MRI mode, treat single quote as a + separator character when checking for a positional argument. + +Tue Jun 3 16:15:13 1997 Nick Clifton + + * config/tc-arm.c (md_parse_option): Merge in changes from + armT-970328-branch. + + * config/tc-arm.h: Merge in changes from armT-970328-branch. + + * configure.in (emulations): Add Thumb architecture support from + armT-9703-28-branch. + +Mon Jun 2 16:25:07 1997 Nick Clifton + + * doc/all.texi: Add enabling of ARM documentation. + + * doc/as.texinfo: Add ARM documentation from armT-970328-branch. + +Mon Jun 2 11:55:12 1997 Gavin Koch + + * config/tc-mips.c: Added r3900 support. + +Thu May 29 12:58:26 1997 Ben Pfaff + + * as.c: (parse_args) `-t' option requires an argument. + +Wed May 28 15:45:07 1997 Nick Clifton + + * config/tc-arm.c (md_begin): Change call to + coff_arm_bfd_set_private_flags() to a call to + bfd_set_private_flags(). + +Wed May 28 16:17:34 1997 Ian Lance Taylor + + * Makefile.in: Rebuild dependencies. + + * config/tc-i386.c (tc_gen_reloc): Don't try to convert the type + of a BFD_RELOC_RVA reloc. + +Wed May 28 10:48:14 1997 Jeffrey A Law (law@cygnus.com) + + * config/tc-hppa.c (tc_fix_adjustable): Reject absolute calls/jumps. + (hppa_force_relocation): Force a relocation for an absolute + call/jump. + +Mon May 26 13:24:25 1997 Ian Lance Taylor + + * doc/as.texinfo: Don't use @value in section names or index + entries; it confuses texinfo.tex. + +Fri May 23 00:09:35 1997 Tom Tromey + + * 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. + +Wed May 21 17:39:28 1997 Ian Lance Taylor + + * config/obj-coff.c (symbol_to_chars): If TE_PE, don't add the + section address to the symbol value. + +Tue May 20 11:23:31 1997 Gavin Koch + + * config/tc-mips.c (macro_build,mips_ip): Move the INSN_ISA field + into the new membership field. + +Thu May 15 10:00:53 1997 Nick Clifton + + * 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. + +Wed May 14 09:54:53 1997 Nick Clifton + + * 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. + + * tc-arm.h (LOCAL_LABEL): Removed the definition of this macro + as it is never used. + +Tue May 13 22:26:14 1997 Jeffrey A Law (law@cygnus.com) + + * config/tc-mn10200.c (md_convert_frag): Prefix temporary + label name with ".". + * config/tc-mn10300.c (md_convert_frag): Likewise. + +Tue May 13 14:44:39 1997 Ian Lance Taylor + + * config/tc-mips.c (set_at): Check for bignum. + (check_absolute_expr, macro, mips16_macro): Likewise. + +start-sanitize-tic80 +Tue May 13 10:45:56 1997 Fred Fish + + * config/tc-tic80.c (md_apply_fix): Check PC relative relocations + for overflow/underflow, only insert lower 15 bits into instruction. + +end-sanitize-tic80 +Mon May 12 13:33:08 1997 H.J. Lu + + * config/tc-i386.c (pi): Check for RegMMX. + +Thu May 8 11:10:15 1997 Ian Lance Taylor + + * expr.c (expr): When subtracting values in the same frag, + subtract X_add_number rather than adding it. + +Wed May 7 15:39:48 1997 Ian Lance Taylor + + * 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-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. + +Tue May 6 12:18:09 1997 Ian Lance Taylor + + * config/tc-i386.c (md_section_align): If a.out and BFD, force + section size to be aligned. + +Mon May 5 17:16:55 1997 Ian Lance Taylor + + * 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. + + * config/tc-i386.h (RegMMX): Define. + * config/tc-i386.c (pi): Check for all register types. + (type_names): Add RegMMX. + (md_assemble): Handle RegMMX. + +Wed Apr 30 12:47:00 1997 Manfred Hollstein + + * config/obj-coff.c (c_section_symbol): Clear the LOCAL bit #ifdef + TE_DELTA. + +Tue Apr 29 20:23:10 1997 Jim Wilson + + * 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. + +Tue Apr 29 19:54:36 1997 Richard Henderson + + * config/obj-elf.c (elf_pseudo_table): Add "subsection". + (obj_elf_subsection): New static function. + +Tue Apr 29 19:52:47 1997 Ian Lance Taylor + + * config/obj-coff.c (coff_header_append): Don't reset string_size + each time through the loop. + +Fri Apr 25 14:17:46 1997 H.J. Lu + + * Makefile.in (DISTSTUFF): Add itbl-parse.h. + +Fri Apr 25 12:03:15 1997 Ian Lance Taylor + + * doc/internals.texi (Porting GAS): Correct documentation for + current configure handling of targ-cpu.h, et. al. + (CPU backend): Document listing macros. + + * 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. + +Mon Apr 21 15:33:19 1997 Ian Lance Taylor + + * doc/c-mips.texi: Document .set autoextend. + +Sat Apr 19 23:09:25 1997 Niklas Hallqvist + + * configure.in (i386-*-openbsd*, m68k-*-openbsd*, + mips-dec-openbsd*, ppc-*-*bsd*, ns32k-pc532-openbsd*, + sparc-*-openbsd*): New targets. + * configure: Rebuild. + +Sat Apr 19 22:52:03 1997 Jim Wilson + + * config/obj-elf.c (elf_frob_symbol): If TC_MIPS, set BSF_OBJECT + for all undefined symbols. + +Fri Apr 18 13:37:35 1997 Ian Lance Taylor + + * config/tc-ppc.c (ppc_fix_adjustable): Handle zero length csects + correctly. + +Fri Apr 18 11:51:35 1997 Niklas Hallqvist + + * configure.in (alpha*-*-openbsd*): New target. + * configure: Rebuild. + +Thu Apr 17 13:59:47 1997 Per Fogelstrom + + * configure.in (mips-*-openbsd*): New target. + * configure: Rebuild. + +Wed Apr 16 12:31:24 1997 Martin Hunt + + * config/tc-d30v.c (parallel_ok): Fix parallel checking + for instructions using conditional execution. + +Tue Apr 15 18:11:44 1997 Gavin Koch + + * config/tc-mips.c (insn_uses_reg): Correct test for fpr pairs. + +Tue Apr 15 13:04:47 1997 Ian Lance Taylor + + * 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. + +Mon Apr 14 11:59:08 1997 Ian Lance Taylor + + * Makefile.in (INSTALL): Change install.sh to install-sh. + + * symbols.c (resolve_symbol_value): Check for division by zero. + + From Thomas Graichen : + * Makefile.in: Always use $(SHELL) when running move-if-change. + * configure.in: Use ${CONFIG_SHELL} when running $ac_config_sub. + * configure: Rebuild. + +Thu Apr 10 14:40:00 1997 Doug Evans + + * 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. + +Wed Apr 9 11:49:41 1997 Ian Lance Taylor + + * config/tc-m68k.c (m68k_ip): Handle #j. + +Tue Apr 8 16:37:57 1997 Jeffrey A Law (law@cygnus.com) + + * config/tc-mn10300.c (md_convert_frag): Create fixup at the + right address for call label:32,regs,imm. + +Mon Apr 7 14:58:22 1997 Jeffrey A Law (law@cygnus.com) + + * 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. + +Mon Apr 7 10:54:59 1997 Doug Evans + + * 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 + + * makefile.vms: Update to build gasp.exe. + +Fri Apr 4 16:10:02 1997 Doug Evans + + * 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. + +Fri Apr 4 13:26:10 1997 Ian Lance Taylor + + * config/tc-hppa.h (TC_EOL_IN_INSN): Check explicitly for '!', + rather than for any end of line character. + + * config/tc-hppa.c (tc_gen_reloc): If hppa_ren_reloc_type fails, + call abort (i.e., as_abort) rather than crashing. + + * config/tc-mips.c: Protect uses of STO_MIPS16 with an ifdef of + OBJ_ELF, rather than of S_GET_OTHER. + + * Makefile.in (DISTCLEAN_HERE): Add site.exp and site.bak. + +Thu Apr 3 13:16:18 1997 Ian Lance Taylor + + * Makefile.in (VERSION): Set to 2.8.1. + + * Branched binutils 2.8. + +Wed Apr 2 12:24:10 1997 Ian Lance Taylor + + * COPYING: Update FSF address. + + * config/tc-mips.c (mips16_macro): Handle M_DMUL and M_MUL. + +Tue Apr 1 18:29:47 1997 Jim Wilson + + * config/tc-mips.c (md_begin): Don't set interlocks for 4100. + +Tue Apr 1 16:24:28 1997 Klaus Kaempf + + * config-gas.com: Update to handle both vax and alpha. + * makefile.vms: Update to use config-gas. + * conf-a-gas.com: Remove file. + +Tue Apr 1 16:08:21 1997 Ian Lance Taylor + + * 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. + +start-sanitize-tic80 +Tue Apr 1 11:25:56 1997 Michael Meissner + + * config/tc-tic80.c (line_comment_char): Make '#' start comments + at the beginning of a line for compatibility with .S files where + cpp leaves the filename transitions beginning with '#'. + +end-sanitize-tic80 +Tue Apr 1 00:07:30 1997 Ian Lance Taylor + + * config/tc-m68k.c: Only compile tc_coff_symbol_emit_hook and + tc_coff_sizemachdep if OBJ_COFF. + +Mon Mar 31 23:53:44 1997 H.J. Lu + + * config/tc-ppc.c (register_name): Declare. + +Mon Mar 31 16:31:04 1997 Joel Sherrill + + * configure.in (hppa*-*-rtems*): New target, like hppa-*-*elf*. + * configure: Rebuild. + +Mon Mar 31 14:15:19 1997 Ian Lance Taylor + + * 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. + + * configure.in: Use ELF for mips-*-gnu*. + * configure: Rebuild. + +Mon Mar 31 14:01:40 1997 Philippe De Muyter + + * config/tc-m68k.h (TARGET_FORMAT): Set to "coff-m68k-sysv" if + TE_DELTA. + +Fri Mar 28 18:03:19 1997 Alan Modra + + * configure.in: Add AC_ARG_ENABLE for commonbfdlib. If it is set, + set OPCODES_LIB to empty. + * configure: Rebuild. + +Fri Mar 28 15:25:24 1997 H.J. Lu + + * configure.in (sparc-*-linux*aout*, sparc-*-linux*): New + targets. + * configure: Rebuild. + +Fri Mar 28 13:08:33 1997 Ian Lance Taylor + + * itbl-parse.y (yyerror): Make static. Declare. + + From Ralf Baechle : + * configure.in: Set emulations for mips-*-linux*-*. + * configure: Rebuild. + + * 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 + + * 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. + +Thu Mar 27 00:29:46 1997 Martin M. Hunt + + * config/tc-d30v.c (md_apply_fix3): Get the relocs right. + +Wed Mar 26 13:35:15 1997 H.J. Lu + + * config/tc-i386.c (tc_i386_fix_adjustable): Only define if + BFD_ASSEMBLER. + +Wed Mar 26 11:32:51 1997 Ian Lance Taylor + + * 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. + + * config/tc-mips.c (insn_uses_reg): Map register numbers in mips16 + instructions. + + * cond.c (cond_finish_check): New function. + * as.h (cond_finish_check): Declare. + * as.c (main): Call cond_finish_check. + +Tue Mar 25 14:45:54 1997 Martin M. Hunt + + * config/tc-d30v.c (md_assemble): If two instructions + are supposed to be assembled in parallel and the first one is + long, print an error and stop. + (md_apply_fix3): Don't calculate absolute relocs. Just write + them out. + +Mon Mar 24 12:11:18 1997 Ian Lance Taylor + + * config/tc-i386.h (iclrKludge): Define. + * config/tc-i386.c (md_assemble): Handle iclrKludge. + + * 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. + +Sun Mar 23 18:03:31 1997 Martin M. Hunt + + * config/tc-d30v.c (build_insn): Enable range-checking code. + (postfix): Stop at space or comma. + (md_assemble): Change error message. + +Sat Mar 22 13:44:28 1997 Ian Lance Taylor + + * Makefile.in: Added automatic dependency building. + * dep-in.sed: New file. + +Fri Mar 21 15:42:37 1997 Ian Lance Taylor + + * config/obj-ieee.c (segment_name): Don't define function if this + is a macro. + + * 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. + + * 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: 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 + + * doc/as.texinfo (Symbol Names): Don't use obsolete @ctrl macro. + +Thu Mar 20 16:49:14 1997 Andreas Schwab + + * 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 + + * 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. + + * 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. + +Thu Mar 20 12:48:45 1997 Philippe De Muyter + + * config/m68k-parse.y (motorola_operand): Allow (zdireg,EXPR). + + * 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. + +Wed Mar 19 11:37:57 1997 Philippe De Muyter + + * 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. + + * config/obj-coff.h (S_IS_LOCAL): Return 0 for a debugging + symbol. + +Wed Mar 19 11:06:29 1997 Ian Lance Taylor + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * NEWS: Note BeOS support. + * configure.in: (ppc-*-beos): New target, use coff as object format. + * configure: Regenerate with autoconf. + +Sat Mar 15 19:14:02 1997 Ian Lance Taylor + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + . + + * 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 : + * 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 + + From Eric Youngdale : + * 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 + + * cond.c (s_ifc): Call mri_comment_field and mri_comment_end when + in MRI mode. + +start-sanitize-tic80 +Tue Mar 4 19:34:21 1997 Fred Fish + + * config/tc-tic80.c (md_pseudo_table): Add "sect" and "section" + pseudo-ops. + * config/tc-tic80.c (md_begin): Declare external variable + coff_flags and insert an F_AR32WR bit into it. + +end-sanitize-tic80 +Tue Mar 4 10:01:04 1997 Ian Lance Taylor + + * read.c (equals): Add reassign parameter. Change all callers. + * read.h (equals): Update declaration. + +Sat Mar 1 01:04:04 1997 Ian Lance Taylor + + * 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 + + * 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. + +start-sanitize-tic80 +Thu Feb 27 15:39:16 1997 Fred Fish + + * config/tc-tic80 (md_pseudo_table): Add align pseudo op to do + byte alignment rather than power-of-two alignment that is the + GAS default. + +end-sanitize-tic80 +Thu Feb 27 13:29:04 1997 Ian Lance Taylor + + * config/tc-m68k.c (md_assemble): Handle a reloc width of 'W'. + + * 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 Feb 27 12:00:03 1997 Michael Meissner + + * config/obj-coff.c (obj_coff_section): Add 'r' section attribute + to denote read-only data sections. + +Thu Feb 27 00:26:33 1997 Ian Lance Taylor + + * config/obj-elf.c (obj_elf_common): Set BSF_OBJECT in flags. + * config/tc-sparc.c (s_common): Likewise, if BFD_ASSEMBLER. + + * expr.c (operand): Simplify 0b handling. Don't treat 0b as a + binary number if the next character is '+' or '-'. + +start-sanitize-tic80 +Wed Feb 26 20:47:12 1997 Fred Fish + + * config/tc-tic80.c (FLT_CHARS): Change from "dD" to "fF". + (find_opcode): Match operands that can be floats. + (build_insn): Handle O_big (float) expressions and build + correct opcode. + +end-sanitize-tic80 +Wed Feb 26 18:19:00 1997 Stan Shebs + + * 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. + +start-sanitize-tic80 +Wed Feb 26 15:33:46 1997 Fred Fish + + * config/tc-tic80.c (find_opcode, build_insn): Changes to match + operands with :m or :s modifiers and generate the right opcodes + for them. + +end-sanitize-tic80 +Wed Feb 26 11:56:11 1997 Ian Lance Taylor + + * Makefile.in (itbl-parse.c itbl-parse.h): Use $(BISON) and + $(BISONFLAGS), not $(YACC) and $(YACCFLAGS). + +Tue Feb 25 22:02:23 1997 Philippe De Muyter + + * 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__. + +Tue Feb 25 13:17:27 1997 Ian Lance Taylor + + Based on patches from Robert Lipe : + * configure.in: Add i386coff and i386elf to emulation list. + * 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 : + * 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. + +start-sanitize-tic80 +Mon Feb 24 23:34:14 1997 Fred Fish + + * config/tc-tic80.c (md_apply_fix): Handle R_ABS type fixups. + +end-sanitize-tic80 +Mon Feb 24 18:27:43 1997 Eric Youngdale + + * doc/as.texinfo: Document .symver. + +Mon Feb 24 15:19:57 1997 Martin M. Hunt + + * 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 + + * config/obj-coff.c: Fix typo in comment section. +start-sanitize-tic80 + * config/tc-tic80.c (md_pseudo_table): Add entry for bss, which takes + an additional alignment argument. + (find_opcode): Allow O_symbol relocs for any 32 bit field, not just + base relative ones. + (build_insn): Handle O_symbol relocs for any 32 bit field, not just + base relative ones. +end-sanitize-tic80 + +Mon Feb 24 02:23:00 1997 Dawn Perchik + + * 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 + + * itbl-ops.h: Include as.h. + +Mon Feb 24 01:04:00 1997 Dawn Perchik + + * 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. + +Sun Feb 23 18:01:00 1997 Dawn Perchik + + * itbl-ops.c: Don't define DEBUG. + +Sun Feb 23 17:49:00 1997 Dawn Perchik + + * Makefile.in: Update itbl-test.c to reflect its new location. + +Sun Feb 23 15:50:00 1997 Dawn Perchik + + * 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 + + * 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 + + * 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 + * doc/internals.texi (CPU backend): Fix typo in md_section_align + description. +start-sanitize-tic80 + * config/tc-tic80.h (NEED_FX_R_TYPE): Define. + * config/tc-tic80.c (find_opcode): Add code to support O_symbol + operands. + (build_insn): Grab a frag early so we can use the address in + fixups. Take one's complement of BITNUM values before insertion + in opcode. Add code to support O_symbol operands. + (md_apply_fix): Replace unimplemented warning with implementation. + (md_pcrel_from): Ditto. + (tc_coff_fix2rtype): Ditto. +end-sanitize-tic80 + +Fri Feb 21 14:34:31 1997 Martin M. Hunt + + * config/tc-d30v.c (parallel_ok): New function. + * config/tc-d30v.h: Define TARGET_BYTES_BIG_ENDIAN. + * config/tc-d10v.c (md_pcrel_from_section): Return 0 if + relocation is in different section. + +Fri Feb 21 10:08:25 1997 Jim Wilson + + * 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 + + * config/tc-m68k.c (line_comment_chars): Add '*'. + + * 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 '*'. + + * configure.in: Set em=svr4 for m68k-*-sysv4*. + * 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 + + * config/obj-coff.c (obj_coff_ln [both versions]): Call + new_logical_line. + + * 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 + + Based on patches from Eric Youngdale : + * 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. + + * write.c (relax_segment): Make type and printf format agree. + + * read.c (get_line_sb): Don't end the line on a semicolon inside a + string. + +Tue Feb 18 18:42:51 1997 Martin M. Hunt + + * config/tc-d30v.c, config/tc-d30v.h: New files. + + * configure: Rebuilt. + + * configure.in: Add case for d30v. + +Sun Feb 16 17:47:29 1997 Fred Fish + + * 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. +start-sanitize-tic80 + * config/tc-tic80: Minor comment additions/changes. +end-sanitize-tic80 + +Fri Feb 14 18:09:59 1997 Philippe De Muyter + + * 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. + +Fri Feb 14 17:24:48 1997 Ian Lance Taylor + + Based on notes from Peter Eriksson . 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. + +Fri Feb 14 15:56:06 1997 Gavin Koch + + * config/tc-mips.c: Changed opcode parsing. + +Thu Feb 13 20:02:16 1997 Fred Fish + + * 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. +start-sanitize-tic80 + * config/tc-tic80.c: Add code to insert predefined symbols into the + symbol table so they can be parsed by the standard expression parser. + Remove custom code that use to parse them. + * config/tc-tic80.h: Move definition of TARGET_BYTES_BIG_ENDIAN + to a location consistent with the rest of the target include files. +end-sanitize-tic80 + +Thu Feb 13 21:44:18 1997 Klaus Kaempf + + * 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 + + * 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. +start-sanitize-tic80 + * config/tic80.h (TARGET_FORMAT): Define to coff-tic80. + (TARGET_BYTES_BIG_ENDIAN): Define to 0. +end-sanitize-tic80 + +Thu Feb 13 14:40:16 1997 Doug Evans + + * write.c (write_relocs): Correct text in as_fatal error message, + bfd_perform_relocation -> bfd_install_relocation. + +Thu Feb 13 14:48:03 1997 Philippe De Muyter + + * 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. + +Thu Feb 13 11:40:58 1997 Ian Lance Taylor + + * config/tc-sparc.c (md_show_usage): Add missing backslash at end + of continued line. + + * config/tc-mips.c (mips16_extended_frag): Correct base address + for an extended PC relative instruction. + (md_convert_frag): Likewise. + + * 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 + + * 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. + + * 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. + + * config/tc-mips.c (mips_pseudo_table): Add "insn". + (s_insn): New static function. + * doc/c-mips.texi: Document .insn. + + * 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. + +start-sanitize-tic80 +Tue Feb 11 15:13:39 1997 Fred Fish + + * config/tc-tic80.c: Numerous changes and additions to flesh + out functions that were previously just stubs, and fix some + problems found using the new TIc80 testsuite cases. + +end-sanitize-tic80 +Tue Feb 11 15:52:22 1997 Ian Lance Taylor + + * config/tc-mips.c (mips16_ip): Handle %gprel modifier. + (md_apply_fix): Handle BFD_RELOC_MIPS16_GPREL. + + * config/tc-mips.c (append_insn): Output jump instruction as a + pair of 2 byte instructions, rather than as a single 4 byte + instruction. + +start-sanitize-r5900 + * config/tc-mips.c (md_begin): Correct test of mips_5900. + (mips_ip): Don't check INSN_ISA for a macro. + +end-sanitize-r5900 +start-sanitize-r5900 +Fri Feb 7 11:11:06 1997 Gavin Koch + + * config/tc-mips.c: added r5900. + +end-sanitize-r5900 +Mon Feb 10 22:06:00 1997 Dawn Perchik (dawn@cygnus.com) + + * itbl-ops.c, itbl-lex.l, itbl-parse.y, itbl-ops.h, + config/itbl-mips.h: Add copyright message and fix indentation. + +Mon Feb 10 18:09:00 1997 Dawn Perchik (dawn@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. + +Fri Feb 7 09:52:34 1997 Jeffrey A Law (law@cygnus.com) + + * 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. + +Thu Feb 6 20:08:12 1997 Jeffrey A Law (law@cygnus.com) + + * 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. + +Thu Feb 6 16:52:57 1997 Ian Lance Taylor + + * 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. + +Wed Feb 5 11:11:06 1997 Ian Lance Taylor + + * config/tc-mips.c (mips16_ip): Accept floating point registers in + the operand of the exit instruction. + +Tue Feb 4 14:12:39 1997 Ian Lance Taylor + + * symbols.c (resolve_symbol_value): If we leave an equated symbol + as O_symbol, copy over the segment. + +Mon Feb 3 12:35:54 1997 Ian Lance Taylor + + * config/tc-mips.c (md_apply_fix): If we aren't adjusting this + fixup to be against the section symbol, adjust the value + accordingly. + + * 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. + +Fri Jan 31 15:21:02 1997 Jeffrey A Law (law@cygnus.com) + + * 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. + +Fri Jan 31 13:15:05 1997 Alan Modra + + * config/tc-i386.c (i386_align_code): Add comments explaining the + nop instructions. + +Fri Jan 31 10:46:14 1997 Ian Lance Taylor + + * 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-ppc.c (md_pseudo_table): If OBJ_XCOFF, add "long", + "word", and "short". + (ppc_xcoff_cons): New static function. + + * write.c (relax_segment): Give an error if a .space symbol is + common or undefined. + + * read.c (read_a_source_file): Don't handle mri_pending_align if + the handler is s_globl or s_ignore. + +Thu Jan 30 11:46:59 1997 Fred Fish + + * config/tc-d10v.c (find_opcode): Remove unused variable "numops". +start-sanitize-tic80 + * config/tc-tic80.c: Many additions to previous placeholder file. + * config/tc-tic80.h: Ditto. +end-sanitize-tic80 + +Thu Jan 30 12:28:18 1997 Alan Modra + + * config/tc-i386.c (i386_align_code): Improve the nop patterns. + +Thu Jan 30 12:08:40 1997 Ian Lance Taylor + + * config/tc-mips.c (mips_fix_adjustable): New function. + * config/tc-mips.h (tc_fix_adjustable): Call mips_fix_adjustable. + (mips_fix_adjustable): Declare. + + Ideas from Srinivas Addagarla : + * 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. + +Wed Jan 29 15:31:12 1997 Martin M. Hunt + + * config/tc-d10v.h (md_do_align): Add this hook to call + d10v_cleanup() when a ".align" is detected. + + * config/tc-d10v.c (find_opcode): Correctly calculate + branch displacement when .aligns are present. + +Wed Jan 29 09:42:11 1997 Jeffrey A Law (law@cygnus.com) + + * 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. + +Tue Jan 28 15:27:28 1997 Ian Lance Taylor + + * 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. + + * config/tc-mips.c (md_convert_frag): If the user explicitly + requested an extended opcode, pass warn as true to mips16_immed. + + * config/tc-mips.c (mips16_ip): Handle a missing expression like + an explicit 0, so that explicitly extended instructions work + correctly. + +Mon Jan 27 17:41:20 1997 Ian Lance Taylor + + * ecoff.c (ecoff_build_symbols): Don't generate a local ECOFF + symbol for a common symbol. + +Wed Jan 22 10:39:39 1997 Doug Evans + + Patch presumed to have been checked in awhile ago but wasn't. + Mon Nov 25 10:45:14 1996 Doug Evans + * 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. + +Mon Jan 20 10:56:47 1997 Andreas Schwab + + * config/tc-m68k.c (m68k_ip): Reject pc-relative addresses for the + 'p' operand specifier. + +Mon Jan 20 10:39:36 1997 J.T. Conklin + + * 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 Jan 20 12:42:06 1997 Ian Lance Taylor + + * 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. + + * config/tc-mips.c (md_begin): Don't set interlocks for + mips_4650. + +Wed Jan 15 13:51:50 1997 Ian Lance Taylor + + * read.c (read_a_source_file): Make sure the symbol ends with + whitespace before checking whether the next character is '='. + +Tue Jan 14 15:07:27 1997 Robert Lipe + + * 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. + +start-sanitize-tic80 +Mon Jan 13 22:43:01 1997 Michael Meissner + + * configure.in (tic80-*-*): Don't require 'coff'. + * configure: Regenerate. + +end-sanitize-tic80 +Thu Jan 9 09:08:43 1997 Ian Lance Taylor + + * read.c (emit_expr): Check for overflow of a negative value + correctly. + * write.c (fixup_segment): Likewise. + * config/obj-coff.c (fixup_segment): Likewise. + + * 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. + + * read.c (read_a_source_file): When defining a macro in MRI mode, + don't add the symbol to the symbol table. + +Tue Jan 7 11:21:42 1997 Jeffrey A Law (law@cygnus.com) + + * 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. + +Mon Jan 6 15:19:32 1997 Jeffrey A Law (law@cygnus.com) + + * config/tc-mn10200.c (md_assemble): Tweak fx_offset for pc-relative + relocs. + +Fri Jan 3 16:47:08 1997 Jeffrey A Law (law@cygnus.com) + + * 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". + + * config/tc-mn10200.c (md_assemble): Generate relocations. + +Fri Jan 3 18:17:23 1997 Andreas Schwab + + * config/tc-m68k.c (s_even): Adjust the alignment of the current + section. + +Fri Jan 3 17:10:33 1997 Richard Henderson + + * config/obj-elf.c (elf_file_symbol): When using ECOFF debugging, + pass on the new file hook. + + * 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. + +Fri Jan 3 12:09:24 1997 Ian Lance Taylor + + * 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. + + * macro.c (macro_expand_body): In MRI mode, just copy a single &. + + * config/tc-m68k.c (m68k_ip): Call frag_grow before adding a + PCINDEX frag. From Ronald F. Guilmette . + + * 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. + + * 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. + +Thu Jan 2 13:37:29 1997 Ian Lance Taylor + + * NOTES, NOTES.config: Removed. These are rarely, if ever, + updated, and all the useful information is in doc/internals.texi. + + Based on patch from Ronald F. Guilmette : + * 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. + + Based on patch from Ronald F. Guilmette : + * 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. + + Based on patch from Ronald F. Guilmette : + * 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. + + * doc/c-mips.texi: Mention ISA level 4, and the -mips16 option. + + * configure.in: Recognize mips-*-linux* target. + * configure: Rebuild. + + * config/tc-mips.c (load_register): Rewrite 64 bit handling to + work if valueT is only 32 bits. + + * 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 + + * 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 + + * read.c (read_a_source_file): Check mri_pending_align after + checking for a macro. From Ronald F. Guilmette + . + + * 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 + + * config/tc-mips.c (mips16_macro): Add case for M_ABS. + +Fri Dec 27 22:51:51 1996 Fred Fish + + * 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. +start-sanitize-tic80 + * configure.in (case ${generic_target}): Add tic80-*-coff entry. + * configure: Rebuild with autoconf. + * config/obj-coff.h (coff/tic80.h): Include if TC_TIC80 defined. + (TARGET_FORMAT): Define to "coff-tic80". + * config/tc-tic80.c: New file for TIc80 support. + * config/tc-tic80.h: New file for TIc80 support. +end-sanitize-tic80 + +Fri Dec 27 11:42:29 1996 Ian Lance Taylor + + * doc/as.texinfo (M): Mention explicitly that -M changes macro + handling. + +Thu Dec 19 12:06:08 1996 Ian Lance Taylor + + * 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. + +Wed Dec 18 22:54:39 1996 Stan Shebs + + * mpw-make.sed: Use NewFolderRecursive for installation. + +Wed Dec 18 16:00:42 1996 Martin M. Hunt + + * config/tc-d10v.c (do_assemble): Correct previous bug fix. + +Wed Dec 18 15:27:40 1996 Martin M. Hunt + + * config/tc-d10v.c (md_assemble): Fix bug which caused + second instruction in a line to be case sensitize. + +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 + + * 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 + + * 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 + + * write.c (adjust_reloc_syms): Fix linkonce check for ELF. + +Sat Dec 14 22:37:27 1996 Ian Lance Taylor + + * 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 + + * 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 + + * write.c (adjust_reloc_syms): Make sure that symbols are + resolved; expression symbols may have been skipped. + * config/obj-coff.c (fixup_segment): Likewise. + +Thu Dec 12 15:18:21 1996 Michael Meissner + + * 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. + +Tue Dec 10 13:51:55 1996 Martin M. Hunt + + * config/tc-d10v.c (write_2_short): Remove code that called + parallel_ok() when the programmer specified parallel instructions. + +Tue Dec 10 12:23:19 1996 Jeffrey A Law (law@cygnus.com) + + * config/tc-mn10300.c (md_assemble): Update to handle endianness + issues correctly. + + * config/tc-mn10200.c (md_assemble): Opcode 0x0 is valid! + * config/tc-mn10300.c (md_assemble): Likewise. + +Tue Dec 10 11:37:14 1996 Ian Lance Taylor + + * 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. + + * config/tc-mips.c (mips16_extended_frag): Give an error for an + attempt to use a non absolute symbol in an extending frag. + +Mon Dec 9 16:48:20 1996 Jeffrey A Law (law@cygnus.com) + + * 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 + + * 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. + + * 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. + + * write.c (write_relocs): Print an error for an out of range + fixup, rather than calling abort. + + * as.c (main): Unlink the output file if there are errors while + generating the fixups. + +Fri Dec 6 18:48:13 1996 Ian Lance Taylor + + * 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. + + * config/tc-mips.c (mips16_immed): Add file and line parameters, + and use them when reporting errors. Change all callers. + +Fri Dec 6 15:36:32 1996 Jeffrey A Law (law@cygnus.com) + + * config/tc-mn10300.c: Fix various gcc -Wall warnings. + Remove '$' prefixing for registers. + +Fri Dec 6 00:55:48 1996 Martin + + * 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. + + * config/tc-d10v.h (d10v_cleanup): Change prototype. + +Thu Dec 5 11:03:31 1996 Ian Lance Taylor + + * write.c (fixup_segment): Don't discard the symbol for a PC + relative fixup to an absolute symbol. + +Wed Dec 4 15:42:41 1996 Martin M. Hunt + + * config/tc-d10v.c (md_assemble, d10v_cleanup): Fix bug + with multiple sections. + +Wed Dec 4 13:00:07 1996 Ian Lance Taylor + + * 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. + +Wed Dec 4 10:35:33 1996 Michael Meissner + + * 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. + +Tue Dec 3 23:18:29 1996 Michael Meissner + + * config/tc-ppc.h ({tc,ppc}_comment_chars): Define, so that we can + change the comment characters. + + * 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. + +Mon Dec 2 13:48:57 1996 Ian Lance Taylor + + * as.c (main): Correct handling of flag_always_generate_output. + +Sun Dec 1 21:46:05 1996 Jeffrey A Law (law@cygnus.com) + + * config/tc-mn10300.c (tc_gen_reloc): Get the addend from + fx_offset, not fx_addnumber. + + * config/tc-mn10300.h (tc_fix_adjustable): Don't do any + reloc adjustments. + +Sat Nov 30 17:34:48 1996 Eliot Dresselhaus + + * config/tc-i386.c: Correct misspelling: balenced to balanced. + +Wed Nov 27 13:25:39 1996 Ian Lance Taylor + + * config/tc-mips.c (md_section_align): Check for an alignment of + 4, not an alignment of 16. Corrects August 7 patch. + +Tue Nov 26 10:33:16 1996 Ian Lance Taylor + + * configure, conf.in: Rebuild with autoconf 2.12. + + * config/tc-ppc.c (ppc_elf_lcomm): Don't give an error if no + alignment is specified. + + 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. + (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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * doc/c-d10v.texi: Add info on @word modifier. + +Wed Nov 6 13:46:07 1996 Jeffrey A Law (law@cygnus.com) + + * 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 + + * 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 + + * 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 + + * 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. + +Wed Oct 30 20:15:35 1996 Ian Lance Taylor + + * doc/internals.texi: Rewrite, and add a lot of documentation. + * doc/Makefile.in (internals.info): New target. + +Wed Oct 30 14:55:57 1996 Jeffrey A Law (law@cygnus.com) + + * config/tc-v850.h (tc_fix_adjustable): Don't adjust relocs + against weak symbols. + +Tue Oct 29 12:28:16 1996 Jeffrey A Law (law@cygnus.com) + + * config/tc-v850.c (md_assemble): Don't lose for relaxable + addresses like .+6. + + * config/tc-v850.c (md_convert_frag): Make sure we insert the + fixup at the right address within the frag. + + * config/tc-v850.c (md_convert_frag): Don't set fragP->fr_fix + to an absolute value, instead increment it as needed. + + * 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. + +Mon Oct 28 10:48:40 1996 Martin M. Hunt + + * config/tc-d10v.h (md_cleanup): New function. This is needed to + write out any buffered instructions when a ".end" is found. + +Mon Oct 28 10:43:45 1996 Martin M. Hunt + + * read.c (read_a_source_file): New hook md_cleanup(). + +Fri Oct 25 00:01:00 1996 Ian Lance Taylor + + * write.c (fix_new_exp): Use make_expr_symbol to build an + expression symbol for a complex fixup. + +Thu Oct 24 14:31:04 1996 Jeffrey A Law (law@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. + + * 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. + + * config/tc-v850.h (tc_fix_adjustable): Don't adjust TDA relocs. + +Wed Oct 23 18:20:29 1996 Ian Lance Taylor + + * config/tc-ppc.c (md_apply_fix3): Give a better warning message + for an unknown relocation type. + +Wed Oct 23 16:21:28 1996 Jeffrey A Law (law@cygnus.com) + + * config/tc-v850.c (md_pseudo_table): Add .word; allocates + 4 bytes of space. + +Tue Oct 22 22:01:25 1996 Jeffrey A Law (law@cygnus.com) + + * config/tc-v850.c (md_assemble): Handle TDAOFF relocs + differently for movea & sst/sld insns. + +Tue Oct 22 17:09:32 1996 Michael Meissner + + * config/tc-d10v.c (parallel_ok): Don't allow illegal combinations + of instructions. + +Tue Oct 22 11:28:39 1996 Ian Lance Taylor + + * 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. + +Mon Oct 21 11:38:30 1996 Ian Lance Taylor + + * 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. + + * 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/obj-aout.h (S_IS_DEFINE): non BFD_ASSEMBLER version: + Don't check S_GET_OTHER. + +Fri Oct 18 14:06:26 1996 Ian Lance Taylor + + * config/tc-mips.c (mips_ip): Accept an odd floating point + register with l.s or s.s. + + * config/obj-aout.c (obj_pseudo_table): Use obj_aout_type for + .type pseudo-op. + (obj_aout_type): New static function. + +Thu Oct 17 17:55:17 1996 Ian Lance Taylor + + * Makefile.in ($(OBJS)): Depend upon libiberty.h. + +Wed Oct 16 11:28:31 1996 Jeffrey A Law (law@cygnus.com) + + * config/tc-v850.c (v850_reloc_prefix): Recognize zdaoff, tdaoff + and sdaoff expressions. + + * 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. + + * 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. + +Tue Oct 15 23:19:00 1996 Jeffrey A Law (law@cygnus.com) + + * 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. + +Mon Oct 14 13:59:12 1996 Ian Lance Taylor + + * config/tc-mips.c (load_register): Add cast to offsetT when using + a constant with &~. + +Mon Oct 14 11:24:28 1996 Richard Henderson + + * 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. + + * config/tc-alpha.c: Use new BFD_RELOC_ALPHA_ELF_LITERAL reloc. + + * 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. + +Thu Oct 10 17:30:31 1996 Ian Lance Taylor + + * config/tc-sparc.h (tc_fix_adjustable): Permit the difference of + two symbols in the same segment to be adjusted. + + * configure.in: Don't get confused by CPU-VENDOR-linux-gnu. + * configure: Rebuild. + +Thu Oct 10 17:22:18 1996 Michael Meissner + + * 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 + + * 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 + + * 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 + + * 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 + + * config/obj-coff.c (fixup_segment): Subtract the section address + from a PC relative reloc if TC_M68K. + +Thu Oct 3 15:15:30 1996 Ian Lance Taylor + + * 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. + +Thu Oct 3 00:16:50 1996 Jeffrey A Law (law@cygnus.com) + + * config/tc-mn10x00.c, config/tc-mn10x00.h: New files + for Matsushita MN10x00 support. + * configure.in: Recognize mn10x00-*-* + * configure: Rebuilt. + +Wed Oct 2 15:54:03 1996 Klaus Kaempf + + * 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 + +Tue Oct 1 16:16:01 1996 Joel Sherrill + + * configure.in (mips-*-rtems*): New target, like mips-*-elf*. + * configure: Rebuild. + +Tue Oct 1 12:37:48 1996 Ian Lance Taylor + + * 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. + + * config/tc-m68k.c (init_table): Correct access control unit + register numbers. From Ken Rose . + + * 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. + +Tue Oct 1 09:36:19 1996 Stu Grossman (grossman@critters.cygnus.com) + + * tc-v850.h: Define LOCAL_LABEL to recognise _.L_* symbols + generated by DWARF. + +Sat Sep 28 03:38:08 1996 Ian Lance Taylor + + * listing.c (list_symbol_table): Remove bogus code in BFD64 case, + and just call sprintf_vma. + +Thu Sep 26 16:04:11 1996 Ian Lance Taylor + + * expr.c (expr): Change >>= to >> (fix typo). (From meissner). + +Tue Sep 24 19:05:08 1996 Ian Lance Taylor + + * read.c (float_cons): Call md_flush_pending_output if it is + defined. + +Tue Sep 24 12:22:18 1996 Martin M. Hunt + + * config/tc-d10v.c (md_operand): Created. Allows operands to + start with '#'. + * config/tc-d10v.h (md_operand): Undefined. + +Mon Sep 23 12:13:18 1996 Ian Lance Taylor + + * 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. + +Thu Sep 19 12:21:24 1996 Ian Lance Taylor + + * 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. + +Wed Sep 18 12:11:58 1996 Ian Lance Taylor + + * config/obj-coff.c (obj_coff_endef): Both versions: Move C_STAT + symbols to the position of the debugging information. + +Mon Sep 16 11:41:40 1996 Ian Lance Taylor + + * expr.c (expr): Always use unsigned right shifts for >>. + +Thu Sep 12 10:25:45 1996 James G. Smith + + * config/tc-arm.c (md_apply_fix3): Update two thumb instruction + slots when processing BL fixups. + + * config/tc-arm.c (output_inst): Ensure Thumb BL fixup is marked + on the first half of the instruction. + +Wed Sep 11 00:09:35 1996 Ian Lance Taylor + + * ecoff.c (ecoff_stab): Create an expression symbol for a complex + stabs expression, rather than giving an error. + + * ecoff.c (ecoff_new_file): Don't do anything if we are still in + the same file. + +Tue Sep 10 11:45:37 1996 Ian Lance Taylor + + * config/tc-mips.c (append_insn): Fill in the value for a constant + jump, rather than creating a reloc. + +Mon Sep 9 10:57:42 1996 Ian Lance Taylor + + * 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. + + * 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. + +Sat Sep 7 13:25:55 1996 James G. Smith + + * 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. + +Fri Sep 6 17:07:12 1996 Martin M. Hunt + + * 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. + +Fri Sep 6 16:00:29 1996 Doug Evans + + * configure.in (sparc-*-aout): Set `em'. + * 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. + +Thu Sep 5 13:40:29 1996 Ian Lance Taylor + + * ecoff.c (ecoff_new_file): New function. + * ecoff.h (ecoff_new_file): Declare. + * config/obj-ecoff.h (obj_app_file): Define. + +Thu Sep 5 13:39:25 1996 Richard Henderson + + * 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 . + +Wed Sep 4 10:23:20 1996 Ian Lance Taylor + + * config/tc-mips.c (load_register): Remove unused variable tmp. + +Wed Sep 4 11:24:29 1996 James G. Smith + + * 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 + + * config/tc-d10v.c: Added changes to support function + pointers and "@word" syntax. + +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. + +Sat Aug 31 16:03:00 1996 Jeffrey A Law (law@cygnus.com) + + * config/tc-v850.c (md_assemble): Compute size of the instrction + from the opcode. + + * config/tc-v850.c (md_apply_fix3): Do simple byte, short and + word fixups too. + +Fri Aug 30 23:50:08 1996 Jeffrey A Law (law@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. + +Fri Aug 30 18:35:26 1996 J.T. Conklin + + * 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 + + 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. + + * write.c (write_object_file): Use BFD_RELOC_16, not + BFD_RELOC_NONE, when calling fix_new_exp for a broken word. + + * read.c (emit_expr): Fix conversion of byte count to BFD reloc + code. + +Fri Aug 30 14:47:38 1996 Martin M. Hunt + + * config/tc-d10v.c (find_opcode): Fix problem with calculating + branch sizes in across sections. + +Fri Aug 30 00:44:13 1996 Jeffrey A Law (law@cygnus.com) + + * config/tc-850.c (md_assemble): Handle hi() correctly. Handle + hi0() too. + +Wed Aug 28 23:11:08 1996 Jeffrey A Law (law@cygnus.com) + + * config/tc-v850.c (md_begin): Deal with end of opcode + table marker. + +Wed Aug 28 19:20:04 1996 Martin M. Hunt + + * 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 Aug 27 13:53:22 1996 Ian Lance Taylor + + * 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. + +Tue Aug 27 09:05:50 1996 Jeffrey A Law (law@cygnus.com) + + * config/tc-hppa.c (tc_gen_reloc): Add new argument to + hppa_gen_reloc_type call. + +Mon Aug 26 18:24:51 1996 Martin M. Hunt + + * 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 Aug 26 13:39:27 1996 Martin M. Hunt + + * config/tc-d10v.c (parallel_ok): Fix bug in parallel + checking code. + +Mon Aug 26 14:38:22 1996 Ian Lance Taylor + + * 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 Aug 23 11:40:47 1996 Martin M. Hunt + + * doc/c-d10v.texi: Fix typo. + +Fri Aug 23 10:41:32 1996 Jeffrey A Law (law@cygnus.com) + + * config/tc-v850.c (md_assemble): Correct bit masking for + hi and lo expressions. + + * 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-v850.c (CC_NAME_CNT): Define. + (cc_name): New function. + (md_assemble): Handle V850_OPERAND_CC correctly. + + * config/tc-v850.c (md_assemble): Don't forget to initialize + "insn"! + + * 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-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 + + * 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 + + * 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 + + * 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 + + * doc/c-d10v.texi: New file. + * doc/all.texi: Added D10V stuff. + * doc/as.texinfo: Added D10V stuff. + +Tue Aug 20 14:10:02 1996 Martin M. Hunt + + * config/tc-d10v.c: All references to defined symbols should + now use the optimal instruction. .float and .double now work. + +Mon Aug 19 14:41:36 1996 Ian Lance Taylor + + * config/obj-coff.c (fixup_segment): Adjust PC relative reloc by + section address for the i960 as is done for the i386. + +Thu Aug 15 16:37:59 1996 Stan Shebs + + * mpw-config.in: Add wildcards for config matching, add mips-*-* + case, forward-include bfd/elf-bfd.h. + +Thu Aug 15 13:24:30 1996 Martin M. Hunt + + * config/tc-d10v.c: Add additional information to the opcode + table to help determinine which instructions can be done + in parallel. + +Thu Aug 15 17:01:31 1996 James G. Smith + + * config/tc-arm.c: Major changes to add Thumb support, with lots + of change input from . + 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. + +Thu Aug 15 16:12:00 1996 Richard Earnshaw (rearnsha@armltd.co.uk) + + * 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. + +Wed Aug 14 10:37:21 1996 Ian Lance Taylor + + * config/tc-i386.c (tc_i386_fix_adjustable): Don't adjust relocs + against weak symbols. + +Tue Aug 13 17:39:24 1996 Ian Lance Taylor + + * 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. + +Mon Aug 12 16:49:43 1996 Ian Lance Taylor + + * config/tc-mips.h (BYTE_ORDER): Don't define. No longer used. + +Fri Aug 9 17:48:28 1996 Martin M. Hunt + + * config/tc-d10v.c: Fix problem with relocs. + +Fri Aug 9 14:16:14 1996 Ian Lance Taylor + + * config/tc-sh.c (sh_do_align): If not BFD_ASSEMBLER, always align + with nops if not in data_section or bss_section. + +Thu Aug 8 12:32:56 1996 Klaus Kaempf + + 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 + + * configure.in: Make GAS_CHECK_DECL_NEEDED include or + 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 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 + + * 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. + + * config/tc-mips.c (md_section_align): Do align if OBJ_ELF, but + not to more than a 16 byte boundary. + + * config/tc-i386.c (tc_gen_reloc): Accept all relocs; remove + #ifndef OBJ_ELF lines. From Eric Valette . + (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 Aug 6 12:58:03 1996 Martin M. Hunt + + * config/tc-d10v.c: Added code to support 32-bit fixups for stabs. + +Tue Aug 6 11:15:26 1996 Jeffrey A Law (law@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. + +Mon Aug 5 14:21:10 1996 Ian Lance Taylor + + * config/tc-i960.c (mem_fmt): Call parse_expr before emit. + +Fri Aug 2 11:23:31 1996 Ian Lance Taylor + + * config/tc-mips.c (md_section_align): Don't change addr if + OBJ_ELF. + +Thu Aug 1 23:51:52 1996 Jeffrey A Law (law@cygnus.com) + + * config/tc-hppa.c: Revert yesterday's changes. + +Wed Jul 31 14:46:11 1996 Martin M. Hunt + + * config/tc-d10v.c: Disable range checking on 16-bit values. + +Wed Jul 31 16:27:19 1996 Ian Lance Taylor + + * config/tc-m68k.c (m68k_ip): Set ok_arch for every instruction, + not just the ones that don't match. + +Wed Jul 31 11:45:15 1996 Martin M. Hunt + + * config/tc-d10v.c: Fixed bugs in short relocs and range checking. + +Wed Jul 31 15:41:42 1996 James G. Smith + + * 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 Jul 30 14:28:23 1996 Jeffrey A Law (law@cygnus.com) + + * 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. + +Tue Jul 30 15:51:41 1996 Ian Lance Taylor + + * config/tc-sparc.c (md_pseudo_table): Add 2byte, 4byte, and 8byte + pseudo-ops. + +Fri Jul 26 11:43:03 1996 Martin M. Hunt + + * 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 + + * symbols.c (S_SET_EXTERNAL): Let .weak override. + (S_CLEAR_EXTERNAL): Likewise. + (S_SET_WEAK): Remove error; just let .weak override. + +Thu Jul 25 15:22:51 1996 Martin M. Hunt + + * config/tc-d10v.c (md_assemble): Now handles multiline + instructions. + +Thu Jul 25 12:03:33 1996 Martin M. Hunt + + * 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 + + * config/tc-d10v.c (md_apply_fix3): Fix all instruction + addresses to be right-shifted by 2. + +Mon Jul 22 11:32:36 1996 Martin M. Hunt + + * 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 + + * 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 + + * 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 + + From Andrew Gierth : + * configure.in (sparc-*-sysv4*): New target. + * configure: Rebuild. + + * 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/tc-sparc.c (s_common): Remove unused label allocate_bss. + + * configure.in: Add mips-*-irix6* target. Handle Irix 6 like Irix + 5 with regard to shared libraries. + * configure: Rebuild. + + * config/tc-m68k.c (m68k_ip): Use the correct length when + allocating space for the unsupported architecture error message. + +Thu Jul 18 12:57:10 1996 Michael Meissner + + * configure.in (d10v-*-*): Allow d10v-*-*, don't require d10v-*-elf*. + +Wed Jul 17 14:25:13 1996 Martin M. Hunt + + * config/tc-d10v.c: New file. + * config/tc-d10v.h: New file. + * configure (d10v-*-elf): New target. + * configure.in (d10v-*-elf): New target. + +Fri Jul 12 20:54:19 1996 Michael Meissner + + * config/tc-ppc.c (md_parse_option): Recognize -K PIC. + +Wed Jul 10 12:39:08 1996 Richard Henderson + + * 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. + + * doc/as.texinfo (.align): Document action of omitted + fill parameter. + +Wed Jul 10 00:23:30 1996 Ian Lance Taylor + + * config/tc-ppc.c (md_apply_fix3): Give a useful error message + when an unsupported PC relative reloc is seen, rather than calling + abort. + + * app.c (do_scrub_chars): Remove not_cpp_line local variable. + Instead, check state when '#' comment is seen. + +Mon Jul 8 14:11:49 1996 Ian Lance Taylor + + * 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. + + * as.h: Don't define const or volatile. + * flonum.h: Don't define const. + + * 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 + ). + (md_show_usage): Correct -mfc5200 to -m5200. + +Fri Jul 5 10:32:58 1996 J.T. Conklin + + * doc/c-m68k.texi: Document -m5200 flag. + * doc/as.texinfo: Likewise. + + * config/tc-m68k.c (m68k_ip): The coldfire does not support 8x + scale factor. + +Fri Jul 5 11:07:24 1996 Ian Lance Taylor + + * symbols.c (S_SET_EXTERNAL): Change as_warn to as_bad. + (S_CLEAR_EXTERNAL, S_SET_WEAK): Likewise. + +Thu Jul 4 11:59:46 1996 Ian Lance Taylor + + * Makefile.in (VERSION): Set to cygnus-2.7.1. + + * Released binutils 2.7. + +Thu Jul 4 10:11:33 1996 James G. Smith + + * config/tc-mips.c (mips_ip): Only perform range check when + dealing with O_constant expressions. + +Wed Jul 3 15:02:21 1996 J.T. Conklin + + * m68k-parse.h (m68k_register): Add new coldfile control + registers. + + * 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-m68k.c (md_show_usage): Add -m5200 to usage text. + +Wed Jul 3 16:05:50 1996 Ian Lance Taylor + + * read.h (is_it_end_of_statement): Declare. + * read.c (is_it_end_of_statement): Remove declaration. + + * 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.h (AOUT_MACHTYPE): Define as 0 if TE_386BSD. + + Based on patches from Tom Quiggle : + * 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. + +Tue Jul 2 23:02:12 1996 Jeffrey A Law (law@cygnus.com) + + * config/tc-h8300.c (build_bytes): If an operand type is + marked as SRC_IN_DST retrieve it from the "destination" op. + +Sat Jun 29 13:38:31 1996 Ian Lance Taylor + + * configure.in (arm-*-riscix*): Set emulation to riscix. + * configure: Rebuild. + * config/te-riscix.h: New file to define TE_RISCIX. + + * config/tc-sh.h (SUB_SEGMENT_ALIGN): Define. + +Fri Jun 28 15:14:31 1996 Ian Lance Taylor + + * Makefile.in (config.status): Just run config.status as other + tools do. + +Fri Jun 28 11:09:38 1996 Stan Shebs + + * mpw-config.in (TARGET_OS): Add definition to conf. + +Thu Jun 27 20:39:40 1996 James G. Smith + + * config/tc-mips.c (append_insn): Parenthesize + cop_interlocks expressions. + +Thu Jun 27 12:18:26 1996 Ian Lance Taylor + + * listing.c (listing_print): Close the listing file if it is not + stdout. Close the other files opened for the listing. + + * 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. + + * 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. + + * as.h (struct frag): Remove unused align_mask and align_offset + fields. + + * listing.c (calc_hex): Offset by fr_fix when examining fr_var. + From . + +Wed Jun 26 13:21:34 1996 Ian Lance Taylor + + * configure.in (mips-*-osf*): New target. + * configure: Rebuild. + + * config/tc-m68k.c: Add 68ec060 as a synonym for 68060. + +Wed Jun 26 16:23:08 1996 James G. Smith + + * config/tc-mips.c: Added cop_interlocks, to avoid NOP insertion + between co-processor comparisons and branches for the VR4300. + +Mon Jun 24 18:02:50 1996 Jason Molenda (crash@godzilla.cygnus.co.jp) + + * 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. + +Mon Jun 24 11:58:14 1996 Ian Lance Taylor + + * 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. + + * configure.in: On alpha*-*-osf*, link against libbfd.a if not + using shared libraries. + * configure: Rebuild. + +Fri Jun 21 18:22:23 1996 Ian Lance Taylor + + * config/tc-mips.c (mips_ip): In case 'i'/'j', don't require an + absolute expression if a relocation type was specified. + +Fri Jun 21 17:40:16 1996 Joel Sherrill + + * configure.in: Add support for *-*-rtems* configurations. + * configure: Rebuild. + +Fri Jun 21 16:01:18 1996 Richard Henderson + + * 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 + + * 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. + +Thu Jun 20 15:57:41 1996 Ken Raeburn + + * config/tc-i386.c (md_number_to_chars): Deleted. + * config/tc-i386.h (md_number_to_chars): New macro. + + * 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. + + Wed Mar 13 22:14:14 1996 Pat Rankin + + * symbols.c (colon): #if VMS, use S_SET_OTHER to store `const_flag'. + + Tue Mar 5 14:31:45 1996 Pat Rankin + + * config/tc-vax.h (NOP_OPCODE): Define. + + Sun Feb 4 21:01:03 1996 Pat Rankin + + * 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. + + Fri Jan 26 17:44:09 1996 Pat Rankin + + * config/vms-conf.h: Reconcile with conf.in. + +Wed Jun 19 11:31:50 1996 Ian Lance Taylor + + * write.c (is_dnrange): Only define if TC_GENERIC_RELAX_TABLE is + defined. + + * 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 . + + * 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-sparc.h (TC_RELOC_RTSYM_LOC_FIXUP): If OBJ_ELF, always + emit relocations against external symbols. + + * config/tc-alpha.c (tc_gen_reloc): Output a sensible error + message if bfd_reloc_type_lookup fails, rather than calling + assert. + + * config/tc-alpha.c (alpha_force_relocation): Add + BFD_RELOC_12_PCREL to switch. + +Tue Jun 18 20:29:57 1996 Doug Evans + + * config/tc-i386.h (LOCAL_LABEL,FAKE_LABEL_NAME): Use defaults for + TE_PE (Lfoo, not .Lfoo). + +Tue Jun 18 17:13:33 1996 Ian Lance Taylor + + * read.c (s_fill): Don't warn about a zero repeat count. + + * config/tc-mips.c (mips_ip): Don't warn about using AT as a + coprocessor register. + + * 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. + +Tue Jun 18 13:19:51 1996 Jeffrey A. Law + + * 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. + + * 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. + +Mon Jun 17 15:50:53 1996 J.T. Conklin + + * doc/as.texinfo: Reorder chapter of machine dependent options so + that it is sorted by chip name. + + * doc/as.texinfo: Use consistant spelling of Vax. + * doc/c-vax.texi: Likewise. + +Mon Jun 17 11:26:56 1996 Jeffrey A. Law + + * 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. + +Sun Jun 16 22:57:47 1996 Jeffrey A. Law + + * config/tc-hppa.c (md_pseudo_table): Add ".level" pseudo op. + (pa_level): New function. + +Fri Jun 14 20:06:44 1996 Ian Lance Taylor + + * listing.c (listing_newline): Don't do anything if listing is 0. + +Thu Jun 13 17:50:54 1996 Ian Lance Taylor + + * subsegs.c (section_symbol): If symbol_table_frozen is set, call + symbol_create, not symbol_new. + +Wed Jun 12 14:10:44 1996 Ian Lance Taylor + + * write.c (adjust_reloc_syms): Don't set sy_used_in_reloc for an + absolute symbol unless TC_FORCE_RELOCATION returns true. + + * 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. + +Mon Jun 10 14:52:29 1996 Michael Meissner + + * config/tc-ppc.c (ppc_elf_lcomm): New function for .lcomm + directive. + (md_pseudo_table): Add ppc_elf_lcomm. + +Mon Jun 10 11:45:51 1996 Ian Lance Taylor + + * 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-sparc.c (md_pseudo_table): Add "empty". + (s_empty): New static function. + + * config/obj-coff.c (struct filename_list): Only define if not + 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 + + * 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 + + * symbols.c (colon): Use LOCAL_LABEL. + +Tue Jun 4 10:55:16 1996 Tom Tromey + + * 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 + + * config/ppc-sol.mt (TDEFINES): Don't turn on -mregnames by + default. + +Mon Jun 3 11:34:41 1996 Ian Lance Taylor + + * 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 + + * 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 + + * 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 + + * 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. + +Thu May 30 10:36:19 1996 Michael Meissner + + * config/tc-ppc.c (comment_chars): Make '!' a comment character + for Solaris compatibility. + + * stabs.c (s_stab_generic): Under PowerPC Solaris, convert a + .stabd with 4 arguments into a .stabn. + +Wed May 29 16:43:16 1996 Ian Lance Taylor + + * config/tc-mips.c (macro): When passing X_add_number to + macro_build, cast it to int first. + +Tue May 28 13:29:39 1996 Ian Lance Taylor + + * config/tc-z8k.c (md_apply_fix): Handle fx_r_type of 0, as + created by emit_expr. + + * symbols.c (symbol_create): If bfd_make_empty_symbol fails, call + as_perror rather than assert. + +Fri May 24 18:24:11 1996 Ian Lance Taylor + + * config/tc-mips.c (mips_ip): Mark sections created to hold + floating point information as read only. + +Fri May 24 12:07:54 1996 David Edelsohn + + * config/tc-ppc.c (ppc_set_cpu): Change defaults to match AIX. + +Thu May 23 17:34:24 1996 Michael Meissner + + * read.c (potable): Add .skip as a synonym for .space. + + * 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. + +Thu May 16 15:51:48 1996 Ian Lance Taylor + + * 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. + + * subsegs.h (segment_info_type): Add tc_segment_info_data field if + TC_SEGMENT_INFO_TYPE is defined. + +Wed May 15 12:23:53 1996 Ian Lance Taylor + + * config/tc-i386.c (md_assemble): Make sure the opcode suffix + matches the register size. + +Wed May 15 08:33:37 1996 Jeffrey A Law (law@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. + +Fri May 10 14:16:59 1996 Michael Meissner + + * config/tc-ppc.c (ppc_elf_validate_fix): Allow GOT and section + relative relocations with -mrelocatable. Also allow unfixed + relocs in .ex_shared. + +Tue May 7 11:24:10 1996 Ian Lance Taylor + + * 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. + + * config/obj-coff.c (w_strings): Move declaration of i inside + #ifdef block which uses it. + +Tue May 7 00:49:58 1996 Jeffrey A Law (law@cygnus.com) + + * 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. + +Mon May 6 15:26:28 1996 Doug Evans + + * 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. + +Sat May 4 12:49:35 1996 Jeffrey A Law (law@cygnus.com) + + * config/tc-hppa.c (hppa_fix_adjustable): Don't adjust + any reloc with an LR% or RR% field selector for SOM. + +Sat May 4 11:26:19 1996 Ian Lance Taylor + + * Makefile.in: Add subsegs.h to appropriate TARG_CPU_DEP_* + variables. + +Fri May 3 17:58:31 1996 Ian Lance Taylor + + * config/obj-coff.c (coff_frob_symbol): Don't merge a symbol with + SF_GET_STATICS set. + (yank_symbols): Likewise. + +Wed May 1 13:38:17 1996 Ian Lance Taylor + + * 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 + + * configure.in: Add * after sparc*-*-vxworks. + * 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 + + * 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 + + * 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]. + +Thu Apr 18 18:58:33 1996 Ian Lance Taylor + + * 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. + +Thu Apr 18 11:53:58 1996 Michael Meissner + + * 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 + + * 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 + + * 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 + + * 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. + +Mon Apr 15 12:26:33 1996 Ian Lance Taylor + + * config/tc-mips.c (mips_frob_file): Permit multiple %hi relocs to + be associated with a single %lo reloc. + + * 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. + +Thu Apr 11 12:39:02 1996 Ian Lance Taylor + + * 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-m68k.c (md_estimate_size_before_relax): Correct check + for byte jump to next instruction to skip empty frags. + +Wed Apr 10 16:48:12 1996 Ian Lance Taylor + + * 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. + +Wed Apr 10 14:34:49 1996 Jeffrey A Law (law@cygnus.com) + + * config/tc-h8300.c (do_a_fix_imm): Don't cut off high bits + of a 32bit operand. + +Mon Apr 8 14:42:53 1996 Ian Lance Taylor + + * configure.in: Permit --enable-shared to specify a list of + directories. + * configure: Rebuild. + +Fri Apr 5 17:01:35 1996 Jeffrey A Law (law@cygnus.com) + + * config/tc-h8300.c (get_specific): Remove some #if 0 code. + (build_bytes): Remove all ABSMOV related code; it's unnecessary. + +Fri Apr 5 15:13:10 1996 Andreas Schwab + + * 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 + + * configure.in: Add i386-*-freebsdelf* target; from John Polstra + . + * configure: Rebuild. + +Fri Apr 5 18:39:28 1996 James G. Smith + + * 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. + +Wed Apr 3 10:56:14 1996 Doug Evans + + * config/tc-sparc.c (sparc_md_end): Set bfd machine number to + bfd_mach_sparc_sparclet if current_architecture is sparclet. + +Mon Apr 1 16:55:44 1996 Ian Lance Taylor + + * 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. + +Fri Mar 29 16:15:06 1996 Ian Lance Taylor + + * 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. + +Fri Mar 29 11:31:27 1996 J.T. Conklin (jtc@lisa.cygnus.com) + + * doc/as.1: Changed to be recognized by catman -w on Solaris. + +Thu Mar 28 15:27:47 1996 Ian Lance Taylor + + * 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. + + * 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 + + * configure.in (sparc-*-solaris2*): Renamed from sparc*-*-solaris2*. + * configure: Regenerated. + +Tue Mar 26 18:19:12 1996 Ian Lance Taylor + + * as.c (main): Call bfd_set_error_program_name. + +Fri Mar 22 11:13:00 1996 Ian Lance Taylor + + * 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. + + * 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. + +Thu Mar 21 13:18:43 1996 Ian Lance Taylor + + * config/tc-i386.c (md_parse_option): If OBJ_ELF, ignore -k for + FreeBSD compatibility. From John Polstra . + +Wed Mar 20 18:13:32 1996 Andreas Schwab + + * doc/as.texinfo, doc/c-i960.texi: Fix typos. + +Wed Mar 20 17:05:16 1996 David Mosberger-Tang + + * config/alpha-opcode.h: Added cvtst instruction. + +Mon Mar 18 13:12:46 1996 Ian Lance Taylor + + * ecoff.c (ecoff_stab): Don't try to make a symbol out of the stab + string. Extract the addend from the result of expression. + +Fri Mar 15 17:10:43 1996 Ian Lance Taylor + + * 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 Mar 14 18:18:25 1996 Ian Lance Taylor + + * config/obj-coff.h (C_REGISTER_SECTION): Change from 20 to 50, to + correspond to 11 March change. + +Thu Mar 14 15:27:10 1996 Jeffrey A Law (law@cygnus.com) + + * config/tc-h8300.c (build_bytes, MEMIND case): Generate + an R_MEM_INDIRECT reloc rather than R_RELBYTE. + +Tue Mar 12 12:21:10 1996 Ian Lance Taylor + + * configure: Rebuild with autoconf 2.8. + +Mon Mar 11 18:57:12 1996 Ian Lance Taylor + + * config/atof-ieee.c (gen_to_words): Improve handling of + X_PRECISION numbers. Based on patches from Andreas Schwab + . + +Mon Mar 11 09:59:53 1996 Steve Chamberlain + + * 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. + +Thu Mar 7 15:17:39 1996 Doug Evans + + * config/tc-sparc.c (sparc_ip): Handle operand char 'O' (neg reg). + +Thu Mar 7 09:19:15 1996 Jeffrey A Law (law@cygnus.com) + + * config/tc-hppa.c (SUBSEG_MILLI): Define. + (pa_def_subspaces): Add $MILLICODE$. + (pa_spaces_begin): Set section flags for $MILLICODE$. + +Wed Mar 6 14:11:30 1996 Ian Lance Taylor + + * 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). + + * config/tc-sh.c (sh_do_align): Only align using the nop pattern + if aligning to a longword boundary or greater. + +Tue Mar 5 15:10:43 1996 Jim Wilson + + * config/tc-sh.c (sh_do_align): Pass 1 not 2 to frag_align. + +Mon Mar 4 20:50:57 1996 Steve Chamberlain + + * 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 + + * 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 + + * config/obj-elf.c (obj_elf_section): Allow predefined section + types to set the nobits type. Avoid a shadowed declaration. + +Wed Feb 28 15:38:56 1996 Jeffrey A Law (law@cygnus.com) + + * config/tc-hppa.c (hppa_fix_adjustable): For SOM, don't + reduce relocs using e_nlrsel field selectors. + + * write.c (fix_new_exp): Don't use #elif. Some compilers + don't handle it. + + * 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 Feb 27 14:42:27 1996 Andreas Schwab + + * 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. + +Mon Feb 26 18:58:58 1996 Stan Shebs + + * mpw-make.sed: Update to handle shared library support. + +Mon Feb 26 10:34:10 1996 Doug Evans + + * config/tc-sparc.c (sparc_ip): Print all architectures that support + the insn on mismatch. + +Fri Feb 23 21:44:39 1996 Rob Savoye + + * configure.in: Add support for a29-coff. + * configure: Rebuild. + +Thu Feb 22 16:39:43 1996 Ian Lance Taylor + + * 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. + + * config/tc-mips.c (macro): Add missing arguments to macro_build + omitted in last change. From Jim Wilson . + +Wed Feb 21 17:00:32 1996 Ian Lance Taylor + + * 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 + + * config/tc-sparc.c (sparc_ip): Recognize %asr0 for v8. + +Tue Feb 20 21:48:03 1996 Doug Evans + + * 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. + +Tue Feb 20 22:25:55 1996 Ian Lance Taylor + + * config/tc-sh.c (sh_handle_align): Don't emit R_SH_ALIGN relocs + in bss_section. + +Mon Feb 19 14:16:24 1996 Ian Lance Taylor + + * 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. + +Mon Feb 19 02:15:57 1996 Doug Evans + + * 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. + +Sun Feb 18 15:03:50 1996 Ian Lance Taylor + + * configure.in: Check for 'do not mix' from native linker before + trying to use -rpath. + * configure: Rebuild. + +Fri Feb 16 16:53:31 1996 Ian Lance Taylor + + * 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. + +Thu Feb 15 14:48:38 1996 Michael Meissner + + * 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. + +Thu Feb 15 11:20:18 1996 Ian Lance Taylor + + * configure: Set and substitute RPATH_ENVVAR. + * configure: Rebuild. + * Makefile.in (RPATH_ENVVAR): New variable. + (check): Use $(RPATH_ENVVAR) rather than LD_LIBRARY_PATH. + + * configure.in: Accept i686. From H.J. Lu : i386 + doesn't need opcodes. If configuring shared, opcodes needs bfd. + * configure: Rebuild. + +Wed Feb 14 16:33:12 1996 Martin Anantharaman + + * 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. + +Wed Feb 14 13:43:24 1996 Ian Lance Taylor + + From Alan Modra : + * configure.in: Remove duplicate setting of cpu_type. Check + whether opcodes library is required for on all targets, not just + primary one. + * configure: Rebuild. + + * 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 + + * 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 + + * configure.in: Set HDLFLAGS for *-*-hpux with --enable-shared. + * configure: Rebuild. + +Mon Feb 12 15:53:46 1996 Doug Evans + + * configure.in: Recognize any sparc* cpu. + * configure: Regenerated. + +Mon Feb 12 15:41:21 1996 Ian Lance Taylor + + * 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 + + 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 + + * 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 + + * 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 + + * config/te-aux.h: Change include of aux.h to aux-coff.h. + +Thu Feb 8 20:02:58 1996 Ian Lance Taylor + + * 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 + + * 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. + + * config/obj-coff.c (fixup_mdeps): Divide offset by fr_var, as is + done in cvt_frag_to_fill. + + * config/tc-sh.h (sh_do_align): Declare. + (md_do_align): Define. + * config/tc-sh.c (sh_do_align): New function. + + * ecoff.c (ecoff_build_lineno): Don't try to store the address + difference if the next address is before the current one. + + * 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. + + * 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. + + * 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. + +Tue Feb 6 15:16:17 1996 Ian Lance Taylor + + * 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 + + * 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 : + * 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 + + * 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 + + * Makefile.in (INSTALL_XFORM): Remove -e. + +Fri Feb 2 12:32:15 1996 Ian Lance Taylor + + * 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 + + * config/obj-aout.h (S_IS_LOCAL): Check for \002 as well as \001. + * config/obj-bout.h (S_IS_LOCAL): Likewise. + + * 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. + +Wed Jan 31 18:31:46 1996 Steve Chamberlain + + * configure.in (i386-*-cygwin32, ppc-*-cygwin32): New. + * configure: Rebuild. + +Wed Jan 31 14:03:17 1996 Richard Henderson + + * config/tc-m68k.c (md_pseudo_table): Add "extend" and "ldouble". + * doc/c-m68k.texi: Document .extend and .ldouble. + + * 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. + +Wed Jan 31 12:24:58 1996 Ian Lance Taylor + + * config/obj-coff.h (S_IS_LOCAL): Check for \002 as well as \001. + + * 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. + +Tue Jan 30 12:35:24 1996 Ken Raeburn + + * config/tc-i960.c (parse_memop): In MRI mode, don't use implicit + scaling of index. + + * expr.c (operand): Accept 0x hex constants in MRI mode if not on + m68k. + +Mon Jan 29 12:21:30 1996 Ian Lance Taylor + + * config/obj-elf.c (obj_elf_type): Set BSF_OBJECT flag for a type + of object. From Ronald F. Guilmette . + + * 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. + +Fri Jan 26 19:28:52 1996 Kim Knuttila + + * config/tc-ppc.c (md_assemble): Ignore overflow on + BFD_RELOC_16_GOTOFF and BFD_RELOC_PPC_TOC16. + +Fri Jan 26 16:14:17 1996 Michael Meissner + + * 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. + +Thu Jan 25 20:26:23 1996 Doug Evans + + * 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. + +Thu Jan 25 12:21:53 1996 Ian Lance Taylor + + SCO ELF support from Robert Lipe : + * configure.in (i386-*-sco*elf*): Use fmt elf, targ sco5. + * 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 + + * 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 + + * Makefile.in (RUNTEST): Fix reference to $${srcdir}. + +Mon Jan 22 09:21:36 1996 Doug Evans + + * 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 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 + + * config/tc-mips.c (load_register): Optimise "dli" loads. + (md_show_usage): add "-mcpu=vr4100" to help text. + +Mon Jan 22 11:53:00 1996 Ian Lance Taylor + + * symbols.c (resolve_symbol_value): If a symbol is equated to an + undefined symbol, preserve the X_op of O_symbol. + (S_GET_VALUE): Fix check to permit this case. + * write.c (write_relocs): If a reloc is against an undefined + symbol equated to another symbol, change the reloc to be against + the latter symbol. + * config/obj-coff.c (do_relocs_for): Likewise. + + * config/tc-ppc.c (ppc_csect): An unnamed csect is storage class + XMC_PR. + +Mon Jan 22 10:59:48 1996 Michael Meissner + + * config/obj-elf.c (elf/ppc.h): Include elf/ppc.h if target + computer is PowerPC. + + * config/tc-ppc.c (md_apply_fix3): Add more embedded relocations. + + * config/tc-ppc.h (ELF_TC_SPECIAL_SECTIONS): Add sections + mentioned in the eabi. + +Thu Jan 18 17:58:19 1996 Kim Knuttila + + * config/tc-ppc.c (ppc_reldata): Changed alignement on reldata_section + * config/tc-ppc.c (ppc_pdata): Changed the alignment on pdata_section + +Mon Jan 15 17:43:42 1996 Michael Meissner + + * config/tc-ppc.c (mapping): Add more relocation suffixes. + +Sun Jan 14 21:29:36 1996 Michael Meissner + + * config/tc-ppc.c (ppc_elf_validate_fix): Allow .gcc_except_table + as a section it is ok to have unadorned -mrelocatable pointers in. + +Sat Jan 13 11:09:08 1996 Michael Meissner + + * config/tc-ppc.c (ppc_section*): Wrap these functions inside + #ifdef OBJ_ELF. + +Fri Jan 12 15:32:07 1996 Michael Meissner + + * config/obj-elf.c (obj_elf_section): Add hooks so machine + dependent section attributes can be handled. + + * config/tc-ppc.h: (md_elf_section_{letter,type,word,flags}): New + macros to add support for exclude section flag and ordered section + type. + + * config/tc-ppc.c (ppc_elf_section_{letter,type,word,flags}): New + functions to add support for exclude section flag and ordered + section type. + +Fri Jan 12 12:04:00 1996 Ian Lance Taylor + + * 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. + + * read.c (cons_worker): Only call mri_comment_end from flag_mri. + From James Carlson . + + * expr.c (operand): Skip whitespace after a close parenthesis. + From James Carlson . + +Tue Jan 2 12:43:23 1996 Jim Wilson + + * 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. + +For older changes see ChangeLog-9295 diff --git a/gas/config/.Sanitize b/gas/config/.Sanitize index 507aa1694e5..84e7cce8158 100644 --- a/gas/config/.Sanitize +++ b/gas/config/.Sanitize @@ -238,23 +238,23 @@ else done fi -vr5400_files="tc-mips.c" -if ( echo $* | grep keep\-vr5400 > /dev/null ) ; then - for i in $vr5400_files ; do - if test ! -d $i && (grep sanitize-vr5400 $i > /dev/null) ; then +cygnus_files="tc-mips.c" +if ( echo $* | grep keep\-cygnus > /dev/null ) ; then + for i in $cygnus_files ; do + if test ! -d $i && (grep sanitize-cygnus $i > /dev/null) ; then if [ -n "${verbose}" ] ; then - echo Keeping vr5400 stuff in $i + echo Keeping cygnus stuff in $i fi fi done else for i in * ; do - if test ! -d $i && (grep sanitize-vr5400 $i > /dev/null) ; then + if test ! -d $i && (grep sanitize-cygnus $i > /dev/null) ; then if [ -n "${verbose}" ] ; then - echo Removing traces of \"vr5400\" from $i... + echo Removing traces of \"cygnus\" from $i... fi cp $i new - sed '/start\-sanitize\-vr5400/,/end\-sanitize\-vr5400/d' < $i > new + sed '/start\-sanitize\-cygnus/,/end\-sanitize\-cygnus/d' < $i > new if [ -n "${safe}" -a ! -f .Recover/$i ] ; then if [ -n "${verbose}" ] ; then echo Caching $i in .Recover... diff --git a/gas/testsuite/.Sanitize b/gas/testsuite/.Sanitize index ef93e490000..bf61436d581 100644 --- a/gas/testsuite/.Sanitize +++ b/gas/testsuite/.Sanitize @@ -100,23 +100,23 @@ else done fi -vr5400_files="ChangeLog" -if ( echo $* | grep keep\-vr5400 > /dev/null ) ; then - for i in $vr5400_files ; do - if test ! -d $i && (grep sanitize-vr5400 $i > /dev/null) ; then +cygnus_files="ChangeLog" +if ( echo $* | grep keep\-cygnus > /dev/null ) ; then + for i in $cygnus_files ; do + if test ! -d $i && (grep sanitize-cygnus $i > /dev/null) ; then if [ -n "${verbose}" ] ; then - echo Keeping vr5400 stuff in $i + echo Keeping cygnus stuff in $i fi fi done else - for i in $vr5400_files ; do - if test ! -d $i && (grep sanitize-vr5400 $i > /dev/null) ; then + for i in $cygnus_files ; do + if test ! -d $i && (grep sanitize-cygnus $i > /dev/null) ; then if [ -n "${verbose}" ] ; then - echo Removing traces of \"vr5400\" from $i... + echo Removing traces of \"cygnus\" from $i... fi cp $i new - sed '/start\-sanitize\-vr5400/,/end-\sanitize\-vr5400/d' < $i > new + sed '/start\-sanitize\-cygnus/,/end-\sanitize\-cygnus/d' < $i > new if [ -n "${safe}" -a ! -f .Recover/$i ] ; then if [ -n "${verbose}" ] ; then echo Caching $i in .Recover... diff --git a/gas/testsuite/gas/mips/.Sanitize b/gas/testsuite/gas/mips/.Sanitize index 9aab6414eaa..b829702bfeb 100644 --- a/gas/testsuite/gas/mips/.Sanitize +++ b/gas/testsuite/gas/mips/.Sanitize @@ -16,7 +16,7 @@ Do-first: vr5400_losers="vr5400.s vr5400.d" -if ( echo $* | grep keep\-vr5400 > /dev/null ) ; then +if ( echo $* | grep keep\-cygnus > /dev/null ) ; then keep_these_too="$keep_these_too $vr5400_losers" if [ -n "${verbose}" ] ; then for i in $vr5400_losers ; do @@ -268,23 +268,23 @@ else done fi -vr5400_files="mips.exp" -if ( echo $* | grep keep\-vr5400 > /dev/null ) ; then - for i in $vr5400_files ; do - if test ! -d $i && (grep sanitize-vr5400 $i > /dev/null) ; then +cygnus_files="mips.exp" +if ( echo $* | grep keep\-cygnus > /dev/null ) ; then + for i in $cygnus_files ; do + if test ! -d $i && (grep sanitize-cygnus $i > /dev/null) ; then if [ -n "${verbose}" ] ; then - echo Keeping vr5400 stuff in $i + echo Keeping cygnus stuff in $i fi fi done else - for i in $vr5400_files ; do - if test ! -d $i && (grep sanitize-vr5400 $i > /dev/null) ; then + for i in $cygnus_files ; do + if test ! -d $i && (grep sanitize-cygnus $i > /dev/null) ; then if [ -n "${verbose}" ] ; then - echo Removing traces of \"vr5400\" from $i... + echo Removing traces of \"cygnus\" from $i... fi cp $i new - sed '/start\-sanitize\-vr5400/,/end-\sanitize\-vr5400/d' < $i > new + sed '/start\-sanitize\-cygnus/,/end-\sanitize\-cygnus/d' < $i > new if [ -n "${safe}" -a ! -f .Recover/$i ] ; then if [ -n "${verbose}" ] ; then echo Caching $i in .Recover... diff --git a/gas/testsuite/gas/mips/mips.exp b/gas/testsuite/gas/mips/mips.exp index 4953fc60bf2..e729bde6957 100644 --- a/gas/testsuite/gas/mips/mips.exp +++ b/gas/testsuite/gas/mips/mips.exp @@ -24,10 +24,15 @@ if [istarget mips*-*-*] then { set no_mips16 [expr $no_mips16 || [istarget mips64tx49*-*-*]] #end-sanitize-tx49 -# start-sanitize-vr5400 +# start-sanitize-cygnus set ilocks [expr $ilocks || [istarget mips64vr5400*-*-*]] set gpr_ilocks [expr $gpr_ilocks || [istarget mips64vr5400*-*-*]] -# end-sanitize-vr5400 +# end-sanitize-cygnus + +# start-sanitize-r5900 + set ilocks [expr $ilocks || [istarget mips64r5900*-*-*]] + set gpr_ilocks [expr $gpr_ilocks || [istarget mips64r5900*-*-*]] +# end-sanitize-r5900 run_dump_test "abs" run_dump_test "add" @@ -101,9 +106,9 @@ if [istarget mips*-*-*] then { if { $svr4pic && !$no_mips16 } { run_dump_test "mips16" } run_dump_test "delay" run_dump_test "nodelay" -# start-sanitize-vr5400 +# start-sanitize-cygnus run_dump_test "vr5400" -# end-sanitize-vr5400 +# end-sanitize-cygnus # start-sanitize-r5900 run_dump_test "r5900" run_dump_test "vu0" diff --git a/gdb/.Sanitize b/gdb/.Sanitize index 0a651278f93..51a6c819356 100644 --- a/gdb/.Sanitize +++ b/gdb/.Sanitize @@ -690,22 +690,22 @@ else done fi -if ( echo $* | grep keep\-vr5400 > /dev/null ) ; then +if ( echo $* | grep keep\-cygnus > /dev/null ) ; then for i in * ; do - if test ! -d $i && (grep sanitize-vr5400 $i > /dev/null) ; then + if test ! -d $i && (grep sanitize-cygnus $i > /dev/null) ; then if [ -n "${verbose}" ] ; then - echo Keeping vr5400 stuff in $i + echo Keeping cygnus stuff in $i fi fi done else for i in * ; do - if test ! -d $i && (grep sanitize-vr5400 $i > /dev/null) ; then + if test ! -d $i && (grep sanitize-cygnus $i > /dev/null) ; then if [ -n "${verbose}" ] ; then - echo Removing traces of \"vr5400\" from $i... + echo Removing traces of \"cygnus\" from $i... fi cp $i new - sed '/start\-sanitize\-vr5400/,/end-\sanitize\-vr5400/d' < $i > new + sed '/start\-sanitize\-cygnus/,/end-\sanitize\-cygnus/d' < $i > new if [ -n "${safe}" -a ! -f .Recover/$i ] ; then if [ -n "${verbose}" ] ; then echo Caching $i in .Recover... diff --git a/gdb/ChangeLog-97 b/gdb/ChangeLog-97 index dd8450d9eb8..690fb49f4de 100644 --- a/gdb/ChangeLog-97 +++ b/gdb/ChangeLog-97 @@ -322,12 +322,12 @@ Sun Nov 23 17:12:58 1997 Andrew Cagney assembly-language" command. Replaced by generic "set architecture". Set initial machine using bfd_lookup_arch. -start-sanitize-vr5400 +start-sanitize-cygnus Sun Nov 23 16:23:37 1997 Andrew Cagney * configure.tgt (gdb_target): Treat vr5400 as a vr5000. -end-sanitize-vr5400 +end-sanitize-cygnus Fri Nov 21 19:43:23 1997 Jim Blandy * valops.c (call_function_by_hand): If the function has a diff --git a/gdb/configure.tgt b/gdb/configure.tgt index bf95f641c2c..d726015e765 100644 --- a/gdb/configure.tgt +++ b/gdb/configure.tgt @@ -176,11 +176,11 @@ mips64*vr4100*-*-elf*) gdb_target=vr4xxx ;; mips64*vr5000*el-*-elf*) gdb_target=vr5000el ;; mips64*vr5000*-*-elf*) gdb_target=vr5000 configdirs="${configdirs} gdbserver" ;; -# start-sanitize-vr5400 +# start-sanitize-cygnus mips64*vr5400*el-*-elf*) gdb_target=vr5000el ;; mips64*vr5400*-*-elf*) gdb_target=vr5000 configdirs="${configdirs} gdbserver" ;; -# end-sanitize-vr5400 +# end-sanitize-cygnus # start-sanitize-sky mips64*r5900*-sky-elf*) gdb_target=txvu ;; # end-sanitize-sky diff --git a/opcodes/.Sanitize b/opcodes/.Sanitize index 72d7aa738de..05d55122865 100644 --- a/opcodes/.Sanitize +++ b/opcodes/.Sanitize @@ -299,23 +299,23 @@ else done fi -vr5400_files="ChangeLog mips-opc.c mips-dis.c" -if ( echo $* | grep keep\-vr5400 > /dev/null ) ; then - for i in $vr5400_files ; do - if test ! -d $i && (grep sanitize-vr5400 $i > /dev/null) ; then +cygnus_files="ChangeLog mips-opc.c mips-dis.c" +if ( echo $* | grep keep\-cygnus > /dev/null ) ; then + for i in $cygnus_files ; do + if test ! -d $i && (grep sanitize-cygnus $i > /dev/null) ; then if [ -n "${verbose}" ] ; then - echo Keeping vr5400 stuff in $i + echo Keeping cygnus stuff in $i fi fi done else - for i in $vr5400_files ; do - if test ! -d $i && (grep sanitize-vr5400 $i > /dev/null) ; then + for i in $cygnus_files ; do + if test ! -d $i && (grep sanitize-cygnus $i > /dev/null) ; then if [ -n "${verbose}" ] ; then - echo Removing traces of \"vr5400\" from $i... + echo Removing traces of \"cygnus\" from $i... fi cp $i new - sed '/start\-sanitize\-vr5400/,/end-\sanitize\-vr5400/d' < $i > new + sed '/start\-sanitize\-cygnus/,/end-\sanitize\-cygnus/d' < $i > new if [ -n "${safe}" -a ! -f .Recover/$i ] ; then if [ -n "${verbose}" ] ; then echo Caching $i in .Recover... diff --git a/sim/mips/.Sanitize b/sim/mips/.Sanitize index 47c9d376ff6..38ff1197351 100644 --- a/sim/mips/.Sanitize +++ b/sim/mips/.Sanitize @@ -46,11 +46,11 @@ else lose_these_too="${sky_files} ${lose_these_too}" fi -vr5400_files="mdmx.igen" -if ( echo $* | grep keep\-vr5400 > /dev/null ) ; then - keep_these_too="${vr5400_files} ${keep_these_too}" +cygnus_files="mdmx.igen" +if ( echo $* | grep keep\-cygnus > /dev/null ) ; then + keep_these_too="${cygnus_files} ${keep_these_too}" else - lose_these_too="${vr5400_files} ${lose_these_too}" + lose_these_too="${cygnus_files} ${lose_these_too}" fi # All files listed between the "Things-to-keep:" line and the @@ -206,24 +206,24 @@ else fi -vr5400_files="ChangeLog configure configure.in sim-main.h interp.c gencode.c mips.igen mips.dc mdmx.igen vr.igen" +cygnus_files="ChangeLog configure configure.in sim-main.h interp.c gencode.c mips.igen mips.dc mdmx.igen vr.igen" -if ( echo $* | grep keep\-vr5400 > /dev/null ) ; then - for i in $vr5400_files ; do - if test ! -d $i && (grep sanitize-vr5400 $i > /dev/null) ; then +if ( echo $* | grep keep\-cygnus > /dev/null ) ; then + for i in $cygnus_files ; do + if test ! -d $i && (grep sanitize-cygnus $i > /dev/null) ; then if [ -n "${verbose}" ] ; then - echo Keeping vr5400 stuff in $i + echo Keeping cygnus stuff in $i fi fi done else for i in * ; do - if test ! -d $i && (grep sanitize-vr5400 $i > /dev/null) ; then + if test ! -d $i && (grep sanitize-cygnus $i > /dev/null) ; then if [ -n "${verbose}" ] ; then - echo Removing traces of \"vr5400\" from $i... + echo Removing traces of \"cygnus\" from $i... fi cp $i new - sed '/start\-sanitize\-vr5400/,/end-\sanitize\-vr5400/d' < $i > new + sed '/start\-sanitize\-cygnus/,/end-\sanitize\-cygnus/d' < $i > new if [ -n "${safe}" -a ! -f .Recover/$i ] ; then if [ -n "${verbose}" ] ; then echo Caching $i in .Recover... @@ -267,7 +267,7 @@ fi vrXXXX_files="vr.igen" -if ( echo $* | grep keep\-vr > /dev/null ) ; then +if ( echo $* | grep keep\-vr > /dev/null ) || ( echo $* | grep keep\-cygnus > /dev/null ) ; then for i in $vrXXXX_files ; do if test ! -d $i && (grep sanitize-vrXXXX $i > /dev/null) ; then if [ -n "${verbose}" ] ; then diff --git a/sim/mips/configure.in b/sim/mips/configure.in index 975832602f5..163db4aefb0 100644 --- a/sim/mips/configure.in +++ b/sim/mips/configure.in @@ -167,18 +167,18 @@ case "${target}" in sim_igen_machine="-M mipsIV,vr4320 -G gen-multi-sim=mipsIV" # end-sanitize-vr4320 ;; -# start-sanitize-vr5400 +# start-sanitize-cygnus mips64vr54*-*-*) sim_default_gen=IGEN sim_use_gen=IGEN sim_igen_machine="-M vr5000,vr5400 -G gen-multi-sim=vr5400" ;; -# end-sanitize-vr5400 +# end-sanitize-cygnus mips64vr5*-*-*) sim_default_gen=IGEN sim_use_gen=IGEN sim_igen_machine="-M vr5000" -# start-sanitize-vr5400 +# start-sanitize-cygnus sim_igen_machine="-M vr5000,vr5400 -G gen-multi-sim=vr5000" -# end-sanitize-vr5400 +# end-sanitize-cygnus ;; mips64vr4100-*-*) echo "NOTE: mips64vr4100 still uses gencode" sim_default_gen=M16 -- 2.30.2