blob: 99cf19d0956a6004d96a6d24b67a44956a350fd6 [file] [log] [blame]
1999-12-27 Alan Modra <>
* config/tc-i386.c (MATCH): Relax JumpAbsolute check. Emit a
warning for absolute jump/call without `*' in non-intel mode. No
need to set i.types[0] JumpAbsolute in intel mode.
1999-12-22 Philip Blundell <>
* config/tc-arm.c (arm_s_text): If OBJ_ELF, call the appropriate
hook function when changing sections.
(arm_s_data): Likewise.
1999-12-14 Nick Clifton <>
* config/tc-arm.c (md_parse_option): Add support for -marm720
command line switch.
Tue Nov 30 22:59:00 1999 Jeffrey A Law (
* config/tc-mn10300.c (md_pseudo_table): Add ".am33" pseudo-op.
(r_registers, xr_registers): Define.
(r_register_name, xr_register_name): New functions.
(md_assemble): Handle new am33 operand types and instruction
(mn10300_insert_operand, check_operand): Likewise.
1999-11-29 Nick Clifton <>
* config/tc-arm.c (thumb_mode): Turn into a tristate variable.
(s_force_thumb): Set thumb_mode to 2.
(md_assemble): Do not complain about thumb instructions on a
non-thumb target if thumb_mode is set to 2.
1999-11-28 Michael Meissner <>
* config/tc-alpha.c (toplevel): Include struc-symbol.h.
(alpha_macro_arg): Add MACRO_{LITERAL,BASE,BYTOFF,JSR} cases.
(O_...): Add new machine dependent expressions if we are handling
explicit relocations.
(alpha_reloc_op): New static table holding the explicit relocation
(alpha_literal_hash): New static to hold the hash table for
explicit relocations.
(alpha_macros): Add support for explicit relocations.
(md_begin): If explicit relocations, initialize hash table.
(md_assemble): Don't print a second error if tokenize_arguments
already printed an error message.
(md_apply_fix): Add support for explicit relocations.
(alpha_force_relocation): Ditto.
(alpha_fix_adjustable): Ditto.
(alpha_adjust_symtab): New function to support explicit
(alpha_adjust_symtab_relocs): Ditto.
(debug_exp): Debug stub compiled if DEBUG_ALPHA is defined.
(tokenize_arguments): Add debug code if DEBUG_ALPHA is defined.
Add support for explicit relocations. Return -2 if an error
message was already printed.
(find_macro_match): Add support for explicit relocations. Comment
each of the cases.
(emit_insn): Add support for explicit relocations.
(assemble_tokens): Ditto.
(emit_ldgp): Ditto.
(load_expression): Ditto.
(emit_lda): Ditto.
(emit_ldah): Ditto.
(emit_ir_load): Ditto.
(emit_loadstore): Ditto.
(emit_ldXu): Ditto.
(emit_ldil): Ditto.
(emit_sextX): Ditto.
(emit_division): Ditto.
(emit_jsrjmp): Ditto.
(emit_retjcr): Ditto.
* config/tc-alpha.h (RELOC_OP_P): Enable explicit relocations if
ELF object format.
(tc_adjust_symtab): If explicit relocations, call the function
(TC_FIX_TYPE): Add fields to be able to move explicit lituse
relocations next to the literal relocation they reference.
(TC_INIT_FIX_DATA): Initialize the new fields.
(TC_FIX_DATA_PRINT): Print the new fields if DEBUG5 is defined.
Wed Nov 24 20:27:58 1999 Jeffrey A Law (
* config/tc-hppa.c (pa_ip): Handle PA2.0 unit completers. Handle
'B' operand for PA2.0 bb instruction.
1999-11-18 Nick Clifton <>
* config/tc-mcore.h (TC_FORCE_RELOCATION): Define for Mcore-pe
* config/tc-mcore.c (tc_gen_reloc): Support generation of RVA
(mcore_force_relocation): Force relocations to be generated for
RVA relocs.
1999-11-16 Alan Modra <>
* config/tc-i386.c (i386_immediate): Disallow O_big immediates.
(i386_displacement): Disallow O_big displacements.
Mon Nov 15 20:12:43 1999 Donald Lindsay <>
* config/tc-arm.c (do_mia,do_mar,do_mra,do_pld,do_ldrl,do_co_reg):
Small improvements in error checking.
(md_assemble): Support for unconditional ARM instructions.
(md_parse_option): Support for -m[arm]v5e flag.
1999-11-12 Nick Clifton <>
* macro.c (buffer_and_nest): Do not check beyond the end of the
1999-11-11 Nick Clifton <>
* macro.c (buffer_and_nest): Look for seperator after TO and
FROM tokens.
1999-11-08 Andrew Haley <>
* app.c (do_scrub_chars): When in State 10, treat backslash
characters in the same way as as symbol characters.
1999-11-07 Richard Henderson <>
* config/tc-alpha.c (alpha_align): Check, don't assert, that
the previous label was in the current section before playing
with auto-alignment.
1999-11-06 Nick Clifton <>
* config/tc-v850.c (v850_force_relocation): Force relocation
for weak symbols.
(v850_pcrel_from_selection): Do not compute a pcrel offset if
the symbol is weak.
1999-11-05 Michael Meissner <>
* expr.h (operatorT): Increase machine dependent operators to 16.
* expr.c (op_rank): Ditto.
1999-11-03 Ian Lance Taylor <>
* read.c (pseudo_set): Reject attempts to set the value of a
section symbol.
* config/obj-elf.c (obj_elf_ident): Call md_flush_pending_output
if it is defined.
* config/obj-elf.c (elf_set_index): Add ATTRIBUTE_UNUSED.
* config/obj-elf.c (elf_frob_file_after_relocs): Don't pass NULL
to bfd_set_section_contents.
1999-11-03 Nick Clifton <>
* config/tc-mcore.h (TARGET_BYTES_BIG_ENDIAN): Change to false.
1999-11-01 Gavin Romig-Koch <>
* config/tc-mips.c (macro_build): Use OPCODE_IS_MEMBER.
(mips_ip): Use OPCODE_IS_MEMBER.
Wed Oct 27 16:50:44 1999 Don Lindsay <>
* config/tc-arm.c (reg_required_here): Improve comments.
* config/tc-arm.c (thumb_opcode): Add "variants" field.
(tinsns): Initialize variants field.
* config/tc-arm.c (bad_args, bad_pc): Renamed to BAD_ARGS and
BAD_PC respectively.
1999-10-27 Scott Bambrough <>
* config/tc-arm.c (reloc_map[]): Fix compiler warning.
* config/tc-arm.h: Fix compile time warnings.
Mon Oct 18 18:11:10 MDT 1999 Diego Novillo <>
* config/tc-d10v.c (find_opcode): Allow ATSIGN to match
expressions of the form @abs16, @(abs16) and @(abs16 + imm).
1999-10-21 Gavin Romig-Koch <>
* config/tc-mips.c (ISA_HAS_COPROC_DELAYS) : New.
macro,macro2,mips_ip,s_cprestore,s_cpadd): Simplify
and/or use new ISA_xxx macros in expressions involving
ISA, particularly mips_opts.isa.
1999-10-18 Michael Meissner <>
* expr.h (operatorT): Add machine dependent operators md1..md8.
(expressionS): Make X_op 8 bits instead of 7. Add a X_md field
for the machine dependent operators to use.
* expr.c (op_rank): Add machine dependent operators.
* config/tc-alpha.c (O_pregister): Define as a machine dependent
(O_cpregister): Ditto.
(md_begin): Change X_op test that field is wide enough to use
O_max instead of O_alpha_max.
(cpu_types): Fill in missing initializer.
(alpha_num_macros): Make unsigned.
(md_assemble): Make opnamelen be size_t.
(md_apply_fix): Cast alpha_num_operands to int before testing.
(alpha_force_relocation): Ditto.
(alpha_fix_adjustable): Ditto.
(alpha_fix_adjustable): Mark unused arguments ATTRIBUTE_UNUSED.
(tc_gen_reloc): Ditto.
(tc_get_register): Ditto.
(emit_ldgp): Ditto.
(emit_lda): Ditto.
(emit_ldah): Ditto.
(emit_ldil): Ditto.
(s_alpha_ent): Ditto.
(s_alpha_end): Ditto.
(s_alpha_frame): Ditto.
(s_alpha_prologue): Ditto.
(s_alpha_file): Ditto.
(s_alpha_gprel32): Ditto.
(s_alpha_proc): Ditto.
(s_alpha_set): Ditto.
(s_alpha_base): Ditto.
(s_alpha_align): Ditto.
(s_alpha_arch): Ditto.
(alpha_align): Ditto.
(assemble_insn): Suppress unused variable warning.
(emit_insn): Ditto.
(assemble_insn): Don't assume X_op and X_unsigned are in a given
order in the structure.
(s_alpha_coff_wrapper): Avoid int/unsigned comparison.
Sun Oct 17 17:15:58 1999 Jeffrey A Law (
* config/tc-hppa.c (md_apply_fix): Make "fmt" an int.
1999-10-12 Alan Modra <>
* config/tc-i386.c (i386_index_check): Correct #endif location.
Mon Oct 11 14:02:40 1999 Geoffrey Keating <>
* as.c (show_usage): Document new options.
(parse_args): Add --no-warn, --warn, --fatal-warnings,
which become 'W', OPTION_WARN, and OPTION_WARN_FATAL.
(parse_args): Parse the new options.
(main): If there were warnings, and --fatal-warnings
was specified, print an error.
* as.h: New variable, flag_fatal_warnings, for new option.
Sun Oct 10 01:47:23 1999 Jerry Quinn <>
* config/tc-hppa.c (pa_ip): Add new codes 'cc', 'cd', 'cC', 'co',
'@'. Change autoincrement completers to fall through to cache control
* config/tc-hppa.c (pa_ip): Remove unused args. Add code to '?W'
(pa_parse_addb_64_cmpltr): New function.
* config/tc-hppa.c (pa_ip): Change error message.
(pa_ip,pa_parse_cmpb_64_cmpltr,pa_parse_cmpib_64_cmpltr) Fix '?N' and
'?Q' args to allow falling through.
* config/tc-hppa.c (pa_ip): Implement conditional codes "?N", "?Q".
Remove unused conditional codes.
(pa_parse_cmpb_64_cmpltr,pa_parse_cmpib_64_cmpltr): New.
Thu Oct 7 00:23:53 MDT 1999 Diego Novillo <>
* config/tc-d30v.c (CHAR_BIT): Define.
(check_range): Fix bit operations to support integers bigger than
32 bits.
Thu Oct 7 00:11:50 MDT 1999 Diego Novillo <>
* config/tc-d10v.c (check_range): Check range for RESTRICTED_NUM3
Mon Oct 4 17:24:23 1999 Nick Clifton <>
Doug Evans <>
Add support for m32rx.
* config/tc-m32r.c (enable_m32rx): New static global.
(enable_special,warn_explicit_parallel_conflicts,optimize): Ditto.
(allow_m32rx): New function.
(M32R_SHORTOPTS): Add `O'.
(md_longopts): Add --m32rx plus several warning options.
(md_parse_option): Handle new options.
(md_show_usage): Print them.
(md_begin): Enable m32rx.
(first_writes_to_seconds_operands): New function.
(writes_to_pc,can_make_parallel,make_parallel): New functions.
(target_make_parallel,assemble_two_insns): New functions.
(md_assemble): Recognize "insn1 -> insn2" and "insn1 || insn2".
If optimizing and m32rx, try to make consecutive insns parallel.
Tue Sep 28 14:06:44 1999 Geoffrey Keating <>
* config/tc-mips.c (nopic_need_relax): Allow for the sections generated by -fdata-sections,
and for the .gnu.linkonce.s sections generated by C++.
Thu Sep 23 07:13:45 1999 Jerry Quinn <>
* config/tc-hppa.c (pa_ip): Replace 'B', 'M', 'l' and 'g' handling
with cleaner code using completer prefixes. Add 'Y'.
* config/tc-hppa.c (pa_ip): Add parens to silence compiler.
Wed Sep 22 09:37:19 1999 Jeffrey A Law (
* config/tc-hppa.c (pa_ip): Avoid ANSI specific initialization.
(pa_ip, case 'm'): Failure to get a CBIT specifier just means the
insn does not match and we should try the next insn in the table.
1999-09-22 Nick Clifton <>
* config/tc-arm.c (MULTI_SET_PSR): Rename to LDM_TYPE_2_OR_3.
Mon Sep 20 04:01:41 1999 Jeffrey A Law (
* config/tc-hppa.c (pa_ip): Fix thinkos in recent cleanup
of PA2.0 support.
1999-09-19 Alexandre Oliva <>
* config/tc-i386.c (md_shortopts): Check OBJ_MAYBE_ELF as well as
OBJ_ELF. If ELF, add "sq".
(md_parse_option): If ELF, ignore -s and -q.
(md_show_usage): Mention ELF options.
Sun Sep 19 10:43:31 1999 Jeffrey A Law (
* config/tc-hppa.c (pa_ip): Handle 'J', 'K' and 'cc'
* config/tc-hppa.c (pa_ip): Handle "fe", and 'cJ'.
* config/tc-hppa.c (pa_ip): Handle 'd', '#' and 'cq'.
* config/tc-hppa.c (struct pa_it): New field "trunc".
(pa_ip): Handle 'h', 'm', '=', '{', and '_' operands.
(pa_parse_ftest_gfx_completer): New function
(pa_parse_fp_cnv_format): New function.
* config/tc-hppa.c (pa_ip): Handle 'X' operand.
(md_apply_fix): Handle 22bit pc-rel branches.
* config/tc-hppa.c (pa_ip): Handle 'B' operand.
* config/tc-hppa.c (pa_ip): Handle 'L' and 'M' operands.
* config/tc-hppa.c (pa_ip): Handle 'l' operand.
* config/tc-hppa.c (pa_ip): Handle 'g' operand.
Sat Sep 18 12:13:28 1999 Jeffrey A Law (
* config/tc-hppa.c (md_assemble): Fix dwarf2 line handling.
(pa_ip): Handle 'fX'.
Fri Sep 17 11:57:34 1999 Jeffrey A Law (
* config/tc-hppa.c (pa_build_unwind_subspace): Do not build
unwinds unless the function is in the text space.
(pa_type_args): Set BSF_FUNCTION for an exproted data symbol.
Wed Sep 15 05:14:32 1999 Jeffrey A Law (
* config/tc-hppa.c (pa_ip): Move dwarf2 stuff from here.
(md_assemble): To here. Tweak address generation.
* config/tc-hppa.c: Include dwarf2dbg.h if OBJ_ELF. Declare
(md_pseudo_table): Add .file and .line pseudo-ops for OBJ_ELF.
(md_assemble): Call dwarf2_where for OBJ_ELF.
(pa_ip): Call dwarf2_gen_line_info for OBJ_ELF.
(pa_end_of_source): New function.
* config/tc-hppa.h (md_end): Define for OBJ_ELF.
1999-09-14 Michael Meissner <>
* (Canonicalization of target names): Remove adding
${CONFIG_SHELL} in front of $ac_config_sub, since autoconfig 2.14
generates $ac_config_sub with a ${CONFIG_SHELL} already.
* configure: Regenerate.
1999-09-14 Donn Terry <>
* config/te-interix.h (GLOBAL_OFFSET_TABLE_NAME): Define.
1999-09-13 Alan Modra <>
* config/tc-i386.c (md_assemble): Handle "jmp/call constant" as a
pc-relative jmp/call to an absolute symbol.
(md_apply_fix3): When OBJ_ELF, don't add the values in twice for
absolute section symbols.
* config/tc-i386.c (md_assemble): Correct frag_var size. Tidy
jump handling code and comments.
1999-09-12 Ian Lance Taylor <>
* config/tc-i386.c (md_apply_fix3): Add horrible adjustments to
the value if TE_PE and a global defined symbol.
1999-09-11 Ian Lance Taylor <>
* write.c (dump_section_relocs): Call print_symbol_value_1 to
print the symbol, rather than printing it here.
1999-09-11 Donn Terry <>
* config/tc-i386.c (tc_i386_fix_adjustable): Don't adjust
BFD_RELOC_RVA relocations.
* config/tc-i386.c (md_undefined_symbol): Compare the name against
the macro GLOBAL_OFFSET_TABLE_NAME, rather than assuming that it
starts with "_G".
* write.c (write_relocs): Call SET_SECTION_RELOCS if it is
* config/obj-coff.h (SET_SECTION_RELOCS): Define.
* doc/internals.texi (Object format backend): Document
* config/tc-i386.c (tc_i386_fix_adjustable): Don't adjust
relocations against global symbols if TE_PE.
* config/obj-coff.c (obj_coff_ident): Add BFD_ASSEMBLER version.
(obj_pseudo_table): Always handle ".ident" with obj-coff_ident.
* config/obj-coff.c (coff_frob_symbol): Prohibit weak common
* config/obj-coff.c (obj_coff_endef): Don't merge labels, or
symbols which do not have a constant value, or tags with
non-tags. Remove the symbol from the list before adding it at the
* config/obj-coff.c (obj_coff_endef) [BFD_ASSEMBLER]: Handle .ef
C_FCN symbol differently if TE_PE.
(obj_coff_line) [BFD_ASSEMBLER]: Always use the line number which
appears in the pseudo-op, rather coff_line_base which is only set
for a .bf symbol.
* config/obj-coff.c (obj_coff_loc): New static function.
(obj_pseudo_table): Add "loc".
* config/obj-coff.c (add_lineno): Check that the line number is
* config/atof-ieee.c (atof_ieee): Change what_kind to int.
* config/atof-vax.c (flonum_gen2vax): Change format_letter to
(md_atof): Return NULL rather than 0.
* config/tc-i386.c (md_atof): Change type to int.
* expr.c (expr): Change first parameter to int.
* config/obj-coff.c: Add declarations for static functions.
(coff_frob_symbol): Use SYM_AUXENT.
* config/tc-i386.h (flag_16bit_code): Don't declare.
* config/obj-coff.c (obj_coff_section): Default to setting
SEC_LOAD. Don't set SEC_DATA for 'w' modifier.
* write.c (adjust_reloc_syms): Print adjusted fixup.
* expr.c (integer_constant): Correct too_many_digits calculation
in base 10 case.
1999-09-09 Andreas Schwab <>
* doc/c-arm.texi: Fix arguments of @var to not contain
1999-09-08 Philip Blundell <>
* config/tc-arm.c (s_thumb_set): Only support interworking for ELF
and COFF targets.
(md_parse_option): Only support -k flag for ELF and COFF targets.
Tue Sep 7 13:28:59 1999 Jeffrey A Law (
* config/tc-hppa.c (pa_ip): Put strict register checks before
call to pa_parse_number.
* config/tc-hppa.c (pa_ip): Support 'Z' argument.
1999-09-06 Ian Lance Taylor <>
* config/obj-coff.c: Add ATTRIBUTE_UNUSED as needed for
1999-09-06 Donn Terry <>
* as.c (perform_an_assembly_pass): Set SEC_DATA for data_section.
Mon Sep 6 04:26:56 1999 Jeffrey A Law (
* config/tc-hppa.c (pa_ip): Get strict/non-strict mode from the
candidate instruction. Require registers for register arguments
when in strict mode. Require assemble-time constants for
constants when in strict mode.
(pa_get_absolute_expression): Require a constant when in strict
1999-09-06 Nick Clifton <>
* config/tc-m32r.c (md_longopts): Fix value for -Wnuh.
1999-09-04 Steve Chamberlain <>
* config/tc-pj.c: New file, supports picoJava in ELF.
* config/tc-pj.h: Ditto.
* (pjl*, pj*): New targets.
* Rebuild dependencies.
(CPU_TYPES): Add pj.
(TARGET_CPU_CFILES): Add config/tc-pj.c.
(TARGET_CPU_HFILES): Add config/tc-pj.h.
* doc/c-pj.texi: New file.
* doc/as.texinfo: Add some PJ specifics.
* doc/all.texi: Add PJ to the list of all architectures, sort them
all alphabetically.
* doc/ (CPU_DOCS): Add c-pj.texi.
* configure,, doc/ Rebuild.
1999-09-02 Alan Modra <>
* config/obj-multi.h: Include obj-elf.h if OBJ_MAYBE_ELF. Reformat.
(obj_frob_file): Test for null pointer.
(elf_obj_sy): Remove
* config/obj-elf.h: #ifndef everything defined in obj-multi.h,
except OBJ_PROCESS_STAB, which we #undef for ecoff.
(elf_obj_sy): Remove #ifndef OBJ_SYMFIELD_TYPE.
* config/obj-coff.c (no_func): Remove.
(coff_format_ops): Change occurrences of no_func to 0, as we test
for 0 in obj-multi.h.
* Enable bfd for i386-coff when primary target is
bfd. Enable i386 elf,coff emulation support. Don't set
USE_EMULATIONS=1 or te_file=multi unless there is more than one
emulation to support.
*configure: Regenerate.
1999-09-02 Nick Clifton <>
* config/tc-mcore.c (mcore_s_section): Do not dump literals if a
.section .line directive is encountered.
1999-09-01 Nick Clifton <>
* config/tc-arm.c (md_section_align): Do not align sections in ELF
* as.c (show_usage): Add --gdwarf2 to list of options displayed.
* as.texinfo: Document --gdwarf2 command line option.
Add additional documentation of ARM command line switches.
1999-08-30 Alan Modra <>
* config/tc-i386.c (i386_intel_memory_operand): Combine
i386_is_reg and parse_register calls. Remove END_STRING_AND_SAVE
and RESTORE_END_STRING around parse_register calls.
(i386_operand): Here too.
(i386_is_reg): Remove.
(parse_register): Move as_bad calls from within this function to
1999-08-29 Alan Modra <>
Based on a patch from H.J. Lu <>
* config/tc-i386.c (parse_register): Handle FP regs specially.
(md_begin): Remove '(' and ')' from register_chars.
1999-08-29 Doug Evans <>
* config/tc-m32r.c (md_parse_option): Delete unrecognized option
error message (done elsewhere).
Sat Aug 28 01:23:11 1999 Jeffrey A Law (
* config/tc-hppa.c (pa_ip): Do not allow '*' in 32bit completers.
Sat Aug 28 00:26:26 1999 Jerry Quinn <>
* config/tc-hppa.c (pa_ip): Replace 'f' by 'v'. Prefix float register
args by 'f'.
* config/tc-hppa.c (pa_ip): Add args q, %, and |.
* config/tc-hppa.c (pa_ip): Absorb white space in instructions
between args.
Add new completers. Fix bug in 64 bit condition handling.
* config/tc-hppa.c (pa_ip): Add completer codes 'a', 'ch', 'cH',
'cS', and 'c*'.
* config/tc-hppa.c (pa_ip): Place completers behind prefix 'c'.
* config/tc-hppa.c (pa_ip): Add cases for '.', '~'. '$'. and '!'
* config/tc-hppa.c (pa_ip): Add case for 'I'.
1999-08-27 Jim Wilson <>
* dwarf2dbg.c (MAX_SPECIAL_ADDR_DELTA): Correct typo in comment.
(struct ls): Add frag field. Initialize it to zero.
(out_end_sequence): New local text_frag. Set it while in text section.
Replace address check with frag check. Set ls.frag to text_frag if
out_set_addr called.
(dwarf2_gen_line_info): Add explanatory comment. New local saved_frag.
Set it before switching sections. Replace address check with frag
check. Set ls.frag to saved_frag if out_set_addr called.
1999-08-26 David Mosberger <>
* dwarf2dbg.c (out_end_sequence): If address changed, directly
output "advance_pc" opcode instead of calling gen_addr_line().
The latter has the undesired side-effect of creating a new row
in the debug line info matrix.
1999-08-26 Jim Wilson <>
* dwarf2dbg.c (out_end_sequence): Correct comments. Set last to
ls.last_filename if last is less than zero. Set ls.last_filename
when allocating new entry.
(dwarf2_gen_line_info): Save seg and subseg info before subseg_new
1999-08-20 Alan Modra <>
* config/tc-i386.c (i386_index_check): Fix the displacement size
1999-08-18 Nick Clifton <>
* config/tc-arm.c (md_apply_fix3): If an offset is invalid,
display its value.
1999-08-17 Ian Lance Taylor <>
* config/tc-ppc.c (md_assemble): Trim @ha constant to 16 bits, to
handle 0xffffNNNN constants correctly.
1999-08-16 Nick Clifton <>
* config/tc-arm.c (do_ldst): Look for register conflicts on stores
as well as loads.
1999-08-13 Nick Clifton <>
* config/tc-arm.c (validate_offset_imm): Work on unsigned values.
(md_apply_fix3): Always pass positive values to
1999-08-12 Nick Clifton <>
* config/tc-arm.c (skip_whitespace): New macro.
Formatting tidy ups.
(md_apply_fix3): Store relocation offset in addend for ELF based
(arm_force_relocation): Always generate relocs for Thumb function
1999-08-11 Alan Modra <>
* config/tc-i386.c (md_assemble): Remove dead code. intel_syntax
LONG_DOUBLE_MNEM_SUFFIX floating point is done in opcode/i386.h
Tue Aug 10 12:58:31 1999 Jeffrey A Law (
* config/tc-hppa.c (pa_build_unwind_subspace): Use sane section
flags for the unwind subspace.
* config/tc-hppa.c (UNWIND_SECTION_NAME): Define for ELF.
(pa_build_unwind_subspace): Remove #if 0 wrapper. Select a
suitable relocation based on the size of the target's pointer.
Always Use subsegment zero for the unwinders.
(pa_level): Handle "2.0w".
Mon Aug 9 20:02:22 1999 J"orn Rennecke <>
* config/tc-d30v.c (write_2_short): Don't group repeat instructions
with the following instruction unless this was specified.
1999-08-09 Ian Lance Taylor <>
* config/tc-i386.h (SUB_SEGMENT_ALIGN): If TE_GO32, return 4 for
certain sections, to match BFD changes.
1999-08-08 Mumit Khan <>
* (noinst_SCRIPTS): Change .gdbinit to $(GDBINIT).
(EXTRA_SCRIPTS): Define to keep automake happy.
* Rebuild.
1999-08-08 Ian Lance Taylor <>
* Rename .dep* files to DEP*.
(MKDEP): Rename from DEP. Change all uses. Use $${srcdir} rather
than $(srcdir). Rename TCDEP targets to DEPTC. Rename OBJDEP
targets to DEPOBJ.
* Rebuild.
1999-08-08 Jakub Jelinek <>
* config/tc-sparc.c (sparc_ip): Allow assembly of %lo()+%reg.
1999-08-08 Ian Lance Taylor <>
* Change all uses of itbl-test-ops to itbl-tops to
avoid problems on DOS filesystems.
* Rebuild.
* doc/as.texinfo (Section): Document 's' flag for COFF version.
1999-08-08 Mumit Khan <>
* config/obj-coff.c (obj_coff_section): Handle 's' (shared)
section flag.
1999-08-08 Ian Lance Taylor <>
* Define and substitute GDBINIT. Change AC_OUTPUT
line to create ${GDBINIT} rather than .gdbinit.
* configure,, doc/ Rebuild.
Fri Aug 6 12:12:44 1999 Jeffrey A Law (
* config/tc-hppa.c (pa_ip, case '?'): Add missing break.
Fri Aug 6 09:46:35 1999 Jerry Quinn <>
* config/tc-hppa.c (pa_ip): Add 64 bit condition completers.
1999-08-06 Jakub Jelinek <>
* config/tc-sparc.h (tc_fix_adjustable): Fix check for PIC local
non-adjustable symbols.
Thu Aug 5 16:52:51 1999 Jerry Quinn <>
* config/tc-hppa.c (pa_ip): Change condition args to have '?' prefix.
Thu Aug 5 23:05:56 1999 J"orn Rennecke <>
* config/tc-sh.c (md_assemble): Call as_bad when there are excess
1999-08-05 Donn Terry <>
* config/te-interix.h: New file.
* (i386-*-interix*): New target.
* configure: Rebuild.
Wed Aug 4 13:12:17 1999 Jeffrey A Law (
* config/tc-hppa.c (pa_chk_field_selector): Allow 3 byte
selectors for ELF too.
(selector_table): Add "ltp" and "rtp" selectors.
1999-08-04 Alan Modra <>
* config/tc-i386.c (i386_operand): No need to change
operand_string pointer in segment reg case before goto
do_memory_reference. Initialise displacement_string_start and
displacement_string_end after do_memory_reference label.
(i386_index_check): Add operand_string param, and print error
message on failure here.
(i386_intel_memory_operand): Instead of here.
(i386_operand): And here.
* doc/c-i386.texi (i386-16bit): Document .code16gcc.
* config/tc-i386.h (DefaultSize): Define. Renumber following
opcode_modifier defines.
From Etienne Lorrain <>
* config/tc-i386.c (stackop_size): New variable.
(set_16bit_code_flag): Clear it here.
(set_16bit_gcc_code_flag): New function.
(md_pseudo_table): Add "code16gcc" entry.
(md_assemble): Set i.suffix for insns with DefaultSize modifier.
1999-08-03 Ian Lance Taylor <>
* config/obj-coff.c (coff_frob_symbol): Always update set_end with
next_set_end even if the end symbol is being discarded.
* gasp.c: Add ATTRIBUTE_UNUSED as needed for non-BFD_ASSEMBLER.
* output-file.c, symbols.c, config/tc-i386.c: Likewise.
* config/obj-coff.c: Likewise.
(seg_info_type): Remove.
(seg_info_off_by_4): Change to array of segT.
(s_get_segment): Adjust accordingly.
(obj_pseudo_table): Fully initialize sentinel entry.
* config/tc-mips.c (append_insn): Correct INSN_SYNC test. From
Ralf Baechle <>.
1999-08-03 Etienne Lorrain <>
* config/tc-i386.c (f16_3): New. Fixes 16 bit 3 byte nop.
1999-08-03 Alan Modra <>
* config/tc-i386.c: Indentation and white space changes.
(i386_index_check): New function. Add INFER_ADDR_PREFIX code, but
don't enable it by default.
(i386_intel_operand): Remove redundant prototype.
Move check on number of memory operands, and i.mem_operands++
(i386_intel_memory_operand): To here.
Remove i386_immediate code from here. Remove special case code
for input and output using (%dx). Remove base/index checks and
call i386_index_check instead. Save initial operand_string
argument for error message.
(i386_operand): Remove redundant prototype. Move base/index
checks to i386_index_check.
(i386_displacement): Move intel mode check for non-zero
(i386_intel_memory_operand): To here.
1999-07-30 Jakub Jelinek <>
* config/tc-sparc.c (md_longopts): Add --no-undeclared-regs option.
(sparc_ip): Warn if %g2 or %g3 register is used and not covered
by .register pseudo-op if -64 and --no-undeclared-regs.
(s_register, sparc_adjust_symtab): New functions.
* config/tc-sparc.h (tc_adjust_symtab, sparc_adjust_symtab):
Declare sparc_adjust_symtab as tc_adjust_symtab.
* doc/c-sparc.texi: Add description of #ignore special literal
for .register pseudo-op.
1999-07-30 Catherine Moore <>
* config/tc-arm.c (tc_gen_reloc): Record the vtable entry in
the relocation's section offset.
1999-07-29 Alan Modra <>
* write.c (fixup_segment): Fix generic error check overflow test.
* config/tc-i386.c (pe): Change %d to %ld, %x to %lx, and cast
X_add_number to long.
Wed Jul 28 02:04:24 1999 "Jerry Quinn" <>
* config/tc-hppa.c (pa_ip): Add 'J' and 'K' code
1999-07-27 Ian Lance Taylor <>
* config/tc-sparc.h (tc_fix_adjustable): Don't adjust GOT, PLT, or
VTABLE relocations.
1999-07-21 Mark Elbrecht <>
* config/te-go32.h (COFF_LONG_SECTION_NAMES): Define.
* configure.bat: Remove; obsolete.
* config/go32.cfg: Likewise.
1999-07-21 Brad M. Garcia <>
* (i386-*-vxworks*): New target.
* configure: Rebuild.
1999-07-16 Jakub Jelinek <>
* doc/c-sparc.texi: Document .register and .nword pseudo-ops.
1999-07-16 Jakub Jelinek <>
* config/tc-sparc.c (sparc_ip): Allow OLO10 relocations
on -64 and not pic.
(output_insn): Put OLO10's secondary addend into tc_fix_data.
(md_apply_fix3): Handle BFD_RELOC_SPARC_OLO10.
(tc_gen_reloc): Return two relocs for OLO10, LO10 and SPARC13.
* config/tc-sparc.h (RELOC_EXPANSION_POSSIBLE,
1999-07-16 Alan Modra <>
* config/tc-i386.c (intel_float_operand): Add prototype, make static.
(md_assemble): Localize *exp variable to if (fake_zero_displacement)
block. Print a warning if an 8-bit or 16-bit constant
displacement or immediate is truncated on output.
(i386_immediate): Ensure Imm16 is always legal for a 16-bit mode
(i386_operand): Disallow immediate jump absolute operand.
1999-07-15 Ian Lance Taylor <>
* Bump version number to 2.9.5.
* configure: Rebuild.
* dwarf2dbg.c (dwarf2_gen_line_info): Don't assume that long long
or %llx work.
Thu Jul 15 02:45:30 1999 Jeffrey A Law (
* config/tc-hppa.c (md_pseudo_table): Add ".dword" pseudo-op.
(cons_fix_new_hppa): Derive size of fixup from size of the object.
1999-07-14 Philip Blundell <>
* symbols.c (dollar_label_name): Prepend LOCAL_LABEL_PREFIX if it
is defined.
* config/tc-arm.h (LOCAL_LABEL_PREFIX): Define to '.' for ELF.
* config/tc-arm.c (md_begin): Set F_SOFTFLOAT in the output file
if -mno-fpu was given.
(tc_gen_reloc): Fix typo. Delete bogus code related to GOTPC
(cons_fix_new_arm): Remove misleading comments.
1999-07-14 Ian Lance Taylor <>
* write.c (cvt_frag_to_fill): Use frag file and line in rs_org
error message.
(relax_segment): Likewise. After giving a rs_org error, convert
the frag to rs_align to avoid cascading errors.
1999-07-12 Andreas Schwab <>
* config/tc-m68k.c: Add some ATTRIBUTE_UNUSED.
1999-07-11 Ian Lance Taylor <>
* Many files: Changes to avoid gcc warnings: Add ATTRIBUTE_UNUSED
as appropriate. Fill in structure initializations. Add variable
initializations. Add casts.
* dwarf2dbg.c (print_stats): Change i to size_t.
* listing.c (listing_listing): Change list_line to unsigned int.
1999-07-10 Ian Lance Taylor <>
* config/tc-ppc.h (tc_fix_adjustable) [OBJ_ELF]: Call S_IS_LOCAL
rather than checking for \001 and \002 in symbol name.
* config/tc-sparc.h (tc_fix_adjustable) [OBJ_ELF]: Likewise.
Thu Jul 8 12:32:23 1999 John David Anglin <>
* (hppa*-linux-gnu*): New target.
* configure: Rebuilt.
1999-07-08 Nick Clifton <>
* doc/c-arm.texi (ARM Directives): Document .thumb_set directive.
1999-07-07 Nick Clifton <>
* config/tc-v850.c (v850_comm): Use symbol_get_obj() rather than
accessing symbolP directly.
Tue Jul 6 10:41:42 1999 Jeffrey A Law (
* config/tc-hppa.h (tc_frob_symbol): Always punt "$global$" symbol
for ELF.
1999-07-05 Nick Clifton <>
* config/tc-arm.c (ARM_EXT_V5): Define.
(ARM_ARCH_V5, ARM_ARCH_V5T): Define.
(md_begin): Detect ARM v5 architectures.
(md_parse_option): Accept arm v5 specification.
(md_show_usage): Documment -marmv5 switch.
* doc/c-arm.texi: Document -marmv5 command line option.
* config/tc-arm.c (do_adrl): New function. Implement ADRL pseudo
(validate_immediate_twopart): New function. Determine if a
constant can be computed by two ADD instructions.
(output_inst): Remove its command line parameter - it was never
(md_apply_fix3): Support BFD_RELOC_ARM_ADRL_IMMEDIATE, used to
implememt the ADRL pseudo op.
(tc_gen_reloc): Generate a suitable error message if an ADRL
instruction tries to generate a real reloc.
* doc/c-arm.texi: Document NOP, ADR and ADRL pseudo ops.
Thu Jul 1 15:33:10 1999 Jeffrey A Law (
* config/tc-hppa.c (pa_ip): Convert the opcode and all completers
into lower case.
1999-06-27 H.J. Lu <>
* subsegs.c (subseg_text_p): Use 1/0 instead of true/false for
1999-06-26 Mumit Khan <>
* config/obj-coff.c (obj_coff_section): Mark writable sections as
1999-06-26 David Mosberger <>
* dwarf2dbg.c (dwarf2_gen_line_info): Don't call
out_end_sequence() when the address decreases due to a new frag.
(gen_dir_list): Set ls.file[i].dir to j + 1 (not j) because file
numbering starts with 1.
1999-06-23 Nick Clifton <>
* config/tc-mcore.c (md_pseudo_table): Add .comm for ELF and allow
.section for COFF.
(mcore_s_text): Call obj_elf_text for ELF target.
(mcore_s_data): Call obj_elf_data for ELF target.
(mcore_s_section): No longer ELF specific. Call obj_coff_section
for COFF target.
(mcore_s_bss): New function: Dump literal table before changing
(mcore_s_comm): New function: Dump literal table before changing
* config/obj-elf.c (obj_elf_common, obj_elf_data, obj_elf_text):
No longer static functions.
* config/obj-elf.h (obj_elf_common, obj_elf_data, obj_elf_text):
Provide prototypes for these functions.
1999-06-22 Ian Lance Taylor <>
* subsegs.c (subseg_text_p): Rewrite non BFD_ASSEMBLER case to use
a list of names, to try obj_segment_name, and to try abbreviated
names when using COFF without long section names.
* config/tc-alpha.c: More use of symbol accessor functions.
* config/tc-arc.c: Likewise.
* config/tc-d30v.c: Likewise.
* config/tc-fr30.c: Likewise.
* config/tc-i860.c: Likewise.
* config/tc-m88k.c: Likewise.
* config/tc-mcore.c: Likewise.
* config/tc-ns32k.c: Likewise.
* config/tc-sparc.c: Likewise.
* config/tc-v850.c: Likewise.
* config/tc-arc.c (get_arc_exp_reloc_type): Change uses of
sy_value with appropriate accessor functions.
* config/tc-arm.c (md_apply_fix3): Likewise.
* config/tc-d10v.c (AT_WORD_P): Likewise.
* config/tc-v850.c (reg_name_search): Likewise.
* config/obj-ecoff.c (obj_ecoff_set_ext): Change uses of bsym to
use symbol_get_bfdsym instead.
* config/tc-ppc.c (md_assemble): Likewise.
* config/tc-v850.c (v850_comm): Likewise.
1999-06-22 Jonathan Larmour <>
* config/tc-arc.c (tc_gen_reloc): Use symbol_get_bfdsym to get at
the symbol, rather than accessing the bsym member.
* config/tc-d10v.c (tc_gen_reloc): Likewise.
* config/tc-d30v.c (tc_gen_reloc): Likewise.
* config/tc-mcore.c (tc_gen_reloc): Likewise.
* config/tc-mn10200.c (tc_gen_reloc): Likewise.
* config/tc-mn10300.c (tc_gen_reloc): Likewise.
* config/tc-ns32k.c (tc_gen_reloc): Likewise.
* config/tc-tic30.c (tc_gen_reloc): Likewise.
* config/tc-v850.c (tc_gen_reloc): Likewise.
Mon Jun 21 16:45:19 1999 Jeffrey A Law (
* config/tc-hppa.c (elf_hppa_reloc_type): Renamed from elf32_hppa_reloc_type.
(hppa_gen_reloc_type): Conditionalize on BFD64.
(tc_gen_reloc): Re-enable ELF relocations.
* config/tc-hppa.h (TARGET_FORMAT): Handle elf64-hppa format.
1999-06-21 Ian Lance Taylor <>
* config/tc-arm.c (ldst_extend): Add parentheses to avoid
(do_ldst): Move assignment out of if condition.
(md_apply_fix3): Add casts to avoid printf format warnings. Add
parentheses to avoid warning.
1999-06-21 Nick Clifton <>
* config/tc-arm.c (arm_adjust_symtab): Use symbol_get_bfdsym()
macro to get at the BFD symbol associated with a GAS symbol.
1999-06-19 Ian Lance Taylor <>
* config/tc-ppc.c: Update for symbol handling changes.
* config/obj-coff.c: Likewise.
Fri Jun 18 14:34:18 1999 Jeffrey A Law (
* config/tc-hppa.c: General cleanups of ELF support. No more spaces
and subspaces for ELF.
(GDB_DEBUG_SPACE_NAME): Delete definition for ELF.
(space/subspace related structures): Conditionalize definitions
(space/subspace directives and support routines): Conditionalize
definitions and references/uses on OBJ_SOM.
(label_symbol_struct): For ELF, track the symbol's segment. For
SOM track its space.
(pa_define_label, pa_undefine_label, pa_get_label): Corresponding
(USE_ALIASES): Kill for both SOM & ELF.
(pa_def_subspaces, pa_def_spaces): Corresponding changes.
(pa_space, pa_subspace): Corresponding changes.
(pa_spaces_begin): Corresponding chagnes.
(md_begin): Do not muck around with space/subspace stuff for
(md_apply_fix): Temporarily disable argument relocation stuff
for OBJ_ELF.
(tc_gen_reloc): Temporarily disable relocation generation for
(pa_build_unwind_subspace): Similarly.
1999-06-16 Nick Clifton <>
* config/tc-arm.c (thumb_set): New pseudo op.
(text, data, section): Override these pseudo ops with ARM
specific versions.
(s_thumb_set): New function: Perform the same as a .set pseudo
op, but also mark the alias'ed symbol as being a Thumb
(arm_s_text): New function: Perform the same as the .text
pseudo op, but dump the literal pool before changing
(arm_s_data): New function: Perform the same as the .data
pseudo op, but dump the literal pool before changing
(arm_s_section): New function: Perform the same as the
.section pseudo op, but dump the literal pool before changing
(arm_cleanup): Do not reset the current section before dumping
the literal pool.
1999-06-17 Nick Clifton <>
* config/tc-m32r.c (md_longopts): Fix OPTION_WARN_UNMATCHED and
(md_parse_option): Generate a warning message if an unrecognised
option is encountered.
* config/tc-d10v.c (do_not_ignore_hash): New variable.
(get_operands): When parsing an expression after an '@' symbol
has been detected, do not ignore '#' symbols.
(md_operand): Only ignore '#' symbols if do_not_ignore_hash is
1999-06-13 Ian Lance Taylor <>
From K. Richard Pixley <>:
* (ppc-*-vxworks*): New target.
* configure: Rebuild.
1999-06-12 Philip Blundell <>
* config/tc-arm.c (tc_gen_reloc): Fix handling of GOTPC relocs.
1999-06-13 Ian Lance Taylor <>
* write.c (adjust_reloc_syms): Rather than never reducing reloc
which refer to symbols in linkonce sections, permit reducing the
relocs if the symbol is local.
1999-06-12 Ian Lance Taylor <>
* subsegs.c (subseg_text_p): New function.
* as.h (subseg_text_p): Declare.
* read.c (do_align): Use subseg_text_p to set the default fill.
* write.c (subsegs_finish): Likewise.
* config/obj-coff.c (write_object_file): Likewise.
* config/tc-i386.h (md_maybe_text): Don't define.
(md_do_align): Use subseg_text_p to set the default fill.
* config/tc-m32r.c (m32r_do_align): Likewise.
* config/tc-sh.c (sh_do_align): Likewise.
* config/tc-sparc.h (md_do_align): Likewise.
1999-06-12 David O'Brien <>
* (i[3456]86-*-freebsd*): Now defaults to ELF.
* configure: Rebuild.
1999-06-12 Ian Lance Taylor <>
* dwarf2dbg.c: Include elf/dwarf2.h with "", not <>.
* Rebuild dependencies.
* Rebuild.
* config/tc-i386.c (i386_immediate): Remove unused label
* struc-symbol.h: Put local_symbol code in ifdef BFD_ASSEMBLER.
* symbols.c: Likewise.
* config/obj-aout.c (obj_crawl_symbol_chain): Refer directly to
sy_next field when taking address, rather than symbol_next.
* dwarf2dbg.c: Change bfd_vma to addressT and bfd_signed_vma to
(out_set_addr): Don't use BYTES_PER_ADDRESS. Instead, get the
value from the output file architecture.
(dwarf2_gen_line_info): Ifdef BFD_ASSEMBLER specific code.
* dwarf2dbg.h: Change bfd_vma to addressT.
1999-06-11 Ian Lance Taylor <>
* dwarf2dbg.h: Use PARAMS in function declarations.
1999-06-11 Martin Dorey <>
* write.c (fixup_segment): Don't add symbol value for i960 ELF.
* config/tc-i960.c (s_leafproc): Don't call tc_set_bal_of_cal if
(md_apply_fix): Simplify BFD_ASSEMBLER handling.
1999-06-11 Ian Lance Taylor <>
* config/tc-i386.c (md_apply_fix3): Add default case to switch.
* config/tc-sparc.c (md_pseudo_table): Remove pushsection and
* config/tc-sparc.c (sparc_ip): Add default case to reloc switch.
* read.c (read_a_source_file): Only declare inescape if
* itbl-ops.c (itbl_disassemble): Change sprintf format strings to
match parameters.
(find_entry_byval): Add parens to avoid warning.
* as.c: If HAVE_ITBL_CPU, include "itbl-ops.h".
* symbols.c (resolve_symbol_value): Don't permit subtraction of
undefined symbols.
1999-06-10 Jakub Jelinek <>
* config/tc-sparc.c (sparc_ip): Don't use side-effect expression
with isoctal.
* config/tc-sparc.c (synthetize_setuw, synthetize_setsw,
synthetize_setx): New functions.
(md_assemble): Broken the special cases into the above
functions. Make compiler happy if sizeof(bfd_vma)==4.
Fix sethi generated from set/setuw. If instructions have a relloc,
always clear the fields to be relocated in the opcode.
(sparc_ip): Remove special_case global variable.
1999-06-10 Ian Lance Taylor <>
Based on patches from John W. Woznack <>:
* itbl-ops.c (itbl_get_reg_val): Add pval parameter. Return
indication of success rather than a value.
(itbl_get_val): Likewise.
(itbl_get_field): Use strcspn. Change delimiters to include
* itbl-ops.h (itbl_get_reg_val): Update declaration.
(itbl_get_val): Likewise.
* config/tc-mips.c (mips_ip): Update call to itbl_get_reg_val.
* symbols.c (copy_symbol_attributes): Convert local symbols to
regular symbols.
1999-06-10 Nick Clifton <>
* config/tc-arm.c (md_parse_option): Add support for ARM920 and
1999-06-07 Jakub Jelinek <>
* config/tc-sparc.c (md_assemble): Fix up setx, support setsw.
Optimize set if sizeof(bfd_vma) == 64.
(sparc_ip): Fix sethi - without %hi() it should generate
R_SPARC_22 reloc, not R_SPARC_HI22.
(tc_gen_reloc): Handle BFD_RELOC_SPARC22.
1999-06-07 Jakub Jelinek <>
* config/tc-sparc.c (md_begin): Handle native wordsize aliases.
(s_ncons): New function.
(native_op_table): New table.
(sparc_ip): Be more strict on %hi() etc.; prepare assembler for
R_SPARC_OLO10 handling.
Mon Jun 7 10:22:16 1999 Richard Henderson <>
* expr.h (struct expressionS): Revert last change; widen X_op.
* config/tc-alpha.c (md_begin): Check the field is wide enough.
Mon Jun 7 11:25:16 1999 Andreas Schwab <>
* (TARGET_CPU_CFILES): Add config/tc-fr30.c.
(TARGET_CPU_HFILES): Add config/tc-fr30.h.
(TARG_ENV_HFILES): Add config/te-epoc-pe.h.
* Regenerated.
* config/obj-elf.c (obj_elf_common): In MRI mode if called as
`common' pass on to s_mri_common.
(elf_pseudo_table): Pass 1 to obj_elf_common for `common'.
1999-06-06 Richard Henderson <>
* config/obj-elf.c (obj_elf_section): Don't free the return
value of demand_copy_C_string.
1999-06-05 Richard Henderson <>
* dwarf2dbg.c (dwarf2_gen_line_info): Mirror the section symbol
creation logic from obj_elf_create_section.
* config/obj-elf.c (elf_pseudo_tab): Add pushsection/popsection.
(section_stack): New.
(special_sections): Make const.
(obj_elf_section): Gut and rewrite parsing.
(obj_elf_change_section): New function broken out of obj_elf_section.
(obj_elf_parse_section_letters): Likewise.
(obj_elf_section_word): Likewise.
(obj_elf_section_type): Likewise.
(obj_elf_previous): Treat as a toggle.
(obj_elf_popsection): New.
* config/tc-ppc.c (ppc_section_word): Take str+len not ptr_str.
(ppc_section_type): Likewise.
* config/tc-ppc.h: Likewise.
* expr.h (struct expressionS): Don't make X_op a bitfield.
* config/tc-alpha.c: Update for symbol handling changes.
(md_apply_fix) [case GPREL]: Use now_seg instead of absolute_section.
(load_expression, emit_ir_load, emit_loadstore, emit_jsrjmp): Likewise.
1999-06-05 Richard Henderson <>
* dwarf2dbg.c (*): Convert to K&R + prototypes.
(dwarf2_gen_line_info): Kill unused variables.
(dwarf2_finish): Likewise.
(dwarf2_where): Likewise.
(dwarf2_directive_file): If we've only got a string,
hand off to s_app_file.
* ecoff.c: Move the include of ecoff.h.
* symbols.h (S_IS_FUNCTION): Prototype.
* read.c (LEX_HASH): Supply a default.
(lex_type): Use it.
(s_globl): Update `c' after skipping whitespace.
* read.h (LEX_END_NAME, is_name_ender): New.
* expr.c (get_symbol_end): Respect it.
1999-06-04 Mark Klein <>
* config/tc-hppa.c (md_begin): Convert local symbol dummy_symbol
to real if OBJ_SOM
(tc_gen_reloc): Still need bfd_abs_symbol in some relocs.
* config/tc-hppa.c: Update for symbol handling changes.
1999-06-03 Ian Lance Taylor <>
* cgen.c: Update for symbol handling changes.
* config/tc-m32r.c: Likewise.
* config/tc-hppa.h: Update for symbol handling changes.
* config/tc-hppa.c: Likewise.
* config/tc-arm.h: Update for symbol handling changes.
* config/tc-arm.c: Likewise.
(symbol_make_empty): Remove. Just use symbol_create.
* symbols.c (symbol_set_tc): Correct name.
* Rebuild dependencies.
($(OBJS)): Don't depend upon struc-symbol.h.
(.dep1, .tcdep, .objdep): Create itbl-parse.h.
* dep-in.sed: Don't remove struc-symbol.h.
* Rebuild.
* doc/internals.texi (Symbols): Describe changes in symbol
1999-06-03 Richard Henderson <>
* dwarf2dbg.c (dwarf2_gen_line_info): Use section_symbol
instead of doing the work by hand.
1999-06-03 David Mosberger <>
* dwarf2dbg.c (INITIAL_STATE): New macro encapsulating initial
state of line state-machine.
(struct ls): Collect DWARF2 line state-machine state in new member
SM. Add member EMPTY_SEQUENCE to keep track if a code sequence
resulted in any DWARF2 directives.
(reset_state_machine): New function.
(out_end_sequence): Ditto.
(dwarf2_gen_line_info): When switching sections or switching to a
lower text address, call out_end_sequence() first to terminate the
previous code sequence as code sequences MUST have monotonically
increasing addresses.
(dwarf2_finish): Call out_end_sequence() instead of open coding it.
1999-06-03 David Mosberger <>
* as.c (parse_args): Add option -gdwarf2 to allow requesting
DWARF2 debug info (line information only, at this point).
* as.h: Update comment about supported debug formats.
* dwarf2dbg.c, dwarf2dbg.h: New files.
* expr.c (operand): Don't use [ for parens if we want an index op.
(op_encoding): Switch [ into O_index, if desired.
(op_rank): Renumber with O_index on bottom.
(expr): If O_index, match closing bracket.
* expr.h (O_index): New.
* read.c (read_a_source_file): Conditionally allow matched "
in lines passed to md_assemble.
* config/obj-elf.c (elf_pseudo_table): Add `common'.
1999-06-03 Ian Lance Taylor <>
Add support for storing local symbols in a small structure to save
memory when assembling large files.
* as.h: Don't include struc-symbol.h.
(symbolS): Add typedef.
* symbols.c: Include struc-symbol.h.
(local_hash): New static variable.
(save_symbol_name): New static function, from symbol_create.
(symbol_create): Call save_symbol_name.
(local_symbol_count): New static variable.
(local_symbol_conversion_count): Likewise.
(local_symbol_make): New static function.
(local_symbol_convert): New static function.
(colon): Handle local symbols. Create local symbol for local
label name.
(symbol_table_insert): Handle local symbols.
(symbol_find_or_make): Create local symbol for local label name.
(symbol_find_base): Check for local symbol.
(symbol_append, symbol_insert): Check for local symbols.
(symbol_clear_list_pointers, symbol_remove): Likewise.
(verify_symbol_chain): Likewise.
(copy_symbol_attributes): Likewise.
(resolve_symbol_value): Handle local symbols.
(resolve_local_symbol): New static function.
(resolve_local_symbol_values): New function.
(S_GET_VALUE, S_SET_VALUE): Handle local symbols.
(symbol_previous, symbol_next): New functions.
(symbol_get_value_expression): Likewise.
(symbol_set_value_expression): Likewise.
(symbol_set_frag, symbol_get_frag): Likewise.
(symbol_mark_used, symbol_clear_used, symbol_used_p): Likewise.
(symbol_mark_used_in_reloc): Likewise.
(symbol_clear_used_in_reloc, symbol_used_in_reloc_p): Likewise.
(symbol_mark_mri_common, symbol_clear_mri_common): Likewise.
(symbol_mri_common_p): Likewise.
(symbol_mark_written, symbol_clear_written): Likewise.
(symbol_written_p): Likewise.
(symbol_mark_resolved, symbol_resolved_p): Likewise.
(symbol_section_p, symbol_equated_p): Likewise.
(symbol_constant_p): Likewise.
(symbol_get_bfdsym, symbol_set_bfdsym): Likewise.
(symbol_get_obj, symbol_set_obj): Likewise.
(symbol_get_tc, symbol_set_tc): Likewise.
(symbol_begin): Initialize local_hash.
(print_symbol_value_1): Handle local symbols.
(symbol_print_statistics): Print local symbol statistics.
* symbols.h: Include "struc-symbol.h" if not BFD_ASSEMBLER.
Declare new symbols.c functions. Move many declarations here from
* struc-symbol.h (SYMBOLS_NEED_BACKPOINTERS): Don't set.
(struct symbol): Move bsym to make it clearly the first field.
(symbolS): Don't typedef.
(struct broken_word): Remove.
(N_TYPE_seg, seg_N_TYPE): Move to symbol.h.
(symbol_clear_list_pointers): Likewise.
(symbol_insert, symbol_remove): Likewise.
(symbol_previous, symbol_append): Likewise.
(verify_symbol_chain, verify_symbol_chain_2): Likewise.
(struct local_symbol): Define.
(local_symbol_converted_p, local_symbol_mark_converted): Define.
(local_symbol_resolved_p, local_symbol_mark_resolved): Define.
(local_symbol_get_frag, local_symbol_set_frag): Define.
(local_symbol_get_real_symbol): Define.
(local_symbol_set_real_symbol): Define.
* write.c (write_object_file): Call resolve_local_symbol_values.
* config/obj-ecoff.h (OBJ_SYMFIELD_TYPE): Define.
* config/obj-elf.h (OBJ_SYMFIELD_TYPE): Add local field. If
* config/obj-multi.h (struct elf_obj_sy): Add local field. If
* config/tc-mcore.h: Don't include struc-symbol.h.
(struct mcore_tc_sy): Define.
* Many files: Use symbolS instead of struct symbol. Use new
accessor functions rather than referring to symbolS fields
* read.c (s_mri_common): Don't add in value of line_label.
* config/tc-mips.c (md_apply_fix): Correct parenthesization when
checking for SEC_LINK_ONCE.
* config/tc-sh.h (sh_fix_adjustable): Declare.
* app.c (input_buffer): New static variable.
(app_push): Save saved_input in allocated buffer.
(app_pop): Restored saved_input.
(do_scrub_chars): Change get parameter to take char * and int as
arguments. Change GET macro to pass input_buffer to get
function. Don't save input into allocated buffer.
* as.h (do_scrub_chars): Update declaration.
* input-file.c (input_file_get): Change to take char * and int.
Read data into passed in buffer. Remove static buffer.
* read.c (scrub_from_string): Change to take char * and int. Copy
data into passed in buffer.
* hash.h: Neaten. Declare hash_traverse.
* hash.c: Complete rewrite based on BFD hashing code.
* gasp.c (chunksize): New variable.
* macro.c (macro_expand_body): Call hash_jam with NULL rather than
1999-05-28 Nick Clifton <>
* config/tc-arm.c (md_apply_fix3): Add pipeline offset into reloc
addend unless the target uses an old ABI.
Mon May 24 13:36:55 1999 Doug Evans <>
-Wchar-subscripts cleanup
* listing.c (listing_newline): Use unsigned char variable, so
calls to isascii,iscntrl are correct.
* atof-generic.c (atof_generic): Cast arg to isdigit, et. al. with
(unsigned char).
* ecoff.c (ecoff_directive_ent,ecoff_stab): Ditto.
* config/obj-elf.c (obj_elf_vtable_inherit): Ditto.
* config/tc-mips.c (mips_ip,mips16_ip): Ditto.
(my_getSmallExpression,get_number,s_mips_ent): Ditto.
1999-05-28 Torbjorn Granlund <>
* config/tc-m68k.c (m68k_ip): Check for disallowed index register
width for Coldfire.
(arch_coldfire_p): New #define.
(m68k_ip, m68k_init_after_args): Use arch_coldfire_p.
1999-05-28 Linus Nordberg <>
* config/tc-m68k.c (install_operand): Add places `n', `o'.
* config/tc-m68k.c (m68k_ip): Add formats `E', `G', `H'.
(install_operand): Add place `N'.
(init_table): Add registers ACC, MACSR, MASK.
* config/m68k-parse.h (m68k_register): Add ACC, MACSR, MASK.
* config/tc-m68k.c: Change mcf5200 --> mcf.
(archs): Add mcf5206e, mcf5307.
(m68k_ip): Add format `u'.
(install_operand): Add place `m', `M', `h'.
(init_table): Add upper/lower registers.
* config/m68k-parse.h (m68k_register): Add upper/lower registers.
1999-05-28 Martin Dorey <>
* config/tc-i960.c: Several minor changes to add ELF and
* config/tc-i960.h: Likewise.
* (i960-*-elf*): New target.
* aclocal.m4, configure: Rebuild.
1999-05-25 Alan Modra <>
* config/tc-i386.c (md_apply_fix3): Only do 1999-05-17 fx_pcrel
reloc changes when defined(BFD_ASSEMBLER).
1999-05-17 Alan Modra <>
* config/tc-i386.c (tc_gen_reloc): Remove F and MAP macros.
* write.c (write_print_statistics): Output to file, not stderr.
* expr.c (generic_bignum_to_int32,64): Prototype.
* read.c (s_lcomm_internal, sizeof_sleb128, sizeof_uleb128,
output_sleb128, output_uleb128, output_big_sleb128,
output_big_uleb128, output_big_leb128): Prototype.
(output_big_sleb128, output_big_uleb128): Make inline.
(output_big_leb128): Remove inline
From Maciej W. Rozycki <>
* config/tc-i386.c (md_apply_fix3): Convert BFD_RELOC_16 with
fx_pcrel set to BFD_RELOC_16_PCREL. Similarly for BFD_RELOC_8.
Handle BFD_RELOC_16_PCREL and BFD_RELOC_8_PCREL. Return changed
value for correct overflow check in write.c:fixup_segment.
* write.c (fixup_segment): Move bitfield overflow checks to after
the md_apply_fix call.
* config/obj-coff.c (fixup_segment): Likewise.
* doc/internals.texi (CPU backend): Mention md_apply_fix modifying
valueT *val argument.
Fri May 14 10:52:13 1999 Andreas Schwab <>
* config/atof-ieee.c (gen_to_words): Correctly round a
denormalized number. Fix off-by-one in range checking for
exponent in a denormal.
1999-05-10 Nick Clifton <>
* config/tc-mcore.c (parse_reg): Accept 'sp' as a valid register
Thu May 13 09:46:59 1999 Joel Sherrill (
* (i386-*-rtemself*, sh-*-rtemself*): New targets.
1999-05-12 Alan Modra <>
* config/tc-i386.h (InvMem): New flag. Add to AnyMem.
(ReverseRegRegmem): Remove.
(ImmExt): New flag. Renumber some of the opcode_modifier bits.
* config/tc-i386.c (md_assemble): Test for PIII SIMD and AMD
3DNow! via ImmExt opcode_modifier. Remove ReverseRegRegmem
From Doug Ledford <>
* config/tc-i386.h (RegXMM): New for P/III.
* config/tc-i386.c: Add support for P/III.
Sat May 8 23:28:50 1999 Richard Henderson <>
* config/tc-ppc.c (md_parse_option): Recognize -mppc64bridge.
(md_begin): Allow ppc32 insns in ppc64bridge mode.
(ppc_insert_operand): Accept SIGNOPT in ppc64 mode.
Thu May 6 23:13:39 1999 Richard Henderson <>
* config/tc-i386.c (i386_immediate): Skip whitespace before
complaining about junk after expression.
(i386_displacement): Likewise.
Thu May 6 19:50:14 1999 Richard Henderson <>
* symbols.c (symbol_find_base): Use memcpy instead of strcpy.
Don't copy before downcaseing.
1999-05-05 Catherine Moore <>
* config/tc-m68k.c: Include elf/m68k.h.
(m68k_elf_final_processing): New routine.
* config/tc-m68k.h (elf_tc_final_processing m68k_elf_final_processing):
Mon May 3 10:26:03 1999 Jeffrey A Law (
* config/tc-hppa.c (md_apply_fix): Handle 22 bit fmt insn like a
17 bit fmt insn.
1999-04-30 Nick Clifton <>
* config/tc-mcore.c (mcore_s_section): Dump literals before
changing section.
1999-04-29 Nick Clifton <>
* config/tc-mcore.c (md_apply_fix3): Insert reloc addend into insn
for COFF/PE port.
Mon Apr 26 12:34:37 1999 Doug Evans <>
* config/tc-fr30.h (TC_FIX_TYPE): Delete, cgen fields moved to write.h.
* config/tc-m32r.h (TC_FIX_TYPE): Delete, cgen fields moved to write.h.
* write.h (struct fix): New member fx_cgen, ifdef USING_CGEN.
* write.c (fix_new_internal): Initialize fx_cgen member.
* cgen.c (gas_cgen_record_fixup,gas_cgen_record_fixup_exp): Update.
(gas_cgen_md_apply_fix3): Update.
* config/tc-m32r.c (md_cgen_lookup_reloc): Update.
(md_cgen_record_fixup_exp): Update.
* frags.c (frag_var,frag_variant): Initialize fr_cgen here.
* config/tc-fr30.h (TC_FRAG_INIT): Delete.
* config/tc-m32r.h (TC_FRAG_INIT): Delete.
* frags.h (struct frag): Make opindex, opinfo ints.
* config/tc-fr30.c (FX_OPINFO_R_TYPE): Delete, unused.
1999-04-26 Tom Tromey <>
* aclocal.m4, configure: Updated for new version of libtool.
1999-04-22 Nick Clifton <>
* config/tc-mcore.c (md_apply_fix3): Renamed function from
(md_apply_fix3): Do not fix up absolute relocations against
symbolic values.
* config/tc-mcore.h (MD_APPLY_FIX3): Define.
1999-04-20 Nick Clifton <>
* config/tc-mcore.c (md_pseudo_table): Add intercepts for section
changes and data-in-text directives.
(mcore_cons): New function: intercept cons() operations.
(mcore_float_cons): New function: intercept float_cons()
(mcore_stringer): New function: intercept stringer() operations.
1999-04-18 Ian Lance Taylor <>
* obj.h (struct format_ops): Change generate_asm_lineno field to
take no parameters.
* config/obj-ecoff.h (OBJ_GENERATE_ASM_LINENO): Don't define.
* config/tc-alpha.c (find_opcode_match): Add default case to
(find_macro_match): Likewise.
(load_expression): Parenthesize && within ||.
* config/tc-alpha.h (TC_RELOC_RTSYM_LOC_FIXUP): Define.
1999-04-17 Nick Clifton <>
* config/tc-mcore.c (md_pseudo_table): Add overrides for .bss
.text .data .section pseudo ops.
(mcore_s_section): New function. Dump lits before changing secs.
(mcore_s_text): New function. Dump lits before changing secs.
(mcore_s_data): New function. Dump lits before changing secs.
1999-04-16 Gavin Romig-Koch <>
* config/tc-mips.c (mips_32bitmode): New.
(md_begin): Set mips_32bitmode if needed.
(mips_elf_final_processing): Don't set EF_MIPS_ARCH.
Fri Apr 16 12:26:39 1999 Bob Manson <>
* config/obj-coff.c (c_section_symbol): Fix typo in previous
1999-04-16 Nick Clifton <>
* config/tc-mcore.h (LOCAL_LABELS_FB): Define to 1.
Thu Apr 15 16:52:09 1999 Jeffrey A Law (
* config/tc-hppa.c (pa_get_absolute_exression): Try to handle "5 %r3"
expressions correctly.
1999-04-15 Gavin Romig-Koch <>
* config/tc-mips.c (mips_elf_final_processing): Set EF_MIPS_ARCH.
Mon Apr 12 23:45:07 1999 Jeffrey A Law (
* config/tc-hppa.c (pa_ip, case '3'): New case for PA2.0 fmpyfadd
and fmpynfadd instructions.
1999-04-11 Richard Henderson <>
* as.h (environ): Declare it, if needed.
* as.c (dump_statistics): Don't declare environ.
* (environ): Detect declaration.
* configure, Rebuild
* config/tc-i386.c (i386_immediate): Accept @GOT relocations.
(i386_displacement): Allocate enough space for replacement buffer.
Clean up replacement buffer initialization.
1999-04-11 Bob Manson <>:
* subsegs.c (section_symbol): Don't create a new symbol if one
already exists; instead, use the existing one, but set its segment
and frag data if it hasn't already been defined.
* config/obj-coff.c (c_section_symbol): Likewise.
Sat Apr 10 20:10:02 1999 Richard Henderson <>
* config/tc-alpha.c (load_expression): Call as_bad instead of abort.
1999-04-08 Nick Clifton <>
* config/tc-mcore.c: New File: Support routines for MCore
* config/tc-mcore.h: New File: Definitions for MCore assembler.
* config/obj-coff.c: Add support for mcore-pe target.
* Add support for MCore targets.
* Regenerate.
* Add support for MCore targets.
* configure: Regenerate.
* doc/all.texi: Set MCORE.
* doc/as.texinfo: Document MCore specific command line options.
* write.h: Prevent multiple inclusion.
1999-04-06 Ian Lance Taylor <>
* asintl.h (LC_MESSAGES): Never define.
* as.c (main): Don't pass LC_MESSAGES to setlocale if the system
does not define it.
* gasp.c (main): Don't pass LC_MESSAGES to setlocale if the system
does not define it.
* (m68k-parse.c): If configuring in the source
directory, copy m68k-parse.y into the local directory before
running ylwrap, to remove spurious differences when generating
* Rebuild.
* config/tc-sparc.h (md_do_align): Just allocate the number of
bytes necessary, rather than always allocating 1024.
1999-04-04 Ian Lance Taylor <>
* listing.c (listing_newline): Add cast to avoid warning.
* read.c (generate_lineno_debug): Add cases to switch. Reindent.
* config/tc-i386.c (i386_scale): Add return value.
(build_displacement_string): Remove unused local temp_disp2.
(i386_intel_memory_operand): Add parentheses to avoid warning.
(i386_intel_operand): Remove unused local end_of_operand_string.
(i386_operand): Remove unused local operand_modifier.
(i386_operand): Add parens to avoid warning.
1999-04-04 Don Bowman <>
* Add mips*-*-vxworks* target; have it define
* configure, Rebuild.
1999-03-31 Nick Clifton <>
* (emulations): Add support for arm-epoc-pe.
* configure: Regenerate.
* config/te-epoc-pe.h: New file. Define macros specific to
arm-epoc-pe target.
* config/tc-arm.h: Select epoc-pe-arm target format if configured
for arm-epoc-pe target.
Mon Mar 29 10:15:40 CST 1999 Catherine Moore <>
* config/tc-mips.c (md_apply_fix): Adjust value for linkonce sections.
Wed Mar 24 14:11:10 1999 Jeffrey A Law (
* config/tc-hppa.c (pa_parse_nonneg_cmpsub_cmpltr): Clean up code to
detect ",n" without a condition.
(pa_parse_neg_cmpsub_cmpltr): Likewise.
Tue Mar 23 11:28:23 1999 Jeffrey A Law (
* config/tc-hppa.c (pa_ip, case '~'): The condition for a branch on bit
instruction is encoded with one bit.
1999-03-23 Ian Lance Taylor <>
* doc/internals.texi (CPU backend): Mention that
line_separator_chars should not include newline. From thi
1999-03-22 Doug Evans <>
* config/tc-fr30.c (md_begin): Update call to fr30_cgen_cpu_open.
* config/tc-m32r.c (md_begin): Update call to m32r_cgen_cpu_open.
Sun Mar 21 18:08:18 1999 Richard Henderson <>
* config/tc-alpha.c (md_assemble): Allow '6' in an opcode.
Thu Mar 18 10:55:30 1999 Jeffrey A Law (
* config/tc-hppa.c (pa_ip, case 'a'): Do not call pa_parse_..._cmpsub_cmpltr.
Thu Mar 18 02:30:07 1999 Jeffrey A Law (
* config/tc-hppa.c (pa_ip, case 'd'): Do not allow ",n".
1999-03-15 Martin Hunt <>
* app.c (do_scrub_begin): Change '-' back to a symbol char
so we can use multiple opcodes on a line again.
* config/tc-d30v.c: By default, warn if a symbol has
the same name as a register. Plus some minor
updates from the branch.
1999-03-13 Nick Clifton <>
* config/tc-d30v.c (md_apply_fix3): Handle BFD_RELOC_8,
1999-03-12 Andreas Schwab <>
* expr.c (expr): Add missing else.
1999-03-12 Nick Clifton <>
* config/tc-arm.c (md_apply_fix3): Improve error message.
1999-03-11 Doug Evans <>
* (CPU_TYPES): Add fr30.
(cgen.o): Add $(CGEN_CPU_PREFIX)-desc.h dependency.
(fr30,m32r dependencies): Update.
* Rebuild.
* cgen.c (gas_cgen_record_fixup): Update use of operand->type.
(gas_cgen_record_fixup_exp): Ditto.
(gas_cgen_finish_insn): Call cgen_operand_lookup_by_num.
(gas_cgen_md_apply_fix3): Ditto. Update call to set_vma_operand.
* config/tc-fr30.c (md_begin): Update call to fr30_cgen_cpu_open.
(md_cgen_lookup_reloc): Update use of operand->type.
* config/tc-m32r.c (md_begin): Update call to fr30_cgen_cpu_open.
(md_convert_frag): Call cgen_operand_lookup_by_num.
(md_cgen_lookup_reloc): Update use of operand->type.
(m32r_cgen_record_fixup_exp): Ditto.
1999-03-09 Jim Blandy <>
* config/tc-mips.c (md_show_usage): Fix message.
1999-03-03 Nick Clifton <>
* doc/c-arm.texi (ARM Syntax): Document new command line switches
and LDR reg,=<expr> instruction.
* config/tc-arm.c: Add support for -mcpu=arm810, -mcpu=arm9 and
Fri Feb 19 09:36:30 1999 Ian Lance Taylor <>
* doc/c-arm.texi (ARM-Chars): Fix typo in use of '@'.
1999-02-17 Nick Clifton <>
This patch was created by: Scott Bambrough
* app.c:
Special cased '@' character. The '@' character is used as the
ARM assembler comment character, as a special character
and in ELF .symver pseudo-op's, and as a special character in
.type and .section pseudo-ops.
(symver_pseudo): New static variable.
(symver_state): New static variable.
(struct app_save): Add field 'symver_state'.
(app_push): Save global symver_state int struct app_save.
(app_pop): Restore global symver_state from struct app_save.
(do_scrub_chars): Special case handling of '@' character in
.symver pseudo-ops.
* Modified to recognize armv* uname syntax from ARM
Linux kernel.
* configure: Regenerated.
* config/obj-elf.c (obj_elf_section): Allow '%' as well as '@' as
a prefix to the section's type.
(obj_elf_type): Allow '%' as well as '@' and '#' as prefixes to
the type's typename.
* config/tc-arm.h: Add support for PIC generation:
(pic_code): New boolean.
(obj_relocate_extern): Define.
(TC_CONS_FIX_NEW): Define.
(tc_fix_adjustable): Define.
* config/tc-arm.c: Add support for PIC generation:
(line_seperator_chars): Allow ';' as a seperator for Linux.
(is_immediate_prefix): New macro.
(arm_parse_reloc): New function.
(s_arm_elf_cons): New function.
(do_branch): Special case for BFD_RELOC_ARM_PLT32.
(md_undefined_symbol): Special case handling for the Global Offset
Table's symbol.
(md_apply_fix3): Handle PIC relocs.
(tc_gen_reloc): Handle PIC relocs.
(md_parse_option): Add support for '-k' command line switch to
enable PIC generation.
(cons_fix_new_arm): New function.
(s_arm_elf_cons): New function.
Tue Feb 16 16:31:53 1999 Ian Lance Taylor <>
* Add comments for uses of AC_DEFINE.
* acinclude.m4: Likewise.
* acconfig.h: Remove.
* aclocal.m4: Rebuild.
* configure: Rebuild.
* Rebuild.
* Rebuild.
1999-02-15 Jim Lemke <>
* config/tc-mips.c (mips_ip: case 'o'): Fix assertion failure for
non-constant offset from a base register.
1999-02-14 Ken Raeburn <>
* config/tc-alpha.c (md_show_usage): Put \ before newline in
strings always.
Sat Feb 13 14:10:10 1999 Richard Henderson <>
* config/tc-alpha.c (cpu_types): Enable EV6 PALcode with -m21264.
(emit_insn): Look for pc-relative and no-overflow specifiers on
internal relocation types.
1999-02-13 Jim Blandy <>
* doc/c-mips.texi (MIPS Opts): Updated list of -mNNNN and
-mcpu=NNNN flags.
* config/tc-mips.c: Remove all the mips_NNNN variables; just use
mips_cpu instead.
(mips_4650, mips_4010, mips_4100): Variables removed.
(hilo_interlocks, gpr_interlocks, append_insn, macro_build, macro,
macro2, mips16_macro, mips_ip): Test mips_cpu, not the mips_NNNN
(md_begin): Don't bother initializing the mips_NNNN variables;
mips_cpu is set, and that's good enough now.
(md_parse_option): Have the -mNNNN options set mips_cpu instead of
the mips_NNNN variable. The -no-mNNNN flags are now no-ops.
(show): New function, to handle wrapping in the CPU lists.
(md_show_usage): Update lists of -mcpu and -mNNNN switches.
Sat Feb 13 00:17:26 1999 Richard Henderson <>
* config/tc-i386.c (i386_intel_operand): Ignore `SHORT' rather
than treat as an immediate specifier.
Thu Feb 11 16:18:31 1999 Richard Henderson <>
* config/tc-i386.c: Prototype many functions.
(set_intel_syntax): Accept `prefix'/`noprefix' specifiers.
(i386_immediate): Remove unused second argument.
(i386_intel_operand): Fix i386_is_reg typo.
(i386_operand): Use allow_naked_reg.
(output_invalid): Make operand int for K&R.
Thu Feb 11 11:21:02 1999 Ian Lance Taylor <>
* (EXTRA_as_new_SOURCES): Uncomment--fixed by automake
* Rebuild.
1999-02-09 Doug Evans <>
* (DISTCLEANFILES): Change cgen-opc.h to cgen-desc.h.
(cgen.o): Ditto.
(EXTRA_as_new_SOURCES): Comment out.
(.tcdep): <arch>-opc.h renamed to <arch>-desc.h.
* Rebuild.
* doc/ Rebuild.
* Require autoconf 2.13. Redo using_cgen handling.
Delete call to AM_CYGWIN32. Replace AM_EXEEXT with AC_EXEEXT.
(AC_OUTPUT): <arch>-opc.h renamed to <arch>-desc.h.
* configure: Rebuild.
* aclocal.m4: Rebuild.
* Rebuild.
* cgen.c: Include cgen-desc.h, not cgen-opc.h.
(gas_cgen_cpu_desc): Renamed from gas_cgen_opcode_desc.
(gas_cgen_record_fixup): Remove unnecessary != 0 test.
(gas_cgen_record_fixup_exp): Ditto.
(gas_cgen_finish_insn): Ditto. Refer to operand table via cpu
descriptor, not global variable.
(gas_cgen_md_apply_fix3): Refer to operand_table via cpu
descriptor, not global variable. Refer to insert_operand handler
via cpu descriptor, not global function.
* cgen.h (*): CGEN_OPCODE_DESC renamed to CGEN_CPU_DESC.
* config/tc-fr30.c: Include opcodes/fr30-desc.h.
(*): gas_cgen_opcode_desc renamed to gas_cgen_cpu_desc.
* config/tc-m32r.c: Ditto.
(assemble_two_insns): Update calls to cgen_lookup_get_insn_operands.
(md_assemble): Ditto.
(md_convert_frag): Update call to CGEN_OPERAND_ENTRY.
1999-02-09 Nick Clifton <>
* config/tc-arm.c (md_apply_fix3): Fix handling of label1 - label2
relocations for ELF targets.
1999-02-08 Nick Clifton <>
* Add support for StrongARM target.
* configure: Regenerate.
1999-02-05 Nick Clifton <>
* config/tc-arm.h: Tidy OBJ_ELF and OBJ_COFF definitions.
* config/tc-arm.c (md_apply_fix3): Fix BFD_RELOC_ARM_PCREL_BRANCH
for COFF ports.
Wed Feb 3 11:35:47 1999 Richard Henderson <>
* config/tc-alpha.c (md_show_usage): Document pca56 and ev6 options.
Mon Feb 1 20:37:30 1999 Catherine Moore <>
* config/tc-i386.h (LONG_DOUBLE_MNEM_SUFFIX): Define.
(BYTE_PTR): Define.
(WORD_PTR): Define.
(DWORD_PTR): Define.
(XWORD_PTR): Define.
(SHORT): Define.
(OFFSET_FLAT): Define.
(FLAT): Define.
(NONE_FOUND): Define.
(No_dSuf): Define.
(No_xSuf): Define.
* config/tc-i386.c (set_intel_syntax): New routine.
(intel_syntax): Declare.
(allow_naked_reg): Declare.
(md_pseudo_table): Support .intel_syntax and .att_syntax.
(intel_float_operand): New routine.
(md_assemble): Handle INTEL_DWORD_MNEM_SUFFIX.
Handle brackets as well as parens. Call i386_intel_operand for
intel syntax. Reverse operands if appropriate. Handle new
suffixes. Handle movzx and movsx.
(i386_is_reg): New routine.
(i386_immediate): New routine.
(i386_scale): New routine.
(i386_displacement): New routine.
(i386_operand_modifier): New routine.
(build_displacement_string): New routine.
(i386_parse_seg): New routine.
(i386_intel_memory_operand): New routine.
(i386_intel_operand): New routine.
(i386_operand): Call i386_displacement, i386_immediate,
i386_scale, etc. instead of handling inline.
(parse_register): Handle registers without prefix.
Mon Feb 1 12:24:58 1999 Catherine Moore <>
* configure: Regenerate.
* (arm-*-oabi): New.
(thumb-*-oabi): New.
* config/tc-arm.c (target_oabi): Declare.
(md_apply_fix3): Support REL relocs.
(md_parse_option): Handle -oabi.
(elf32_arm_target_format): New routine.
(md_longopts): Add OPTION_OABI.
* config/tc-arm.h: Redefine TARGET_FORMAT.
1999-01-28 Nick Clifton <>
* write.c (write_relocs): Handle out of range error.
* config/tc-fr30.c (fr30_fix_adjustable): New function.
(fr30_force_relocation): Default to 0.
* config/tc-fr30.h (obj_fix_adjustable): Define.
* cgen.c (gas_cgen_md_apply_fix3): Do not apply fixes to VTABLE
1999-01-16 Nick Clifton <>
* config/tc-d30v.c (write_2_short): Do not generate a sequential
merge of two instructions if the left instruciton kills the right.
1999-01-11 Doug Evans <>
* Regenerate.
* Redo test for using cgen.
* configure: Regenerate.
1999-01-09 Nick Clifton <>
* config/obj-coff.h (obj_adjust_symtab): Prevent accidental
redefinition of this macro.
Tue Jan 5 21:58:03 1999 Doug Evans <>
* config/tc-mips.c (mips_frob_file): Disable "Unmatched %hi reloc"
1998-12-29 Gavin Romig-Koch <>
* config/tc-mips.c (append_insn): For mips16, insert a nop between
a read of HI or LO and an immediatly following branch.
1998-12-29 Gavin Romig-Koch <>
* config/tc-mips.c (md_begin): Another correction to the setting of
1998-12-23 Gavin Romig-Koch <>
* config/tc-mips.c (md_begin): Correct type-o in setting of
1998-12-21 Nick Clifton <>
* config/tc-m32r.c (md_assemble): Emit a NOP after a relaxable 16
bit insn when optimizing, so that parallelised instructions will
start on a 32 bit boundary.
1998-12-19 Gavin Romig-Koch <>
* config/tc-mips.c (mips_eabi64): New.
(md_begin): Set mips_eabi64.
(mips_elf_final_processing): Use it.
1998-12-18 Gavin Romig-Koch <>
* config/tc-mips.c (mips_elf_final_processing):
Correct setting of ABI in e_flags.
Wed Dec 16 16:17:22 1998 Dave Brolley <>
* config/tc-fr30.c (md_assemble): Warn about invalid instructions
in delay slots.
1998-12-16 Gavin Romig-Koch <>
* config/tc-mips.c (md_begin,md_parse_option): Handle vr4111.
1998-12-15 Doug Evans <>
* cgen.c (gas_cgen_md_apply_fix3): Mark as an error, rather than a
warning, values that don't fit in the field.
1998-12-15 Gavin Romig-Koch <>
* config/tc-mips.c (mips_abi_string): New.
(md_parse_option,md_longopts): Add mabi.
(mips_elf_final_processing): Set e_flags based on mabi flag.
1998-12-15 Gavin Romig-Koch <>
* config/tc-mips.c (md_parse_option): Handle vr4111.
98-12-11 Ken Raeburn <>
* config/tc-h8300.c (build_bytes): Change message given if the
instruction requires H8/300H mode and we're not in Hmode, to
suggest that it may be the operand modes that are the problem, not
necessarily the opcode.
1998-12-10 Nick Clifton <>
* config/tc-fr30.c: Add line separator character.
Tue Dec 8 19:51:50 1998 Mark Klein <>
* (hppa-*-mpeix*): New target.
* config/obj-som.h (obj_som_compiler): Declare.
* config/obj-som.c (compiler_seen): New static variable.
(obj_som_compiler): New function.
* config/tc-hppa.c: Update tc_data uses for change to bfd/som.h.
(md_pseudo_table): Add "compiler" if OBJ_SOM.
(pa_type_args): Set hppa_priv_level.
(pa_compiler): New static function if OBJ_SOM.
* configure: Rebuild.
Tue Dec 8 15:00:50 1998 Ian Lance Taylor <>
* read.c (output_leb128): Don't mark as inline.
1998-12-08 Andrew MacLeod <>
* config/tc-ppc.c (ppc_vbyte): Prototype and new function for
AIX .vbyte unaligned data support.
(md_pseudo_table): Add 'vbyte' to list of valid pseudos.
(ppc_elf_validate_fix): Add eh_frame to list of ELF relocatable
1998-12-07 Nick Clifton <>
* config/tc-d30v.c (md_assemble, do_assemble): Improve erroneous
input handling.
Mon Dec 7 09:48:34 1998 Catherine Moore <>
* config/tc-arm.c (elf32_arm_force_relocation): Check for
Sun Dec 6 12:46:36 1998 Ian Lance Taylor <>
checking the target type.
(mips-dec-bsd*): Set endian to little.
* configure: Rebuild.
COFF weak symbol support, based on patches from Mark Elbrecht
* config/obj-coff.h (S_IS_WEAK): Define if not BFD_ASSEMBLER.
* config/obj-coff.c (obj_coff_weak): New static function.
(obj_coff_endef) [both versions]: Handle weak symbols.
(coff_frob_symbol): Likewise.
(yank_symbols): Likewise.
(obj_pseudo_table): Add "weak".
* (m68k-*-gnu*): New target. From Aymeric Vincent
* aclocal.m4: Rebuild with current tools.
* configure: Rebuild.
* config/tc-alpha.c (emit_ldgp): Give an error message rather than
an assertion failure for a case we can't handle when OBJ_ECOFF.
* expr.c (operator): And with 0xff to avoid problems with signed
1998-12-03 Nick Clifton <>
* config/tc-fr30.c (md_cgen_lookup_reloc): Generate
BFD_RELOC_FR30_48 instead of BFD_RELOC_FR30_32.
1998-12-02 Nick Clifton <>
* config/tc-fr30.c (md_cgen_lookup_reloc): Enable relocs for
LDI:20 insn.
Thu Nov 26 11:23:48 1998 Dave Brolley <>
* config/tc-fr30.c (md_pcrel_from_section): Restore previous
calculation of pcrel point.
Tue Nov 24 17:21:52 1998 Nick Clifton <>
* config/tc-fr30.c (md_pcrel_from_section): Fix calculation of
pcrel point.
Tue Nov 24 14:54:38 1998 Nick Clifton <>
* config/tc-d10v.c (md_assemble): Make static 'etype' have file
(d10v_cleanup): Only generate previous insn if a multiline insn is
not pending.
Fri Nov 20 11:41:13 1998 Nick Clifton <>
* config/tc-fr30.c (md_cgen_lookup_reloc): Add support for
Thu Nov 19 15:01:29 1998 Nick Clifton <>
* config/tc-arm.c (md_parse_option): Add support for -marm7xxx and
-marm6xxx command line switches.
1998-11-18 Doug Evans <>
* (DEP): Use $(srcdir)/../mkdep.
(itbl-ops.o): Delete duplicate dependencies.
Rebuild dependencies.
Add fr30 dependencies.
* Rebuild.
Tue Nov 17 13:42:42 1998 Nick Clifton <>
* config/tc-fr30.c (md_cgen_lookup_reloc): Updated to match latest
opcode list.
* listing.c: Ignore line terminator characters found inside
Thu Nov 12 19:21:24 1998 Dave Brolley <>
* po/gas.pot: Regenerated.
Thu Nov 12 10:54:16 1998 Nick Clifton <>
* config/tc-fr30.c (fr30_is_colon_insn): New name for
fr30_is_label_start(). Also checks for delay slot insns.
* config/tc-fr30.c (fr30_is_label_start): New function: Handle
FR30 instructions which contain a colon in the mnemonic.
* config/tc-fr30.h (TC_START_LABEL): Define this macro.
Wed Nov 11 09:58:21 1998 Nick Clifton <>
* config/tc-fr30.c: Removed currently superflous code.
Tue Nov 10 13:13:05 1998 Nick Clifton <>
* config/tc-fr30.h: New file.
* config/tc-fr30.c: Tweaking so that it will compile.
Tue Nov 10 14:41:33 1998 Catherine Moore <>
* config/tc-d10v.h (obj_fix_adjustable): Define.
(d10v_force_relocation): Declare.
* config/tc-d10v.c (tc_gen_reloc): Handle Vtable relocs.
(md_apply_fix3): Handle Vtable relocs.
(d10v_fix_adjustable): New.
(d10v_force_relocation): New.
Mon Nov 9 14:25:06 1998 Nick Clifton <>
* config/tc-d30v.c: Change default behaviour to ignore potential
conflicts between register name and symbol names.
Wed Nov 4 18:42:00 1998 Dave Brolley <>
* Add fr30-*-*.
* config/tc-fr30.c: New file.
* Regenerated.
* Regenerated.
* configure: Regenerated.
* doc/ Regenerated.
* po/gas.pot: Regenerated.
Mon Nov 2 20:54:16 1998 Doug Evans <>
* config/tc-m32r.c (assemble_two_insns): Ensure both insns
are 16 bit insns.
Mon Nov 2 20:10:18 1998 Martin von Loewis <>
* app.c (do_scrub_begin): Set characters above 127 to be symbol
(do_scrub_chars): Add some casts to unsigned char to avoid
unwanted sign extension.
* read.c (lex_type): Set characters about 127 to be symbol
* config/tc-i386.c (md_begin): Set identifier_chars and
operand_chars for values above 127.
Mon Nov 2 15:05:33 1998 Geoffrey Noer <>
* detect cygwin* instead of cygwin32*
* configure: regenerate
Tue Oct 27 13:18:40 1998 Nick Clifton <>
* listing.c: Add support for producing a listing from piped
Tue Oct 27 08:56:44 1998 Gavin Romig-Koch <>
* config/tc-mips.c (hilo_interlocks): Remove mips_3900.
(append_insn): Account for the tx39's multiply behavior.
1998-10-26 Michael Meissner <>
* config/tc-m32r.c (assemble_two_insns): Rename assemble_two_insns
from assemble_parallel_insns. Add support for '->' to indicate
explicitly serializing the instructions.
(md_assemble): Ditto.
Sat Oct 24 15:12:19 1998 Catherine Moore <>
* config/tc-sh.c (sh_fix_adjustable): Adjust EXTERN and
WEAK handling.
Thu Oct 22 12:41:33 1998 Catherine Moore <>
* cgen.c (gas_cgen_md_apply_fix3): Revert last change.
Thu Oct 22 10:03:15 1998 Ron Unrau <>
* config/tc-mips.c: support frame and regmask/fregmask when
MIPS_STABS_ELF is specified.
Wed Oct 21 11:34:51 1998 Catherine Moore <>
* config/tc-sh.c (sh_fix_adjustable): Only include if OBJ_ELF.
(md_apply_fix): Don't return 1 for VTABLE relocs.
* config/tc-sh.h (obj_fix_adjustable): Define only if OBJ_ELF.
Tue Oct 20 11:18:28 1998 Alan Modra <>
* doc/c-i386.texi: Replace occurences of "opcode" with
"instruction mnemonic", "instruction", or "mnemonic" when
referring to the name of an instruction. Use "opcode" when
referring to the sequence of machine bytes.
* config/tc-i386.c (opcode_chars): Rename to mnemonic_chars.
(is_opcode_char): Rename to is_mnemonic_char.
(md_assemble and i386_operand): Correct error messages from
"opcode" to "instruction mnemonic"
Rename throughout opcode[] -> mnemonic[], opp -> mnem_p,
* config/tc-i386.h (*_MNEM_SUFFIX): Rename from *_OPCODE_SUFFIX.
* config/tc-i386.c (i386_operand): Check for garbage after
register name.
Tue Oct 20 10:49:42 1998 Ian Lance Taylor <>
* config/tc-i386.c (md_apply_fix3): Change handling of PCREL reloc
for BFD_ASSEMBLER to only change value when COFF if TE_PE.
Mon Oct 19 20:20:42 1998 Catherine Moore <>
* config/tc-sh.h (obj_fix_adjustable): Define.
* config/tc-sh.c (sh_force_relocation): Handle VT relocs.
(md_apply_fix): Likewise.
(tc_gen_reloc): Likewise.
(sh_fix_adjustable): New.
Mon Oct 19 12:35:43 1998 Doug Evans <>
* cgen.c (gas_cgen_finish_insn): Update handling of CGEN_INT_INSN_P.
* cgen.h (gas_cgen_finish_insn): Update prototype.
* config/tc-m32r.c (m32r_insn): CGEN_INT_INSN -> CGEN_INT_INSN_P.
cgen_insn_t -> CGEN_INSN_INT.
(make_parallel): Update handling of CGEN_INT_INSN_P.
(assemble_parallel_insn): Ditto.
(target_make_parallel): New function.
(md_assemble): Use it.
Mon Oct 19 13:16:12 1998 Catherine Moore <>
* config/tc-m32r.c (m32r_force_relocation): Fix typo.
Sun Oct 18 18:48:57 1998 Jeffrey A Law (
* config/tc-sh.c (md_assemble): Make sure the entire opcode is
converted into lower case.
Fri Oct 16 13:36:34 CDT Catherine Moore <>
* cgen.c (gas_cgen_md_apply_fix3): Handle VTABLE relocs.
(gas_cgen_tc_gen_reloc): Likewise.
* config/tc-m32r.h (obj_fix_adjustable): Define.
* config/tc-m32r.c (m32r_fix_adjustable): New.
(m32r_force_relocation): Handle VTABLE relocs.
Wed Oct 14 11:33:38 1998 Nick Clifton <>
* doc/c-arm.texi (ARM Directives): Document .ltorn directive.
Mon Oct 12 11:07:21 1998 Nick Clifton <>
* config/tc-m32r.c (assemble_parallel_insn): Convert second opcode
to lower case before parsing.
* config/tc-d30v.c (parallel_ok): Ignore conflicts when explicitly
parallel insns modift buts in the PSW as a side effect.
Thu Oct 8 10:18:33 1998 Nick Clifton <>
* config/tc-d30v.c (find_format): Test for missing flag and
control registers.
(md_apply_fix3): Fix error messages to avoid
assumption about presence of a symbol.
(parallel_ok): Disallow parallel instructions that both modify the
same flag register.
(find_format): Generate a warning if an odd numbered register is
used as the first register in a mutli-register instruction.
Wed Oct 7 14:09:14 1998 Nick Clifton <>
* config/tc-d30v.c (md_apply_fix3): Do not assume that bad
relocations are always associated with a symbol.
Tue Oct 6 09:31:15 1998 Catherine Moore <>
* config/tc-sparc.h (TC_FORCE_RELOCATION): Define.
(elf32_sparc_force_relocation): Declare.
* config/tc-sparc.c (md_apply_fix3): Handle vtable relocs.
(tc_gen_reloc): Handle vtable relocs.
(elf32_sparc_force_relocation): New.
Mon Oct 5 09:25:32 1998 Catherine Moore <>
* symbols.c (S_IS_FUNCTION): New.
* config/tc-v850.h (obj_fix_adjustable): Define.
(v850_force_relocation): Declare.
* config/tc-v850.c (tc_gen_reloc): Use offset instead
of fx_addnumber for VTABLE reloc addends.
(md_apply_fix3): Handle VTABLE relocs.
(v850_fix_adjustable): New.
(v850_force_relocation): New.
Mon Oct 5 00:48:52 1998 Jeffrey A Law (
* config/tc-hppa.c (fp_operand_format): Add some additional formats.
(pa_ip): Do not automatically promote into pa2.0 mode.
(pa_level): Handle ".level 2.0".
Sun Oct 4 20:57:43 1998 Alan Modra <>
* config/tc-i386.c (md_assemble): Handle AMD_3DNOW_OPCODE.
* config/tc-i386.h (template.extension_opcode): Change to
unsigned int to allow full range of 8-bit opcode suffixes.
(None): Redefine as 0xffff.
From Jeff B Epler <>
* doc/c-i386.texi (i386-SIMD): New section.
Thu Oct 1 15:37:54 1998 Richard Henderson <>
* read.c (discard_rest_of_line): New function.
* read.h: Declare it.
* config/tc-alpha.c (s_alpha_mask, s_alpha_frame): Use it.
Thu Oct 1 10:33:53 1998 Nick Clifton <>
* config/tc-d10v.c (find_symbol_matching_register): New function.
(find_opcode): Cope with the case where a register name matches
a symbol name.
Wed Sep 30 10:52:32 1998 Nick Clifton <>
* config/tc-v850.c (md_pcrel_from): Rename to
(v850_pcrel_from_section): Do not resolves symbols in other
* config/tc-v850.h (MD_PCREL_FROM_SECTION): Define.
Mon Sep 28 11:01:20 1998 Nick Clifton <>
* config/tc-d10v.c (find_opcode): Generate an error if a register
is supplied for an operand that should not be a register.
Fri Sep 25 10:04:21 1998 Nick Clifton <>
* config/tc-d30v.c (write_2_short): But do allow delayed branch
instructions to have another instruction in the right bin.
Thu Sep 24 09:28:34 1998 Nick Clifton <>
* config/tc-d30v.c (write_2_short): Do not allow instructions in
the right container if the left container holds a branch
Wed Sep 23 10:54:29 1998 Nick Clifton <>
* config/tc-d30v.c (reg_name_search): Only warn if a name matches
both a register name and symbol name.
(find_format): Allow correct parsing of MVTSYS and MVFSYS insns.
Tue Sep 22 17:49:16 1998 Nick Clifton <>
* config/tc-d30v.c (write_2_short): Implement EITHER_BUT_PREFER_MU
execution unit class.
(reg_name_search): If a name matches a register and a symbol,
prefer the register.
(find_format): Disallow flag registers when a general purpose
register is required.
If a number is required, but a register has been given, check to
see if a symbol with the same name as the register exists, and if
so, use that symbol.
Tue Sep 22 16:40:52 1998 Jim Wilson <>
* config/obj-elf.h (ECOFF_DEBUGGING): Add missing parens.
Tue Sep 22 15:44:21 1998 Nick Clifton <>
* config/tc-d30v.c (find_format): Do not accept flag registers as
general purpose registers.
(find_format): If an immediate value is expected at a given place
in a format, but a register name has been provided instead, check
to see if that register name matches the name of a predefined
symbol and if it does, then use the symbol instead.
(reg_name_search): If a register name matches a symbol name,
prefer the register name to the symbol name.
Mon Sep 21 10:42:57 1998 Nick Clifton <>
* config/tc-m32r.c (m32r_do_align): After inserting NOPs, reset
the previous insn to empty.
1998-09-20 Michael Meissner <>
* config/tc-ppc.c (md_apply_fix3): Do not break string into two
pieces, forcing the use of an ANSI compiler.
Sun Sep 20 00:58:12 1998 Andreas Schwab <>
* config/tc-m68k.h (TC_FORCE_RELOCATION): New macro. Force vtable
* config/tc-m68k.c (md_apply_fix_2): Do nothing for vtable relocs.
Tue Sep 15 08:51:07 1998 Catherine Moore <>
* config/obj-elf.c (obj_elf_vtable_inherit): Handle arm
assembler syntax.
(obj_elf_vtable_entry): Likewise.
* config/tc-arm.h: Define TC_FORCE_RELOCATION for OBJ_ELF.
* config/tc-arm.c (md_apply_fix3): Handle VTABLE relocations.
(tc_gen_reloc): Likewise.
(arm_fix_adjustable): Likewise.
(elf32_arm_force_relocation): New.
(armelf_frob_symbol): Remove coff-style symbol support.
Wed Sep 9 11:27:16 1998 Richard Henderson <>
* config/tc-i386.c (i386_operand): Fix typo in last patch.
Tue Sep 8 18:10:01 1998 Catherine Moore <>
* config/tc-arm.c (arm_adjust_symtab): Move #ifdef
OBJ_COFF so that routine is defined for a.out format.
Tue Sep 8 15:56:19 1998 Richard Henderson <>
* config/tc-i386.c (i386_operand): Detect non-segment registers
used as segment prefixes.
Sat Sep 5 19:00:38 1998 Ian Lance Taylor <>
* ehopt.c (check_eh_frame): Check the size of the FDE, and don't
optimize across FDE boundaries.
* config/obj-coff.c (obj_coff_section): Preserve any link once
flags when setting the section flags.
Fri Sep 4 17:07:14 1998 Nick Clifton <>
* config/tc-arm.h (obj_adjust_symtab): Fixed typo.
* config/tc-arm.c (armelf_adjust_symtab): Reformatted.
Fri Sep 4 13:57:43 1998 Jakub Jelinek <>
* config/tc-sparc.c (in_signed_range): Sign extend 32-bit words
to the host width.
Wed Sep 2 11:31:14 1998 Richard Henderson <>
* frags.c (frag_grow): Include the size of the frag struct in the
obstack chunk size.
* subsegs.c (subseg_set_rest): Adjust the seginfo frchain start
if the new subseg comes before the old.
Tue Sep 1 15:01:33 1998 Jakub Jelinek <>
* config/tc-sparc.c (sparc_ip): Allow all digits in an instruction
to handle edge8 and edge16.
Mon Aug 31 09:51:14 1998 Richard Henderson <>
* config/obj-elf.c (obj_elf_vtable_inherit): Print error message
before we clobber the symbol involved.
Mon Aug 31 10:58:06 1998 Catherine Moore <>
* config/tc-arm.c: Remove OBJ_ELF definitions for
use arm_adjust_symtab for OBJ_COFF.
(armelf_adjust_symtab): New Routine.
* config/tc-arm.h: Define obj_adjust_symtab to
armelf_adjust_symtab for OBJ_ELF.
Sat Aug 29 22:18:51 1998 Richard Henderson <>
* Make all i386-elf targets use bfd_gas.
* config/tc-i386.c (tc_i386_force_relocation): New.
(tc_i386_fix_adjustable): Don't fix vtable relocs.
(md_apply_fix3): Likewise.
(tc_gen_reloc): Handle them.
* config/tc-i386.h (TC_FORCE_RELOCATION): Always define, calling
Mon Aug 24 13:40:21 1998 Nick Clifton <>
* config/tc-arm.c (md_show_usage): Improve formatting of --help output.
Fri Aug 21 18:43:48 1998 Nick Clifton <>
* config/tc-d30v.c (md_assemble): Copy previous opcode over
current opcode after writing the first insturction of a reverse
sequential pair.
Fri Aug 21 07:30:35 1998 Doug Evans <>
* read.h (generate_lineno_debug): Add prototype.
* read.c (generate_lineno_debug): Make non-static.
Thu Aug 20 23:17:04 1998 Alan Modra <>
* config/tc-i386.c (md_assemble): Only warn for address/data size
Thu Aug 20 14:45:08 1998 Nick Clifton <>
* config/tc-arm.c (arm_fix_adjustable): Do not adjust relocations
against Thumb function names, as the linker needs this information.
1998-08-20 Vladimir N. Makarov <>
* expr.c (operand): Check also that there is no advance in operand
after atof_generic in order to decide "is it label 0f or floating
point number?".
Wed Aug 19 09:30:16 1998 Nick Clifton <>
* config/tc-m32r.c: Replace double dash prefix to M32R specific
command line options with a single dash.
* doc/c-m32r.texi: Replace double dash prefix with a single dash.
Tue Aug 18 11:59:43 1998 Catherine Moore <>
* config/tc-arm.h: Define obj_fix_adjustable for OBJ_ELF.
* config/tc-arm.c (arm_fix_adjustable): New routine.
1998-08-13 Vladimir N. Makarov <>
* read.c (s_align, s_comm, s_mri_common, s_fail, s_globl, s_space,
s_float_space, s_struct, cons_worker): Move ignore_rest_of_line or
demand_empty_rest_of_line before mri_comment_end.
(equals): Check garbage after expression before
mri_comment_end in MRI mode.
Thu Aug 13 15:08:42 1998 Ian Lance Taylor <>
* config/tc-mips.c (macro): Correct M_SGE_I/M_SGEUI_I case for a
small immediate constant to use the constant itself rather than
always using 1.
Wed Aug 12 18:47:38 1998 Ian Lance Taylor <>
* config/tc-hppa.c (pa_enter): Call as_bad rather than abort.
(pa_leave): Likewise.
Wed Aug 12 13:25:03 1998 Alan Modra <>
* config/tc-i386.c (md_assemble): Emit a warning for stand-alone
(i386_operand): Fix an error message.
Tue Aug 11 14:44:32 1998 Nick Clifton <>
* doc/c-arm.texi (ARM Directives): Document .req directive.
* config/tc-arm.c (reg_required_here): Display erroneous string if
the register name could not be decoded.
Do not set inst.instruction if the sift is -1.
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,
even if it is belived to be unnecessary.
Mon Aug 10 17:48:09 1998 Alan Modra <>
config/tc-i386.c (i386_operand): Size immediate constants by
suffix (erroneously removed as part of July 7 change).
Sun Aug 9 20:45:32 1998 Catherine Moore <>
* config/obj-elf.h: Check for redefinition of obj_frob_symbol.
* config/tc-arm.c: Define S_GET_STORAGE_CLASS and S_SET_STORAGE_CLASS.
(armelf_frob_symbol): New Routine.
* config/tc-arm.h: Define obj_frob_symbol if OBJ_ELF.
Sat Aug 8 15:21:28 1998 Richard Henderson <>
* config/tc-alpha.c (alpha_fix_adjustable): Don't adjust weak syms.
Wed Aug 5 15:54:14 1998 Nick Clifton <>
* config/tc-arm.c (md_begin): Set BFD private flags depending upon
command line switches passed to assembler.
Mon Aug 3 14:02:52 1998 Doug Evans <>
* cgen.h (GAS_CGEN_MAX_FIXUPS): GAS_ prepended, all uses updated.
(gas_cgen_opcode_desc): Declare.
(gas_cgen_parse_operand): Declare.
(*): Prepend gas_ to gas specific fns to denote them as such.
All uses updated.
* cgen.c (gas_cgen_opcode_desc): New global
(gas_cgen_init_parse): Renamed from cgen_asm_init_parse.
(queue_fixup): Renamed from cgen_queue_fixup.
(*): Prepend gas_ to gas specific fns to denote them as such.
All uses updated.
(gas_cgen_md_apply_fix3): Update call to insert_operand.
(gas_cgen_finish_insn): Renamed from cgen_asm_finish_insn.
* config/tc-m32r.c (md_begin): Remove use of CGEN_SYM.
Open opcode table and initialize it.
(make_parallel): Use gas_cgen_opcode_desc.
(assemble_parallel_insn): Ditto. Remove use of CGEN_SYM.
(md_assemble): Ditto.
Sat Aug 1 19:27:30 1998 Richard Henderson <>
* as.h (debug_info_type): Add entries for unspecified and dwarf*.
* ecoff.c (ecoff_generate_asm_lineno): Take no arguments; call
as_where ourselves. Provide a stub for !ECOFF_DEBUGGING.
* ecoff.h: Move ECOFF_DEBUGGING protection inside GAS_ECOFF_H.
Move ecoff_generate_asm_lineno outside ECOFF_DEBUGGING protection.
* read.c (generate_lineno_debug): Tidy ECOFF bits. Use
DEBUG_UNSPECIFIED rather than DEBUG_NONE for initial test.
* config/obj-elf.h (ECOFF_DEBUGGING) [TC_ALPHA]: Define to a variable.
* config/tc-alpha.c (md_longopts): New options -mdebug/-no-mdebug.
(md_parse_option): Watch for them.
(alpha_cur_ent_sym, alpha_flag_mdebug): New variables.
(md_begin): Kill neverdef code.
(s_alpha_ent, s_alpha_end, s_alpha_mask, s_alpha_frame): New.
(s_alpha_prologue): Watch alpha_cur_ent_sym.
(s_alpha_coff_wrapper): New.
(md_pseudo_table): Trap all ECOFF pseudos.
Fri Jul 31 16:45:54 1998 Ron Unrau <>
Start of changes to remove mdebug section from mips*-elf
Based on MIPS_STAB_ELF definition
* acconfig.h: undef if not configured
* undef if not configured
* config/mips-elf.h: only set ECOFF debugging if not stabs-in-elf
* config/tc-mips.c (s_ent): set BSF_FUNCTION
* stabs.c (s_stab_generic): flush frag
Fri Jul 31 16:14:45 1998 Catherine Moore <>
* (arm-*-elf): Handle.
(thumb-*-elf): Handle.
* configure: Regenerate.
* read.c (stringer): Fix typo in comment.
* write.c (fixup_segment): Don't add symbol value to addend if
* config/tc-arm.c (md_section_align): Don't align dwarf debug
(tc_gen_reloc): Always set the reloc addend to fixp->fx_offset
for OBJ_ELF.
Thu Jul 30 21:38:43 1998 Frank Ch. Eigler <>
* config/tc-d30v.c ({cur,prev}_left_kills_right_p): New variables.
(write_2_short): Emit warning if new flag is set.
(do_assemble): Set flags if left instruction is one of special
"right-instruction-killer" type.
Tue Jun 28 18:12:28 1998 Stan Cox <>
* config/tc-sparc.c (md_number_to_chars, cons_fix_new_sparc):
Always output words in debug_info section as big endian.
(sparc_target_format): Choose correct bfd target.
(md_apply_fix3): Rename BFD_RELOC_SPARC_32LE to BFD_RELOC_SPARC_REV32.
Tue Jul 28 11:01:21 1998 Jeffrey A Law (
* config/tc-mn10300.c (md_assemble): Fix "errmsg" initialization
to work with internationalization code. Issue an error when two
operands match that are not allowed to match.
Mon Jul 27 16:25:58 1998 Doug Evans <>
* (install_tooldir): Allow target to specify whether
it wants to be installed in $(tooldir)/bin.
* configure: Regenerate.
* (install-exec-local): Set install-exec-tooldir
dependency via configure.
* Regenerate.
Fri Jul 24 19:58:59 1998 Doug Evans <>
* (install-exec-local): Split into two ...
(install-exec-bindir,install-exec-tooldir): New rules.
* Regenerate.
Fri Jul 24 16:31:49 1998 Ian Lance Taylor <>
* (install-exec-local): Don't remove the file before
checking whether $(bindir) == $(tooldir)/bin. From Maciej
W. Rozycki <>.
* Rebuild.
Fri Jul 24 09:13:46 1998 Doug Evans <>
* cgen.c: Include libiberty.h.
(cgen_md_apply_fix3): Update call to md_cgen_lookup_reloc.
(cgen_tc_gen_reloc): Use xmalloc, not bfd_alloc.
* cgen.h (cgen_md_apply_fix3,cgen_tc_gen_reloc): Declare.
(md_cgen_lookup_reloc)): Declare.
(md_cgen_record_fixup_exp): Declare.
* config/tc-m32r.h (md_pcrel_from_section): Declare.
(m32r_relax_frag): Declare.
(cgen_md_apply_fix3): Decls moved to cgen.h.
(cgen_record_fixup_exp,cgen_tc_gen_reloc): Ditto.
(m32r_cgen_record_fixup_exp): Delete decl.
* config/tc-m32r.c (m32r_cpu_desc): #if 0 out.
(assemble_nop): Delete.
(expand_debug_syms): Delete unused `exp'.
(md_cgen_lookup_reloc): Renamed from CGEN_SYM (lookup_reloc).
Add default case for -Wall.
(m32r_cgen_record_fixup_exp): Add default case for -Wall.
(md_atof): Delete unused wordP.
Thu Jul 23 13:19:50 1998 Jeffrey A Law (
* config/tc-mn10300.c (md_assemble): Make sure "errmsg" has a non-NULL
Wed Jul 22 14:36:56 1998 Ian Lance Taylor <>
* doc/as.texinfo: Add documentation for .end, .exitm, .fail,
.ifc, .ifeqs, .ifge, .ifgt, .ifle, .iflt, .ifnc, .ifne, .ifnes,
.print, .purgem, and .struct. Remove documentation for
Tue Jul 21 16:50:52 1998 Doug Evans <>
* cgen.c (cgen_md_apply_fix3): set_operand renamed to set_vma_operand.
Update call to insert_operand.
Fri Jul 17 11:42:20 1998 Nick Clifton <>
* config/tc-m32r.c (ms_show_usage): Formatting changes.
Wed Jul 15 15:38:28 1998 Ian Lance Taylor <>
* config/tc-i386.c (md_assemble): Don't get confused by trailing
whitespace after a prefix operator.
Tue Jul 14 15:32:56 1998 Richard Henderson <>
* (i386-*-beos{pe,elf,}*): Recognize.
Tue Jul 14 12:33:44 1998 Chris Torek <>
* config/tc-sparc.c (log2): New static function.
(s_reserve): Use log2 to convert alignment before calling
(s_common): Use log2 to convert alignment before calling
record_alignment and frag_align.
(sparc_cons_align): Use log2.
Tue Jul 14 11:58:40 1998 Ian Lance Taylor <>
* config/tc-sparc.c (s_reserve): Set symbol size if OBJ_ELF.
(s_common): Likewise.
* config/tc-sparc.c (sparc_handle_align): Reindent a bit. Correct
initialization of waddr.
(sparc_elf_final_processing): Add default case to switch.
Tue Jul 14 11:00:16 1998 Alan Modra <>
* doc/c-i386.texi: Fix a typo. Use the term 80-bit real rather
than temporary real.
Mon Jul 13 13:55:42 1998 Ian Lance Taylor <>
* write.c (subsegs_finish): Don't align the segments if there were
any errors.
* config/obj-coff.c (c_symbol_merge): Correct number of bytes when
copying aux information.
* expr.c (make_expr_symbol): Catch attempts to turn an O_big
expression into a symbol.
Mon Jul 13 13:29:04 1998 Alan Modra <>
* config/tc-i386.c (mode_from_disp_size): Change arg and return
type to unsigned int.
(md_assemble): Change type used to store offsets from unsigned
long to long.
(i386_operand): Switch error check to only call RESTORE_END_STRING
once after parse_register.
Fri Jul 10 16:00:04 1998 Nick Clifton <>
* config/tc-v850.c (md_show_usage): Changed format to match that
of gcc, ld, etc.
* as.c (show_usage): Changed format to match that of gcc, ld, etc.
Thu Jul 9 12:09:57 1998 Andreas Schwab <>
* config/tc-m68k.c (tc_m68k_fix_adjustable): Don't adjust vtable
(md_apply_fix_2): Force the symbol of the vtable reloc to be
Thu Jul 9 11:31:54 1998 Ian Lance Taylor <>
* doc/ Rebuild.
Wed Jul 8 12:18:56 1998 Jeffrey A Law (
* config/tc-mips.c (mips_ip, case 'i' and 'j'): Mask off high bits
for %lo expressions.
(mips_ip, case 'u'): Move range check after code to mask
off bits in %hi/%lo expressions. Mask off high bits for
%lo expressions.
Tue Jul 7 17:57:38 1998 Ian Lance Taylor <>
* doc/ (gasver.texi): New target.
(, as.dvi): Depends upon gasver.texi.
* doc/as.texinfo: Include gasver.texi. Mention version number on
title page and in top node.
* doc/ Rebuild.
Tue Jul 7 11:42:16 1998 Richard Henderson <>
* listing.c (listing_listing): For EDICT_LIST, skip all lines up to
but not including the line containing the edict.
* listing.h (LISTING_EOF): New.
* input-scrub.c (input_scrub_next_buffer): Call it.
Tue Jul 7 13:00:37 1998 Alan Modra <>
* config/tc-i386.c (i386_operand): Don't set the size of an
immediate address based solely on the suffix and the mode.
* config/tc-i386.c (md_assemble): Add assertion to make sure
overlap2 does not set Imm.
* config/tc-i386.c (space_chars): Remove. The scrubber converts
sequences of whitespace to a single space.
(is_space_chars): Just compare with space.
(md_begin): Don't initialize space_chars.
(md_assemble): Just skip a single whitespace character.
(i386_operand): Rewrite base-index parsing to use new
parse_register, and to skip white space. Skip white space in a
number of other places too. Don't give error message if
parse_register fails.
(parse_register): Change reg_string parameter to be non-const.
Add end_op parameter. Skip white space after the `%', and return
end of register string. Give error message here rather than
Fri Jul 3 15:34:34 1998 Ian Lance Taylor <>
Based on patch from Matt Semersky <>:
* expr.c (op_encoding): Make const.
(expr_set_precedence): New function.
(expr_begin): Don't set operator rankings, just call
* expr.h (expr_set_precedence): Declare.
* read.c (s_mri): Call expr_set_precedence.
Thu Jul 2 16:24:58 1998 Ian Lance Taylor <>
* doc/as.texinfo (Statements): Remove paragraph discussing
continuing lines with a backslash. This hasn't worked for years,
if it ever did.
Thu Jul 2 14:06:22 1998 Klaus Kaempf <>
* config/obj-vms.c: Add C++ support with ctors/dtors sections. Add weak
symbol definitions.
(Ctors_Symbols, Dtors_Symbols): New symbol chains.
(ps_CTORS, ps_DTORS): New section types.
(vms_fixup_xtors_section): New function
(Ctors_Psect, Dtors_Psect): Define.
(IS_GXX_XTOR): Define
(global_symbol_directory): Change check of gxx_bug_fixed to 0.
Filter static constructors/destructors and add to
Ctors_Symbols/Dtors_Symbols chain.
(vms_write_object_file): Write Ctors_Symbols/Dtors_Symbols to
appropriate section.
* config/tc-alpha.h (TARGET_FORMAT): Rename "evax-alpha" to "vms-alpha".
* makefile.vms: Merge vax/vms support.
Wed Jul 1 20:06:20 1998 Richard Henderson <>
* config/obj-elf.c (obj_elf_vtable_inherit, obj_elf_vtable_entry): New.
(elf_pseudo_table): Add them.
* config/tc-mips.c (mips_force_relocation): Force vtable relocs.
(md_apply_fix): Accept them.
(mips_fix_adjustable): Don't adjust them.
(tc_gen_reloc): Mung BFD_RELOC_VTABLE_ENTRY for Rel.
* config/tc-ppc.c (md_apply_fix3): Accept vtable relocs.
* config/tc-ppc.h (TC_FORCE_RELOCATION_SECTION): Force vtable relocs.
(tc_fix_adjustable): Don't adjust them.
Wed Jul 1 16:35:32 1998 Doug Evans <>
* (CGEN_CPU_PREFIX): New variable.
(cgen.o): Use it.
* Regenerate.
* AC_SUBST cgen_cpu_prefix.
* configure: Regenerate.
Wed Jul 1 21:38:56 1998 J"orn Rennecke <>
* config/tc-sh.c (COND_JUMP_DELAY, COND12_DELAY_LENGTH): Define.
Changed all users of COND12_DELAY.
Fri Jun 26 11:21:11 1998 Jeffrey A Law (
* config/tc-mn10300.c (set_arch_mach): New function.
(md_pseudo_table): Add pseudo-ops to set the current machine type.
(md_begin): Default to mn10300 mode.
(md_assemble): Only accept instructions for the core mn10300
chip and the active machine type.
Wed Jun 24 19:06:04 1998 Ian Lance Taylor <>
* subsegs.h (segment_info_type): Give the struct a name.
* config/tc-h8300.h (tc_reloc_mangle): Add prototype.
* config/tc-h8500.h (tc_reloc_mangle): Declare.
* config/tc-sh.h (sh_coff_reloc_mangle): Add prototype.
* config/tc-w65.h (tc_reloc_mangle): Declare.
* config/tc-z8k.h (tc_reloc_mangle): Declare.
Wed Jun 24 13:45:00 1998 Catherine Moore <>
* config/tc-v850.c (v850_comm): Restore old section
after common processing.
Wed Jun 24 11:50:54 1998 Klaus Kaempf <>
* config/obj-vms.c (Create_VMS_Object_File): Force binary file.
Tue Jun 23 17:47:31 1998 Jim Wilson <>
* config/tc-h8300.c (do_a_fix_imm, build_bytes): Replace cast to
char with code that explicitly sign-extends.
Tue Jun 23 13:54:57 1998 Nick Clifton <>
* config/tc-v850.c (md_begin): Restore text section as the current
section after creating call table sections.
* config/obj-coff.h (SYM_AUXINFO): New macro to conceal ugly
* config/obj-coff.c (c_symbol_merge): Replace complex expresion
with call to macro SYM_AUXINFO.
Tue Jun 23 15:09:27 1998 Mike Stump <>
* (install-exec-local): Don't let EXEEXT interfere
with the program transform name.
* Rebuild.
Mon Jun 22 19:52:42 1998 Ian Lance Taylor <>
* config/obj-coff.c (c_symbol_merge): Fix copying of auxiliary
Mon Jun 22 15:18:58 1998 Ian Lance Taylor <>
* config/tc-i386.c (i386_operand): Be prepared for a space between
the open parenthesis and the start of the register operand,
because of the June 16 change.
Sun Jun 21 21:27:03 1998 Ian Lance Taylor <>
* config/tc-sh.c (md_apply_fix): Handle weak symbols correctly if
Sun Jun 21 12:26:36 1998 Nick Clifton <>
* config/tc-d30v.c (d30v_align): Always perform alignment request,
even if it is belived to be unnecessary.
Fri Jun 19 13:57:06 1998 Ian Lance Taylor <>
* write.c (adjust_reloc_syms): Never adjust relocs against weak
* config/tc-mips.c (md_apply_fix): Adjust accordingly.
Fri Jun 19 09:50:17 1998 Jeffrey A Law (
* config/tc-mn10300.c (mn10300_insert_operand): Do not hardcode the
shift amount for a repeated operand. The shift amount for the
repeated copy comes from the size of the operand.
Fri Jun 19 00:44:19 1998 Jeffrey A Law (
* config/tc-h8300.c (get_operand): Fix typos in ldm/stm support.
Wed Jun 17 13:07:05 1998 Ian Lance Taylor <>
* config/tc-mips.c (md_show_usage): Fix -mipsN usage.
Tue Jun 16 13:06:21 1998 Alan Modra <>
* app.c (do_scrub_begin): If tc_symbol_chars is defined, treat all
characters in it as LEX_IS_SYMBOL_COMPONENT.
* config/tc-i386.h (tc_symbol_chars): Define.
(extra_symbol_chars): Declare.
* config/tc-i386.c (extra_symbol_chars): Define.
(comment_chars): Don't use '/' as comment start if TE_LINUX.
(line_comment_chars): Set to '/' if TE_LINUX.
* doc/c-i386.texi (i386-prefixes): Update.
* doc/internals.texi (CPU backend): Document tc_symbol_chars.
Fri Jun 12 13:36:54 1998 Tom Tromey <>
* po/Make-in (all-yes): If maintainer mode, depend on .pot file.
($(PACKAGE).pot): Unconditionally depend on POTFILES.
1998-06-12 Vladimir N. Makarov <>
* config/tc-d10v.c (md_apply_fix3): Checking displacement
constraint in instructions REP & REPI.
Thu Jun 11 08:56:46 1998 Nick Clifton <>
* config/tc-d30v.c (md_apply_fix3): Catch BFD_RELOC_8,
BFD_RELOC_16, BFD_RELOC_64 and issue appropriate error messages.
(check_range): If the operand is shifted, then shift the number
before checking its range.
* write.c (adjust_reloc_syms): Add more checks for NULL pointers.
* config/tc-v850.c (v850_comm): Set SEC_COMMON bit on special
common sections.
Wed Jun 10 17:26:35 1998 Nick Clifton <>
* config/tc-v850.c (v850_comm): Create special sections as needed.
1998-06-10 Vladimir N. Makarov <>
* config/tc-d10v.c (write_2_short): Addition of swapping
instructions for sequential and reverse sequential order when
given order is not possible.
Tue Jun 9 13:52:53 1998 Ian Lance Taylor <>
* Rebuild dependencies.
(DEP_INCLUDES): Fix reference to intl build directory.
* Rebuild.
Tue Jun 9 12:20:05 1998 Alan Modra <>
* doc/c-i386.texi: Update 16 bit documentation.
* config/tc-i386.h: Change Data16 to Size16, Data32 to Size32,
IgnoreDataSize to IgnoreSize as they are used for address size as
well as data size.
* config/tc-i386.c: Likewise. Add code to reject addr32/data32 in
32-bit mode, similarly addr16/data16 and variants.
Mon Jun 8 18:32:01 1998 Nick Clifton <>
* config/tc-d30v.c (md_assemble): Fix handling of reverse
sequential word multiply instructions.
(do_assemble): Add extra command line argument, to allow mul32
attribute to be preserved across parallel insns.
(md_assemble): Insert NOPs between explicitly parallel insns which
contain an 32 bit multiply and a 16 multiply.
Mon Jun 8 12:20:30 1998 Alan Modra <>
* config/tc-i386.c: REPNE renamed to REPNE_PREFIX_OPCODE, and
likewise for REPE.
* config/tc-i386.c (reloc): Add braces.
* config/tc-i386.c (struct _i386_insn): Rename bi to sib to be
consistent with Intel naming.
* config/tc-i386.h (base_index_byte): Rename to sib_byte. Don't
use bitfields in sib_byte.
(modrm_byte): Don't use bitfields here either.
* config/tc-i386.c (current_templates): Add const.
(parse_register): Add const to return, param, and char *s.
(i386_operand): Add const to reg_entry *r.
* config/tc-i386.h (templates): Add const to start, end.
Inspired by code for 16 bit gas support from Martynas Kunigelis
* config/tc-i386.c (md_assemble): Add full support for 16 bit
modrm, and Jump, JumpByte, JumpDword, JumpInterSegment insns.
(uses_mem_addrmode): Remove.
(md_estimate_size_before_relax): Add support here too.
(md_relax_table): Rewrite interface to md_relax for 16 bit
(opcode_suffix_to_type): Remove.
(CODE16, SMALL, SMALL16, BIG, BIG16): Define.
(SIZE_FROM_RELAX_STATE): Modify to suit above.
(md_convert_frag): Likewise.
(i386_operand): Add support for 16 bit base/index regs,
immediates, and displacements. Remove some unnecessary casts, and
localise end_of_operand_string, displacement_string_start,
displacement_string_end variables. Add GCC_ASM_O_HACK.
* config/tc-i386.h (NO_BASE_REGISTER_16): Define.
* config/tc-i386.c (prefix_hash): Remove.
(md_begin): Rewrite without obstacks. Remove prefix hash table
handling. Rewrite lexical table handling.
(i386_print_statistics): Don't print prefix statistics.
(md_assemble): Rewrite instruction parser so that line is not
converted to lower case. Don't do a hash_find for prefixes,
instead recognise them via opcode modifier.
(expecting_operand, paren_not_balanced): Localise variables.
* config/tc-i386.h (IsPrefix): Define.
(prefix_entry): Remove.
* config/tc-i386.h (PREFIX_SEPERATOR): Don't define.
* config/tc-i386.c (PREFIX_SEPARATOR): Define here instead, using
'\\' in case where comment_chars contains '/'.
* config/tc-i386.c (MATCH): Ensure given operand and template
match for JumpAbsolute. Makes e.g. `ljmp table(%ebx)' invalid;
you must write `ljmp *table(%ebx)'.
From H.J. Lu <>:
* config/tc-i386.c (BFD_RELOC_16, BFD_RELOC_16_PCREL): Define
as 0 ifndef BFD_ASSEMBLER.
(md_assemble): Allow immediate operands without suffix or
other reg operand to default in size to the current code size.
Mon Jun 8 09:45:00 1998 Catherine Moore <>
* config/tc-v850.c (md_begin): Restore creation of
.call_table_text and .call_table_data sections.
Sat Jun 6 00:02:41 1998 Nick Clifton <>
* config/tc-d30v.c (md_assemble): Set execution type to unknown
after emitting a word of noops.
Fri Jun 5 23:27:04 1998 Alan Modra <>
* config/tc-i386.c (mode_from_disp_size): Disp16 is mode 2.
(i386_operand): Simplify checks for valid base/index combinations.
Disallow `in 4(%dx),%al'.
* config/tc-i386.c (struct _i386_insn): Make regs, base_reg, and
index_reg const.
(add_prefix): Change parameter from char to int.
* config/tc-i386.h (Ugh): Define opcode modifier.
* config/tc-i386.c (md_assemble): Print warnings for Ugh insns.
* config/tc-i386.c (md_assemble): Rewrite MATCH and
CONSISTENT_REGISTER_MATCH macros to check register types more
thoroughly. Check for illegal suffix/operand combinations
when matching insns with operands. Handle new `s' suffix, and
associated FloatMF opcode modifier for float insns with memory
* config/tc-i386.h (FloatMF): Define new opcode modifier.
(No_sSuf, No_bSuf, No_wSuf, No_lSuf): Likewise.
* config/tc-i386.c: Rename WORD_PREFIX_OPCODE to
* config/tc-i386.c (REGISTER_WARNINGS): Define.
(md_assemble): Rewrite suffix/register operand checking code to be
more thorough. Remove Abs8,16,32. Change occurrences of Mem to
AnyMem, the better to grep.
(pi): Remove Abs.
(i386_operand): Don't set Mem bits in i.types[this_operand] when
given a memory operand. Don't set Abs bits either.
(type_names): Remove Mem*, Abs*.
* config/tc-i386.h (Mem8, Mem16, Mem32, Abs8, Abs16, Abs32): Don't
define opcode_modifiers as these cases are handled by Disp8,
Disp16, Disp32 and suffix checks.
(FloatR): Define. It's OK to share the bit with ReverseRegRegmem.
* config/tc-i386.c (md_assemble): Don't emit operand size prefix
if IgnoreDataSize modifier given. Remove ShortformW modifier
test. Add test for ShortForm in W base_opcode modification.
Merge Seg2ShortForm and Seg3ShortForm code.
* config/tc-i386.h (ShortFormW): Remove.
(IgnoreDataSize): Define.
Fri Jun 5 10:50:53 1998 Nick Clifton <>
* config/tc-d30v.c (md_assemble): Store previous segment state
with previous instruction.
Wed Jun 3 18:21:56 1998 Alan Modra <>
* config/tc-i386.c (SCALE1_WHEN_NO_INDEX): Define.
(ebp, esp): Remove static variables.
(MATCH): Remove test for InOutPortReg.
(i386_operand): Properly handle InOutPortReg here instead.
Disallows `inb (%dx,2)', `inb %es:(%dx)' and `mov (%dx),%ax'
(md_assemble): Simplify and correct modrm and sib generation.
(i386_operand): Add warning for scale without index.
Rewrite checks for valid base/index combinations.
* config/tc-i386.c (END_STRING_AND_SAVE): Protect arguments of
macros and enclose in do while(0).
(md_assemble): Add one to printed operand number so we start
from 1 not 0. Add some more gettext invocations.
(i386_operand): Fix `%%s' -> `%%%s'. Inc printed operand
number here too.
* config/tc-i386.c (struct _i386_insn): Remove wait_prefix field.
(check_prefix): Remove function.
(add_prefix): New function. Add prefix to i.prefix as well as
doing checks.
(md_assemble): Changes for add_prefix. Remove hack for wait
prefix, instead always output prefixes in fixed order. Test
for jcxz/loop when selecting between word & dword operations,
and add address size prefix rather than operand size prefix.
Remove operand -> address size hack when emitting jcxz/loop.
(i386_operand): Remove O_Absent check as it's done in expr.
Wed Jun 3 15:09:10 1998 Ian Lance Taylor <>
* Recognize m5200 as a cpu_type of m68k.
* aclocal.m4: Rebuild with current libtool.
* configure: Rebuild.
Wed Jun 3 14:11:59 1998 Andreas Schwab <>
* config/tc-m68k.c (md_estimate_size_before_relax): Add more calls
to relaxable_symbol to prevent references to external symbol from
being relaxed.
Wed Jun 3 14:10:36 1998 Ian Lance Taylor <>
* config/tc-m68k.c (relaxable_symbol): If TARGET_OS is "elf", all
symbols are relaxable.
Wed Jun 3 09:16:00 1998 Catherine Moore <>
* config/tc-v850.c (md_begin): Don't create special
sections by default.
Tue Jun 2 14:52:56 1998 Jeffrey A Law (
* config/tc-mips.c (macro): For div and udiv, close the
reorder block as soon as possible.
Tue Jun 2 15:36:13 1998 Ian Lance Taylor <>
From Matt Semersky <>:
* macro.c (macro_mri_mode): New function.
* macro.h (macro_mri_mode): Declare.
* read.c (s_mri): Call macro_mri_mode when switching in and out of
MRI mode.
Tue Jun 2 13:32:22 1998 Klaus Kaempf <>
* config/tc-alpha.c (s_alpha_comm): Allow alignment parameter in
OBJ_EVAX case.
* config/tc-alpha.c (s_alpha_comm): Defer restoring character
until after xstrdup in OBJ_EVAX case.
Tue Jun 2 13:11:13 1998 Pat Rankin <>
* config/tc-vax.c (md_create_short_jump): Fix off by two bug in
offset calculation. Also, use VAX_BRW from vax-inst.h instead
of hardcoded magic number.
(md_create_long_jump): Use VAX_JMP and VAX_ABSOLUTE_MODE macros.
Tue Jun 2 09:25:34 1998 Doug Evans <>
* read.c (do_s_func): New function.
(s_func): Call it.
* read.h (do_s_func): Add prototype.
Mon Jun 1 12:47:30 1998 Doug Evans <>
* config/tc-m32r.c (m32r_do_align): Only fill code sections with
nops if fill pattern not specified.
Mon Jun 1 14:08:35 1998 Ian Lance Taylor <>
From Andrew Crabtree <>:
* config/te-go32.h (TE_GO32): Define.
* config/tc-i386.h (LOCAL_LABEL): Don't define if TE_GO32.
Sun May 31 15:43:06 1998 Doug Evans <>
Implement .func/.endfunc pseudo-ops.
* read.h (stabs_generate_asm_func,stabs_generate_asm_endfunc): Declare.
(s_func): Declare.
* read.c (potable): Add .func,.endfunc.
(s_func): New function.
* stabs.c (stabs_generate_asm_func,stabs_generate_asm_endfunc): New
(in_doc_func_p,current_function_label): New static globals.
(stabs_generate_asm_lineno): Emit function relative stabs if in .func.
Fri May 29 18:13:12 1998 Ian Lance Taylor <>
* config/tc-a29k.h (WORKING_DOT_WORD): Define.
* config/tc-alpha.h (WORKING_DOT_WORD): Define.
* config/tc-arm.h (WORKING_DOT_WORD): Define.
* config/tc-h8300.h (WORKING_DOT_WORD): Define.
* config/tc-h8500.h (WORKING_DOT_WORD): Define.
* config/tc-hppa.h (WORKING_DOT_WORD): Define.
* config/tc-i860.h (WORKING_DOT_WORD): Define.
* config/tc-i960.h (WORKING_DOT_WORD): Define.
* config/tc-tic30.h (WORKING_DOT_WORD): Define.
* config/tc-w65.h (WORKING_DOT_WORD): Define.
* config/tc-z8k.h (WORKING_DOT_WORD): Define.
* config/tc-a29k.c: Don't define md_short_jump_size,
md_long_jump_size, md_create_short_jump or md_create_long_jump.
* config/tc-alpha.c: Likewise.
* config/tc-alpha.h: Likewise.
* config/tc-arm.c: Likewise.
* config/tc-h8300.c: Likewise.
* config/tc-h8500.c: Likewise.
* config/tc-hppa.c: Likewise.
* config/tc-i860.c: Likewise.
* config/tc-i960.c: Likewise.
* config/tc-ppc.c: Likewise.
* config/tc-sh.c: Likewise.
* config/tc-sparc.h: Likewise.
* config/tc-tic30.c: Likewise.
* config/tc-w65.c: Likewise.
* config/tc-z8k.c: Likewise.
Fri May 29 16:03:26 1998 Pat Rankin <>
* config/tc-vax.c (_): Delete this macro used for placeholder
values in vax_operand_width_size; it conflicts with the _() macro
used for internationalization.
Fri May 29 13:46:07 1998 Ian Lance Taylor <>
* symbols.c (symbol_find_base): Fix case insensitive symbol name
code. From Chris Moller <>.
Based on patch from Klaus Kaempf <>:
* struc-symbol.h (struct broken_word): Add seg and subseg fields.
* read.c (emit_expr): Initialize seg and subseg fields of a new
broken word.
* write.c (write_object_file): Switch to the appropriate segment
and subsegment when processing a broken word.
* config/tc-m68k.c (mri_assemble): New static function.
(build_mri_control_operand): Call mri_assemble rather than
(s_mri_else, s_mri_break, s_mri_next, s_mri_for): Likewise.
(s_mri_endf, s_mri_endw): Likewise.
Wed May 27 11:16:25 1998 Ian Lance Taylor <>
* read.c (s_org): Call md_flush_pending_output if it is defined.
* config/tc-sparc.c (md_show_usage): Add \n\ to new string.
Tue May 26 19:27:52 1998 Stan Cox <>
* config/tc-sparc.c (OPTION_LITTLE_ENDIAN_DATA): New.
(md_parse_option): Add for same.
(sparc_md_end): Set bfd_mach_sparc_sparclite_le.
(md_apply_fix3, tc_gen_reloc): Allow BFD_RELOC_SPARC_32LE.
(cons_fix_new_sparc): Added to create BFD_RELOC_SPARC_32LE.
* config/tc-sparc.h (cons_fix_new_sparc): Added.
Thu May 21 15:02:41 1998 Nick Clifton <>
* config/tc-arm.c (find_real_start): Relax definition of local
Tue May 19 16:59:44 1998 Nick Clifton <>
* config/tc-d30v.c (d30v_align): Apply address adjustment to all
symbols at the given address, not just the last one specified.
Tue May 19 08:25:19 1998 Catherine Moore <>
* config/tc-sparc.c (sparc_handle_align): Use number_to_chars_bigendian
or number_to_chars_littleendian to write data.
Mon May 18 17:09:30 1998 Nick Clifton <>
* config/tc-v850.c (md_assemble): Remove artificially created
register name symbols.
Mon May 18 13:47:06 1998 Doug Evans <>