deliverable/binutils-gdb.git
10 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.

10 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.

10 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.

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

10 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.

10 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.

10 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.

10 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.

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

10 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.

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

10 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.

10 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.

10 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.

10 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.

10 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.

10 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.

10 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.

10 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.

10 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.

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

10 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.

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

10 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.

10 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.

10 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.

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

10 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.

10 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.

10 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.

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

10 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.

10 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.

10 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.

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

10 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.

10 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.

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

10 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.

10 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.

10 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.

10 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.

10 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.

10 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.

10 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.

10 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.

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

10 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.

10 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.

10 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.

10 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.

10 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.

10 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.

10 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.

10 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.

10 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'.

10 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.

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

10 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.

10 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.

10 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.

10 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.

10 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.

10 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.

10 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.

10 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.

10 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.

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

10 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.

10 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.

10 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.

10 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.

10 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.

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

10 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.

10 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.

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

10 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.

10 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.

10 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.

10 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.

10 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.

10 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.

10 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.

10 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.

10 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.

10 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.

10 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.

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

10 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.

10 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.

10 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.

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

10 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.

10 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.

10 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.

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

10 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.

10 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.

10 years agodon't call add_target for thread_db_ops
Tom Tromey [Thu, 25 Jul 2013 14:28:15 +0000 (14:28 +0000)] 
don't call add_target for thread_db_ops

Right now, "help target" will include this line:

    target multi-thread -- Threads and pthreads support

However, it doesn't make sense to invoke "target multi-thread".

This patch fixes the problem by not registering the multi-thread
target.  add_target does some needed initialization of the target_ops,
so I broke this out into a new function.

It isn't clear to me whether this patch requires a test case or not.
I'm not sure whether there are other unregistered targets; but if
there are, it seems unlikely that we test for their absence from the
help.

Built and regtested on x86-64 Fedora 18.

* linux-thread-db.c (init_thread_db_ops): Call
complete_target_initialization.
(_initialize_thread_db): Don't call add_target.
* target.c (complete_target_initialization): New function.
(add_target_with_completer): Call it.
* target.h (complete_target_initialization): Declare.

This page took 0.051552 seconds and 4 git commands to generate.