+
+ * config/tc-i386.c (reloc): Don't avoid pcrel check for
+ BFD_RELOC_SIZE64. Return NO_RELOC on failing pcrel check.
+
+
+ * config/tc-tic6x.c (s_tic6x_ehtype): Clear after frag_more.
+ (tic6x_output_exidx_entry): Likewise.
+ (md_apply_fix): Simplify 1 byte md_number_to_chars.
+
+
+ * config/tc-tic54x.c (tic54x_mlib): Don't write garbage past
+ end of archive to temp file.
+ (tic54x_start_line_hook): Start scan for parallel on next line,
+ not one char into next line (which may overrun the buffer).
+
+
+ * config/tc-vax.c (md_apply_fix): Rewrite.
+ (tc_gen_reloc, vax_cons, vax_cons_fix_new): Style: Use NO_RELOC
+ define rather than the equivalent BFD_RELOC_NONE.
+
+
+ * config/tc-arm.c (s_arm_elf_cons): Initialise after frag_more.
+ (md_apply_fix): Delete now unnecessary zeroing for BFD_RELOC_ARM_GOT*
+ and BFD_RELOC_ARM_TLS* relocs. Simplify BFD_RELOC_8 case.
+
+
+ * config/tc-cris.c (md_create_long_jump): Follow "short" jump
+ with a nop rather than leaving uninitialised.
+
+
+ * config/tc-score7.c: Replace sprintf with strcpy where
+ appropriate.
+ (s7_b32_relax_to_b16): Use symbol_get_frag() to access a symbol's
+ frag.
+ * config/tc-score.c (s3_relax_branch_inst16): Likewise.
+ (s3_relax_cmpbranch_inst32): Likewise.
+
+
+ * config/tc-ppc.c (ppc_insert_operand): Handle PPC_OPERAND_SIGNOPT
+ on unsigned fields. Comment on PPC_OPERAND_SIGNOPT signed fields
+ in 64-bit mode.
+
+
+ * doc/c-aarch64.texi: Fix the documentation on :pg_hi21:.
+
+
+ * Makefile.am (CONFIG_STATUS_DEPENDENCIES): Add dependency on
+ bfd's development.sh.
+ * Makefile.in, configure: Regenerate.
+
+
+ * config/tc-msp430.c (OPTION_WARN_INTR_NOPS): Use y instead of z.
+ (OPTION_NO_WARN_INTR_NOPS): Use Y instead of Z.
+ * doc/c-msp430.texi: Update command line option description.
+
+
+ * listing.c (listing_warning, listing_error): Add space after colon.
+ * messages.c (as_warn_internal, as_bad_internal): Use the same
+ string as above.
+
+
+ * config/tc-mips.c (file_mips_opts_checked): New static global.
+ (s_module): New static function.
+ (file_ase): Remove.
+ (mips_pseudo_table): Add .module handler.
+ (mips_set_ase): Add opts argument and use instead of mips_opts.
+ (md_assemble): Use file_mips_check_options.
+ (md_parse_option): Update to use file_mips_opts instead of mips_opts.
+ (mips_set_architecture): Delete function. Moved to...
+ (mips_after_parse_args): Here. All logic now applies to
+ file_mips_opts first and then copies the final state to mips_opts.
+ Move error checking and defaults inference to mips_check_options and
+ file_mips_check_options.
+ (mips_check_options): New static function. Common option checking for
+ command line, .module and .set. Use .module values in error messages
+ instead of refering to command line options.
+ (file_mips_check_options): New static function. A wrapper for
+ mips_check_options with file_mips_opts. Updates BFD arch based on
+ final options.
+ (s_mipsset): Split into s_mipsset and parse_code_option. Settings
+ supported by both .set and .module are moved to parse_code_option.
+ Warnings and errors are kept in s_mipsset because when
+ parse_code_option is used with s_module the warnings are deferred
+ until code is generated. Any setting supporting 'default' value is
+ kept in s_mipsset as it is not applicable to s_module. Inferred
+ settings are also kept in s_mipsset as s_module does not infer any
+ settings. Use mips_check_options.
+ (parse_code_option): New static function derived from s_mipsset.
+ (s_module): New static function that implements .module. Allows file
+ level settings to be changed until code is generated.
+ (s_cpload, s_cpsetup, s_cplocal): Use file_mips_check_options.
+ (s_cprestore, s_cpreturn, s_cpadd, mips_address_bytes): Likewise.
+ (mips_elf_final_processing): Update file_ase to file_mips_opts.ase.
+ (md_mips_end): Use file_mips_check_options.
+ * doc/c-mips.texi: Document .module.
+
+
+ * messages.c (as_warn_internal): Remove extra whitespace from
+ warning messages.
+
+
+ * config/tc-mips.c (FP64_ASES): Add ASE_MSA.
+ (mips_after_parse_args): Do not select ASE_MSA without -mfp64.
+
+
+ * messages.c (as_warn_internal): Ensure we don't interleave output
+ within a single line when make -j is used.
+ (as_bad_internal): Likewise.
+
+
+ * config/obj-elf.h (obj_elf_seen_attribute): Declare.
+ * config/obj-elf.c (recorded_attribute_info): New structure.
+ (recorded_attributes): New variable.
+ (record_attribute, obj_elf_seen_attribute): New functions.
+ (obj_elf_vendor_attribute): Record which attributes have been seen.
+
+
+ * config/tc-msp430.c (CHECK_RELOC_MSP430): Add OP parameter.
+ Generate BFD_RELOC_MSP430_ABS_HI16 if vshift is 1.
+ (msp430_srcoperand): Store vshift value in operand.
+
+
+ PR gas/16858
+ * config/tc-i386.c (md_apply_fix): Improve the detection of code
+ symbols for 32-bit PE targets.
+
+
+ * config/tc-mips.c (md_obj_begin): Delete.
+ (md_obj_end): Fold into...
+ (md_mips_end): ...here. Move to end of file.
+
+
+ PR gas/16946
+ * config/tc-v850.c (handle_ctoff): Generate an error if called
+ when using the RH850 ABI.
+
+
+ * config/tc-rl78.c (enum options): Add OPTION_32BIT_DOUBLES
+ and OPTION_64BIT_DOUBLES.
+ (md_longopts): Add -m32bit-doubles and -m64bit-doubles.
+ (md_parse_option): Parse -m32bit-doubles and -m64bit-doubles.
+ (md_show_usage): Show all of the RL78 options.
+ (rl78_float_cons): New static functions.
+ (md_pseudo_table): Update handler for "double".
+ * doc/c-rl78.texi: Document new options.
+ * doc/as.texinfo: Likewise.
+
+
+ * config/tc-mips.c (mips_set_options): Rename gp32 to gp throughout.
+ (HAVE_32BIT_GPRS, HAVE_64BIT_GPRS): Remove. Re-implement via GPR_SIZE.
+ (HAVE_32BIT_FPRS, HAVE_64BIT_FPRS): Remove. Re-implement via FPR_SIZE.
+ (GPR_SIZE, FPR_SIZE): New macros. Use throughout.
+
+
+ * config/tc-mips.c (md_parse_option): Update missed file_mips_isa
+ references.
+
+
+ * config/tc-mips.c (mips_set_options): Rename fp32 field to fp.
+ Update fp32 == 0 to fp == 64 and fp32 == 1 to fp != 64 throughout.
+ (file_mips_gp32, file_mips_fp32, file_mips_soft_float,
+ file_mips_single_float, file_mips_isa, file_mips_arch): Merge into
+ one struct...
+ (file_mips_opts): Here. New static global. Update throughout.
+ (mips_opts): Update defaults for gp32 and fp.
+
+
+ * config/tc-mips.c (streq): Define.
+ (mips_convert_symbolic_attribute): New function.
+ * config/tc-mips.h (CONVERT_SYMBOLIC_ATTRIBUTE): Define.
+ (mips_convert_symbolic_attribute): New prototype.
+
+
+ * config/tc-xtensa.c (md_apply_fix): mark BFD_RELOC_XTENSA_DIFF*
+ fixups as signed.
+
+
+ * tc-mips.c (ISA_SUPPORTS_MIPS16E): Add mips32r3, mips32r5, mips64r3
+ and mips64r5.
+ (ISA_HAS_64BIT_FPRS): Likewise.
+ (ISA_HAS_ROR): Likewise.
+ (ISA_HAS_ODD_SINGLE_FPR): Likewise.
+ (ISA_HAS_MXHC1): Likewise.
+ (hilo_interlocks): Likewise.
+ (md_longopts): Likewise.
+ (ISA_HAS_64BIT_REGS): Add mips64r3 and mips64r5.
+ (ISA_HAS_DROR): Likewise.
+ (options): Add OPTION_MIPS32R3, OPTION_MIPS32R5, OPTION_MIPS64R3, and
+ OPTION_MIPS64R5.
+ (mips_isa_rev): Add support for mips32r3, mips32r5, mips64r3 and
+ mips64r5.
+ (md_parse_option): Likewise.
+ (s_mipsset): Likewise.
+ (mips_cpu_info_table): Add entries for mips32r3, mips32r5, mips64r3
+ and mips64r5. Also change p5600 entry to be mips32r5.
+ * configure.in: Add support for mips32r3, mips32r5, mips64r3 and
+ mips64r5.
+ * configure: Regenerate.
+ * doc/c-mips.texi: Document the -mips32r3, -mips32r5, -mips64r3 and
+ -mips64r5 command line options.
+ * doc/as.texinfo: Likewise.
+
+
+ PR gas/16858
+ * config/tc-i386.c (md_apply_fix): Do not adjust value of
+ pc-relative fixes against weak symbols.
+
+
+ * po/POTFILES.in: Regenerate.
+
+
+ * config/tc-arm.c (s_ltorg): Only create a mapping symbol for ELF
+ based targets.
+
+
+ * config/tc-arm.c (s_ltorg): Call make_mapping_symbol
+ directly instead of mapping_state.
+
+
+ * config/tc-mips.c (options): Add OPTION_XPA and OPTION_NO_XPA.
+ (md_longopts): Add xpa and no-xpa command line options.
+ (mips_ases): Add MIPS XPA ASE.
+ (mips_cpu_info_table): Update p5600 entry to allow the XPA ASE.
+ * doc/as.texinfo: Document the MIPS XPA command line options.
+ * doc/c-mips.texi: Document the MIPS XPA command line options,
+ and assembler directives.
+
+
+ * config/tc-nios2.c (nios2_consume_arg): Add case for 'E' to
+ unbreak self-test mode.
+
+
+ * config/tc-xtensa.c (xtensa_handle_align): record alignment for the
+ first section frag.
+
+
+ * Makefile.am: Remove openrisc and or32 support. Add support for or1k.
+ * configure.in: Likewise.
+ * configure.tgt: Likewise.
+ * doc/as.texinfo: Likewise.
+ * config/obj-coff.h: Likewise.
+ * config/tc-or1k.c: New file.
+ * config/tc-or1k.h: New file.
+ * config/tc-openrisc.c: Delete.
+ * config/tc-openrisc.h: Delete.
+ * config/tc-or32.c: Delete.
+ * config/tc-or32.h: Delete.
+ * Makefile.in: Regenerate.
+ * configure: Regenerate.
+
+
+ * config/tc-tilegx.h (TC_CONS_FIX_NEW): Add RELOC arg.
+ * config/tc-tilepro.h (TC_CONS_FIX_NEW): Likewise.
+
+
+ * config/tc-avr.c: Add new flag mlink-relax.
+ (md_show_usage): Add flag and help text.
+ (md_parse_option): Record whether link relax is turned on.
+ (relaxable_section): New.
+ (avr_validate_fix_sub): New.
+ (avr_force_relocation): New.
+ (md_apply_fix): Generate DIFF reloc.
+ (avr_allow_local_subtract): New.
+
+ * config/tc-avr.h (TC_LINKRELAX_FIXUP): Define to 0.
+ (TC_FORCE_RELOCATION): Define.
+ (TC_FORCE_RELOCATION_SUB_SAME): Define.
+ (TC_VALIDATE_FIX_SUB): Define.
+ (avr_force_relocation): Declare.
+ (avr_validate_fix_sub): Declare.
+ (md_allow_local_subtract): Define.
+ (avr_allow_local_subtract): Declare.
+
+
+ * config/tc-mips.c (mips_cpu_info_table): Add P5600
+ configuation.
+ * doc/c-mips.texi: Document p5600.
+
+
+ * config/tc-rl78.h (TC_CONS_FIX_NEW): Add RELOC parameter.
+ * config/tc-z80.h (TC_CONS_FIX_NEW): Discard RELOC parameter.
+ * config/tc-aarch64.h (TC_CONS_FIX_NEW): Discard RELOC parameter.
+ * read.c (emit_expr_fix): Mark the r parameter as potentially
+ unused.
+
+
+ * config/tc-ppc.c (warn_476, last_insn, last_seg, last_subseg):
+ New static vars.
+ (md_longopts, md_parse_option, md_show_usage): Add --ppc476-workaround.
+ (ppc_elf_cons_fix_check): New function.
+ (md_assemble): Set last_insn, last_seg, last_subseg.
+ (ppc_byte, md_apply_fix): Handle warn_476.
+ * config/tc-ppc.h (TC_CONS_FIX_CHECK): Define.
+ (ppc_elf_cons_fix_check): Declare.
+ * read.c (cons_worker): Invoke TC_CONS_FIX_CHECK.
+
+
+ * gas/config/tc-alpha.h (TC_CONS_FIX_NEW): Add RELOC parameter.
+ * gas/config/tc-arc.c (arc_cons_fix_new): Add reloc parameter.
+ * gas/config/tc-arc.h (arc_cons_fix_new): Update prototype.
+ (TC_CONS_FIX_NEW): Add RELOC parameter.
+ * gas/config/tc-arm.c (cons_fix_new_arm): Similarly
+ * gas/config/tc-arm.h (cons_fix_new_arm, TC_CONS_FIX_NEW): Similarly.
+ * gas/config/tc-cr16.c (cr16_cons_fix_new): Similarly.
+ * gas/config/tc-cr16.h (cr16_cons_fix_new, TC_CONS_FIX_NEW): Similarly.
+ * gas/config/tc-crx.h (TC_CONS_FIX_NEW): Similarly.
+ * gas/config/tc-m32c.c (m32c_cons_fix_new): Similarly.
+ * gas/config/tc-m32c.h (m32c_cons_fix_new, TC_CONS_FIX_NEW): Similarly.
+ * gas/config/tc-mn10300.c (mn10300_cons_fix_new): Similarly.
+ * gas/config/tc-mn10300.h (mn10300_cons_fix_new, TC_CONS_FIX_NEW):
+ Similarly.
+ * gas/config/tc-ns32k.c (cons_fix_new_ns32k): Similarly.
+ * gas/config/tc-ns32k.h (cons_fix_new_ns32k): Similarly.
+ * gas/config/tc-pj.c (pj_cons_fix_new_pj): Similarly.
+ * gas/config/tc-pj.h (pj_cons_fix_new_pj, TC_CONS_FIX_NEW): Similarly.
+ * gas/config/tc-rx.c (rx_cons_fix_new): Similarly.
+ * gas/config/tc-rx.h (rx_cons_fix_new, TC_CONS_FIX_NEW): Similarly.
+ * gas/config/tc-sh.c (sh_cons_fix_new): Similarly.
+ * gas/config/tc-sh.h (sh_cons_fix_new, TC_CONS_FIX_NEW): Similarly.
+ * gas/config/tc-tic54x.c (tic54x_cons_fix_new): Similarly.
+ * gas/config/tc-tic54x.h (tic54x_cons_fix_new, TC_CONS_FIX_NEW):
+ Similarly.
+ * gas/config/tc-tic6x.c (tic6x_cons_fix_new): Similarly.
+ * gas/config/tc-tic6x.h (tic6x_cons_fix_new, TC_CONS_FIX_NEW):
+ Similarly.
+ * gas/config/tc-arc.c (arc_parse_cons_expression): Return reloc.
+ * gas/config/tc-arc.h (arc_parse_cons_expression): Update proto.
+ * gas/config/tc-avr.c (exp_mod_data): Make global.
+ (pexp_mod_data): Delete.
+ (avr_parse_cons_expression): Return exp_mod_data pointer.
+ (avr_cons_fix_new): Add exp_mod_data_t pointer param.
+ (exp_mod_data_t): Move typedef..
+ * gas/config/tc-avr.h: ..to here.
+ (exp_mod_data): Declare.
+ (TC_PARSE_CONS_RETURN_TYPE, TC_PARSE_CONS_RETURN_NONE): Define.
+ (avr_parse_cons_expression, avr_cons_fix_new): Update prototype.
+ (TC_CONS_FIX_NEW): Update.
+ * gas/config/tc-hppa.c (hppa_field_selector): Delete static var.
+ (cons_fix_new_hppa): Add hppa_field_selector param.
+ (fix_new_hppa): Adjust.
+ (parse_cons_expression_hppa): Return field selector.
+ * gas/config/tc-hppa.h (parse_cons_expression_hppa): Update proto.
+ (cons_fix_new_hppa): Likewise.
+ (TC_PARSE_CONS_RETURN_TYPE, TC_PARSE_CONS_RETURN_NONE): Define.
+ * gas/config/tc-i386.c (got_reloc): Delete static var.
+ (x86_cons_fix_new): Add reloc param.
+ (x86_cons): Return got reloc.
+ * gas/config/tc-i386.h (x86_cons, x86_cons_fix_new): Update proto.
+ (TC_CONS_FIX_NEW): Add RELOC param.
+ * gas/config/tc-ia64.c (ia64_cons_fix_new): Add reloc param. Adjust
+ calls.
+ * gas/config/tc-ia64.h (ia64_cons_fix_new): Update prototype.
+ (TC_CONS_FIX_NEW): Add reloc param.
+ * gas/config/tc-microblaze.c (parse_cons_expression_microblaze):
+ Return reloc.
+ (cons_fix_new_microblaze): Add reloc param.
+ * gas/config/tc-microblaze.h: Formatting.
+ (parse_cons_expression_microblaze): Update proto.
+ (cons_fix_new_microblaze): Likewise.
+ * gas/config/tc-nios2.c (nios2_tls_ldo_reloc): Delete static var.
+ (nios2_cons): Return ldo reloc.
+ (nios2_cons_fix_new): Delete.
+ * gas/config/tc-nios2.h (nios2_cons): Update prototype.
+ (nios2_cons_fix_new, TC_CONS_FIX_NEW): Delete.
+ * gas/config/tc-ppc.c (md_pseudo_table): Remove quad, long, word,
+ short. Make llong use cons.
+ (ppc_elf_suffix): Return BFD_RELOC_NONE rather than BFD_RELOC_UNUSED.
+ (ppc_elf_cons): Delete.
+ (ppc_elf_parse_cons): New function.
+ (ppc_elf_validate_fix): Don't check for BFD_RELOC_UNUSED.
+ (md_assemble): Use BFD_RELOC_NONE rather than BFD_RELOC_UNUSED.
+ * gas/config/tc-ppc.h (TC_PARSE_CONS_EXPRESSION): Define
+ (ppc_elf_parse_cons): Declare.
+ * gas/config/tc-sparc.c (sparc_cons_special_reloc): Delete static var.
+ (sparc_cons): Return reloc specifier.
+ (cons_fix_new_sparc): Add reloc specifier param.
+ (sparc_cfi_emit_pcrel_expr): Use emit_expr_with_reloc.
+ * gas/config/tc-sparc.h (TC_PARSE_CONS_RETURN_TYPE): Define.
+ (TC_PARSE_CONS_RETURN_NONE): Define.
+ (sparc_cons, cons_fix_new_sparc): Update prototype.
+ * gas/config/tc-v850.c (hold_cons_reloc): Delete static var.
+ (v850_reloc_prefix): Use BFD_RELOC_NONE rather than BFD_RELOC_UNUSED.
+ (md_assemble): Likewise.
+ (parse_cons_expression_v850): Return reloc.
+ (cons_fix_new_v850): Add reloc parameter.
+ * gas/config/tc-v850.h (parse_cons_expression_v850): Update proto.
+ (cons_fix_new_v850): Likewise.
+ * gas/config/tc-vax.c (vax_cons_special_reloc): Delete static var.
+ (vax_cons): Return reloc.
+ (vax_cons_fix_new): Add reloc parameter.
+ * gas/config/tc-vax.h (vax_cons, vax_cons_fix_new): Update proto.
+ * gas/config/tc-xstormy16.c (xstormy16_cons_fix_new): Add reloc param.
+ * gas/config/tc-xstormy16.h (xstormy16_cons_fix_new): Update proto.
+ * gas/dwarf2dbg.c (TC_PARSE_CONS_RETURN_NONE): Provide default.
+ (emit_fixed_inc_line_addr): Adjust exmit_expr_fix calls.
+ * gas/read.c (TC_PARSE_CONS_EXPRESSION): Return value.
+ (do_parse_cons_expression): Adjust.
+ (cons_worker): Pass return value from TC_PARSE_CONS_EXPRESSION
+ to emit_expr_with_reloc.
+ (emit_expr_with_reloc): New function handling reloc, mostly
+ extracted from..
+ (emit_expr): ..here.
+ (emit_expr_fix): Add reloc param. Adjust TC_CONS_FIX_NEW invocation.
+ Handle reloc.
+ (parse_mri_cons): Convert to ISO.
+ * gas/read.h (TC_PARSE_CONS_RETURN_TYPE): Define.
+ (TC_PARSE_CONS_RETURN_NONE): Define.
+ (emit_expr_with_reloc): Declare.
+ (emit_expr_fix): Update prototype.
+ * gas/write.c (write_object_file): Update TC_CONS_FIX_NEW invocation.
+
+
+ * config/tc-i386.c (cpu_arch): Add .se1.
+ * doc/c-i386.texi: Document .se1/se1.
+
+
+ * config/tc-rl78.c (md_apply_fix): Add overflow warnings for
+ pc-relative branches.
+
+
+ PR gas/16765
+ * config/tc-arm.c (create_unwind_entry): Report an error if an
+ attempt to recreate an unwind directive is encountered.
+
* config/tc-score.c (s3_parse_pce_inst): Add "%s" parameter to