3 * config/obj-coff.c (obj_coff_weak): New .weak syntax for PE weak
5 * doc/as.texinfo (Weak): Document PE weak symbols.
9 * config/tc-mips.c (HAVE_IN_PLACE_ADDENDS): New macro.
10 (reloc_needs_lo_p): Only return true if HAVE_IN_PLACE_ADDENDS.
11 (mips_frob_file): Rework so that only a single pass through the
12 relocs is needed. Allow %lo()s to have higher offsets than their
13 corresponding %hi()s or %got()s.
17 * config/tc-arm.c (md_apply_fix3:BFD_RELOC_ARM_IMMEDIATE): Do not
18 allow values which have come from undefined symbols.
19 Always consider this fixup to have been processed as a reloc
20 cannot be generated for it.
24 * frags.h (struct frag): Add has_code and insn_addr fields.
25 * write.c (cvt_frag_to_fill): Invoke md_frag_check.
26 * config/tc-ppc.c (md_assemble): Check and set insn_addr.
27 * config/tc-ppc.h (md_frag_check): Define.
31 * doc/Makefile.am (info): Rename goal to...
32 (info-local): ... this, to preserve implicit dependencies.
33 * doc/Makefile.in: Regenerate with automake 1.8.5.
37 * config/tc-m32r.c (md_convert_frag): Changed for @PLT.
38 (m32r_cgen_record_fixup_exp): Changed for @GOTOFF, @GOT.
39 (m32r_fix_adjustable): Changed for @GOTOFF, @GOT, @PLT.
40 (tc_gen_reloc): Likewise.
41 (m32r_end_of_match): Add for @GOTOFF, @GOT, @PLT.
42 (m32r_parse_name): Likewise.
43 (m32r_cgen_parse_fix_exp): Likewise.
44 * config/tc-m32r.h (md_parse_name): Define for @GOTOFF, @GOT, @PLT.
45 (O_PIC_reloc): Likewise.
46 (TC_CGEN_PARSE_FIX_EXP): Likewise..
47 * cgen.c (gas_cgen_parse_operand): Add TC_CGEN_PARSE_FIX_EXP
48 for @GOTOFF, @GOT, @PLT.
52 * gas/symbols.c: While discarding ordinary local absolute symbols
53 when --strip-local-absolute is in effect, retain file symbols.
57 * config/tc-m68k.c (mri_chip): Replace current_chip, not augment.
58 (md_parse_option): Likewise.
62 * config/tc-i386.c: Deal with LEX_QM the same way as with LEX_AT.
63 * config/te-netware.h: New file.
64 * config/te-ppcnw.h: Delete: Obsolete.
65 * configure.in: Eliminate ill NetWare targets. Make generic
66 NetWare target use proper emulation.
67 * Makefile.am: Eliminate reference to obsolete te-ppcnw.h, add
68 reference to new te-netware.h.
69 * configure: Regenerate.
70 * Makefile.in: Regenerate.
74 * config/tc-s390.c (s390_insn): Avoid incorrect signed/unsigned
75 comparison in .insn pseudo operation.
79 * config/obj-coff.c (coff_adjust_section_syms): Use
80 bfd_get_section_size instead of bfd_get_section_size_before_reloc.
81 (coff_frob_section): Likewise.
82 * config/tc-mips.c (md_apply_fix3): Likewise.
83 * config/obj-elf.c (elf_frob_file): Use bfd_set_section_size.
84 (elf_frob_file_after_relocs): Likewise.
88 * config/tc-hppa.c (log2): Rename to exact_log2.
89 (pa_next_subseg): Delete unused function.
90 (create_new_space): Mark unused arguments with ATTRIBUTE_UNUSED.
91 (create_new_subspace): Likewise.
94 * config/tc-hppa.c (hppa_fix_adjustable): Allow reduction of fake
99 * config/tc-mn10300.h (tc_fix_adjustable): Define.
100 * config/tc-mn10300.c (mn10300_fix_adjustable): Don't adjust debug
101 or non-merged symbols.
105 * config/tc-ia64.c (remove_marked_resource): Save, clear and
106 restore the old slot when inserting srlz.i/srlz.d.
110 * Makefile.am: Regenerate dependecies.
111 * Makefile.in: Regenerate.
112 * config/tc-sh.c (valid_arch): Make unsigned.
113 (preset_target_arch): Likewise.
114 (md_begin): Use new architecture flags system.
115 (get_specific): Likewise.
116 (assemble_ppi): Likewise.
117 (md_assemble): Likewise. Also fix error check for bad opcodes.
118 (md_parse_option): Likewise. Also generate -isa values according
119 to the table in bfd/cpu-sh.c instead of just constants. Also
120 allow <arch>-up ISA variants.
121 (sh_elf_final_processing): Replace if-else chain with a call to
123 * testsuite/gas/sh/arch: New directory.
124 * testsuite/gas/sh/arch/arch.exp: New test script.
125 * testsuite/gas/sh/arch/arch_expected.txt: New file.
126 * testsuite/gas/sh/arch/sh.s: New file.
127 * testsuite/gas/sh/arch/sh2.s: New file.
128 * testsuite/gas/sh/arch/sh-dsp.s: New file.
129 * testsuite/gas/sh/arch/sh2e.s: New file.
130 * testsuite/gas/sh/arch/sh3-nommu.s: New file.
131 * testsuite/gas/sh/arch/sh3.s: New file.
132 * testsuite/gas/sh/arch/sh3-dsp.s: New file.
133 * testsuite/gas/sh/arch/sh3e.s: New file.
134 * testsuite/gas/sh/arch/sh4-nommu-nofpu.s: New file.
135 * testsuite/gas/sh/arch/sh4-nofpu.s: New file.
136 * testsuite/gas/sh/arch/sh4.s: New file.
137 * testsuite/gas/sh/arch/sh4a-nofpu.s: New file.
138 * testsuite/gas/sh/arch/sh4al-dsp.s: New file.
139 * testsuite/gas/sh/arch/sh4a.s: New file.
143 * config/gc-m68k.c(m68k_ip): Convert mode 5 addressing
144 with zero offset into mode 2 addressing to save a word.
148 * config/tc-ia64.c (ar_is_in_integer_unit): Removed.
149 (ar_is_only_in_integer_unit): New.
150 (ar_is_only_in_memory_unit): New.
151 (generate_unwind_image): Silence gcc on 32bit host.
152 (md_assemble): Use ar_is_only_in_integer_unit instead of
153 ar_is_in_integer_unit. Check AR access.
157 * config/tc-m68k.c (md_begin): Sort the opcode table into
159 (m68k_compare_opcode): New function to do the sorting.
163 * config/m68k-parse.y(operand): Allow for MAC/EMAC mask
164 addressing on MIT style operands.
165 * config/m68k-parse.y(yylex): Allow '-&' for predecrement
167 * config/tc-m68k.c(install_operand): Comment 'G' and 'H' type
172 * expr.c (operand, operator): Don't reject '++' and '--'.
176 * config/tc-mips.c (append_insn): Use ISA-encoded addresses in MIPS16
181 * configure.in: Add ppc-*-lynxos*. Update i386-*-lynxos* to ELF.
182 * configure: Regenerate.
186 * dw2gencfi.c (output_cie): Handle dwarf3 format CIE entries.
190 * configure.in (or32-*-rtems*): Switch to elf.
191 * configure: Regenerate.
195 * po/fr.po: Updated French translation.
199 * doc/as.texinfo (Section): Document G and T flags to .section
200 directive. Document the extra arguments that the G flag
201 requires. Document the #tls flag.
205 * subsegs.c (section_symbol): Create a new section symbol if
206 the existing one doesn't match.
207 * symbols.c (symbol_set_bfdsym): Don't reset BFD section symbol.
211 * config/tc-mips.c (append_insn, mips_emit_delays): Extend -mfix-vr4120
212 to cope with VR4181A errata MD(1) and MD(4).
216 * NEWS: Mention .secrel32 for pe[i]-i386.
220 * config/tc-frv.h (MAX_MEM_FOR_RS_ALIGN_CODE): New.
225 * Makefile.am (DIST_SUBDIRS): Define.
226 * aclocal.m4: Regenerate with automake 1.8.4.
227 * Makefile.in: Likewise.
228 * doc/Makefile.in: Likewise.
232 * config/tc-ia64.c (dot_serialize): Declare.
233 (dot_serialize): New function.
234 (md_pseudo_table): Add ".serialize.data" and
235 ".serialize.instruction" directives.
239 * messages (as_internal_value_out_of_range): Print a message about
240 a value being out of range. Be consistent about whether the
241 values are printed in decimal or hexadecimal.
242 (as_warn_value_out_of_range): Generate a warning message about an
244 (as_bad_value_out_of_range): Generate an error message about an
246 * as.h: Prototype the new functions.
247 * config/tc-alpha.c (insert_operand): Use new function.
248 * config/tc-arc.c (arc_insert_operand): Likewise.
249 * config/tc-mn10200.c (mn10200_insert_operand): Likewise.
250 * config/tc-mn10300.c (mn10300_insert_operand): Likewise.
251 * config/tc-ppc.c (ppc_insert_operand): Likewise.
252 * config/tc-s390.c (s390_insert_operand): Likewise.
253 * config/tc-v850.c (v850_insert_operand): Likewise.
257 * configure.in: Set em=linux for frv-*-*linux*.
258 * configure: Rebuilt.
259 * config/tc-frv.h (TARGET_FORMAT): Use elf32-frvfdpic if...
260 (frv_md_fdpic_enabled): New.
261 * config/tc-frv.c (frv_md_fdpic_enabled): New.
262 (DEFAULT_FDPIC): New.
263 (frv_flags): Use DEFAULT_FDPIC.
264 (frv_pic_flag): Likewise.
266 (md_longopts): Add -mnopic.
267 (md_parse_option): Handle it.
268 (md_show_usage): Add -mfdpic and -mnopic.
272 * config/tc-m68k.c: Add find_cf_chip to print list of valid
273 chips for invalid coldfire instructions, rename selectors
274 for ColdFire sub-variants, add 521x,5249,547x,548x and aliases,
275 add current_chip to track which chip is referred to(including save/restore),
276 use current_chip to select control registers, not current_arch.
277 (md_show_usage): Add new chips.
278 * doc/c-m68k.texi: Document new command line switches.
282 * tc-s390.h (md_do_align, HANDLE_ALIGN): Remove.
283 (NOP_OPCODE): Define.
284 (s390_align_code): Remove prototype.
285 * tc-s390.c (s390_align_code): Remove.
289 * config/tc-ia64.c (make_unw_section_name): Removed.
290 (start_unwind_section): New function.
291 (generate_unwind_image): Take const segT instead of const
293 (dot_handlerdata): Adjusted.
294 (dot_endp): Likewise.
298 * config/obj-elf.c (obj_elf_change_section): Allow the
299 ".note.GNU-stack" section has SHF_EXECINSTR.
303 * config/obj-elf.c (get_section): Return bfd_boolean.
304 (obj_elf_change_section): Call bfd_get_section_by_name_if
305 instead of bfd_map_over_sections.
309 * config/obj-elf.c (get_section): New function.
310 (obj_elf_change_section): Support multiple sections with same
315 * config/tc-arm.c (create_register_alias): Fix typo checking for
316 case sensitive register aliases.
317 (co_proc_number): Use error message string in all_reg_maps[]
319 (cp_reg_required_here): Likewise.
320 (fp_reg_required_here): Likewise.
324 * dwarf2dbg.c (dwarf2_finish): Add SEC_DEBUGGING to section flags.
328 * config/tc-mips.c (HAVE_32BIT_ADDRESSES, append_insn, macro_build)
329 (load_address, macro, mips_ip, md_parse_option)
330 (mips_force_relocation, mips_validate_fix, md_apply_fix3)
331 (s_change_sec, pic_need_relax, tc_gen_reloc): Remove all
332 embedded-PIC handling, and update comments.
333 (SWITCH_TABLE): Remove.
334 * config/tc-mips.h (DIFF_EXPR_OK): Delete.
335 (enum mips_pic_level): Remove EMBEDDED_PIC.
336 (EXTERN_FORCE_RELOC): Remove embedded-PIC handling.
337 (TC_FORCE_RELOCATION): Update comment.
338 * ecoff.c (ecoff_build_lineno): Add comment about some code that
339 might be safe to remove now that MIPS embedded-PIC is gone.
343 * config/obj-som.c (obj_som_init_stab_section): Add new arguments in
344 call to obj_set_subsection_attributes.
345 (obj_som_init_stab_section): Likewise.
346 * config/tc-hppa.c (default_subspace_dict): Add comdat field.
347 (pa_def_subspaces): Provide comdat default.
348 (pa_subspace): Handle new "comdat" parameter. Set SEC_LINK_ONCE and
349 not SEC_IS_COMMON if section is comdat, common or dup_common. Update
350 calls to create_new_subspace and update_subspace to pass comdat flag.
351 (create_new_subspace, update_subspace): Add new comdat argument. Use
352 it in calls to obj_set_subsection_attributes.
353 * doc/c-hppa.texi (.subspa, .nsubspa): Document new comdat parameter
354 and use of comdat, common and dup_comm parameters.
358 * config/obj-elf.c (obj_elf_change_section): Check if the old
359 group name is NULL before comparison.
363 * config/tc-mips.h (mips_dwarf2_addr_size): Prototype.
367 * config/tc-mips.c (s_mipsset): Set default CPU type for .set mipsN.
371 * config/tc-mips.c (md_longopts): Remove -membedded-pic option.
372 (OPTION_MEMBEDDED_PIC): Remove.
373 (OPTION_TRAP, OPTION_BREAK, OPTION_EB, OPTION_EL)
374 (OPTION_FP32, OPTION_GP32, OPTION_CONSTRUCT_FLOATS)
375 (OPTION_NO_CONSTRUCT_FLOATS, OPTIONS_FP64, OPTION_GP64)
376 (OPTION_RELAX_BRANCH, OPTION_NO_RELAX_BRANCH)
377 (OPTION_ELF_BASE): Renumber.
378 (md_parse_option): Remove OPTION_MEMBEDDED_PIC handling.
379 (md_show_usage): Remove mention of -membedded-pic.
380 * doc/as.texinfo: Remove mention of -membedded-pic.
384 * config/tc-mips.h (USE_GLOBAL_POINTER_OPT): Remove.
385 * config/tc-mips.c (RDATA_SECTION_NAME, mips_target_format): Remove
387 (md_begin, mips_ip, md_parse_option, s_change_sec, s_option,
388 s_abicalls, nopic_need_relax, tc_gen_reloc): Remove uses of
389 USE_GLOBAL_POINTER_OPT.
393 * config/tc-mips.c (macro): One more use of load_delay_nop.
397 * config/tc-mips.c (load_delay_nop): New function.
398 (load_address, macro): Use load_delay_nop() to build a nop
399 which can be omitted with gpr_interlocks.
403 * config/tc-mips.c (hilo_interlocks, gpr_interlocks,
404 cop_interlocks): Remove superfluous CPU entries.
408 * config/tc-arm.c (mav_parse_offset): Value must be multiple of 4.
412 * NEWS: Added support for EMAC instructions and MAC/EMAC
414 * config/m68k-parse.h: Add ACC[123], ACCEXT{01,23}, MAC/EMAC
415 scale factor tokens, trailing_ampersand to mark mask addressing
416 for MAC/EMAC instructions.
417 * config/m68k-parse.y: Add options_ampersand clause, '<<',
419 (yylex): Handle '>', '<', and '&' following '+'.
420 * config/tc-m68k.c: Set mcfmac/mcfemac on appropriate ColdFire
421 architectures in archs[].
422 (m68k-ip): Add '4', 'e', 'g', 'i', cases to handle mask addressing
423 for MAC/EMAC instructions, ACC[0123], ACCEXT{01,23}, and '<<'/'>>'
425 (m68k_ip): Handle trailing '&' on MAC/EMAC insns.
426 (install_operand): Fix 'n' case, Add 'F', 'f', 'G', 'H', 'I', ']'
428 Add EMAC operands to init_table[].
432 * config/tc-arm.h (enum mstate): Move here, add MAP_UNDEFINED
434 (TC_SEGMENT_INFO_TYPE): Define to enum mstate.
435 * config/tc-arm.c (enum mstate): Delete from here.
436 (mapping_state): Remove the static mapstate variable and instead
437 store the state in the segment. This allows a per-section mapping
438 state. Handle and ignore MAP_UNDEFINED states.
439 (arm_elf_change_section): Get the current mapping state from the
441 (s_ltorg): Set the mapping state to MAP_DATA.
442 (arm_cleanup): Use arm_elf_change_section to get the mapping state
443 for each pool as it is emitted.
447 * config/tc-arm.h: Formatting tidy ups.
451 * NEWS: Note that MIPS -membedded-pic option is deprecated.
455 * config/tc-i386.h [TE_PE] (TC_CONS_FIX_NEW): Define.
456 * config/tc-i386.c (md_pseudo_table) [TE_PE]: Add "secrel32".
457 [TE_PE] (O_secrel): Define.
458 [TE_PE] (x86_pe_cons_fix_new): New.
459 [TE_PE] (pe_directive_secrel): Likewise.
460 (tc_gen_reloc) [TE_PE]: Support BFD_RELOC_32_SECREL.
464 * config/tc-mips.c (mips_dwarf2_addr_size): Revert part
465 of previous patch for fix in gcc.
469 * config/tc-xtensa.c (xg_assembler_literal): Fix a typo.
473 * read.c (do_align): Call md_flush_pending_output, if defined.
477 * expr.c (operand): Correct checks for ++ and --.
481 * config/tc-generic.c: Add some comments.
485 * doc/c-mips.texi (-m{no-,}fix-vr4120): Renamed from
486 -{no-}mfix-vr4122-bugs.
487 * config/tc-mips.c (mips_fix_vr4120): Renamed from mips_fix_4122_bugs.
488 (append_insn, mips_emit_delays): Update accordingly.
489 (OPTION_FIX_VR4120, OPTION_NO_FIX_VR4120): Renamed from *VR4122.
490 (md_longopts): Change -{no-,}mfix-vr4122-bugs to -m{no-,}fix-vr4120.
491 (md_parse_option): Update after above changes.
492 (md_show_usage): Add -mfix-vr4120.
496 * doc/as.texinfo (Sub-Sections): Conditionalize COFF-specific use
497 of .section directive; add a reference to the ELF .subsection
502 * config/tc-m32r.c (md_assemble): Fixed infinite loop bug
507 * Makefile.am: Remove mips from aout targets.
508 * Makefile.in: Regenerate.
509 * configure.in: Remove mips-dec-bsd* target.
510 * configure: Regenerate.
515 * config/tc-ppc.c (ppc_elf_suffix): Add valid32 and valid64 fields
516 to struct map_bfd. Adjust MAP macro, and define MAP32, MAP64.
517 Update "mapping". Restrict some @ modifiers to 32 bit.
522 * config/tc-sh.c (dont_adjust_reloc_32): New variable.
523 (sh_fix_adjustable): Avoid adjusting BFD_RELOC_32 when
524 dont_adjust_reloc_32 is set.
525 (md_longopts): Add option -renesas.
526 (md_parse_option, md_show_usage): Likewise.
527 * doc/c-sh.texi: Likewise.
531 * config/tc-dlx.c (md_assemble): set fx_no_overflow flag for
532 hi16 and lo16 fixS structs.
533 (md_assemble): generate bit_fixS for RELOC_DLX_LO16 in
534 exactly the same way as for RELOC_DLX_REL16.
535 (machine_ip): properly respect LO flag in the_insn and
536 output RELOC_DLX_LO16 rather than RELOC_DLX_16.
537 (md_apply_fix3): apply RELOC_DLX_LO16.
541 Remove long-obsolete MPW support.
542 * mpw-config.in, mpw-make.sed, mac-as.r: Remove files.
543 * configure.in: Remove mention of ppc-*-mpw* config.
544 * configure.in: Likewise.
548 * config/tc-arm.c (meabi_flags): Make its use conditional upon
549 OBJ_ELF being defined.
553 * config/obj-aout.c (obj_aout_type): Remove #ifdef BFD_ASSEMBLER code.
557 * config/tc-arm.c (meabi_flags): New variable.
558 (arm_parse_eabi): New function.
559 (md_begin): Set flags for EABI v3.
561 (arm_long_opts): Add meabi.
562 * doc/as.texinf <ARM>: Document -meabi.
563 * doc/c-arm.texi: Ditto.
567 * config/tc-xtensa.c (xtensa_post_relax_hook): Create literal
568 tables even when use_literal_section flag is not set.
572 * config/tc-sh.c: Remove trailing whitespace.
576 * doc/c-cris.texi (CRIS-Opts): Document --no-mul-bug-abort,
577 --mul-bug-abort and the default behavior.
578 * config/tc-cris.c (cris_insn_kind): New member CRIS_INSN_MUL.
579 (err_for_dangerous_mul_placement): New variable.
580 (STATE_MUL, OPTION_MULBUG_ABORT_ON, OPTION_MULBUG_ABORT_OFF): New
582 (md_cris_relax_table): Have placeholder for STATE_MUL.
583 (md_longopts): New options --mul-bug-abort and --no-mul-bug-abort.
584 (cris_relax_frag) <case ENCODE_RELAX (STATE_MUL, STATE_BYTE)>: New
586 (md_estimate_size_before_relax) <case ENCODE_RELAX (STATE_MUL,
588 (md_convert_frag) <ENCODE_RELAX (STATE_MUL, STATE_BYTE)>: Check
589 alignment and position of this frag, emit error message if
591 (md_assemble): For a multiply insn and when checking it,
592 transform the current frag into a special frag for that purpose.
593 (md_parse_option) <case OPTION_MULBUG_ABORT_OFF, case
594 OPTION_MULBUG_ABORT_ON>: Handle new options.
598 * config/tc-xtensa.c (mark_literal_frags): New function.
599 (xtensa_move_literals): Call mark_literal_frags for all literal
600 segments, including init and fini literal segments.
601 (xtensa_post_relax_hook): Swap use of xt_insn_sec and xt_literal_sec.
605 * tc-hppa.c (cons_fix_new_hppa): Check for PC relative base type.
606 (pa_comm): Set BSF_OBJECT in symbol flags.
610 * Makefile.am: Run "make dep-am".
611 * Makefile.in: Regenerate.
612 * doc/Makefile.in: Regenerate.
613 * config.in: Regenerate.
614 * po/gas.pot: Regenerate.
618 * read.c (read_a_source_file): Use demand_empty_rest_of_line.
619 (demand_empty_rest_of_line): Issue an error here.
620 (ignore_rest_of_line): Silently skip to end.
621 (demand_copy_string): Issue an error, not warning.
623 * config/obj-elf.c (obj_elf_section_name): Likewise.
624 (obj_elf_section): Likewise.
625 * config/tc-arc.c (arc_extoper): Remove bogus NULL checks.
626 (arc_extinst): Likewise.
627 * config/tc-ia64.c (dot_saveb): Use demand_empty_rest_of_line.
628 (dot_spill): Likewise.
629 (dot_unwabi): Likewise.
630 (dot_prologue): Likewise.
632 * expr.c (operand): Reject ++ and --.
633 (operator): Likewise.
637 * config/tc-sh.c: Include dw2gencfi.h.
638 (sh_cfi_frame_initial_instructions): New function.
639 (sh_regname_to_dw2regnum): Likewise.
640 * config/tc-sh.h (DWARF2_LINE_MIN_INSN_LENGTH): Move to the end of
642 (TARGET_USE_CFIPOP): Define.
643 (tc_cfi_frame_initial_instructions): Likewise.
644 (tc_regname_to_dw2regnum): Likewise.
645 (DWARF2_DEFAULT_RETURN_COLUMN, DWARF2_CIE_DATA_ALIGNMENT): Likewise.
646 * Makefile.am: Update dependencies.
647 * Makefile.in: Regenerate.
651 * configure.in: Switch sh-*-rtems* to ELF. Add sh-*-rtemscoff*.
652 * configure: Regenerate.
656 * read.c (s_leb128): Call md_flush_pending_output.
660 * config/tc-i386.c (output_insn): Handle PadLock instructions.
661 * config/tc-i386.h (CpuPadLock): New define.
662 (CpuUnknownFlags): Added CpuPadLock.
666 * doc/c-hppa.texi (HPPA Directives): Fix typo.
670 * dw2gencfi.c (output_cie): Align length to 4 byte boundary.
671 (cfi_finish): Likewise for fde.
675 * config/tc-ia64.c (md_assemble): Properly handle NULL
677 (ia64_handle_align): Don't abort if failed to add a stop bit.
681 * Makefile.in: Regenerated.
682 * aclocal.m4: Likewise.
683 * configure: Likewise.
684 * doc/Makefile.in: Likewise.
688 * config/tc-ia64.c (dot_align): New.
689 (ia64_do_align): Make it static.
690 (md_pseudo_table): Use "dot_align" for "align".
691 (ia64_md_do_align): Don't set align_frag here.
692 (ia64_handle_align): Add a stop bit to the previous bundle if
695 * config/tc-ia64.h (ia64_do_align): Removed.
699 * config/tc-sh.c (md_parse_option): Add -isa=sh4-nofpu and
700 -isa=sh4-nommu-nofpu options. Adjust help messages accordingly.
701 (sh_elf_final_processing): Output BFD type sh4_nofpu if that is
702 the most general type or the user specifically requested it.
703 (md_assemble): Add a new error message for when an instruction
704 is understood, but is not allowed due to an -isa option.
708 * config/tc-ia64.c (align_frag): New.
709 (md_assemble): Set the tc_frag_data field in align_frag for
710 IA64_OPCODE_FIRST instructions.
711 (ia64_md_do_align): Set align_frag.
712 (ia64_handle_align): Add a stop bit if needed.
714 * config/tc-ia64.h (TC_FRAG_TYPE): New.
719 * config/tc-frv.c (fr400_audio): New variable.
720 (md_parse_option, md_show_usage): Add -mcpu=fr405 and -mcpu=fr450.
721 (md_parse_option): Set fr400_audio for -mcpu=fr400 and -mcpu=fr405.
722 (target_implements_insn_p): New function.
723 (md_assemble): Report an error if the processor doesn't implement
728 * config/tc-m32r.c (md_longopts): Added -no-bitinst option.
729 (md_parse_option): Ditto.
730 (OPTION_NO_SPECIAL_M32R): Added.
731 (md_show_usage): Document it.
732 (enable_speial_m32r): Changed a default value from 0 to 1.
733 * doc/c-m32r.texi: Document the -no-bitinst option.
737 * config/tc-sh.c (get_operand): Revert previous delta.
738 (tc_gen_reloc): Check for an unknown reloc type before processing
743 * config/tc-s390.c (s390_insn): Correct range check for opcode in
744 .insn pseudo operation.
748 * config/tc-sh.c (get_operand): In case of #Imm, check has been
749 added for wrong syntax.
753 * config/tc-mips.c (mips_dwarf2_addr_size): New.
754 * config/tc-mips.h (DWARF2_ADDR_SIZE): Use.
758 * config/tc-sh.c (build_Mytes): Add REG_N_D and REG_N_B01
759 nibble types to assembler.
763 * config/tc-iq2000.c: Add missing \n\ in multiline string literal.
767 * config/tc-ia64.c (slot_index): New arg before_relax. Use instead of
769 (fixup_unw_records): New arg before_relax. Pass to slot_index.
770 (ia64_estimate_size_before_relax): New.
771 (ia64_convert_frag): Pass 0 to fixup_unw_records. Add comment.
772 (generate_unwind_image): Pass 1 to fixup_unw_records.
773 * config/tc-ia64.h (ia64_estimate_size_before_relax): Declare.
774 (md_estimate_size_before_relax): Call ia64_estimate_size_before_relax.
778 * stabs.c (generate_asm_file): Avoid warning about use of
779 uninitialized variable.
783 * config/tc-ia64.c (ia64_flush_insns): In addition to prologue,
784 body, and endp, allow unwind records which do not have a "t"
785 (time/instruction) field.
789 * config/tc-arm.c (do_mav_dspsc_1): Correct offset of CRn.
790 (do_mav_dspsc_2): Likewise.
791 Fix accumulator registers move opcodes.
796 * dwarf2dbg.c (get_filenum): Do not read beyond allocated memory.
800 * config/tc-ia64.h (ia64_frob_symbol): New declaration.
801 (tc_frob_symbol): New macro definition.
802 * config/tc-ia64.c (ia64_frob_symbol): New routine.
806 * config/tc-arm.c (md_begin): Mark .note.gnu.arm.ident as
811 * read.h (IGNORE_OPCODE_CASE): Do not define. Replace with ...
812 (TC_CASE_SENSITIVE): ... this.
813 * read.c: Replace IGNORE_OPCODE_CASE with TC_CASE_SENSITIVE.
814 * doc/internals.texi (TC_CASE_SENSITIVE): Document.
818 * config/tc-ia64.c (dot_endp): Delete call to output_endp.
819 (generate_unwind_image): Re-add it here.
823 * dwarf2dbg.c (DWARF2_ADDR_SIZE): Remove trailing ';'
824 * read.h (SKIP_WHITESPACE): Turn into an expression.
825 * read.c (read_a_source_file): A pseudo is removed by having a
830 * config/tc-ia64.c (output_endp): New.
831 (count_bits): Delete.
832 (ia64_flush_insns, process_one_record, optimize_unw_records): Handle
834 (fixup_unw_records): Handle endp unwind records. Delete code for
835 shortening prologue regions not followed by a body record.
836 (dot_endp): Call add_unwind_entry to emit endp unwind record.
837 * config/tc-ia64.h (unw_record_type): Add endp.
841 * config/tc-ia64.c (ia64_convert_frag): Call md_number_to_chars to
842 fill padding bytes with zeroes.
843 (emit_one_bundle): New locals last_ptr, end_ptr. Rewrite code that
844 sets unwind_record slot_number and slot_frag fields.
848 * config/tc-mips.c (add_got_offset_hilo): New function.
849 (macro): Use load_register() and add_got_offset_hilo() to load
850 constants instead of hardcoding code sequences throughout.
854 * config/tc-ia64.c (emit_one_bundle): Add proper indentation.
858 * config/tc-m68k.h (EXTERN_FORCE_RELOC): Handle m68k-uclinux specially,
860 * config/tc-m68k.c (RELAXABLE_SYMBOL): Use EXTERN_FORCE_RELOC instead
861 of hard-coded test for TARGET_OS=elf.
865 * config/tc-mips.c (hilo_interlocks): Change definition
866 so that MIPS32, MIPS64 and later ISAs are included, along with
867 the already-included machines. Update comments.
871 * config/tc-arm.c (tc_gen_reloc): Improve error message for
872 undefined local labels.
876 * config/tc-mips.c (load_address, macro): Update comments about
877 NewABI GP relaxation.
881 * config/tc-mips.c (macro_build): Remove place and counter arguments.
882 (mips_build_lui, macro_build_ldst_constoffset): Likewise.
883 (mips16_macro_build, macro_build_jalr): Remove counter argument.
884 (set_at, load_register, load_address, move_register): Likewise.
885 (load_got_offset, add_got_offset): Likewise.
886 Update all calls and tidy accordingly.
890 * config/tc-mips.c (RELAX_ENCODE): Remove WARN argument.
891 (RELAX_FIRST, RELAX_SECOND): Turn into 8-bit quantities.
892 (RELAX_USE_SECOND): Bump to 0x10000.
893 (RELAX_SECOND_LONGER, RELAX_NOMACRO, RELAX_DELAY_SLOT): New flags.
894 (mips_macro_warning): New variable.
895 (md_assemble): Wrap macro expansion in macro_start() and macro_end().
896 (s_cpload, s_cpsetup, s_cprestore, s_cpreturn): Likewise.
897 (relax_close_frag): Set mips_macro_warning.first_frag. Adjust use
899 (append_insn): Update mips_macro_warning.sizes.
900 (macro_start, macro_warning, macro_end): New functions.
901 (macro_build): Don't emit warnings here.
902 (macro_build_lui, md_estimate_size_before_relax): ...or here.
903 (md_convert_frag): Check for cases where one macro alternative
904 needs a warning and the other doesn't. Emit a warning if the
905 longer sequence was chosen.
909 * config/tc-mips.h (tc_frag_data_type, TC_FRAG_TYPE): Remove.
910 * config/tc-mips.c (RELAX_ENCODE): Take three arguments: the size of
911 the first sequence, the size of the second sequence, and a flag
912 that says whether we should warn.
913 (RELAX_OLD, RELAX_NEW, RELAX_RELOC[123]): Delete.
914 (RELAX_FIRST, RELAX_SECOND): New.
915 (mips_relax): New variable.
916 (relax_close_frag, relax_start, relax_switch, relax_end): New fns.
917 (append_insn): Remove "place" argument. Use mips_relax.sequence
918 rather than "place" to check whether we're expanding the second
919 alternative of a relaxable macro. Remove redundant check for
920 branch relaxation. If generating a normal insn, and there
921 is not enough room in the current frag, call relax_close_frag()
922 to close it. Update mips_relax.sizes[]. Emit fixups for the
923 second version of a relaxable macro. Record the first relaxable
924 fixup in mips_relax. Remove tc_gen_reloc workaround.
925 (macro_build): Remove all uses of "place". Use mips_relax.sequence
926 in the same way as in append_insn.
927 (mips16_macro_build): Remove "place" argument.
928 (macro_build_lui): As for macro_build. Don't drop the add_symbol
929 when generating the second version of a relaxable macro.
930 (load_got_offset, add_got_offset): New functions.
931 (load_address, macro): Use new relaxation machinery. Remove
932 tc_gen_reloc workarounds.
933 (md_estimate_size_before_relax): Set RELAX_USE_SECOND if the second
934 version of a relaxable macro is needed. Return -RELAX_SECOND if the
935 first version is needed.
936 (tc_gen_reloc): Remove relaxation handling.
937 (md_convert_frag): Go through the fixups for a relaxable macro and
938 mark those that belong to the unneeded alternative as done. If the
939 second alternative is needed, adjust the fixup addresses to account
940 for the deleted first alternative.
944 * frags.h (frag_room): Declare.
945 * frags.c (frag_room): New function.
946 * doc/internals.texi: Document it.
950 * config/tc-mips.c (append_insn): Don't do r3900 interlock
951 optimization for -mtune=r3900, as this will break on other CPUs.
955 * config/tc-m68hc11.c (build_indexed_byte): movb and movw cannot
956 be relaxed, use fixup.
957 (md_apply_fix3): Use 5 bit reloc from movb and movw fixup.
961 * config/tc-sparc.c (sparc_ip): Disallow %f32-%f63 for single
966 * config/tc-mips.c (append_insn): Properly detect variant frags
967 that preclude swapping of relaxed branches. Correctly swap
968 instructions between frags when dealing with relaxed branches.
972 * acinclude.m4: Quote names of macros to be defined by AC_DEFUN
974 * aclocal.m4: Regenerate.
975 * configure: Regenerate.
979 * config/tc-h8300.c (build_bytes): Apply relaxation to bit
984 * config/tc-mips.c (macro_build_jalr): When adding an R_MIPS_JALR
985 reloc, reserve space for the delay slot as well as the jalr itself.
989 * config/tc-arm.c (do_vfp_reg2_from_sp2): Rename from do_vfp_sp_reg2.
990 (do_vfp_sp2_from_reg2): New function.
992 (do_vfp_dp_from_reg2): Check return values properly.
996 * config/tc-mips.c (warn_nops): Remove static variable.
997 (macro): Remove test of warn_nops.
998 (md_shortops): Remove 'n'.
999 (md_parse_option): Remove 'n' case.
1000 (md_show_usage): Remove -n.
1001 * doc/as.texinfo (Overview): Remove MIPS -n option.
1002 * doc/c-mips.texi (MIPS Opts): Remove mention -n.
1003 * NEWS: Mention removal of MIPS -n option.
1005 * config/tc-mips.c (ISA_HAS_COPROC_DELAYS): Remove.
1006 (cop_interlocks): Check ISA level.
1007 (cop_mem_interlocks): Define.
1008 (reg_needs_delay): Check cop_interlocks rather than
1009 ISA_HAS_COPROC_DELAYS.
1010 (append_insn): Likewise. Use cop_mem_interlocks rather than
1011 directly checking mips_opts.isa.
1012 (mips_emit_delays): Likewise.
1016 * config/tc-ia64.c (unwind): Move next_slot_number and
1017 next_slot_frag to ...
1018 (unw_rec_list): Here.
1019 (free_list_records): Removed.
1020 (output_unw_records): Likewise.
1021 (generate_unwind_image): Make it void.
1022 (alloc_record): Initialize next_slot_number and next_slot_frag.
1023 (slot_index): Take .org, .space and .align into account.
1024 (fixup_unw_records): Don't set slot_number to 0. Use
1025 list->next_slot_number and list->next_slot_frag instead of
1026 unwind.next_slot_number and unwind.next_slot_frag.
1027 (ia64_convert_frag): New.
1028 (generate_unwind_image): Generate a rs_machine_dependent frag
1030 (emit_one_bundle): Use list->next_slot_number and
1031 list->next_slot_frag instead of unwind.next_slot_number and
1032 unwind.next_slot_frag.
1034 * config/tc-ia64.h (md_convert_frag): Defined as
1036 (md_estimate_size_before_relax): Defined as (f)->fr_var.
1041 * config/tc-frv.h (md_apply_fix3): Don't define.
1042 * config/tc-frv.c (md_apply_fix3): New. Shift/truncate %hi/%lo
1044 * config/tc-frv.h (TC_FORCE_RELOCATION_SUB_LOCAL): Define.
1046 * config/tc-frv.c (line_separator_chars): Add `!'.
1048 * config/tc-frv.c (md_assemble): Clear insn upfront.
1050 * config/tc-frv.c (OPTION_FDPIC): New macro.
1051 (md_longopts): Add mfdpic.
1052 (md_parse_option): Handle it.
1054 * config/tc-frv.c (md_cgen_lookup_reloc) <FRV_OPERAND_D12,
1055 FRV_OPERAND_S12>: Use reloc type encoded in fix-up.
1056 (frv_pic_ptr): Parse funcdesc.
1060 * doc/as.texinfo: Let texi2pod parse asconfig.texi and
1061 gasver.texi. Remove duplicate symbol definitions for texi2pod.
1065 * Makefile.am (Makefile): Move the dependency on
1066 $(BFDDIR)/configure.in to...
1067 (CONFIG_STATUS_DEPENDENCIES): ... here.
1068 (AUTOMAKE_OPTIONS): Require automake 1.8.
1069 * Makefile.in: Regenerate.
1070 * doc/Makefile.am (BASEDIR, BFDDIR): Define.
1071 (CONFIG_STATUS_DEPENDENCIES): Add a dependency on
1072 $(BFDDIR)/configure.in here as well.
1073 * doc/Makefile.in: Regenerate.
1077 * Makefile.am (install, install-info, RECURSIVE_TARGETS): Remove.
1078 * Makefile.in: Regenerate.
1079 * aclocal.m4: Regenerate.
1080 * doc/Makefile.am (install, install-info): Remove.
1081 (install-data-local): A new hook for install-info.
1082 (AUTOMAKE_OPTIONS): Require automake 1.8.
1083 * doc/Makefile.in: Regenerate.
1087 * doc/c-sh.texi: Update description about floating point behavior
1092 * configure.in: Add m68k-uClinux target.
1093 * configure: Regenerate.
1095 For older changes see ChangeLog-0203
1101 version-control: never