binutils-gdb.git
11 years agouse language of the main symbol
Tom Tromey [Wed, 7 Aug 2013 20:03:52 +0000 (20:03 +0000)]
use language of the main symbol

With "dwz -m", "main" appears in both the PU and the importing CU when
running anon-struct.exp.  However, the PU does not have a file name.
So, find_main_filename returns the empty string, making
deduce_language_from_filename return language_unknown.

This patch fixes this problem by changing gdb to use the ordinary
symbol-lookup functions to find "main"'s symbol.  Then, it examines the
symbol's language.

I think this is cleaner than the current approach.  For one thing it
avoids trying to guess the language based on the source file name,
instead deferring to the presumably more reliable debuginfo.

Another possible fix would have been to change how the file name is
found via the "qf" methods.  However, I think the approach given is
preferable for the reason outlined above.

This required a minor test suite change, as now a symtab is expanded
during the search for "main".

Built and regtested (both ways) on x86-64 Fedora 18.

* symfile.c (set_initial_language): Look up "main" symbol
and use its language.
* symtab.c (find_main_filename): Remove.
* symtab.h (find_main_filename): Remove.

* gdb.base/maint.exp: Allow zero symtabs to be expanded.

11 years agofix recursively_compute_inclusions and add dwz test case
Tom Tromey [Wed, 7 Aug 2013 19:57:51 +0000 (19:57 +0000)]
fix recursively_compute_inclusions and add dwz test case

Doug pointed out a while ago that in the final dwz -m patch, nothing
ever set symtab::user.

This patch fixes this oversight and adds a test case showing why it is
important.

Built and regtested (both ways) on x86-64 Fedora 18.
The new test unconditionally tests the partial unit machinery, which I
think is an added plus.

* dwarf2read.c (recursively_compute_inclusions): Add
"immediate_parent" argument.  Set symtab's "user" field
if not set.
(compute_symtab_includes): Update.

* gdb.dwarf2/dwz.exp: New file.

11 years agoalso filter label symbols
Tom Tromey [Wed, 7 Aug 2013 19:52:16 +0000 (19:52 +0000)]
also filter label symbols

The bug here is that, with dwz -m, a function (and a label) appear in
both a PU and a CU when running cplabel.exp.  So, a breakpoint gets
two locations:

    (gdb) break foo::bar:to_the_top
    Breakpoint 2 at 0x400503: foo::bar:to_the_top. (2 locations)

What is especially wacky is that both locations are at the same place:

    (gdb) info b
    Num     Type           Disp Enb Address            What
    1       breakpoint     keep y   <MULTIPLE>
    1.1                         y     0x000000000040051c foo::bar:get_out_of_here
    1.2                         y     0x000000000040051c foo::bar:get_out_of_here

This happens due to the weird way we run "dwz -m".
It's unclear to me that this would ever happen for real code.

While I think this borders on "diminishing returns" territory, the fix
is pretty straightforward: use the existing address-filtering function
in linespec to also filter when looking at labels.

Built and regtested (both ways) on x86-64 Fedora 18.

* linespec.c (convert_linespec_to_sals): Use maybe_add_address
when adding label symbols.

11 years agogold/
Cary Coutant [Wed, 7 Aug 2013 17:11:24 +0000 (17:11 +0000)]
gold/
Revert support for v2 DWP files:

2013-03-01  Cary Coutant  <ccoutant@google.com>

    Add dwp support for v2 DWARF package file format.
    * dwarf_reader.cc (Dwarf_info_reader::visit_type_unit): Add
    tu_length parameter.  Adjust all callers.
    * dwarf_reader.h (Dwarf_info_reader::visit_type_unit): Likewise.
    * dwp.cc: Include dwarf.h.
    (Section_bounds): New struct type.
    (Unit_set): New struct type.
    (Dwo_file::Dwo_file): Initialize new data member.
    (Dwo_file::read_compunit_index, Dwo_file::read_typeunit_index):
    Combine and rename to...
    (Dwo_file::read_unit_index): ...this.
    (Dwo_file::sized_read_compunit_index)
    (Dwo_file::sized_read_typeunit_index): Combine and rename to...
    (Dwo_file::sized_read_unit_index): ...this.
    (Dwo_file::copy_section): Remove section_name, is_str_offsets
    parameters; add section_id parameter.
    (Dwo_file::add_cu_set, Dwo_file::add_tu_set): Combine and rename to...
    (Dwo_file::add_unit_set): ...this.
    (Dwo_file::shndx_map_): Remove.
    (Dwo_file::sect_offsets_): New data member.
    (Dwp_output_file::Dwp_output_file): Initialize new data members.
    (Dwp_output_file::add_section): Rename to...
    (Dwp_output_file::add_contribution): ...this.
    (Dwp_output_file::add_cu_set): Combine parameters into a struct.
    (Dwp_output_file::add_tu_set): Likewise.
    (Dwp_output_file::Contribution): New type.
    (Dwp_output_file::Section::contributions): New data member.
    (Dwp_output_file::Cu_or_tu_set): Remove.
    (Dwp_output_file::Section::Section): New ctor.
    (Dwp_output_file::Dwp_index::Shndx_pool): Remove.
    (Dwp_output_file::Dwp_index::Section_table): New type.
    (Dwp_output_file::Dwp_index::Dwp_index): Initialize new data members.
    (Dwp_output_file::Dwp_index::enter_set): Change type of "set"
    parameter.
    (Dwp_output_file::Dwp_index::shndx_pool): Remove.
    (Dwp_output_file::Dwp_index::shndx_pool_end): Remove.
    (Dwp_output_file::Dwp_index::section_table): New member function.
    (Dwp_output_file::Dwp_index::section_table_end): New member function.
    (Dwp_output_file::Dwp_index::shndx_pool_size): Remove.
    (Dwp_output_file::Dwp_index::section_table_rows): New member function.
    (Dwp_output_file::Dwp_index::section_table_cols): New member function.
    (Dwp_output_file::Dwp_index::shndx_pool_): Remove.
    (Dwp_output_file::Dwp_index::section_table_): New data member.
    (Dwp_output_file::Dwp_index::section_mask_): New data member.
    (Dwp_output_file::add_output_section): New member function.
    (Dwp_output_file::write_new_section): New member function.
    (Dwp_output_file::write_contributions): New member function.
    (Dwp_output_file::section_id_map_): New data member.
    (class Dwo_id_info_reader): Remove.
    (class Unit_reader): New class.
    (get_dwarf_section_name): New function.
    (Dwo_file::read_executable): Adjust initializations of class data.
    (Dwo_file::read): Add support for v2 package file format.
    (Dwo_file::read_unit_index): Likewise.
    (Dwo_file::sized_read_unit_index): Likewise.
    (Dwo_file::copy_section): Likewise.
    (Dwo_file::add_unit_set): Likewise.
    (Dwp_output_file::add_output_section): Likewise.
    (Dwp_output_file::add_contribution): Likewise.
    (Dwp_output_file::Dwp_index::find_or_add): Use row index to check
    for empty slot.
    (Dwp_output_file::Dwp_index::enter_set): Add support for v2 package
    file format.
    (Dwp_output_file::Dwp_index::grow): Use row index to check for empty
    slot.
    (Dwp_output_file::initialize): Remove unused function.
    (Dwp_output_file::finalize): Add support for v2 package file format.
    (Dwp_output_file::write_index): Likewise.
    * gdb-index.cc (Gdb_index_info_reader::visit_type_unit): Adjust
    function prototype.

11 years agomerge from gcc
DJ Delorie [Wed, 7 Aug 2013 15:04:28 +0000 (15:04 +0000)]
merge from gcc

11 years ago2013-08-07 Raunaq Bathija <raunaq12@in.ibm.com>
Ulrich Weigand [Wed, 7 Aug 2013 14:42:34 +0000 (14:42 +0000)]
2013-08-07  Raunaq Bathija  <raunaq12@in.ibm.com>
    Ulrich Weigand  <uweigand@de.ibm.com>

* configure.tgt (powerpc64-*-aix*): Match powerpc64 running aix.
* configure.host (powerpc64-*-aix*): Likewise.

11 years ago2013-08-07 Raunaq Bathija <raunaq12@in.ibm.com>
Ulrich Weigand [Wed, 7 Aug 2013 14:39:57 +0000 (14:39 +0000)]
2013-08-07  Raunaq Bathija  <raunaq12@in.ibm.com>
    Ulrich Weigand  <uweigand@de.ibm.com>

* gdb_ptrace.h: Use ptrace64 instead of ptrace if HAVE_PTRACE64
is defined.
* rs6000-nat.c: Check for __ld_info64_ if compiling 64 BIT gdb.
(rs6000_ptrace32): Call ptrace64 instead of ptrace if present.
(rs6000_ptrace64): Call ptace64 instead of ptracex if present.
* configure.ac: Check for ptrace64.
* configure, config.in: Regenerate.

11 years ago2013-08-07 Raunaq Bathija <raunaq12@in.ibm.com>
Ulrich Weigand [Wed, 7 Aug 2013 13:24:26 +0000 (13:24 +0000)]
2013-08-07  Raunaq Bathija  <raunaq12@in.ibm.com>
    Ulrich Weigand  <uweigand@de.ibm.com>

* aixthread.c: Call ptrace64 instead of ptracex if defined.
Call ptrace64 instead of ptrace if defined.
Add macro addr_ptr to take care of ptrace address argument.
(pdc_read_regs): Likewise.
(pdc_write_regs): Likewise.
(aix_thread_resume): Likewise.
(fetch_regs_kernel_thread): Likewise.
(store_regs_kernel_thread): Likewise.

11 years ago2013-08-07 Anton Blanchard <anton@samba.org>
Anton Blanchard [Wed, 7 Aug 2013 08:00:55 +0000 (08:00 +0000)]
2013-08-07  Anton Blanchard  <anton@samba.org>

* MAINTAINERS: Add myself to Write After Approval.

11 years agodaily update
Alan Modra [Wed, 7 Aug 2013 00:00:04 +0000 (00:00 +0000)]
daily update

11 years agoopcodes/
Richard Sandiford [Tue, 6 Aug 2013 19:27:07 +0000 (19:27 +0000)]
opcodes/
2013-08-06  Jürgen Urban  <JuergenUrban@gmx.de>

* mips-opc.c (mips_builtin_opcodes): Add a suffixless version of
VCLIPW.

gas/
2013-08-06  Jürgen Urban  <JuergenUrban@gmx.de>

* config/tc-mips.c (match_vu0_suffix_operand): Allow single-channel
suffixes to be elided too.
(mips_lookup_insn): Don't reject INSN2_VU0_CHANNEL_SUFFIX here.
(mips_ip): Assume .xyzw if no VU0 suffix is specified.  Allow +N
to be omitted too.

gas/testsuite/
2013-08-06  Jürgen Urban  <JuergenUrban@gmx.de>

* gas/mips/r5900-error-vu0.s, gas/mips/r5900-error-vu0.l,
gas/mips/r5900-full-vu0.s, gas/mips/r5900-full-vu0.d: Allow
single-channel suffixes to be elided.

11 years agodaily update
Alan Modra [Tue, 6 Aug 2013 00:00:05 +0000 (00:00 +0000)]
daily update

11 years agobfd/
Richard Sandiford [Mon, 5 Aug 2013 21:58:23 +0000 (21:58 +0000)]
bfd/
2013-08-05  John Tytgat  <john@bass-software.com>

* po/BLD-POTFILES.in: Regenerate.
* po/SRC-POTFILES.in: Likewise.

gas/
2013-08-05  John Tytgat  <john@bass-software.com>

* po/POTFILES.in: Regenerate.

gprof/
2013-08-05  John Tytgat  <john@bass-software.com>

* po/POTFILES.in: Regenerate.

11 years ago * sparc-opc.c (v9andleon): Fix thinko.
Eric Botcazou [Mon, 5 Aug 2013 17:04:08 +0000 (17:04 +0000)]
* sparc-opc.c (v9andleon): Fix thinko.

11 years agomore add_target removals
Tom Tromey [Mon, 5 Aug 2013 16:54:27 +0000 (16:54 +0000)]
more add_target removals

This removes a few more erroneous calls to add_target.  These calls
end up installing the target in a user-visible way; but these targets
are all auto-activated and, I think, should never be explicitly
requested.

I have no way to test these.

* aix-thread.c (_initialize_aix_thread): Use
complete_target_initialization.
* bsd-uthread.c (_initialize_bsd_uthread): Use
complete_target_initialization.
* dec-thread.c (_initialize_dec_thread): Use
complete_target_initialization.
* ravenscar-thread.c (_initialize_ravenscar): Use
complete_target_initialization.
* sol-thread.c (_initialize_sol_thread): Use
complete_target_initialization.
* spu-multiarch.c (_initialize_spu_multiarch): Use
complete_target_initialization.

11 years agogas/
Eric Botcazou [Mon, 5 Aug 2013 16:11:07 +0000 (16:11 +0000)]
gas/
* config/tc-sparc.c (sparc_arch_types): Add leon.
(sparc_arch): Move sparc4 around and add leon.
(sparc_target_format): Document -Aleon.
* doc/c-sparc.texi: Likewise.
include/
* opcode/sparc.h (sparc_opcode_arch_val): Add SPARC_OPCODE_ARCH_LEON.
opcodes/
* sparc-dis.c (compute_arch_mask): Set SPARC_OPCODE_ARCH_LEON bit for
bfd_mach_sparc.
* sparc-opc.c (MASK_LEON): Define.
(v6, v6notlet, v7, v8, v6notv9): Add MASK_LEON.
(letandleon): New macro.
(v9andleon): Likewise.
(sparc_opc): Add leon.
(umac): Enable for letandleon.
(smac): Likewise.
(casa): Enable for v9andleon.
(cas): Likewise.
(casl): Likewise.

11 years agoRemove:
Mike Stump [Mon, 5 Aug 2013 16:05:32 +0000 (16:05 +0000)]
Remove:
2013-07-10  Jack Howarth  <howarth@bromo.med.uc.edu>

       PR target/57792
       * configure.ac: Use --with-sysroot=\"`xcrun --show-sdk-path`\" on darwin13 and later.
       * configure: Regenerated.

11 years agoremove msymbol_objfile
Tom Tromey [Mon, 5 Aug 2013 15:51:02 +0000 (15:51 +0000)]
remove msymbol_objfile

This is another patch in my ongoing series to "split" objfile to share
more read-only data across inferiors.  See

    http://sourceware.org/gdb/wiki/ObjfileSplitting

When symbols are finally shared, there will be no back-link from the
symbol to its containing objfile, because there may be more than one
such objfile.  So, all such back-links must be removed.

One hidden back-link is the msymbol_objfile function.  Since
(eventually) a symbol may appear in more than one objfile, trying to
look up the objfile given just a symbol cannot work.

This patch removes msymbol_objfile in favor of using a bound minimal
symbol.  It introduces a new function to make this conversion simpler
in some spots.

The bonus of this patch is that using msymbol_objfile is slower than
simply looking up the owning objfile in the first place.

Built and regtested on x86-64 Fedora 18.

* ada-exp.y (write_var_or_type): Use bound_minimal_symbol.
* ada-lang.c (ada_lookup_simple_minsym): Return
bound_minimal_symbol.
* ada-lang.h (ada_lookup_simple_minsym): Update.
* c-exp.y (variable): Use lookup_bound_minimal_symbol.
* f-exp.y (variable): Use lookup_bound_minimal_symbol.
* go-exp.y (variable): Use lookup_bound_minimal_symbol.
* jv-exp.y (push_expression_name): Use lookup_bound_minimal_symbol.
* m2-exp.y (variable): Use lookup_bound_minimal_symbol.
* minsyms.c (msymbol_objfile): Remove.
(lookup_minimal_symbol_internal): New function, from
lookup_minimal_symbol.
(lookup_minimal_symbol): Rewrite using
lookup_minimal_symbol_internal.
(lookup_bound_minimal_symbol): New function.
* minsyms.h (msymbol_objfile): Remove.
(lookup_bound_minimal_symbol): Declare.
* p-exp.y (variable): Use lookup_bound_minimal_symbol.
* parse.c (write_exp_msymbol): Change parameter to a
bound_minimal_symbol.
(write_dollar_variable): Use lookup_bound_minimal_symbol.
* parser-defs.h (write_exp_msymbol): Update.
* printcmd.c (address_info): Use lookup_bound_minimal_symbol.
* symfile.c (simple_read_overlay_table): Use
lookup_bound_minimal_symbol.
* symtab.c (skip_prologue_sal): Don't use msymbol_objfile.
(search_symbols): Likewise.
(print_msymbol_info): Take a bound_minimal_symbol argument.
(symtab_symbol_info, rbreak_command): Update.
* symtab.h (struct symbol_search) <msymbol>: Change type
to bound_minimal_symbol.
* valops.c (find_function_in_inferior): Use
lookup_bound_minimal_symbol.
* value.c (value_fn_field): Use lookup_bound_minimal_symbol.

11 years agodoc: gdbserver allows for subsequent and not for multiple simultaneous connections.
Sanimir Agovic [Mon, 5 Aug 2013 15:39:25 +0000 (15:39 +0000)]
doc: gdbserver allows for subsequent and not for multiple simultaneous connections.

doc/

2013-08-05  Sanimir Agovic  <sanimir.agovic@intel.com>

* gdb.texinfo (TCP port allocation lifecycle): Gdbserver by default
allows for subsequent and not for additional (multiple simultaneous)
        connections.

11 years agogdb/
Jan Kratochvil [Mon, 5 Aug 2013 15:03:06 +0000 (15:03 +0000)]
gdb/
Code cleanup.
* remote.c (cleanup_sigint_signal_handler): Rename the declaration
to ...
(async_cleanup_sigint_signal_handler): ... this.
(initialize_sigint_signal_handler): Remove declaration.
(handle_remote_sigint): Rename the declaration to ...
(async_handle_remote_sigint): ... this.
(handle_remote_sigint_twice): Rename the declaration to ...
(async_handle_remote_sigint_twice): ... this.
(async_remote_interrupt, async_remote_interrupt_twice)
(remote_interrupt): Remove the declarations.
(remote_interrupt_twice): Rename the declaration ...
(sync_remote_interrupt_twice): ... this.
(sigint_remote_twice_token): Rename the variable to ...
(async_sigint_remote_twice_token): ... this.
(sigint_remote_token): Rename the variable to ...
(async_sigint_remote_token): ... this.
(initialize_sigint_signal_handler): Rename the function to ...
(async_initialize_sigint_signal_handler): ... this.  Update the name
inside.
(handle_remote_sigint): Rename the function to ...
(async_handle_remote_sigint): ... this.  Update the names inside.
(handle_remote_sigint_twice): Rename the function to ...
(async_handle_remote_sigint_twice): ... this.  Update the names inside.
(cleanup_sigint_signal_handler): Rename the function to ...
(async_cleanup_sigint_signal_handler): ... this.
(remote_interrupt): Rename the function to ...
(sync_remote_interrupt): this.  Update the names inside.
(remote_interrupt_twice): Rename the function to ...
(sync_remote_interrupt_twice): this.  Update the names inside.
(remote_terminal_inferior, remote_terminal_ours, remote_wait_as)
(_initialize_remote): Update the names inside.

11 years agogas/
Richard Sandiford [Mon, 5 Aug 2013 08:31:48 +0000 (08:31 +0000)]
gas/
* config/tc-mips.c (mips_lookup_insn): Make length and opend signed.

11 years agodaily update
Alan Modra [Mon, 5 Aug 2013 00:00:05 +0000 (00:00 +0000)]
daily update

11 years agoinclude/opcode/
Richard Sandiford [Sun, 4 Aug 2013 07:31:39 +0000 (07:31 +0000)]
include/opcode/
2013-08-04  Jürgen Urban  <JuergenUrban@gmx.de>
    Richard Sandiford  <rdsandiford@googlemail.com>

* mips.h: Document new VU0 operand characters.
(OP_VU0_SUFFIX, OP_VU0_MATCH_SUFFIX): New mips_operand_types.
(OP_REG_VF, OP_REG_VI, OP_REG_R5900_I, OP_REG_R5900_Q, OP_REG_R5900_R)
(OP_REG_R5900_ACC): New mips_reg_operand_types.
(INSN2_VU0_CHANNEL_SUFFIX): New macro.
(mips_vu0_channel_mask): Declare.

opcodes/
2013-08-04  Jürgen Urban  <JuergenUrban@gmx.de>
    Richard Sandiford  <rdsandiford@googlemail.com>

* mips-dis.c (print_reg): Handle OP_REG_VI, OP_REG_VF, OP_REG_R5900_I,
OP_REG_R5900_Q, OP_REG_R5900_R and OP_REG_R5900_ACC.
(print_vu0_channel): New function.
(print_insn_arg): Handle OP_VU0_SUFFIX and OP_VU0_MATCH_SUFFIX.
(print_insn_args): Handle '#'.
(print_insn_mips): Handle INSN2_VU0_CHANNEL_SUFFIX.
* mips-opc.c (mips_vu0_channel_mask): New constant.
(decode_mips_operand): Handle new VU0 operand types.
(VU0, VU0CH): New macros.
(mips_builtin_opcodes): Add VU0 opcodes.  Use "+7" rather than "E"
for LQC2 and SQC2.  Use "+9" rather than "G" for EE CFC2 and CTC2.
Use "+6" rather than "G" for QMFC2 and QMTC2.

gas/
2013-08-04  Jürgen Urban  <JuergenUrban@gmx.de>
    Richard Sandiford  <rdsandiford@googlemail.com>

* config/tc-mips.c (MAX_OPERANDS): Bump to 6.
(RWARN): Bump to 0x8000000.
(RTYPE_VI, RTYPE_VF, RTYPE_R5900_I, RTYPE_R5900_Q, RTYPE_R5900_R)
(RTYPE_R5900_ACC): New register types.
(RTYPE_MASK): Include them.
(R5900_I_NAMES, R5900_Q_NAMES, R5900_R_NAMES, R5900_ACC_NAMES): New
macros.
(reg_names): Include them.
(mips_parse_register_1): New function, split out from...
(mips_parse_register): ...here.  Add a channels_ptr parameter.
Look for VU0 channel suffixes when nonnull.
(reg_lookup): Update the call to mips_parse_register.
(mips_parse_vu0_channels): New function.
(OT_CHANNELS, OT_DOUBLE_CHAR): New mips_operand_token_types.
(mips_operand_token): Add a "channels" field to the union.
Extend the comment above "ch" to OT_DOUBLE_CHAR.
(mips_parse_base_start): Match -- and ++.  Handle channel suffixes.
(mips_parse_argument_token): Handle channel suffixes here too.
(validate_mips_insn): Handle INSN2_VU0_CHANNEL_SUFFIX.
Ignore OP_VU0_MATCH_SUFFIX when calculating the used bits.
Handle '#' formats.
(md_begin): Register $vfN and $vfI registers.
(operand_reg_mask): Handle OP_VU0_SUFFIX and OP_VU0_MATCH_SUFFIX.
(convert_reg_type): Handle OP_REG_VI, OP_REG_VF, OP_REG_R5900_I,
OP_REG_R5900_Q, OP_REG_R5900_R and OP_REG_R5900_ACC.
(match_vu0_suffix_operand): New function.
(match_operand): Handle OP_VU0_SUFFIX and OP_VU0_MATCH_SUFFIX.
(macro): Use "+7" rather than "E" for LDQ2 and STQ2.
(mips_lookup_insn): New function.
(mips_ip): Use it.  Allow "+K" operands to be elided at the end
of an instruction.  Handle '#' sequences.

gas/testsuite/
2013-08-04  Jürgen Urban  <JuergenUrban@gmx.de>

* gas/mips/r5900-vu0.d: Expect $vfN and $viN instead of numeric
coprocessor registers.
* gas/mips/r5900-all-vu0.s, gas/mips/r5900-all-vu0.d,
gas/mips/r5900-full-vu0.s, gas/mips/r5900-full-vu0.d,
gas/mips/r5900-error-vu0.s, gas/mips/r5900-error-vu0.l: New tests.
* gas/mips/mips.exp: Run them.

11 years agodaily update
Alan Modra [Sun, 4 Aug 2013 00:00:05 +0000 (00:00 +0000)]
daily update

11 years agogas/
Richard Sandiford [Sat, 3 Aug 2013 11:11:46 +0000 (11:11 +0000)]
gas/
* config/tc-mips.c (macro, mips16_macro): Create an array of operand
values and use it instead of sreg, treg, xreg, etc.

11 years agoinclude/opcode/
Richard Sandiford [Sat, 3 Aug 2013 10:49:48 +0000 (10:49 +0000)]
include/opcode/
* mips.h (mips_pcrel_operand): Inherit from mips_int_operand.
(mips_int_operand_min, mips_int_operand_max): New functions.
(mips_decode_pcrel_operand): Use mips_decode_int_operand.

opcodes/
* mips-formats.h (PCREL): Reorder parameters and update the definition
to match new mips_pcrel_operand layout.
(JUMP, JALX, BRANCH): Update accordingly.
* mips16-opc.c (decode_mips16_operand): Likewise.

gas/
* config/tc-mips.c (match_int_operand): Use mips_int_operand_min
and mips_int_operand_max.
(mips16_immed_operand, mips16_immed_operands, MIPS16_NUM_IMMED):
Delete.
(mips16_immed_operand, mips16_immed_in_range_p): New functions.
(mips16_immed, mips16_extended_frag): Use them.  Use mips_int_operand
instead of mips16_immed_operand.

11 years agogas/
Richard Sandiford [Sat, 3 Aug 2013 10:41:13 +0000 (10:41 +0000)]
gas/
* config/tc-mips.c (mips16_macro): Don't use move_register.
(mips16_ip): Allow macros to use 'p'.

gas/testsuite/
* gas/mips/mips16-macro.s, gas/mips/mips16-macro.d: New test.
* gas/mips/mips.exp: Run it.

11 years agodaily update
Alan Modra [Sat, 3 Aug 2013 00:00:04 +0000 (00:00 +0000)]
daily update

11 years agofix PR symtab/15719
Tom Tromey [Fri, 2 Aug 2013 16:41:08 +0000 (16:41 +0000)]
fix PR symtab/15719

This patch fixes PR symtab/15719.

The bug is that "watch -location" crashes on a certain expression.

The problem is that fetch_subexp_value is catching an exception.
For ordinary watchpoints this is ok; but for location watchpoints,
it is better for the exception to propagate.

Built and regtested on x86-64 Fedora 18.
New test case included.

PR symtab/15719:
* breakpoint.c (update_watchpoint, watchpoint_check)
(watch_command_1): Update.
* eval.c (fetch_subexp_value): Add "preserve_errors"
parameter.
* ppc-linux-nat.c (check_condition): Update.
* value.h (fetch_subexp_value): Update.

* gdb.base/watchpoint.c (struct foo5): New.
(nullptr): New global.
* gdb.base/watchpoint.exp (test_watch_location): Add test.

11 years agoRemove duplicate call to add_file_handler.
Andrew Burgess [Fri, 2 Aug 2013 10:31:40 +0000 (10:31 +0000)]
Remove duplicate call to add_file_handler.

  http://sourceware.org/ml/gdb-patches/2013-08/msg00067.html

This call to add_file_handler is a duplicate of one that is in
gdb_setup_readline that is always executed.

gdb/ChangeLog

        * mi/mi-interp.c (mi_interpreter_resume): Remove call to
        add_file_handler.

11 years ago PR symtab/15691
Doug Evans [Fri, 2 Aug 2013 00:33:07 +0000 (00:33 +0000)]
PR symtab/15691
* dwarf2read.c (struct dwarf2_per_cu_data): New member tu_read.
(fill_in_sig_entry_from_dwo_entry): Reorganize asserts.
Add assert of sig_entry->dwo_unit == NULL.
(lookup_dwo_signatured_type): Don't assign TU to a DWO if the TU
had already been read.
(read_signatured_type): Set per_cu.tu_read.

testsuite/
* gdb.dwarf2/fission-mix.exp: New file.
* gdb.dwarf2/fission-mix.h: New file.
* gdb.dwarf2/fission-mix.c: New file.
* gdb.dwarf2/fission-mix2.c: New file.

11 years agodaily update
Alan Modra [Fri, 2 Aug 2013 00:00:04 +0000 (00:00 +0000)]
daily update

11 years ago PR symtab/15695
Doug Evans [Thu, 1 Aug 2013 23:59:48 +0000 (23:59 +0000)]
PR symtab/15695
* valops.c (value_struct_elt): Add missing call to check_typedef.
(value_find_oload_method_list): Ditto.

testsuite/
* gdb.base/func-ptr.exp: New file.
* gdb.base/func-ptr.c: New file.

11 years ago * symtab.c (do_free_search_symbols_cleanup): Change arg to,
Doug Evans [Thu, 1 Aug 2013 23:47:02 +0000 (23:47 +0000)]
* symtab.c (do_free_search_symbols_cleanup): Change arg to,
effectively, struct symbol_search **.
(make_cleanup_free_search_symbols): Change arg to struct
symbol_search **.  All callers updated.
(compare_search_syms): Compare symtab file name and block as well.
(search_symbols_equal): New function.
(sort_search_symbols_remove_dups): Renamed from sort_search_symbols.
New args new_head, new_tail.  Result is now void.  Remove dups after
sorting the symbols.
(search_symbols): Sort all found symbols once, after all have been
found, and remove duplicates.  Simplify cleanup tracking of result.
* symtab.h (make_cleanup_free_search_symbols): Update prototype.

11 years ago Further workarounds for binutils/15021.
Doug Evans [Thu, 1 Aug 2013 23:35:04 +0000 (23:35 +0000)]
Further workarounds for binutils/15021.
* dwarf2read.c (recursively_compute_inclusions): Change type of result
parameter to VEC (symtab_ptr) **.  New parameter all_type_symtabs.
Watch for duplicate symtabs coming from type units.
(compute_symtab_includes): Update call to
recursively_compute_inclusions. Build vector of included symtabs
instead of per_cus.
* symtab.h (symtab_ptr): New typedef.
(DEF_VEC_P (symtab_ptr)): New VEC type.
* linespec.c (symtab_p): Delete.  All uses updated to use symtab_ptr
instead.

11 years agoopcodes/
Richard Sandiford [Thu, 1 Aug 2013 22:33:24 +0000 (22:33 +0000)]
opcodes/
* micromips-opc.c (WR_s): Delete.

11 years agoinclude/opcode/
Richard Sandiford [Thu, 1 Aug 2013 20:55:25 +0000 (20:55 +0000)]
include/opcode/
* mips.h (mips_decode_reg_operand): New function.
(INSN_WRITE_SHIFT, INSN_WRITE_1, INSN_WRITE_2, INSN_WRITE_ALL)
(INSN_READ_SHIFT, INSN_READ_1, INSN_READ_2, INSN_READ_3, INSN_READ_4)
(INSN_READ_ALL, INSN_READ_GPR_24, INSN_WRITE_GPR_24, INSN_UDI):
New macros.
(INSN_WRITE_GPR_D, INSN_WRITE_GPR_T, INSN_WRITE_FPR_D)
(INSN_WRITE_FPR_S, INSN_WRITE_FPR_T, INSN_READ_GPR_S, INSN_READ_GPR_T)
(INSN_READ_FPR_S, INSN_READ_FPR_T, INSN_READ_FPR_R, INSN_WRITE_GPR_S)
(INSN2_WRITE_GPR_Z, INSN2_WRITE_FPR_Z, INSN2_READ_GPR_Z)
(INSN2_READ_FPR_Z, INSN2_READ_GPR_D, INSN2_READ_FPR_D)
(INSN2_WRITE_GPR_MB, INSN2_READ_GPR_MC, INSN2_MOD_GPR_MD)
(INSN2_READ_GPR_ME, INSN2_MOD_GPR_MF, INSN2_READ_GPR_MG)
(INSN2_READ_GPR_MJ, INSN2_WRITE_GPR_MJ, INSN2_READ_GPR_MP)
(INSN2_WRITE_GPR_MP, INSN2_READ_GPR_MQ, INSN2_READ_GP)
(INSN2_WRITE_GPR_MH, INSN2_READ_GPR_MMN): Delete.  Renumber other
macros to cover the gaps.
(INSN2_MOD_SP): Replace with...
(INSN2_WRITE_SP, INSN2_READ_SP): ...these new macros.
(MIPS16_INSN_WRITE_X, MIPS16_INSN_WRITE_Y, MIPS16_INSN_WRITE_Z)
(MIPS16_INSN_WRITE_T, MIPS16_INSN_WRITE_31, MIPS16_INSN_WRITE_GPR_Y)
(MIPS16_INSN_READ_X, MIPS16_INSN_READ_Y, MIPS16_INSN_READ_Z)
(MIPS16_INSN_READ_T, MIPS16_INSN_READ_SP, MIPS16_INSN_READ_GPR_X):
Delete.

opcodes/
* mips-opc.c (WR_1, WR_2, RD_1, RD_2, RD_3, RD_4, MOD_1, MOD_2, UDI):
New macros.
(WR_d, WR_t, WR_D, WR_T, WR_S, RD_s, RD_b, RD_t, RD_S, RD_T, RD_R)
(WR_z, WR_Z, RD_z, RD_Z, RD_d): Delete.
(mips_builtin_opcodes): Use the new position-based read-write flags
instead of field-based ones.  Use UDI for "udi..." instructions.
* mips16-opc.c (WR_1, WR_2, RD_1, RD_2, RD_3, RD_4, MOD_1, MOD_2):
New macros.
(WR_x, WR_y, WR_z, WR_Y, RD_x, RD_y, RD_Z, RD_X): Delete.
(RD_T, WR_T, WR_31): Redefine using generic INSN_* flags.
(WR_SP, RD_16): New macros.
(RD_SP): Redefine as an INSN2_* flag.
(MOD_SP): Redefine in terms of RD_SP and WR_SP.
(mips16_opcodes): Use the new position-based read-write flags
instead of field-based ones.  Use RD_16 for "nop".  Move RD_SP to
pinfo2 field.
* micromips-opc.c (WR_1, WR_2, RD_1, RD_2, RD_3, RD_4, MOD_1, MOD_2):
New macros.
(WR_mb, RD_mc, RD_md, WR_md, RD_me, RD_mf, WR_mf, RD_mg, WR_mh, RD_mj)
(WR_mj, RD_ml, RD_mmn, RD_mp, WR_mp, RD_mq, RD_gp, WR_d, WR_t, WR_D)
(WR_T, WR_S, RD_s, RD_b, RD_t, RD_T, RD_S, RD_R, RD_D): Delete.
(RD_sp, WR_sp): Redefine to INSN2_READ_SP and INSN2_WRITE_SP.
(micromips_opcodes): Use the new position-based read-write flags
instead of field-based ones.
* mips-dis.c (print_insn_arg): Use mips_decode_reg_operand.
(print_insn_mips, print_insn_micromips): Use INSN_WRITE_1 instead
of field-based flags.

gas/
* config/tc-mips.c (MAX_OPERANDS): New macro.
(mips_operand_array): New structure.
(mips_operands, mips16_operands, micromips_operands): New arrays.
(micromips_to_32_reg_b_map, micromips_to_32_reg_c_map)
(micromips_to_32_reg_e_map, micromips_to_32_reg_f_map)
(micromips_to_32_reg_g_map, micromips_to_32_reg_l_map)
(micromips_to_32_reg_q_map): Delete.
(insn_operands, insn_opno, insn_extract_operand): New functions.
(validate_mips_insn): Take a mips_operand_array as argument and
use it to build up a list of operands.  Extend to handle INSN_MACRO
and MIPS16.
(validate_mips16_insn): New function.
(validate_micromips_insn): Take a mips_operand_array as argument.
Handle INSN_MACRO.
(md_begin): Initialize mips_operands, mips16_operands and
micromips_operands.  Call validate_mips_insn and
validate_micromips_insn for macro instructions too.
Call validate_mips16_insn for MIPS16 instructions.
(insn_read_mask, insn_write_mask, operand_reg_mask, insn_reg_mask):
New functions.
(gpr_read_mask, gpr_write_mask, fpr_read_mask, fpr_write_mask): Use
them.  Handle INSN_UDI.
(get_append_method): Use gpr_read_mask.

11 years agoinclude/opcode/
Richard Sandiford [Thu, 1 Aug 2013 20:40:24 +0000 (20:40 +0000)]
include/opcode/
* mips.h (MIPS16_INSN_WRITE_SP, MIPS16_INSN_READ_31)
(MIPS16_INSN_READ_PC, MIPS16_INSN_UNCOND_BRANCH)
(MIPS16_INSN_COND_BRANCH): Delete.

opcodes/
* mips16-opc.c (UBR, CBR, RD_31, RD_PC): Redefine as INSN2_* flags.
(WR_SP): Replace with...
(MOD_SP): ...this.
(mips16_opcodes): Update accordingly.
* mips-dis.c (print_insn_mips16): Likewise.

gas/
* config/tc-mips.c (compact_branch_p, uncond_branch_p): Use the same
flags for MIPS16 and non-MIPS16 instructions.
(gpr_mod_mask): Move the INSN2_MOD_SP case outside the micromips block.
(gpr_read_mask): Use INSN2_READ_GPR_31 for MIPS16 instructions too.
(gpr_write_mask): Remove MIPS16_INSN_WRITE_SP handling.
(can_swap_branch_p, get_append_method): Use the same flags for MIPS16
and non-MIPS16 instructions.  Fix formatting.

11 years agoopcodes/
Richard Sandiford [Thu, 1 Aug 2013 20:35:11 +0000 (20:35 +0000)]
opcodes/
* mips16-opc.c (mips16_opcodes): Reformat.

11 years agogas/
Richard Sandiford [Thu, 1 Aug 2013 20:32:59 +0000 (20:32 +0000)]
gas/
* config/tc-mips.c (reg_needs_delay): Move later in file.
Use gpr_write_mask.
(insns_between): Use gpr_read_mask instead of EXTRACT_OPERAND.

11 years agoopcodes/
Richard Sandiford [Thu, 1 Aug 2013 20:30:02 +0000 (20:30 +0000)]
opcodes/
* mips-opc.c (mips_builtin_opcodes): Remove WR_* and RD_* flags
for operands that are hard-coded to $0.
* micromips-opc.c (micromips_opcodes): Likewise.

11 years agoopcodes/
Richard Sandiford [Thu, 1 Aug 2013 20:25:30 +0000 (20:25 +0000)]
opcodes/
* mips-opc.c (mips_builtin_opcodes): Use WR_31 rather than WR_d
for the single-operand forms of JALR and JALR.HB.
* micromips-opc.c (micromips_opcodes): Likewise JALR, JALRS, JALR.HB
and JALRS.HB.

11 years agoopcodes/
Richard Sandiford [Thu, 1 Aug 2013 20:20:49 +0000 (20:20 +0000)]
opcodes/
* mips-opc.c (mips_builtin_opcodes): Add FP_D to VR5400 vector
instructions.  Fix them to use WR_MACC instead of WR_CC and
add missing RD_MACCs.

11 years agoRemove error_pre_print and quit_pre_print.
Andrew Burgess [Thu, 1 Aug 2013 09:09:58 +0000 (09:09 +0000)]
Remove error_pre_print and quit_pre_print.

  http://sourceware.org/ml/gdb-patches/2013-07/msg00844.html

gdb/ChangeLog

        * cli/cli-script.c (script_from_file): Remove use of
        error_pre_print.
        * main.c (captured_main): Remove use of error_pre_print and
        quit_pre_print.
        * utils.c (error_pre_print, quit_pre_print): Remove.
        * utils.h (error_pre_print, quit_pre_print): Likewise.

11 years agoopcodes/
Richard Sandiford [Thu, 1 Aug 2013 07:13:21 +0000 (07:13 +0000)]
opcodes/
* mips-dis.c (print_mips16_insn_arg): Include ISA bit in base address.

11 years agogdb/
Yao Qi [Thu, 1 Aug 2013 06:42:59 +0000 (06:42 +0000)]
gdb/
* mi/mi-cmd-stack.c (mi_cmd_stack_list_locals): Parse argv
with mi_getopt.
(mi_cmd_stack_list_variables): Likewise.

11 years agogdb/testsuite/
Yao Qi [Thu, 1 Aug 2013 06:38:28 +0000 (06:38 +0000)]
gdb/testsuite/

* gdb.python/py-sync-interp.c: New.
* gdb.python/py-sync-interp.exp: New.

11 years agodaily update
Alan Modra [Thu, 1 Aug 2013 00:00:04 +0000 (00:00 +0000)]
daily update

11 years agogold/
Cary Coutant [Wed, 31 Jul 2013 18:47:50 +0000 (18:47 +0000)]
gold/
* object.cc (Sized_relobj::do_output_section_address): New function.
(Sized_relobj): Instantiate explicitly.
* object.h (Object::output_section_address): New function.
(Object::do_output_section_address): New function.
(Sized_relobj::do_output_section_address): New function.
* powerpc.cc (Target_powerpc::symval_for_branch): Use it.

11 years ago PR ld/15787
Nick Clifton [Wed, 31 Jul 2013 16:26:02 +0000 (16:26 +0000)]
PR ld/15787
* elf32-arm.c (elf32_arm_final_link_relocate): Base SB on the
output section VMA.

* ld-arm/group-relocs-alu-bad-2.d; New.
* ld-arm/group-relocs-alu-bad-2.s: New.
* ld-arm/group-relocs-ldc-bad-2.d: New.
* ld-arm/group-relocs-ldc-bad-2.s: New.
* ld-arm/group-relocs-ldr-bad-2.d: New.
* ld-arm/group-relocs-ldr-bad-2.s: New.
* ld-arm/group-relocs-ldrs-bad-2.d: New.
* ld-arm/group-relocs-ldrs-bad-2: New.
* ld-arm/arm-elf.exp: Add the new tests.
* ld-arm/group-relocs-ldr-bad.d: Update expected output.
* ld-arm/group-relocs-ldr-bad.s: Likewise.
* ld-arm/group-relocs-ldrs-bad.d: Likewise.
* ld-arm/group-relocs-ldrs-bad.s: Likewise.
* ld-arm/group-relocs.d: Likewise.
* ld-arm/group-relocs.s: Likewise.

11 years agoRemove deprecated_throw_reason.
Andrew Burgess [Wed, 31 Jul 2013 15:44:52 +0000 (15:44 +0000)]
Remove deprecated_throw_reason.

  http://sourceware.org/ml/gdb-patches/2013-07/msg00779.html

gdb/ChangeLog

        * exceptions.c (deprecated_throw_reason): Remove.
        * exceptions.h (deprecated_throw_reason): Remove.

11 years agoRemove deprecated_throw_reason from mips_error.
Andrew Burgess [Wed, 31 Jul 2013 15:36:49 +0000 (15:36 +0000)]
Remove deprecated_throw_reason from mips_error.

  http://sourceware.org/ml/gdb-patches/2013-07/msg00777.html

gdb/ChangeLog

        * remote-mips.c (mips_error): Replace use of
        deprecated_throw_reason with throw_verror.  Use the error message
        passed to mips_error as the error message for throw_verror.

11 years agoReplace most uses of deprecated_throw_reason with quit.
Andrew Burgess [Wed, 31 Jul 2013 12:44:33 +0000 (12:44 +0000)]
Replace most uses of deprecated_throw_reason with quit.

  http://sourceware.org/ml/gdb-patches/2013-07/msg00778.html

gdb/ChangeLog

        * monitor.c (monitor_interrupt_query): Replace use of
        deprecated_throw_reason with quit.
        * nto-procfs.c (interrupt_query): Likewise.
        * remote-fileio.c (remote_fileio_sig_exit): Likewise.
        * remote-mips.c (mips_kill): Likewise.
        * remote.c (interrupt_query): Likewise.

11 years agoRemove deprecated_throw_reason from internal_verror.
Andrew Burgess [Wed, 31 Jul 2013 10:51:42 +0000 (10:51 +0000)]
Remove deprecated_throw_reason from internal_verror.

  http://sourceware.org/ml/gdb-patches/2013-07/msg00776.html

gdb/ChangeLog

        * utils.c (internal_verror): Replace use of deprecated_throw_reason
        with call to fatal.

11 years agogdb/
Yao Qi [Wed, 31 Jul 2013 00:44:42 +0000 (00:44 +0000)]
gdb/

* tracepoint.c (trace_dump_command): Select the current frame.

gdb/testsuite/

* gdb.trace/backtrace.exp (gdb_backtrace_tdp_4): Test command
'tdump' on stack frame 0 and 1 respectively.

11 years agogdb/testsuite/
Yao Qi [Wed, 31 Jul 2013 00:38:40 +0000 (00:38 +0000)]
gdb/testsuite/

PR gdb/13443
* gdb.trace/backtrace.exp (gdb_backtrace_tdp_3): Add parameter
'traceframe'.  Wrap test with with_test_prefix.
(top level): Update.

11 years agogdb/testsuite/
Yao Qi [Wed, 31 Jul 2013 00:36:22 +0000 (00:36 +0000)]
gdb/testsuite/

* gdb.trace/backtrace.exp: Don't invoke 'get_exit' and
'gdb_start'.
Invoke 'prepare_for_testing' instead of 'gdb_compile'.
Use gdb_test_no_output to issue commands 'tstart' and 'tstop'.

11 years ago * dwarf2read.c (process_queue): Add type signature to debug output.
Doug Evans [Wed, 31 Jul 2013 00:30:18 +0000 (00:30 +0000)]
* dwarf2read.c (process_queue): Add type signature to debug output.

11 years agodaily update
Alan Modra [Wed, 31 Jul 2013 00:00:05 +0000 (00:00 +0000)]
daily update

11 years agoAdd missing author to last ChangeLog entry.
Cary Coutant [Tue, 30 Jul 2013 21:29:50 +0000 (21:29 +0000)]
Add missing author to last ChangeLog entry.

11 years ago gold/
Cary Coutant [Tue, 30 Jul 2013 21:26:53 +0000 (21:26 +0000)]
gold/
     * parameters.cc (Parameters::entry): Return target-specific entry
     symbol name.
     * target.h (Target::entry_symbol_name): New function.
     (Target_info::entry_symbol_name): New data member.

     * arm.cc (Target_arm::arm_info): Add entry_symbol_name.
     (Target_arm_nacl::arm_nacl_info): Likewise.
     * i386.cc (Target_i386::i386_info): Likewise.
     (Target_i386_nacl::i386_nacl_info): Likewise.
     * powerpc.cc (Target_powerpc::powerpc_info): Likewise.
     * sparc.cc (Target_sparc::sparc_info): Likewise.
     * tilegx.cc (Target_tilegx::tilegx_info): Likewise.
     * x86_64.cc: (Target_x86_64::x86_64_info) Likewise.
     (Target_x86_64_nacl::x86_64_nacl_info) Likewise.
     * testsuite/testfile.cc (Target_test::test_target_info): Likewise.

11 years agoDon't raise an error for optimized out sub-fields.
Andrew Burgess [Tue, 30 Jul 2013 15:36:18 +0000 (15:36 +0000)]
Don't raise an error for optimized out sub-fields.

  http://sourceware.org/ml/gdb-patches/2013-07/msg00317.html

gdb/ChangeLog

        * value.c (value_fetch_lazy): Mark optimized out values as such
        rather than raising an error.

gdb/testsuite/ChangeLog

        * gdb.dwarf2/pieces-optimized-out.exp: Expect "<optimized out>"
        when printing an optimized out value.  Expect an error when using
        an optimized out value in an expression.

11 years agovalue_fetch_lazy, ensure parent is not lazy and check parent for validity.
Andrew Burgess [Tue, 30 Jul 2013 15:05:01 +0000 (15:05 +0000)]
value_fetch_lazy, ensure parent is not lazy and check parent for validity.

  http://sourceware.org/ml/gdb-patches/2013-07/msg00316.html

gdb/ChangeLog

        * value.c (value_fetch_lazy): Ensure parent value is not lazy
        before checking which bits of the parent, not the child, value are
        valid.

gdb/testsuite/ChangeLog

        * gdb.dwarf2/pieces-optimized-out.exp: New file.
        * gdb.dwarf2/pieces-optimized-out.c: New file.
        * gdb.dwarf2/pieces-optimized-out.S: New file.

11 years ago2013-07-30 Muhammad Bilal <mbilal@codesorcery.com>
Muhammad Bilal [Tue, 30 Jul 2013 12:06:04 +0000 (12:06 +0000)]
2013-07-30  Muhammad Bilal  <mbilal@codesorcery.com>

        PR gdb/15715
        * top.c: Include "filenames.h".
        (set_history_filename): New function.
        (init_main): Install it as set hook of the "set history filename"
        command.
2013-07-30  Muhammad Bilal  <mbilal@codesourcery.com>

        PR gdb/15715
        * gdb.base/setshow.exp: Test that relative paths passed to
        'set history filename' are converted to absolute paths.

11 years agocleanup: constify "struct attribute" function parameter
Sanimir Agovic [Tue, 30 Jul 2013 08:36:13 +0000 (08:36 +0000)]
cleanup: constify "struct attribute" function parameter

gdb/

2013-07-30  Sanimir Agovic  <sanimir.agovic@intel.com>

* dwarf2read.c (dwarf2_get_ref_die_offset): Constify struct
attribute parameter.
(dwarf2_const_value_data): Constify struct attribute parameter.
(dwarf2_const_value): Constify struct attribute parameter.
(dwarf2_const_value_attr): Constify struct attribute parameter.
(lookup_die_type): Constify struct attribute parameter.
(dwarf2_get_attr_constant_value): Constify struct attribute parameter.
(follow_die_ref_or_sig): Constify struct attribute parameter.
(follow_die_ref): Constify struct attribute parameter.
(follow_die_sig): Constify struct attribute parameter.
(get_DW_AT_signature_type): Constify struct attribute parameter.
(get_type_unit_group): Constify struct attribute parameter.
(fill_in_loclist_baton): Constify struct attribute parameter.
(dwarf2_symbol_mark_computed): Constify struct attribute parameter.
(type_unit_group): Constify struct attribute parameter.

11 years agocleanup: constify argument passed to dwarf form predicates
Sanimir Agovic [Tue, 30 Jul 2013 08:31:36 +0000 (08:31 +0000)]
cleanup: constify argument passed to dwarf form predicates

2013-07-30  Sanimir Agovic  <sanimir.agovic@intel.com>

gdb/
* dwarf2read.c (attr_form_is_block): Make argument const.
(attr_form_is_section_offset): Make argument const.
(attr_form_is_constant): Make argument const.
(attr_form_is_ref): Make argument const.

11 years agocleanup: rename is_ref_attr to attr_form_is_ref
Sanimir Agovic [Tue, 30 Jul 2013 08:17:05 +0000 (08:17 +0000)]
cleanup: rename is_ref_attr to attr_form_is_ref

2013-07-30  Sanimir Agovic  <sanimir.agovic@intel.com>

gdb/
* dwarf2read.c (attr_is_ref): Rename to attr_form_is_ref.
All uses updated.
(attr_form_is_ref): Moved below attr_form_is_constant.

11 years agoopcodes/
Peter Bergner [Tue, 30 Jul 2013 02:26:09 +0000 (02:26 +0000)]
opcodes/
* ppc-dis.c (powerpc_init_dialect): Use ppc_parse_cpu() to set dialect.

11 years agodaily update
Alan Modra [Tue, 30 Jul 2013 00:00:05 +0000 (00:00 +0000)]
daily update

11 years ago * main.c (captured_command_loop): Tweak comment.
Doug Evans [Mon, 29 Jul 2013 21:41:30 +0000 (21:41 +0000)]
* main.c (captured_command_loop): Tweak comment.

11 years ago * target.c (target_async_permitted_1): Fix comment.
Doug Evans [Mon, 29 Jul 2013 21:27:46 +0000 (21:27 +0000)]
* target.c (target_async_permitted_1): Fix comment.

11 years ago * symtab.c (iterate_over_some_symtabs): Add comment.
Doug Evans [Mon, 29 Jul 2013 20:15:47 +0000 (20:15 +0000)]
* symtab.c (iterate_over_some_symtabs): Add comment.

11 years ago * symtab.c (iterate_over_some_symtabs): Fix indentation.
Doug Evans [Mon, 29 Jul 2013 20:04:16 +0000 (20:04 +0000)]
* symtab.c (iterate_over_some_symtabs): Fix indentation.

11 years ago2013-07-22 Sterling Augustine <saugustine@google.com>
Sterling Augustine [Mon, 29 Jul 2013 18:29:12 +0000 (18:29 +0000)]
2013-07-22  Sterling Augustine  <saugustine@google.com>

* dwarf_reader.cc (Dwarf_pubnames_table::read_section):
Convert parameter shndx to local variable. Add parameters symtab
and symtab_size.  Scan over section names.  Find relocation
section corresponding to current section.  Create and initialize
reloc_mapper_ and reloc_type_.
(Dwarf_pubnames_table::read_header):  Add assertion.  Change
unit_length to off_t.  Initialize member unit_length_.  Fill in field
cu_offset_.
* dwarf_reader.h (Dwarf_pubnames_table::Dwarf_pubnames_table):
Initialize new fields unit_length_ and cu_offset_.
(Dwarf_pubnames_table::read_section): Update prototype.
(Dwarf_pubnames_table::cu_offset): New member function.
(Dwarf_pubnames_table::subsection_size): Likewise.
(Dwarf_pubnames_table::cu_offset_, Dwarf_pubnames_table::unit_length):
New fields.
(Dwarf_info_reader::symtab, Dwarf_info_reader::symtab_size): Make
member functions public.
* gdb_index.cc (Gdb_index_info_reader::read_pubnames_and_pubtypes):
Update comment.  Rework logic.  Move repeated parts to...
(Gdb_index_info_reader::read_pubtable): ...here. New function.
(Gdb_index::Gdb_index): Initialize new fields, pubnames_table_,
pubtypes_table_, and stmt_list_offset.
(Gdb_index::map_pubtable_to_dies, Gdb_index::find_pubname_offset,
Gdb_index::find_pubtype_offset,
Gdb_index::map_pubnames_and_types_to_dies): Define new functions.
(Gdb_index::pubnames_read): Update prototype and rework logic.
* gdb_index.h (Gdb_index_info_reader, Dwarf_pubnames_table):
Forward declare.
(Gdb_index::map_pubtable_to_dies, Gdb_index::find_pubname_offset,
Gdb_index::find_pubtype_offset, Gdb_index::pubnames_table)
Gdb_index::pubtypes_table, Gdb_index::map_pubnames_and_types_to_dies,
Gdb_index::map_pubtable_to_dies):
Declare functions.
(Gdb_index::pubnames_read): Update declaration.
(Gdb_index::Pubname_offset_map): New type.
(Gdb_index::cu_pubname_map_, Gdb_index::cu_pubtype_map_,
Gdb_index::pubnames_table_, Gdb_index::pubtypes_table_,
Gdb_index::stmt_list_offset): Declare.
(Gdb_index::pubnames_shndx_, Gdb_index::pubnames_offet_,
Gdb_index::pubtypes_object_, Gdb_index::pubtypes_shndx_)
Gdb_index::pubtypes_offset_): Remove.

11 years agodaily update
Alan Modra [Mon, 29 Jul 2013 00:00:04 +0000 (00:00 +0000)]
daily update

11 years ago * elf64-hppa.c (elf64_hppa_finish_dynamic_sections)
Maciej W. Rozycki [Sun, 28 Jul 2013 23:05:18 +0000 (23:05 +0000)]
* elf64-hppa.c (elf64_hppa_finish_dynamic_sections)
<DT_HP_LOAD_MAP>: Return unsuccessfully if there's no `.data'
section.

11 years ago2013-07-27 Andrew Pinski <apinski@cavium.com>
Andrew Pinski [Sun, 28 Jul 2013 03:29:41 +0000 (03:29 +0000)]
2013-07-27  Andrew Pinski  <apinski@cavium.com>

* elfnn-aarch64.c (elfNN_aarch64_check_relocs):
Use the correct alignment for
_bfd_elf_make_dynamic_reloc_section for ILP32.

11 years agodaily update
Alan Modra [Sun, 28 Jul 2013 00:00:04 +0000 (00:00 +0000)]
daily update

11 years ago2013-07-27 Andrew Pinski <apinski@cavium.com>
Andrew Pinski [Sat, 27 Jul 2013 23:58:43 +0000 (23:58 +0000)]
2013-07-27  Andrew Pinski  <apinski@cavium.com>

* elfnn-aarch64.c (elfNN_aarch64_howto_from_bfd_reloc): Handle
BFD_RELOC_AARCH64_NONE explicitly.

11 years ago * elf32-vax.c (elf_vax_finish_dynamic_sections): Don't set GOT's
Maciej W. Rozycki [Sat, 27 Jul 2013 22:38:50 +0000 (22:38 +0000)]
* elf32-vax.c (elf_vax_finish_dynamic_sections): Don't set GOT's
entry size if there is no ELF section data.

11 years ago * ld-vax-elf/export-class-call.dd: New test.
Maciej W. Rozycki [Sat, 27 Jul 2013 22:28:29 +0000 (22:28 +0000)]
* ld-vax-elf/export-class-call.dd: New test.
* ld-vax-elf/export-class-call.rd: New test.
* ld-vax-elf/export-class-call.xd: New test.
* ld-vax-elf/export-class-data.dd: New test.
* ld-vax-elf/export-class-data.rd: New test.
* ld-vax-elf/export-class-data.xd: New test.
* ld-vax-elf/export-class.ld: New test linker script.
* ld-vax-elf/export-class-call.s: New test source.
* ld-vax-elf/export-class-data.s: New test source.
* ld-vax-elf/export-class-def.s: New test source.
* ld-vax-elf/vax-elf.exp: Run the new tests.
* ld-vax-elf/vax-export-class.rd: New test.
* ld-vax-elf/vax-export-class.xd: New test.
* ld-vax-elf/export-class.exp: New test script.

11 years ago bfd/
Maciej W. Rozycki [Sat, 27 Jul 2013 22:21:11 +0000 (22:21 +0000)]
bfd/
* elf32-vax.c (elf_vax_check_relocs) <R_VAX_GOT32, R_VAX_PLT32>:
Don't check symbol visibility here.  Remove a check already
asserted for.
(elf_vax_instantiate_got_entries): Use SYMBOL_REFERENCES_LOCAL
instead of individual checks.
(elf_vax_relocate_section) <R_VAX_GOT32, R_VAX_PLT32>: Only
check the offset to decide if produce a GOT or PLT entry.
Remove redundant assertions.  Remove code to produce GOT entries
for local symbols.  Remove a duplicate comment and add a comment
on GOT relocations.
(elf_vax_finish_dynamic_symbol): Remove code to produce RELATIVE
dynamic relocs.

ld/testsuite/
* ld-vax-elf/got-local-exe.xd: New test.
* ld-vax-elf/got-local-lib.xd: New test.
* ld-vax-elf/got-local-aux.s: New test source.
* ld-vax-elf/got-local-def.s: New test source.
* ld-vax-elf/got-local-ref.s: New test source.
* ld-vax-elf/vax-elf.exp: Run the new tests.

11 years ago * elf32-vax.c (elf_vax_always_size_sections): Correct a comment
Maciej W. Rozycki [Sat, 27 Jul 2013 19:32:53 +0000 (19:32 +0000)]
* elf32-vax.c (elf_vax_always_size_sections): Correct a comment
typo.

11 years ago * elf32-vax.c (elf_vax_discard_got_entries): New function.
Maciej W. Rozycki [Sat, 27 Jul 2013 19:17:29 +0000 (19:17 +0000)]
* elf32-vax.c (elf_vax_discard_got_entries): New function.
(elf_vax_always_size_sections): Likewise.
(elf_vax_size_dynamic_sections): Remove code moved to
elf_vax_always_size_sections.  Make comment on
elf_vax_instantiate_got_entries match reality.
(elf_vax_instantiate_got_entries): Assert that rather than check
if dynobj is null.  Don't check for dynamic_sections_created.
Make function description match reality.
(elf_backend_always_size_sections): New macro.

11 years agogdb/gdbserver/
Yao Qi [Sat, 27 Jul 2013 07:59:49 +0000 (07:59 +0000)]
gdb/gdbserver/

* Makefile.in (SFILES): Add common/mips-linux-watch.c.
(mips-linux-watch.o): New rule.
(mips_linux_watch_h): New variable.
* configure.srv <mips*-*-linux*>: Add mips-linux-watch.o to
srv_tgtobj.
* linux-mips-low.c: Include mips-linux-watch.h.
(struct arch_process_info, struct arch_lwp_info): New.
(update_watch_registers_callback): New function.
(mips_linux_new_process, mips_linux_new_thread) New functions.
(mips_linux_prepare_to_resume, mips_insert_point): New
functions.
(mips_remove_point, mips_stopped_by_watchpoint): New
functions.
(rsp_bp_type_to_target_hw_bp_type): New function.
(mips_stopped_data_address): New function.
(the_low_target): Add watchpoint support functions.

gdb/

* NEWS: Mention that GDBserver now supports hardware
watchpoints on the MIPS GNU/Linux target.

11 years agogdb/
Yao Qi [Sat, 27 Jul 2013 07:49:05 +0000 (07:49 +0000)]
gdb/

* Makefile.in (HFILES_NO_SRCDIR): Add
common/mips-linux-watch.h.
(mips-linux-watch.o): New rule.
* common/mips-linux-watch.c: New.
* common/mips-linux-watch.h: New.
* config/mips/linux.mh (NATDEPFILES): Add mips-linux-watch.o
* mips-linux-nat.c: Include mips-linux-watch.h.
(W_BIT, R_BIT, I_BIT, W_MASK, R_MASK, I_MASK, IRW_MASK): Move
to common/mips-linux-watch.h.
(MAX_DEBUG_REGISTER): Likewise.
(enum pt_watch_style): Likewise.
(struct mips32_watch_regs): Likewise.
(struct mips64_watch_regs): Likewise.
(struct pt_watch_regs): Likewise.
(struct mips_watchpoint): Likewise.
(mips_linux_watch_get_irw_mask): Move to
common/mips-linux-watch.c.
(get_reg_mask, mips_linux_watch_get_num_valid): Likewise.
(mips_linux_watch_get_watchlo): Likewise.
(mips_linux_watch_set_watchlo): Likewise.
(mips_linux_watch_get_watchhi): Likewise.
(mips_linux_watch_set_watchhi): Likewise.
(mips_linux_read_watch_registers): Likewise.
(mips_linux_watch_type_to_irw): Likewise.
(mips_linux_stopped_data_address, fill_mask): Likewise.
(mips_linux_watch_try_one_watch): Likewise.
(mips_linux_watch_populate_regs): Likewise.

11 years agogdb/
Yao Qi [Sat, 27 Jul 2013 07:32:40 +0000 (07:32 +0000)]
gdb/
* mips-linux-nat.c (get_irw_mask): Rename to ...
(mips_linux_watch_get_irw_mask): ... this.  Rename parameter
'set' to 'n'.  Update function comment.  All callers changed.
(get_reg_mask): Rename parameter 'set' to 'n'.  Update
function comment.  All callers changed.
(get_num_valid): Rename to ...
(mips_linux_watch_get_num_valid): ... this.  Rename parameter
'set' to 'n'.  Update function comment.  All callers changed.
(get_watchlo): Rename to ...
(mips_linux_watch_get_watchlo): ... this.  Rename parameter
'set' to 'n'.  Update function comment.  All callers changed.
(set_watchlo): Rename to ...
(mips_linux_watch_set_watchlo): ... this.  Rename parameter
'set' to 'n'.  Update function comment.  All callers changed.
(get_watchhi): Rename to ...
(mips_linux_watch_get_watchhi): ... this.  Update function
comment.  All callers changed.
(set_watchhi): Rename to ...
(mips_linux_watch_set_watchhi): ... this.  Update function
comment.  All callers changed.
(mips_linux_read_watch_registers): Update function comment.
Add new parameters 'lwpid', 'watch_readback', and
'watch_readback_valid'.  Update.
(type_to_irw): Rename to ...
(mips_linux_watch_type_to_irw): ... this.  Update function
comment.  All callers changed.
(fill_mask): Update function comment.
(try_one_watch): Rename to ...
(mips_linux_watch_try_one_watch): ... this.  Change the type
of parameter 'irw' from 'unsigned' to 'uint32_t'.
(populate_regs_from_watches): Rename to ...
(mips_linux_watch_populate_regs): ... this.  Add parameter
'current_watches'.  All callers changed.

11 years agogdb/
Yao Qi [Sat, 27 Jul 2013 07:27:18 +0000 (07:27 +0000)]
gdb/
* mips-linux-nat.c (MAX_DEBUG_REGISTER): Move it earlier in
the code.
(PTRACE_SET_WATCH_REGS, enum pt_watch_style): Remove.
(struct mips32_watch_regs, struct mips64_watch_regs): Remove.
(struct pt_watch_regs): Likewise.
[!PTRACE_GET_WATCH_REGS] (PTRACE_SET_WATCH_REGS): New macro.
[!PTRACE_GET_WATCH_REGS] (enum pt_watch_style): New.
[!PTRACE_GET_WATCH_REGS] (struct mips32_watch_regs): New.
[!PTRACE_GET_WATCH_REGS] (struct mips64_watch_regs): New.
[!PTRACE_GET_WATCH_REGS] (struct pt_watch_regs): New.

11 years agogdb/
Yao Qi [Sat, 27 Jul 2013 07:11:46 +0000 (07:11 +0000)]
gdb/

* breakpoint.h: Include break-common.h.
(enum target_hw_bp_type): Move to ...
* common/break-common.h: ... here.  New.

gdb/gdbserver/

* i386-low.c: Include break-common.h.
(enum target_hw_bp_type): Remove.

11 years agodaily update
Alan Modra [Sat, 27 Jul 2013 00:00:04 +0000 (00:00 +0000)]
daily update

11 years ago * gdb.mi/mi-var-child-f.exp: Pass f90 to gdb_compile instead
Keith Seitz [Fri, 26 Jul 2013 18:15:07 +0000 (18:15 +0000)]
* gdb.mi/mi-var-child-f.exp: Pass f90 to gdb_compile instead
of f77.
Allow for compiler variations of integer types.
Use mi_create_varobj.
Use mi_list_varobj_children for the immediate children of `array'.
Add "has_more" attribute for grandchildren test.

11 years agoAdd Intel AVX-512 support
H.J. Lu [Fri, 26 Jul 2013 17:20:25 +0000 (17:20 +0000)]
Add Intel AVX-512 support

binutils/

2013-07-26  Sergey Guriev  <sergey.s.guriev@intel.com>
    Alexander Ivchenko  <alexander.ivchenko@intel.com>
    Maxim Kuznetsov  <maxim.kuznetsov@intel.com>
    Sergey Lega  <sergey.s.lega@intel.com>
    Anna Tikhonova  <anna.tikhonova@intel.com>
    Ilya Tocar  <ilya.tocar@intel.com>
    Andrey Turetskiy  <andrey.turetskiy@intel.com>
    Ilya Verbin  <ilya.verbin@intel.com>
    Kirill Yukhin  <kirill.yukhin@intel.com>
    Michael Zolotukhin  <michael.v.zolotukhin@intel.com>

* dwarf.c (dwarf_regnames_i386): Add k0-k7 registers and
numeration in comments.
(dwarf_regnames_x86_64): Add xmm16-31 and k0-k7 registers to
dwarf table.

gas/

2013-07-26  Sergey Guriev  <sergey.s.guriev@intel.com>
    Alexander Ivchenko  <alexander.ivchenko@intel.com>
    Maxim Kuznetsov  <maxim.kuznetsov@intel.com>
    Sergey Lega  <sergey.s.lega@intel.com>
    Anna Tikhonova  <anna.tikhonova@intel.com>
    Ilya Tocar  <ilya.tocar@intel.com>
    Andrey Turetskiy  <andrey.turetskiy@intel.com>
    Ilya Verbin  <ilya.verbin@intel.com>
    Kirill Yukhin  <kirill.yukhin@intel.com>
    Michael Zolotukhin  <michael.v.zolotukhin@intel.com>

* config/tc-i386-intel.c (O_zmmword_ptr): New.
(i386_types): Add zmmword.
(i386_intel_simplify_register): Allow regzmm.
(i386_intel_simplify): Handle zmmwords.
(i386_intel_operand): Handle RC/SAE, vector operations and
zmmwords.
* config/tc-i386.c (ZMMWORD_MNEM_SUFFIX): New.
(struct RC_Operation): New.
(struct Mask_Operation): New.
(struct Broadcast_Operation): New.
(vex_prefix): Size of bytes increased to 4 to support EVEX
encoding.
(enum i386_error): Add new error codes: unsupported_broadcast,
broadcast_not_on_src_operand, broadcast_needed,
unsupported_masking, mask_not_on_destination, no_default_mask,
unsupported_rc_sae, rc_sae_operand_not_last_imm,
invalid_register_operand, try_vector_disp8.
(struct _i386_insn): Add new fields vrex, need_vrex, mask,
rounding, broadcast, memshift.
(struct RC_name): New.
(RC_NamesTable): New.
(evexlig): New.
(evexwig): New.
(extra_symbol_chars): Add '{'.
(cpu_arch): Add AVX512F, AVX512CD, AVX512ER and AVX512PF.
(i386_operand_type): Add regzmm, regmask and vec_disp8.
(match_mem_size): Handle zmmwords.
(operand_type_match): Handle zmm-registers.
(mode_from_disp_size): Handle vec_disp8.
(fits_in_vec_disp8): New.
(md_begin): Handle {} properly.
(type_names): Add "rZMM", "Mask reg" and "Vector d8".
(build_vex_prefix): Handle vrex.
(build_evex_prefix): New.
(process_immext): Adjust to properly handle EVEX.
(md_assemble): Add EVEX encoding support.
(swap_2_operands): Correctly handle operands with masking,
broadcasting or RC/SAE.
(check_VecOperands): Support EVEX features.
(VEX_check_operands): Properly handle 16 upper [xyz]mm registers.
(match_template): Support regzmm and handle new error codes.
(process_suffix): Handle zmmwords and zmm-registers.
(check_byte_reg): Extend to zmm-registers.
(process_operands): Extend to zmm-registers.
(build_modrm_byte): Handle EVEX.
(output_insn): Adjust to properly handle EVEX case.
(disp_size): Handle vec_disp8.
(output_disp): Support compressed disp8*N evex feature.
(output_imm): Handle RC/SAE immediates properly.
(check_VecOperations): New.
(i386_immediate): Handle EVEX features.
(i386_index_check): Handle zmmwords and zmm-registers.
(RC_SAE_immediate): New.
(i386_att_operand): Handle EVEX features.
(parse_real_register): Add a check for ZMM/Mask registers.
(OPTION_MEVEXLIG): New.
(OPTION_MEVEXWIG): New.
(md_longopts): Add mevexlig and mevexwig.
(md_parse_option): Handle mevexlig and mevexwig options.
(md_show_usage): Add description for mevexlig and mevexwig.
* doc/c-i386.texi: Document avx512f/.avx512f, avx512cd/.avx512cd,
avx512er/.avx512er, avx512pf/.avx512pf, mevexlig and mevexwig.

gas/testsuite/

2013-07-26  Sergey Guriev  <sergey.s.guriev@intel.com>
    Alexander Ivchenko  <alexander.ivchenko@intel.com>
    Maxim Kuznetsov  <maxim.kuznetsov@intel.com>
    Sergey Lega  <sergey.s.lega@intel.com>
    Anna Tikhonova  <anna.tikhonova@intel.com>
    Ilya Tocar  <ilya.tocar@intel.com>
    Andrey Turetskiy  <andrey.turetskiy@intel.com>
    Ilya Verbin  <ilya.verbin@intel.com>
    Kirill Yukhin  <kirill.yukhin@intel.com>
    Michael Zolotukhin  <michael.v.zolotukhin@intel.com>

* gas/cfi/cfi-i386.s: Add tests for k0-k7.
* gas/cfi/cfi-i386.d: Change to reflect above mentioned changes.
* gas/cfi/cfi-x86_64.s: Add tests for xmm16-31, k0-7.
* gas/cfi/cfi-x86_64.d: Change to reflect above mentioned changes.
* gas/i386/ilp32/cfi/cfi-x86_64.d: Ditto.
* gas/i386/intel-regs.s: Add tests for zmm0 and xmm16 registers.
* gas/i386/intel-regs.d: Change correspondingly.
* gas/i386/prefetch-intel.d: Reflect implementation of prefetchwt1.
* gas/i386/prefetch.d: Ditto.
* gas/i386/x86-64-prefetch-intel.d: Ditto.
* gas/i386/x86-64-prefetch.d: Ditto.
* gas/i386/avx512f-intel.d: New.
* gas/i386/avx512f-nondef.d: New.
* gas/i386/avx512f-nondef.s: New.
* gas/i386/avx512f-opts-intel.d: New.
* gas/i386/avx512f-opts.d: New.
* gas/i386/avx512f-opts.s: New.
* gas/i386/avx512f.d: New.
* gas/i386/avx512f.s: New.
* gas/i386/avx512cd-intel.d: New.
* gas/i386/avx512cd.d: New.
* gas/i386/avx512cd.s: New.
* gas/i386/avx512er-intel.d: New.
* gas/i386/avx512er.d: New.
* gas/i386/avx512er.s: New.
* gas/i386/avx512pf-intel.d: New.
* gas/i386/avx512pf.d: New.
* gas/i386/avx512pf.s: New.
* gas/i386/evex-lig.s: New.
* gas/i386/evex-lig256-intel.d: New.
* gas/i386/evex-lig256.d: New.
* gas/i386/evex-lig512-intel.d: New.
* gas/i386/evex-lig512.d: New.
* gas/i386/evex-wig.s: New.
* gas/i386/evex-wig1-intel.d: New.
* gas/i386/evex-wig1.d: New.
* gas/i386/inval-avx512f.l: New.
* gas/i386/inval-avx512f.s: New.
* gas/i386/x86-64-avx512f-intel.d: New.
* gas/i386/x86-64-avx512f-nondef.d: New.
* gas/i386/x86-64-avx512f-nondef.s: New.
* gas/i386/x86-64-avx512f-opts-intel.d: New.
* gas/i386/x86-64-avx512f-opts.d: New.
* gas/i386/x86-64-avx512f-opts.s: New.
* gas/i386/x86-64-avx512f.d: New.
* gas/i386/x86-64-avx512f.s: New.
* gas/i386/x86-64-avx512cd-intel.d: New.
* gas/i386/x86-64-avx512cd.d: New.
* gas/i386/x86-64-avx512cd.s: New.
* gas/i386/x86-64-avx512er-intel.d: New.
* gas/i386/x86-64-avx512er.d: New.
* gas/i386/x86-64-avx512er.s: New.
* gas/i386/x86-64-avx512pf-intel.d: New.
* gas/i386/x86-64-avx512pf.d: New.
* gas/i386/x86-64-avx512pf.s: New.
* gas/i386/x86-64-evex-lig.s: New.
* gas/i386/x86-64-evex-lig256-intel.d: New.
* gas/i386/x86-64-evex-lig256.d: New.
* gas/i386/x86-64-evex-lig512-intel.d: New.
* gas/i386/x86-64-evex-lig512.d: New.
* gas/i386/x86-64-evex-wig.s: New.
* gas/i386/x86-64-evex-wig1-intel.d: New.
* gas/i386/x86-64-evex-wig1.d: New.
* gas/i386/x86-64-inval-avx512f.l: New.
* gas/i386/x86-64-inval-avx512f.s: New.
* gas/i386/i386.exp: Run new AVX-512 tests.

opcodes/

2013-07-26  Sergey Guriev  <sergey.s.guriev@intel.com>
    Alexander Ivchenko  <alexander.ivchenko@intel.com>
    Maxim Kuznetsov  <maxim.kuznetsov@intel.com>
    Sergey Lega  <sergey.s.lega@intel.com>
    Anna Tikhonova  <anna.tikhonova@intel.com>
    Ilya Tocar  <ilya.tocar@intel.com>
    Andrey Turetskiy  <andrey.turetskiy@intel.com>
    Ilya Verbin  <ilya.verbin@intel.com>
    Kirill Yukhin  <kirill.yukhin@intel.com>
    Michael Zolotukhin  <michael.v.zolotukhin@intel.com>

* i386-dis-evex.h: New.
* i386-dis.c (OP_Rounding): New.
(VPCMP_Fixup): New.
(OP_Mask): New.
(Rdq): New.
(XMxmmq): New.
(EXdScalarS): New.
(EXymm): New.
(EXEvexHalfBcstXmmq): New.
(EXxmm_mdq): New.
(EXEvexXGscat): New.
(EXEvexXNoBcst): New.
(VPCMP): New.
(EXxEVexR): New.
(EXxEVexS): New.
(XMask): New.
(MaskG): New.
(MaskE): New.
(MaskR): New.
(MaskVex): New.
(modes enum): Add evex_x_gscat_mode, evex_x_nobcst_mode,
evex_half_bcst_xmmq_mode, xmm_mdq_mode, ymm_mode,
evex_rounding_mode, evex_sae_mode, mask_mode.
(USE_EVEX_TABLE): New.
(EVEX_TABLE): New.
(EVEX enum): New.
(REG enum): Add REG_EVEX_0F72, REG_EVEX_0F73, REG_EVEX_0F38C6,
REG_EVEX_0F38C7.
(MOD enum): Add MOD_EVEX_0F10_PREFIX_1, MOD_EVEX_0F10_PREFIX_3,
MOD_EVEX_0F11_PREFIX_1, MOD_EVEX_0F11_PREFIX_3,
MOD_EVEX_0F12_PREFIX_0, MOD_EVEX_0F16_PREFIX_0, MOD_EVEX_0F38C6_REG_1,
MOD_EVEX_0F38C6_REG_2, MOD_EVEX_0F38C6_REG_5, MOD_EVEX_0F38C6_REG_6,
MOD_EVEX_0F38C7_REG_1, MOD_EVEX_0F38C7_REG_2,  MOD_EVEX_0F38C7_REG_5,
MOD_EVEX_0F38C7_REG_6.
(PREFIX enum): Add PREFIX_VEX_0F41, PREFIX_VEX_0F42, PREFIX_VEX_0F44,
PREFIX_VEX_0F45, PREFIX_VEX_0F46, PREFIX_VEX_0F47, PREFIX_VEX_0F4B,
PREFIX_VEX_0F90, PREFIX_VEX_0F91, PREFIX_VEX_0F92, PREFIX_VEX_0F93,
PREFIX_VEX_0F98, PREFIX_VEX_0F3A30, PREFIX_VEX_0F3A32,
PREFIX_VEX_0F3AF0, PREFIX_EVEX_0F10, PREFIX_EVEX_0F11,
PREFIX_EVEX_0F12, PREFIX_EVEX_0F13, PREFIX_EVEX_0F14,
PREFIX_EVEX_0F15, PREFIX_EVEX_0F16, PREFIX_EVEX_0F17,
PREFIX_EVEX_0F28, PREFIX_EVEX_0F29, PREFIX_EVEX_0F2A,
PREFIX_EVEX_0F2B, PREFIX_EVEX_0F2C, PREFIX_EVEX_0F2D,
PREFIX_EVEX_0F2E, PREFIX_EVEX_0F2F, PREFIX_EVEX_0F51,
PREFIX_EVEX_0F58, PREFIX_EVEX_0F59, PREFIX_EVEX_0F5A,
PREFIX_EVEX_0F5B, PREFIX_EVEX_0F5C, PREFIX_EVEX_0F5D,
PREFIX_EVEX_0F5E, PREFIX_EVEX_0F5F, PREFIX_EVEX_0F62,
PREFIX_EVEX_0F66, PREFIX_EVEX_0F6A, PREFIX_EVEX_0F6C,
PREFIX_EVEX_0F6D, PREFIX_EVEX_0F6E, PREFIX_EVEX_0F6F,
PREFIX_EVEX_0F70, PREFIX_EVEX_0F72_REG_0, PREFIX_EVEX_0F72_REG_1,
PREFIX_EVEX_0F72_REG_2, PREFIX_EVEX_0F72_REG_4,
PREFIX_EVEX_0F72_REG_6, PREFIX_EVEX_0F73_REG_2,
PREFIX_EVEX_0F73_REG_6, PREFIX_EVEX_0F76, PREFIX_EVEX_0F78,
PREFIX_EVEX_0F79, PREFIX_EVEX_0F7A, PREFIX_EVEX_0F7B,
PREFIX_EVEX_0F7E, PREFIX_EVEX_0F7F, PREFIX_EVEX_0FC2,
PREFIX_EVEX_0FC6, PREFIX_EVEX_0FD2, PREFIX_EVEX_0FD3,
PREFIX_EVEX_0FD4, PREFIX_EVEX_0FD6, PREFIX_EVEX_0FDB,
PREFIX_EVEX_0FDF, PREFIX_EVEX_0FE2, PREFIX_EVEX_0FE6 PREFIX_EVEX_0FE7,
PREFIX_EVEX_0FEB, PREFIX_EVEX_0FEF, PREFIX_EVEX_0FF2,
PREFIX_EVEX_0FF3, PREFIX_EVEX_0FF4, PREFIX_EVEX_0FFA, PREFIX_EVEX_0FFB,
PREFIX_EVEX_0FFE, PREFIX_EVEX_0F380C, PREFIX_EVEX_0F380D,
PREFIX_EVEX_0F3811, PREFIX_EVEX_0F3812, PREFIX_EVEX_0F3813,
PREFIX_EVEX_0F3814, PREFIX_EVEX_0F3815, PREFIX_EVEX_0F3816,
PREFIX_EVEX_0F3818, PREFIX_EVEX_0F3819, PREFIX_EVEX_0F381A,
PREFIX_EVEX_0F381B, PREFIX_EVEX_0F381E, PREFIX_EVEX_0F381F,
PREFIX_EVEX_0F3821, PREFIX_EVEX_0F3822, PREFIX_EVEX_0F3823,
PREFIX_EVEX_0F3824, PREFIX_EVEX_0F3825, PREFIX_EVEX_0F3827,
PREFIX_EVEX_0F3828, PREFIX_EVEX_0F3829, PREFIX_EVEX_0F382A,
PREFIX_EVEX_0F382C, PREFIX_EVEX_0F382D, PREFIX_EVEX_0F3831,
PREFIX_EVEX_0F3832, PREFIX_EVEX_0F3833, PREFIX_EVEX_0F3834,
PREFIX_EVEX_0F3835, PREFIX_EVEX_0F3836, PREFIX_EVEX_0F3837,
PREFIX_EVEX_0F3839, PREFIX_EVEX_0F383A, PREFIX_EVEX_0F383B,
PREFIX_EVEX_0F383D, PREFIX_EVEX_0F383F, PREFIX_EVEX_0F3840,
PREFIX_EVEX_0F3842, PREFIX_EVEX_0F3843, PREFIX_EVEX_0F3844,
PREFIX_EVEX_0F3845, PREFIX_EVEX_0F3846, PREFIX_EVEX_0F3847,
PREFIX_EVEX_0F384C, PREFIX_EVEX_0F384D, PREFIX_EVEX_0F384E,
PREFIX_EVEX_0F384F, PREFIX_EVEX_0F3858, PREFIX_EVEX_0F3859,
PREFIX_EVEX_0F385A, PREFIX_EVEX_0F385B, PREFIX_EVEX_0F3864,
PREFIX_EVEX_0F3865, PREFIX_EVEX_0F3876, PREFIX_EVEX_0F3877,
PREFIX_EVEX_0F387C, PREFIX_EVEX_0F387E, PREFIX_EVEX_0F387F,
PREFIX_EVEX_0F3888, PREFIX_EVEX_0F3889, PREFIX_EVEX_0F388A,
PREFIX_EVEX_0F388B, PREFIX_EVEX_0F3890, PREFIX_EVEX_0F3891,
PREFIX_EVEX_0F3892, PREFIX_EVEX_0F3893, PREFIX_EVEX_0F3896,
PREFIX_EVEX_0F3897, PREFIX_EVEX_0F3898, PREFIX_EVEX_0F3899,
PREFIX_EVEX_0F389A, PREFIX_EVEX_0F389B, PREFIX_EVEX_0F389C,
PREFIX_EVEX_0F389D, PREFIX_EVEX_0F389E, PREFIX_EVEX_0F389F,
PREFIX_EVEX_0F38A0, PREFIX_EVEX_0F38A1, PREFIX_EVEX_0F38A2,
PREFIX_EVEX_0F38A3, PREFIX_EVEX_0F38A6, PREFIX_EVEX_0F38A7,
PREFIX_EVEX_0F38A8, PREFIX_EVEX_0F38A9, PREFIX_EVEX_0F38AA,
PREFIX_EVEX_0F38AB, PREFIX_EVEX_0F38AC, PREFIX_EVEX_0F38AD,
PREFIX_EVEX_0F38AE, PREFIX_EVEX_0F38AF, PREFIX_EVEX_0F38B6,
PREFIX_EVEX_0F38B7, PREFIX_EVEX_0F38B8, PREFIX_EVEX_0F38B9,
PREFIX_EVEX_0F38BA, PREFIX_EVEX_0F38BB, PREFIX_EVEX_0F38BC,
PREFIX_EVEX_0F38BD, PREFIX_EVEX_0F38BE, PREFIX_EVEX_0F38BF,
PREFIX_EVEX_0F38C4, PREFIX_EVEX_0F38C6_REG_1,
PREFIX_EVEX_0F38C6_REG_2, PREFIX_EVEX_0F38C6_REG_5,
PREFIX_EVEX_0F38C6_REG_6, PREFIX_EVEX_0F38C7_REG_1,
PREFIX_EVEX_0F38C7_REG_2, PREFIX_EVEX_0F38C7_REG_5,
PREFIX_EVEX_0F38C7_REG_6, PREFIX_EVEX_0F38C8, PREFIX_EVEX_0F38CA,
PREFIX_EVEX_0F38CB, PREFIX_EVEX_0F38CC, PREFIX_EVEX_0F38CD,
PREFIX_EVEX_0F3A00,  PREFIX_EVEX_0F3A01, PREFIX_EVEX_0F3A03,
PREFIX_EVEX_0F3A04, PREFIX_EVEX_0F3A05, PREFIX_EVEX_0F3A08,
PREFIX_EVEX_0F3A09, PREFIX_EVEX_0F3A0A, PREFIX_EVEX_0F3A0B,
PREFIX_EVEX_0F3A17, PREFIX_EVEX_0F3A18, PREFIX_EVEX_0F3A19,
PREFIX_EVEX_0F3A1A, PREFIX_EVEX_0F3A1B, PREFIX_EVEX_0F3A1D,
PREFIX_EVEX_0F3A1E, PREFIX_EVEX_0F3A1F, PREFIX_EVEX_0F3A21,
PREFIX_EVEX_0F3A23, PREFIX_EVEX_0F3A25, PREFIX_EVEX_0F3A26,
PREFIX_EVEX_0F3A27, PREFIX_EVEX_0F3A38, PREFIX_EVEX_0F3A39,
PREFIX_EVEX_0F3A3A, PREFIX_EVEX_0F3A3B, PREFIX_EVEX_0F3A3E,
PREFIX_EVEX_0F3A3F, PREFIX_EVEX_0F3A43, PREFIX_EVEX_0F3A54,
PREFIX_EVEX_0F3A55.
(VEX_LEN enum): Add VEX_LEN_0F41_P_0, VEX_LEN_0F42_P_0, VEX_LEN_0F44_P_0,
VEX_LEN_0F45_P_0, VEX_LEN_0F46_P_0, VEX_LEN_0F47_P_0,
VEX_LEN_0F4B_P_2, VEX_LEN_0F90_P_0, VEX_LEN_0F91_P_0,
VEX_LEN_0F92_P_0, VEX_LEN_0F93_P_0, VEX_LEN_0F98_P_0,
VEX_LEN_0F3A30_P_2, VEX_LEN_0F3A32_P_2, VEX_W_0F41_P_0_LEN_1,
VEX_W_0F42_P_0_LEN_1, VEX_W_0F44_P_0_LEN_0, VEX_W_0F45_P_0_LEN_1,
VEX_W_0F46_P_0_LEN_1, VEX_W_0F47_P_0_LEN_1, VEX_W_0F4B_P_2_LEN_1,
VEX_W_0F90_P_0_LEN_0, VEX_W_0F91_P_0_LEN_0, VEX_W_0F92_P_0_LEN_0,
VEX_W_0F93_P_0_LEN_0, VEX_W_0F98_P_0_LEN_0, VEX_W_0F3A30_P_2_LEN_0,
VEX_W_0F3A32_P_2_LEN_0.
(VEX_W enum): Add EVEX_W_0F10_P_0, EVEX_W_0F10_P_1_M_0,
EVEX_W_0F10_P_1_M_1, EVEX_W_0F10_P_2, EVEX_W_0F10_P_3_M_0,
EVEX_W_0F10_P_3_M_1, EVEX_W_0F11_P_0, EVEX_W_0F11_P_1_M_0,
EVEX_W_0F11_P_1_M_1, EVEX_W_0F11_P_2, EVEX_W_0F11_P_3_M_0,
EVEX_W_0F11_P_3_M_1, EVEX_W_0F12_P_0_M_0, EVEX_W_0F12_P_0_M_1,
EVEX_W_0F12_P_1, EVEX_W_0F12_P_2, EVEX_W_0F12_P_3, EVEX_W_0F13_P_0,
EVEX_W_0F13_P_2, EVEX_W_0F14_P_0, EVEX_W_0F14_P_2, EVEX_W_0F15_P_0,
EVEX_W_0F15_P_2, EVEX_W_0F16_P_0_M_0, EVEX_W_0F16_P_0_M_1,
EVEX_W_0F16_P_1, EVEX_W_0F16_P_2, EVEX_W_0F17_P_0, EVEX_W_0F17_P_2,
EVEX_W_0F28_P_0, EVEX_W_0F28_P_2, EVEX_W_0F29_P_0, EVEX_W_0F29_P_2,
EVEX_W_0F2A_P_1, EVEX_W_0F2A_P_3, EVEX_W_0F2B_P_0, EVEX_W_0F2B_P_2,
EVEX_W_0F2E_P_0, EVEX_W_0F2E_P_2, EVEX_W_0F2F_P_0, EVEX_W_0F2F_P_2,
EVEX_W_0F51_P_0, EVEX_W_0F51_P_1, EVEX_W_0F51_P_2, EVEX_W_0F51_P_3,
EVEX_W_0F58_P_0, EVEX_W_0F58_P_1, EVEX_W_0F58_P_2, EVEX_W_0F58_P_3,
EVEX_W_0F59_P_0, EVEX_W_0F59_P_1, EVEX_W_0F59_P_2, EVEX_W_0F59_P_3,
EVEX_W_0F5A_P_0, EVEX_W_0F5A_P_1, EVEX_W_0F5A_P_2, EVEX_W_0F5A_P_3,
EVEX_W_0F5B_P_0, EVEX_W_0F5B_P_1, EVEX_W_0F5B_P_2, EVEX_W_0F5C_P_0,
EVEX_W_0F5C_P_1, EVEX_W_0F5C_P_2, EVEX_W_0F5C_P_3, EVEX_W_0F5D_P_0,
EVEX_W_0F5D_P_1, EVEX_W_0F5D_P_2, EVEX_W_0F5D_P_3, EVEX_W_0F5E_P_0,
EVEX_W_0F5E_P_1, EVEX_W_0F5E_P_2, EVEX_W_0F5E_P_3, EVEX_W_0F5F_P_0,
EVEX_W_0F5F_P_1, EVEX_W_0F5F_P_2, EVEX_W_0F5F_P_3, EVEX_W_0F62_P_2,
EVEX_W_0F66_P_2, EVEX_W_0F6A_P_2, EVEX_W_0F6C_P_2, EVEX_W_0F6D_P_2,
EVEX_W_0F6E_P_2, EVEX_W_0F6F_P_1, EVEX_W_0F6F_P_2, EVEX_W_0F70_P_2,
EVEX_W_0F72_R_2_P_2, EVEX_W_0F72_R_6_P_2, EVEX_W_0F73_R_2_P_2,
EVEX_W_0F73_R_6_P_2, EVEX_W_0F76_P_2, EVEX_W_0F78_P_0,
EVEX_W_0F79_P_0, EVEX_W_0F7A_P_1, EVEX_W_0F7A_P_3, EVEX_W_0F7B_P_1,
EVEX_W_0F7B_P_3, EVEX_W_0F7E_P_1, EVEX_W_0F7E_P_2, EVEX_W_0F7F_P_1,
EVEX_W_0F7F_P_2, EVEX_W_0FC2_P_0, EVEX_W_0FC2_P_1, EVEX_W_0FC2_P_2,
EVEX_W_0FC2_P_3, EVEX_W_0FC6_P_0, EVEX_W_0FC6_P_2, EVEX_W_0FD2_P_2,
EVEX_W_0FD3_P_2, EVEX_W_0FD4_P_2, EVEX_W_0FD6_P_2, EVEX_W_0FE6_P_1,
EVEX_W_0FE6_P_2, EVEX_W_0FE6_P_3, EVEX_W_0FE7_P_2, EVEX_W_0FF2_P_2,
EVEX_W_0FF3_P_2, EVEX_W_0FF4_P_2, EVEX_W_0FFA_P_2, EVEX_W_0FFB_P_2,
EVEX_W_0FFE_P_2, EVEX_W_0F380C_P_2, EVEX_W_0F380D_P_2,
EVEX_W_0F3811_P_1, EVEX_W_0F3812_P_1, EVEX_W_0F3813_P_1,
EVEX_W_0F3813_P_2, EVEX_W_0F3814_P_1, EVEX_W_0F3815_P_1,
EVEX_W_0F3818_P_2, EVEX_W_0F3819_P_2, EVEX_W_0F381A_P_2,
EVEX_W_0F381B_P_2, EVEX_W_0F381E_P_2, EVEX_W_0F381F_P_2,
EVEX_W_0F3821_P_1, EVEX_W_0F3822_P_1, EVEX_W_0F3823_P_1,
EVEX_W_0F3824_P_1, EVEX_W_0F3825_P_1, EVEX_W_0F3825_P_2,
EVEX_W_0F3828_P_2, EVEX_W_0F3829_P_2, EVEX_W_0F382A_P_1,
EVEX_W_0F382A_P_2, EVEX_W_0F3831_P_1, EVEX_W_0F3832_P_1,
EVEX_W_0F3833_P_1, EVEX_W_0F3834_P_1, EVEX_W_0F3835_P_1,
EVEX_W_0F3835_P_2, EVEX_W_0F3837_P_2, EVEX_W_0F383A_P_1,
EVEX_W_0F3840_P_2, EVEX_W_0F3858_P_2, EVEX_W_0F3859_P_2,
EVEX_W_0F385A_P_2, EVEX_W_0F385B_P_2, EVEX_W_0F3891_P_2,
EVEX_W_0F3893_P_2, EVEX_W_0F38A1_P_2, EVEX_W_0F38A3_P_2,
EVEX_W_0F38C7_R_1_P_2, EVEX_W_0F38C7_R_2_P_2, EVEX_W_0F38C7_R_5_P_2,
EVEX_W_0F38C7_R_6_P_2, EVEX_W_0F3A00_P_2, EVEX_W_0F3A01_P_2,
EVEX_W_0F3A04_P_2, EVEX_W_0F3A05_P_2, EVEX_W_0F3A08_P_2,
EVEX_W_0F3A09_P_2, EVEX_W_0F3A0A_P_2, EVEX_W_0F3A0B_P_2,
EVEX_W_0F3A18_P_2, EVEX_W_0F3A19_P_2, EVEX_W_0F3A1A_P_2,
EVEX_W_0F3A1B_P_2, EVEX_W_0F3A1D_P_2, EVEX_W_0F3A21_P_2,
EVEX_W_0F3A23_P_2, EVEX_W_0F3A38_P_2, EVEX_W_0F3A39_P_2,
EVEX_W_0F3A3A_P_2, EVEX_W_0F3A3B_P_2, EVEX_W_0F3A43_P_2.
(struct vex): Add fields evex, r, v, mask_register_specifier,
zeroing, ll, b.
(intel_names_xmm): Add upper 16 registers.
(att_names_xmm): Ditto.
(intel_names_ymm): Ditto.
(att_names_ymm): Ditto.
(names_zmm): New.
(intel_names_zmm): Ditto.
(att_names_zmm): Ditto.
(names_mask): Ditto.
(intel_names_mask): Ditto.
(att_names_mask): Ditto.
(names_rounding): Ditto.
(names_broadcast): Ditto.
(x86_64_table): Add escape to evex-table.
(reg_table): Include reg_table evex-entries from
i386-dis-evex.h.  Fix prefetchwt1 instruction.
(prefix_table): Add entries for new instructions.
(vex_table): Ditto.
(vex_len_table): Ditto.
(vex_w_table): Ditto.
(mod_table): Ditto.
(get_valid_dis386): Properly handle new instructions.
(print_insn): Handle zmm and mask registers, print mask operand.
(intel_operand_size): Support EVEX, new modes and sizes.
(OP_E_register): Handle new modes.
(OP_E_memory): Ditto.
(OP_G): Ditto.
(OP_XMM): Ditto.
(OP_EX): Ditto.
(OP_VEX): Ditto.
* i386-gen.c (cpu_flag_init): Update CPU_ANY_SSE_FLAGS and
CPU_ANY_AVX_FLAGS.  Add CPU_AVX512F_FLAGS, CPU_AVX512CD_FLAGS,
CPU_AVX512ER_FLAGS and CPU_AVX512PF_FLAGS.
(cpu_flags): Add CpuAVX512F, CpuAVX512CD, CpuAVX512ER,
CpuAVX512PF and CpuVREX.
(operand_type_init): Add OPERAND_TYPE_REGZMM,
OPERAND_TYPE_REGMASK and OPERAND_TYPE_VEC_DISP8.
(opcode_modifiers): Add EVex, Masking, VecESize, Broadcast,
StaticRounding, SAE, Disp8MemShift, NoDefMask.
(operand_types): Add RegZMM, RegMask, Vec_Disp8, Zmmword.
* i386-init.h: Regenerate.
* i386-opc.h (CpuAVX512F): New.
(CpuAVX512CD): New.
(CpuAVX512ER): New.
(CpuAVX512PF): New.
(CpuVREX): New.
(i386_cpu_flags): Add cpuavx512f, cpuavx512cd, cpuavx512er,
cpuavx512pf and cpuvrex fields.
(VecSIB): Add VecSIB512.
(EVex): New.
(Masking): New.
(VecESize): New.
(Broadcast): New.
(StaticRounding): New.
(SAE): New.
(Disp8MemShift): New.
(NoDefMask): New.
(i386_opcode_modifier): Add evex, masking, vecesize, broadcast,
staticrounding, sae, disp8memshift and nodefmask.
(RegZMM): New.
(Zmmword): Ditto.
(Vec_Disp8): Ditto.
(i386_operand_type): Add regzmm, regmask, zmmword and vec_disp8
fields.
(RegVRex): New.
* i386-opc.tbl: Add AVX512 instructions.
* i386-reg.tbl: Add 16 upper XMM and YMM registers, 32 new ZMM
registers, mask registers.
* i386-tbl.h: Regenerate.

11 years agoGDB kills itself instead of interrupting inferior
Pedro Alves [Fri, 26 Jul 2013 11:15:45 +0000 (11:15 +0000)]
GDB kills itself instead of interrupting inferior

When GDB is run with IO redirected to a pipe, the 'interrupt' command
causes it to kill its own process group instead of the inferior's.
The problem manifests itself in async mode, native debugging:

    $ cat | gdb <file>
    (gdb) set target-async on
    (gdb) run &
    (gdb) interrupt
    A debugging session is active.
    Inferior 1 [process 20584] will be killed.
    Quit anyway? (y or n) [answered Y; input not from terminal]

In this case, GDB tells that its stdin isn't a tty and doesn't save
the inferior's process group in
inflow.c:terminal_init_inferior_with_pgrp.  The 'interrupt' command
tries to 'kill' the inferior's process group in
`inf-ptrace.c:inf_ptrace_stop`, but since that wasn't saved in the
first place, GDB kills process group 0, meaning, its own process
group.

When GDB is used from a frontend, that means killing its own process
group including the frontend and possibly the X session.  This was
originally seen with SublimeGDB:
  https://github.com/quarnster/SublimeGDB/issues/29.

The patch makes GDB save the inferior pgid regardless of having a
terminal, as pgid is used not only to reset foreground process group,
but also to interrupt the inferior process.  It also adds a regression
test.  Luckily, we can emulate not having a terminal with "set
interactive-mode off", avoiding the need of special magic to spawn gdb
with a pipe.

Tested on x86_64 Fedora 17.

gdb/
2013-07-26  Cyril Nikolaev  <cyril@nichtverstehen.de>

* inflow.c (terminal_init_inferior_with_pgrp): Save inferior
process group regardless of having tty on stdin.

gdb/testsuite/
2013-07-26  Pedro Alves  <palves@redhat.com>

* gdb.base/interrupt-noterm.c, gdb.base/interrupt-noterm.exp: New
files.

11 years agodaily update
Alan Modra [Fri, 26 Jul 2013 00:00:04 +0000 (00:00 +0000)]
daily update

11 years ago * linux-fork.h (detach_fork): Delete.
Doug Evans [Thu, 25 Jul 2013 20:53:07 +0000 (20:53 +0000)]
* linux-fork.h (detach_fork): Delete.

11 years agoopcodes/
Richard Sandiford [Thu, 25 Jul 2013 19:11:39 +0000 (19:11 +0000)]
opcodes/
2013-07-25  Aaro Koskinen  <aaro.koskinen@iki.fi>

PR gas/15220
* mips-opc.c (mips_builtin_opcodes): Fix wrong opcodes for
Loongson 2F madd.ps, msub.ps, nmadd.ps and nmsub.ps.

gas/testsuite/
* gas/mips/loongson-2f.d: Fix expected output for madd.ps,
msub.ps, nmadd.ps and nmsub.ps.

11 years agoSupport Intel SHA
H.J. Lu [Thu, 25 Jul 2013 16:16:35 +0000 (16:16 +0000)]
Support Intel SHA

gas/

2013-07-25  Michael Zolotukhin  <michael.v.zolotukhin@intel.com>

* config/tc-i386.c (cpu_arch): Add .sha.
* doc/c-i386.texi: Document sha/.sha.

gas/testsuite/

2013-07-25  Michael Zolotukhin  <michael.v.zolotukhin@intel.com>

* gas/i386/sha.d: New.
* gas/i386/sha.s: New.
* gas/i386/x86-64-sha.d: New.
* gas/i386/x86-64-sha.s: New.
* gas/i386/i386.exp: Run new SHA tests.

opcodes/

2013-07-25  Michael Zolotukhin  <michael.v.zolotukhin@intel.com>

* i386-dis.c (PREFIX enum): Add PREFIX_0F38C8, PREFIX_0F38C9,
PREFIX_0F38CA, PREFIX_0F38CB, PREFIX_0F38CC, PREFIX_0F38CD,
PREFIX_0F3ACC.
(prefix_table): Updated.
(three_byte_table): Likewise.
* i386-gen.c (cpu_flag_init): Add CPU_SHA_FLAGS.
(cpu_flags): Add CpuSHA.
(i386_cpu_flags): Add cpusha.
* i386-init.h: Regenerate.
* i386-opc.h (CpuSHA): New.
(CpuUnused): Restored.
(i386_cpu_flags): Add cpusha.
* i386-opc.tbl: Add SHA instructions.
* i386-tbl.h: Regenerate.

11 years agoCorrect MPX ChangeLog entries
H.J. Lu [Thu, 25 Jul 2013 16:09:09 +0000 (16:09 +0000)]
Correct MPX ChangeLog entries

11 years ago * elf64-ppc.c (struct ppc64_elf_obj_tdata): Replace opd_relocs
Alan Modra [Thu, 25 Jul 2013 15:18:26 +0000 (15:18 +0000)]
* elf64-ppc.c (struct ppc64_elf_obj_tdata): Replace opd_relocs
with a union.
(opd_entry_value): Cache .opd section contents.
(ppc64_elf_relocate_section): Adjust.

11 years agoremove pop_target
Tom Tromey [Thu, 25 Jul 2013 14:34:51 +0000 (14:34 +0000)]
remove pop_target

This patch fixes the target double-close problem (PR remote/15266),
and in the process removes pop_target entire (PR remote/15256).

The first issue is that pop_target calls target_close.  However, it
then calls unpush_target, which also calls target_close.  This means
targets must be able to be closed twice.  Not only is this strange,
but it also directly contradicts the contract of to_xclose targets.
(We currently have just a single such target, and it is never pushed;
but I plan to add more, and so this latent bug is triggered.)

The second issue is that it seems to me that calling pop_target is
often unsafe.  This is what cropped up in 15256, where the remote
target assumed that it could pop_target -- but there was another
target higher on the stack, leading to confusion.

But, it is always just as easy to call unpush_target as it is to call
pop_target; and it is also safer.  So, removing pop_target seemed like
an improvement.

Finally, this adds an assertion to target_close to ensure that no
currently-pushed target can be closed.

Built and regtested on x86-64 Fedora 18; both natively and using the
native-gdbserver board file.

PR remote/15256, PR remote/15266:
* bfd-target.c (target_bfd_reopen): Initialize to_magic.
* monitor.c (monitor_detach): Use unpush_target.
* remote-m32r-sdi.c (m32r_detach): Use unpush_target.
* remote-mips.c (mips_detach): Use unpush_target.  Don't
call mips_close.
* remote-sim.c (gdbsim_detach): Use unpush_target.
* target.c (pop_target): Remove.
(pop_all_targets_above): Don't call target_close.
(target_close): Assert that the target is unpushed.
* target.h (pop_target): Don't declare.
* tracepoint.c (tfile_open): Use unpush_target.