+
+ * config/tc-mips.c (mips_cpu_info_table): Add entry for Broadcom XLP.
+ * doc/c-mips.texi: Mention XLP.
+
+
+ [SH] Support the .uaquad and .8byte directives also for non-sh64
+ configurations.
+
+ * config/tc-sh.c (sh_cons_fix_new, md_apply_fix) [!HAVE_SH64]: Handle
+ BFD_RELOC_64.
+ * doc/c-sh64.texi (SH64 Machine Directives): Move .uaquad
+ description...
+ * doc/c-sh.texi (SH Machine Directives): ... here.
+
+
+ * config/tc-arm.c (do_vmrs): Accept priviledged mode VFP system
+ registers.
+ (do_vmsr): Likewise.
+ (arm_opcode_insns): Do not default to using the FPSCR register in
+ the VMRS and VMSR registers.
+
+
+ * config/tc-i386.h [TE_NACL] (ELF_TARGET_FORMAT32, ELF_TARGET_FORMAT64):
+ Define for this case.
+ * configure.tgt (i386-*-nacl*): If ${cpu} is x86_64*, default to x32.
+
+
+ * config/tc-arm.c (aeabi_set_public_attributes): Correct
+ handling of Tag_DIV_use.
+
+
+ * doc/as.texinfo (Bundle directives): Fix typo.
+
+
+ * doc/as.texinfo (Bundle directives): Replace @defn with @dfn.
+
+
+ * config/tc-arm.c (arm_frag_max_var): New function.
+ * config/tc-arm.h: Declare it.
+ (md_frag_max_var): New macro.
+
+ * config/tc-i386.c (i386_frag_max_var): New function.
+ * config/tc-i386.h: Declare it.
+ (md_frag_max_var): New macro.
+
+ * doc/as.texinfo (Bundle directives): New node.
+ (Pseudo Ops): Add it to the menu.
+ * NEWS: Mention new feature.
+ * read.c [md_frag_max_var] (HANDLE_BUNDLE): New macro.
+ [HANDLE_BUNDLE] (bundle_align_p2): New variable.
+ [HANDLE_BUNDLE] (bundle_lock_frchain, bundle_lock_frag): New variables.
+ [HANDLE_BUNDLE] (start_bundle, pending_bundle_size, finish_bundle):
+ New functions.
+ (assemble_one): New function if [HANDLE_BUNDLE], #define directly
+ to md_assembly if not.
+ (read_a_source_file): Call assemble_one in place of md_assemble.
+ (read_a_source_file) [HANDLE_BUNDLE]: Check for unterminated
+ .bundle_lock at end of processing.
+ [HANDLE_BUNDLE] (s_bundle_align_mode, s_bundle_lock, s_bundle_unlock):
+ New functions.
+ [HANDLE_BUNDLE] (potable): Add their entries.
+ * read.h: Declare new functions.
+
+
+ * config/tc-ppc.c (md_show_usage): Document -me5500 and -me6500.
+ (ppc_handle_align): Add termination nop opcode for e500mc family.
+ * doc/as.texinfo: Document options -me5500 and -me6500.
+ * doc/c-ppc.texi: Likewise.
+
+
+ * config/tc-mn10300.c (other_registers): Add SSP and USP.
+ (md_assemble): Add support for TLS relocs.
+ (mn10300_parse_name): Likewise.
+
+
+ * config/tc-crx.c (check_range): Correct uint32_t misconceptions.
+
+
+ * config/tc-tic4x.c (tic4x_do_align): Remove ATTRIBUTE_UNUSED on
+ params. Properly generate NOP pattern. Comment reason for
+ subseg_text_p failure.
+
+
+ * config/tc-h8300.c (constant_fits_width_p): Trim constant to 32 bits
+ and sign extend before range tests.
+ (constant_fits_size_p): Similarly.
+ (get_specific): Trim X_add_number to 32 bits.
+ (fix_operand_size): Likewise, and use unsigned test for signed
+ ranges.
+
+
+ * config/tc-crx.c: Include bfd_stdint.h.
+ (getconstant): Remove irrelevant comment. Don't fail due to
+ sign-extension of int mask.
+ (check_range): Rewrite using unsigned arithmetic throughout.
+
+
+ * tc-tilepro.c (emit_tilepro_instruction): Check if symbol is
+ non-local before checking sy_value.
+ * tc-tilegx.c (emit_tilegx_instruction): Ditto.
+
+
+ * tc-tilepro.c (O_tls_le): Define operator.
+ (O_tls_le_lo16): Ditto.
+ (O_tls_le_hi16): Ditto.
+ (O_tls_le_ha16): Ditto.
+ (O_tls_gd_call): Ditto.
+ (O_tls_gd_add): Ditto.
+ (O_tls_ie_load): Ditto.
+ (md_begin): Delete old operators; handle new operators.
+ (emit_tilepro_instruction): Ditto.
+ (md_apply_fix): Ditto.
+ * tc-tilegx.c (O_hw1_got): Delete operator.
+ (O_hw2_got): Ditto.
+ (O_hw3_got): Ditto.
+ (O_hw2_last_got): Ditto.
+ (O_hw1_tls_gd): Ditto.
+ (O_hw2_tls_gd): Ditto.
+ (O_hw3_tls_gd): Ditto.
+ (O_hw2_last_tls_gd): Ditto.
+ (O_hw1_tls_ie): Ditto.
+ (O_hw2_tls_ie): Ditto.
+ (O_hw3_tls_ie): Ditto.
+ (O_hw2_last_tls_ie): Ditto.
+ (O_hw0_tls_le): Define operator.
+ (O_hw0_last_tls_le): Ditto.
+ (O_hw1_last_tls_le): Ditto.
+ (O_tls_gd_call): Ditto.
+ (O_tls_gd_add): Ditto.
+ (O_tls_ie_load): Ditto.
+ (O_tls_add): Ditto.
+ (md_begin): Delete old operators; handle new operators.
+ (emit_tilegx_instruction): Ditto.
+ (md_apply_fix): Ditto.
+ * doc/c-tilegx.texi: Delete old operators; document new operators.
+ * doc/c-tilepro.texi: Ditto.
+
+
+ * tc-tilepro.c (apply_special_operator): delete cases for
+ got and tls operators.
+ (md_apply_fix): Ditto.
+ * tc-tilegx.c (md_begin): Set architecture and machine.
+ (tilegx_target_format): Handle big endian.
+ (OPTION_EB): Define.
+ (OPTION_EL): Define.
+ (md_longopts): Add entries for "EB" and "EL".
+ (md_parse_option): Handle OPTION_EB and OPTION_EL.
+ (md_show_usage): Add -EB and -EL.
+ (md_number_to_chars): New.
+ (apply_special_operator): delete cases for got and tls
+ operators.
+ (md_apply_fix): Ditto.
+ * tc-tilegx.h (TARGET_BYTES_BIG_ENDIAN): Guard definition with
+ ifndef.
+ (md_number_to_chars): Delete.
+ * configure.tgt (tilegx*be): Handle.
+ * doc/as.texinfo [TILE-Gx]: Document -EB and -EL.
+ * doc/c-tilegx.texi: Ditto.
+
+
+ * config/tc-i386.c (check_hle): Use HLEPrefixNone, HLEPrefixLock,
+ HLEPrefixAny and HLEPrefixRelease.
+
+
+ * gas/config/tc-arm.h (DOUBLESLASH_LINE_COMMENTS): Define.
+
+
+ * write.c (write_object_file): Add md_pre_output_hook.
+ * config/obj-macho.c (obj_mach_o_check_before_writing): New.
+ (obj_mach_o_pre_output_hook): New.
+ * config/obj-macho.h (md_pre_output_hook): Define.
+ (obj_mach_o_pre_output_hook): Declare.
+
+
+ * config/tc-i386.h (OBJ_MACH_O): New section.
+ (TC_FORCE_RELOCATION): Use obj_mach_o_force_reloc.
+ (TC_FORCE_RELOCATION_SUB_SAME): New
+ (TC_FORCE_RELOCATION_SUB_LOCAL): New.
+ (TC_VALIDATE_FIX_SUB): New.
+ * frags.h (struct frag): OBJ_FRAG_TYPE, new field.
+ * symbols.c (colon): obj_frob_colon: New hook.
+ * write.c (write_object_file): md_pre_relax_hook, new
+ hook.
+ * config/obj-macho.c (obj_mach_o_frob_colon): New.
+ (obj_mach_o_frob_label): Record sub-section labels.
+ (obj_mach_o_frob_symbol): Rename from obj_macho_frob_symbol.
+ (obj_mach_o_set_subsections): New.
+ (obj_mach_o_pre_relax_hook): New.
+ (obj_mach_o_in_different_subsection): New.
+ (obj_mach_o_force_reloc_sub_same): New.
+ (obj_mach_o_force_reloc_sub_local): New.
+ (obj_mach_o_force_reloc): New.
+ * config/obj-macho.h (OBJ_SYMFIELD_TYPE): New.
+ (obj_frob_colon): New Define.
+ (obj_mach_o_frob_label): Renamed.
+ (obj_mach_o_frob_symbol): Renamed.
+ (OBJ_FRAG_TYPE): New.
+ (obj_mach_o_in_different_subsection, obj_mach_o_force_reloc,
+ obj_mach_o_force_reloc_sub_same,
+ obj_mach_o_force_reloc_sub_local): New declarations.
+
+
+ * config/obj-macho.c (obj_mach_o_is_frame_section): New.
+ (obj_mach_o_allow_local_subtract): New.
+ * config/obj-macho.h (md_allow_local_subtract): Define.
+ (obj_mach_o_allow_local_subtract): Declare.
+
+
+ * config/obj-macho.c (obj_mach_o_make_or_get_sect): In the absence of
+ canonical information, try to determine CODE and DEBUG section flags
+ from the mach-o section data.
+
+
+ * cgen.c (gas_cgen_parse_operand): Do not set BSF_RELC flag on
+ local symbols.
+
+
+ * config/obj-macho.c (obj_mach_o_indirect_symbol): Force promotion of
+ any local symbol used as an indirect.
+
+
+ * config/obj-macho.c (obj_mach_o_make_or_get_sect): Always fill in
+ stub size when provided. (obj_mach_o_section): Flag that stub-size
+ has been provided.
+
+
+ * config/tc-i386.c (HLE_PREFIX): New.
+ (check_hle): Likewise.
+ (_i386_insn): Add have_hle.
+ (cpu_arch): Add .hle and .rtm.
+ (md_assemble): Call check_hle if i.have_hle isn't zero.
+ (parse_insn): Set i.have_hle to 1 for HLE prefix.
+ (output_jump): Support up to 2 byte opcode.
+
+ * doc/c-i386.texi: Document hle/.hle and rtm/.rtm.
+
+
+ * config/obj-macho.c (obj_mach_o_zerofill): Silent
+ uninitialized variable warning.
+
+
+ PR gas/13224
+ * config/obj-elf.c (obj_elf_parse_section_letters): Rename 'clone'
+ to 'is_clone' to avoid shadowing a gloabl.
+ (obj_elf_section): Likewise.
+
+
+ * doc/c-tic6x.c: Fix typo.
+
+
+ PR gas/13624
+ * app.c (app_push): Set 'add_newlines' to zero after saving.
+
+
+ * config/rl78-parse.y (NOT1): Add.
+
+
+ * configure.tgt (i386-*-nacl*): Match it.
+ * config/te-nacl.h: New file.
+ * config/tc-i386.h [TE_NACL] (ELF_TARGET_FORMAT): Define for this case.
+ * config/tc-i386.c [TE_NACL] (i386_comment_chars, PREFIX_SEPARATOR):
+ Use TE_GNU et al case for TE_NACL too.
+
+
+ * config/tc-i386.c (_i386_insn): Replace disp32_encoding with
+ disp_encoding.
+ (md_assemble): Updated.
+ (output_branch): Likewise.
+ (parse_insn): Support .d8 suffix.
+ (build_modrm_byte): Fake zero displacement for .d8 and .d32
+ suffixes.
+
+ * doc/c-i386.texi: Document .d8 suffix.
+
+
+ * write.c (fix_new_internal): Don't mark used parameter as unused.
+
+
+ * as.c (parse_args): Update copyright message year.
+
+
+ * config/tc-i386.c (cpu_arch): Add ".vmfunc".
+
+ * doc/c-i386.texi: Document vmfunc.
+
+
+ * config/obj-macho.c (obj_mach_o_reorder_section_relocs): New.
+ * config/obj-macho.h (SET_SECTION_RELOCS): Define.
+ (obj_mach_o_reorder_section_relocs): Declare.
+
+
+ * config/obj-macho.c (obj_mach_o_set_indirect_symbols): Handle
+ absolute indirect symbols.
+
+
+ * config/obj-macho.c (obj_mach_o_set_vma_data): New type.
+ (obj_mach_o_set_section_vma): New.
+ (obj_mach_o_post_relax_hook): New.
+ * config/obj-macho.h (md_post_relax_hook): Define.
+ (obj_mach_o_post_relax_hook): Declare.
+
+
+ * config/obj-macho.c (obj_mach_o_set_symbol_qualifier): Switch off
+ lazy when the symbol is private_extern.
+ (obj_mach_o_indirect_sym): New type.
+ (obj_mach_o_indirect_symbol): New.
+ (mach_o_pseudo_table): Use obj_mach_o_indirect_symbol.
+ (obj_macho_frob_label): Adjust to avoid adding bsyms for locals.
+ (obj_macho_frob_label): Likewise. Adjust external and comm
+ symbol tests.
+ (obj_mach_o_set_indirect_symbols): New.
+ (obj_mach_o_frob_file_after_relocs): New.
+ *config/obj-macho.h (obj_frob_file_after_relocs): Define.
+ (obj_mach_o_frob_file_after_relocs): Declare.
+
+
+ PR gas/13591
+ * config/obj-coff.h (sy_obj): Rename macro to avoid a name conflict.
+
+
+ * struc-symbol.h (struct symbol_flags): New struct, created from...
+ (struct symbol): ... this one. Add sy_flags field, remove flag fields.
+ (struct local_symbol): Replace lsy_marker field by lsy_flags.
+ Adjust comment.
+ (local_symbol_resolved_p): Adjust.
+ (local_symbol_mark_resolved): Likewise.
+ * symbols.c (LOCAL_SYMBOL_CHECK): Adjust.
+ (local_symbol_make, local_symbol_convert, colon)
+ (symbol_clone_if_forward_ref, verify_symbol_chain)
+ (resolve_symbol_value, snapshot_symbol, S_GET_VALUE)
+ (S_IS_WEAKREFR, S_IS_WEAKREFD, S_IS_VOLATILE, S_IS_FORWARD_REF)
+ (S_SET_WEAKREFR, S_CLEAR_WEAKREFR, S_SET_WEAKREFD)
+ (S_CLEAR_WEAKREFD, S_SET_VOLATILE, S_CLEAR_VOLATILE)
+ (S_SET_FORWARD_REF, symbol_same_p, symbol_mark_used)
+ (symbol_clear_used, symbol_used_p, symbol_mark_used_in_reloc)
+ (symbol_clear_used_in_reloc, symbol_used_in_reloc_p)
+ (symbol_mark_mri_common, symbol_clear_mri_common)
+ (symbol_mri_common_p, symbol_mark_written, symbol_clear_written)
+ (symbol_written_p, symbol_mark_resolved, symbol_resolved_p)
+ (symbol_equated_reloc_p, dot_symbol_init)
+ (print_symbol_value_1): Adjust.
+
+
+ * config/obj-macho.c (obj_mach_o_weak): Remove.
+ (obj_mach_o_common_parse): Set symbol qualifiers.
+ (LAZY, REFE): New macros.
+ (obj_mach_o_symbol_type): New enum.
+ (obj_mach_o_set_symbol_qualifier): New.
+ (obj_mach_o_sym_qual): New.
+ (mach_o_pseudo_table): Add symbol qualifiers, set indirect_symbol to
+ a dummy function.
+ (obj_mach_o_type_for_symbol): New.
+ (obj_macho_frob_label): New.
+ (obj_macho_frob_symbol): New.
+ * config/obj-macho.h (S_SET_ALIGN): Amend temorary var name.
+ (obj_frob_label, obj_macho_frob_label): Declare.
+ (obj_frob_symbol, obj_macho_frob_symbol): Declare.
+
+
+ * config/tc-mips.c (s_tls_rel_directive): Call mips_clear_insn_labels.
+