binutils-gdb.git
11 years ago*** empty log message ***
gdbadmin [Tue, 18 Jun 2013 00:00:32 +0000 (00:00 +0000)]
*** empty log message ***

11 years agodaily update
Alan Modra [Tue, 18 Jun 2013 00:00:04 +0000 (00:00 +0000)]
daily update

11 years ago2013-06-17 Catherine Moore <clm@codesourcery.com>
Catherine Moore [Mon, 17 Jun 2013 22:59:10 +0000 (22:59 +0000)]
2013-06-17  Catherine Moore  <clm@codesourcery.com>
    Maciej W. Rozycki  <macro@codesourcery.com>
    Chao-Ying Fu  <fu@mips.com>

gas/testsuite/
* gas/mips/mips.exp: Run new tests.
* gas/mips/eva.d: New.
* gas/mips/eva.s: New.
* gas/mips/micromips@eva.d: New.

gas/
* config/tc-mips.c (mips_set_options): Add ase_eva.
(mips_set_options mips_opts): Add ase_eva.
(file_ase_eva): Declare.
(ISA_SUPPORTS_EVA_ASE): Define.
(IS_SEXT_9BIT_NUM): Define.
(MIPS_CPU_ASE_EVA): Define.
(is_opcode_valid): Add support for ase_eva.
(macro_build): Likewise.
(macro): Likewise.
(validate_mips_insn): Likewise.
(validate_micromips_insn): Likewise.
(mips_ip): Likewise.
(options): Add OPTION_EVA and OPTION_NO_EVA.
(md_longopts): Add -meva and -mno-eva.
(md_parse_option): Process new options.
(mips_after_parse_args): Check for valid EVA combinations.
(s_mipsset): Likewise.

include/
* opcode/mips.h (OP_SH_EVAOFFSET): Define.
(OP_MASK_EVAOFFSET): Define.
(INSN_ASE_MASK): Delete.
(ASE_EVA): Define.
(M_CACHEE_AB, M_CACHEE_OB): New.
(M_LBE_OB, M_LBE_AB): New.
(M_LBUE_OB, M_LBUE_AB): New.
(M_LHE_OB, M_LHE_AB): New.
(M_LHUE_OB, M_LHUE_AB): New.
(M_LLE_AB, M_LLE_OB): New.
(M_LWE_OB, M_LWE_AB): New.
(M_LWLE_AB, M_LWLE_OB): New.
(M_LWRE_AB, M_LWRE_OB): New.
(M_PREFE_AB, M_PREFE_OB): New.
(M_SCE_AB, M_SCE_OB): New.
(M_SBE_OB, M_SBE_AB): New.
(M_SHE_OB, M_SHE_AB): New.
(M_SWE_OB, M_SWE_AB): New.
(M_SWLE_AB, M_SWLE_OB): New.
(M_SWRE_AB, M_SWRE_OB): New.
(MICROMIPSOP_SH_EVAOFFSET): Define.
(MICROMIPSOP_MASK_EVAOFFSET): Define.

opcodes/
* micromips-opc.c (EVA): Define.
(TLBINV): Define.
(micromips_opcodes): Add EVA opcodes.
* mips-dis.c (mips_arch_choices): Update for ASE_EVA.
(print_insn_args): Handle EVA offsets.
(print_insn_micromips): Likewise.
* mips-opc.c (EVA): Define.
(TLBINV): Define.
(mips_builtin_opcodes): Add EVA opcodes.

11 years ago * Makefile.am (mips-opc.lo): Add rules to create automatic
Alan Modra [Mon, 17 Jun 2013 11:51:13 +0000 (11:51 +0000)]
* Makefile.am (mips-opc.lo): Add rules to create automatic
dependency files.  Pass archdefs.
(micromips-opc.lo, mips16-opc.lo): Likewise.
* Makefile.in: Regenerate.

11 years agold/testsuite: Enable ifunc tests on AArch64 big-endian.
Will Newton [Mon, 17 Jun 2013 09:08:52 +0000 (09:08 +0000)]
ld/testsuite: Enable ifunc tests on AArch64 big-endian.

ld/testsuite/ChangeLog:

2013-06-17  Will Newton  <will.newton@linaro.org>

* ld-aarch64/ifunc-1-local.d: Enable test on aarch64_be.
* ld-aarch64/ifunc-1.d: Likewise.
* ld-aarch64/ifunc-10.d: Likewise.
* ld-aarch64/ifunc-11.d: Likewise.
* ld-aarch64/ifunc-12.d: Likewise.
* ld-aarch64/ifunc-13.d: Likewise.
* ld-aarch64/ifunc-14a.d: Likewise.
* ld-aarch64/ifunc-14b.d: Likewise.
* ld-aarch64/ifunc-14c.d: Likewise.
* ld-aarch64/ifunc-14d.d: Likewise.
* ld-aarch64/ifunc-14e.d: Likewise.
* ld-aarch64/ifunc-14f.d: Likewise.
* ld-aarch64/ifunc-15.d: Likewise.
* ld-aarch64/ifunc-16.d: Likewise.
* ld-aarch64/ifunc-17a.d: Likewise.
* ld-aarch64/ifunc-17b.d: Likewise.
* ld-aarch64/ifunc-18a.d: Likewise.
* ld-aarch64/ifunc-18b.d: Likewise.
* ld-aarch64/ifunc-19a.d: Likewise.
* ld-aarch64/ifunc-19b.d: Likewise.
* ld-aarch64/ifunc-2-local.d: Likewise.
* ld-aarch64/ifunc-2.d: Likewise.
* ld-aarch64/ifunc-20.d: Likewise.
* ld-aarch64/ifunc-3a.d: Likewise.
* ld-aarch64/ifunc-3b.d: Likewise.
* ld-aarch64/ifunc-4.d: Likewise.
* ld-aarch64/ifunc-4a.d: Likewise.
* ld-aarch64/ifunc-5a-local.d: Likewise.
* ld-aarch64/ifunc-5a.d: Likewise.
* ld-aarch64/ifunc-5b-local.d: Likewise.
* ld-aarch64/ifunc-5b.d: Likewise.
* ld-aarch64/ifunc-5r-local.d: Likewise.
* ld-aarch64/ifunc-6a.d: Likewise.
* ld-aarch64/ifunc-6b.d: Likewise.
* ld-aarch64/ifunc-7a.d: Likewise.
* ld-aarch64/ifunc-7b.d: Likewise.
* ld-aarch64/ifunc-8.d: Likewise.
* ld-aarch64/ifunc-9.d: Likewise.
* ld-ifunc/ifunc.exp: Likewise.

11 years ago * corelow.c (core_open): Print GDB signal name instead of target
Pierre Muller [Mon, 17 Jun 2013 06:14:24 +0000 (06:14 +0000)]
* corelow.c (core_open): Print GDB signal name instead of target
signal number.

11 years agosim: bfin: tweak run-tests for parallel usage
Mike Frysinger [Mon, 17 Jun 2013 04:58:56 +0000 (04:58 +0000)]
sim: bfin: tweak run-tests for parallel usage

11 years agosim: bfin: add helpful info for generating test tables
Mike Frysinger [Mon, 17 Jun 2013 04:47:26 +0000 (04:47 +0000)]
sim: bfin: add helpful info for generating test tables

11 years agosim: bfin: drop RET[ENI] setup
Mike Frysinger [Mon, 17 Jun 2013 04:45:54 +0000 (04:45 +0000)]
sim: bfin: drop RET[ENI] setup

Since these insns run in usermode, there should be no need to setup
RET[ENI] to safe values.  They won't be dereferenced, and any insn
that returns via them are valid only in supervisor mode.  Since this
is in the main exception code path, saving any insn at all is good
as it gets multiplied quickly (as in O(n^2) times).

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
11 years agosim: bfin: add flush/HWERR todo
Mike Frysinger [Mon, 17 Jun 2013 04:43:22 +0000 (04:43 +0000)]
sim: bfin: add flush/HWERR todo

11 years agogdb: ignore generated gcore
Mike Frysinger [Mon, 17 Jun 2013 04:39:15 +0000 (04:39 +0000)]
gdb: ignore generated gcore

11 years ago*** empty log message ***
gdbadmin [Mon, 17 Jun 2013 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***

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

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

11 years ago*** empty log message ***
gdbadmin [Sun, 16 Jun 2013 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***

11 years agogas/testsuite/
Richard Sandiford [Sat, 15 Jun 2013 13:47:37 +0000 (13:47 +0000)]
gas/testsuite/
* gas/mips/loc-swap-3.d: Require -32.

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

11 years ago*** empty log message ***
gdbadmin [Sat, 15 Jun 2013 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***

11 years agogold/
Cary Coutant [Fri, 14 Jun 2013 20:07:18 +0000 (20:07 +0000)]
gold/
* resolve.cc (Symbol::override_base): Don't override st_type
from plugin placeholder symbols.
(Symbol_table::resolve): Likewise.
(Symbol_table::should_override): Don't complain about TLS mismatch
if the TO symbol is a plugin placeholder.
* testsuite/Makefile.am (plugin_test_tls): New test.
* testsuite/Makefile.in: Regenerate.
* testsuite/plugin_test_tls.sh: New test script.
* testsuite/two_file_test_2_tls.cc: New test source.
* testsuite/two_file_test_tls.cc: New test source.

11 years ago* rx-decode.opc (rx_decode_opcode): Bit operations on
DJ Delorie [Fri, 14 Jun 2013 19:57:10 +0000 (19:57 +0000)]
* rx-decode.opc (rx_decode_opcode): Bit operations on
registers are 32-bit operations, not 8-bit operations.
* rx-decode.c: Regenerate.

11 years agobfd/
Yufeng Zhang [Fri, 14 Jun 2013 16:07:20 +0000 (16:07 +0000)]
bfd/

* elf64-aarch64.c (elf64_aarch64_final_link_relocate): Call
aarch64_resolve_relocation and bfd_elf_aarch64_put_addend to
handle the relocations of R_AARCH64_JUMP26, R_AARCH64_CALL26,
R_AARCH64_LD64_GOT_LO12_NC, R_AARCH64_ADR_GOT_PAGE and
R_AARCH64_GOT_LD_PREL19.

ld/testsuite/

* ld-aarch64/aarch64-elf.exp: Add 'ifunc-7c'.
* ld-aarch64/ifunc-7c.d: New test.

11 years agold/
Yufeng Zhang [Fri, 14 Jun 2013 15:55:36 +0000 (15:55 +0000)]
ld/

* emulparams/aarch64elf.sh: Add IREL_IN_PLT.

ld/testsuite/

* ld-aarch64/ifunc-1-local.d: Replace hard-coded immediate offset
with regexp.
* ld-aarch64/ifunc-1.d: Likewise.
* ld-aarch64/ifunc-2-local.d: Likewise.
* ld-aarch64/ifunc-2.d: Likewise.
* ld-aarch64/ifunc-3a.d: Likewise.
* ld-aarch64/ifunc-2-local.s: Change not to declare __GI_foo and foo
global.

11 years agogas/
Richard Sandiford [Fri, 14 Jun 2013 13:30:28 +0000 (13:30 +0000)]
gas/
* dwarf2dbg.h (dwarf2_move_insn): Declare.
* dwarf2dbg.c (line_subseg): Add pmove_tail.
(get_line_subseg): Add create_p argument.  Initialize pmove_tail.
(dwarf2_gen_line_info_1): Update call accordingly.
(dwarf2_move_insn): New function.
* config/tc-mips.c (append_insn): Use dwarf2_move_insn.

gas/testsuite/
* gas/mips/loc-swap-3.d, gas/mips/loc-swap-3.s: New test.
* gas/mips/mips.exp: Run it.

11 years agogas/
Richard Sandiford [Fri, 14 Jun 2013 13:24:41 +0000 (13:24 +0000)]
gas/
Revert:

2011-09-05  Richard Sandiford  <rdsandiford@googlemail.com>

PR gas/13024
* dwarf2dbg.c (pending_lines, pending_lines_tail): New variables.
(dwarf2_gen_line_info_1): Delete.
(dwarf2_push_line, dwarf2_flush_pending_lines): New functions.
(dwarf2_gen_line_info, dwarf2_emit_label): Use them.
(dwarf2_consume_line_info): Call dwarf2_flush_pending_lines.
(dwarf2_directive_loc): Push previous .locs instead of generating
them immediately.

11 years ago*** empty log message ***
gdbadmin [Fri, 14 Jun 2013 00:00:32 +0000 (00:00 +0000)]
*** empty log message ***

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

11 years ago * dwarf2read.c (try_open_dwop_file): Work around behaviour of
Doug Evans [Thu, 13 Jun 2013 23:01:37 +0000 (23:01 +0000)]
* dwarf2read.c (try_open_dwop_file): Work around behaviour of
OPF_TRY_CWD_FIRST to not search path if the file contains a '/'.

11 years ago2013-06-13 Chao-ying Fu <Chao-ying.Fu@imgtec.com>
Chao-ying Fu [Thu, 13 Jun 2013 21:04:33 +0000 (21:04 +0000)]
2013-06-13  Chao-ying Fu  <Chao-ying.Fu@imgtec.com>

* gas/mips/micromips@virt.d: New file.
* gas/mips/micromips@virt64.d: New file.
* gas/mips/mips.exp: Enable virt and virt64 tests for micromips.

11 years ago2013-06-13 Chao-ying Fu <Chao-ying.Fu@imgtec.com>
Chao-ying Fu [Thu, 13 Jun 2013 21:01:44 +0000 (21:01 +0000)]
2013-06-13  Chao-ying Fu  <Chao-ying.Fu@imgtec.com>

* micromips-opc.c (IVIRT): New define.
(IVIRT64): New define.
(micromips_opcodes): Add dmfgc0, dmtgc0, hypcall, mfgc0, mtgc0,
tlbginv, tlbginvf, tlbgp, tlbgr, tlbgwi, tlbgwr VIRT instructions.

* mips-dis.c (print_insn_micromips): Handle mfgc0, mtgc0, dmfgc0,
dmtgc0 to print cp0 names.

11 years ago2013-06-13 Chao-ying Fu <Chao-ying.Fu@imgtec.com>
Chao-ying Fu [Thu, 13 Jun 2013 20:58:44 +0000 (20:58 +0000)]
2013-06-13  Chao-ying Fu  <Chao-ying.Fu@imgtec.com>

* config/tc-mips.c (ISA_SUPPORTS_VIRT_ASE): Support micromips.
(ISA_SUPPORTS_VIRT64_ASE): Support 64-bit micromips.

11 years ago PR ld/15302
Nick Clifton [Thu, 13 Jun 2013 12:36:02 +0000 (12:36 +0000)]
PR ld/15302
* elf32-arm.c (allocate_dynrelocs_for_symbol): Transform
ST_BRANCH_TO_ARM into ST_BRANCH_TO_THUMB if the target only
supports thumb instructions.

PR ld/15302
* ld-arm/branch-lks-sym.ld: New script.
* ld-arm/thumb-b-lks-sym.s: New test.
* ld-arm/thumb-b-lks-sym.d: Expected disassembly.
* ld-arm/thumb-bl-lks-sym.s: New test.
* ld-arm/thumb-bl-lks-sym.d: Expected disassembly.
* ld-arm/arm-elf.exp: Run the new tests.

11 years ago PR gas/15602
Nick Clifton [Thu, 13 Jun 2013 08:53:35 +0000 (08:53 +0000)]
PR gas/15602
* config/tc-m68k.h (TC_CHECK_ADJUSTED_BROKEN_DOT_WORD): Define.
* config/tc-m68k.c (tc_m68k_check_adjusted_broken_word): New
function.  Generates an error if the adjusted offset is out of a
16-bit range.

11 years ago*** empty log message ***
gdbadmin [Thu, 13 Jun 2013 00:00:32 +0000 (00:00 +0000)]
*** empty log message ***

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

11 years ago2013-06-12 Sandra Loosemore <sandra@codesourcery.com>
Sandra Loosemore [Wed, 12 Jun 2013 23:11:57 +0000 (23:11 +0000)]
2013-06-12  Sandra Loosemore  <sandra@codesourcery.com>

gas/
* config/tc-nios2.c (md_apply_fix):  Mask constant
BFD_RELOC_NIOS2_HIADJ16 value to 16 bits.

gas/testsuite/
* gas/nios2/movia.s: Add additional test case with negative
constant value.
* gas/nios2/movia.d: Likewise.

11 years ago2013-06-12 Sandra Loosemore <sandra@codesourcery.com>
Sandra Loosemore [Wed, 12 Jun 2013 23:03:21 +0000 (23:03 +0000)]
2013-06-12  Sandra Loosemore  <sandra@codesourcery.com>

include/opcode/
* nios2.h (OP_MATCH_ERET): Correct eret encoding.

gas/testsuite/
* gas/nios2/tret.d: Correct eret encoding.

11 years ago[GDBserver] Fix gdb.threads/siginfo-threads.exp, gdb.base/siginfo-obj.exp regressions.
Pedro Alves [Wed, 12 Jun 2013 16:05:39 +0000 (16:05 +0000)]
[GDBserver] Fix gdb.threads/siginfo-threads.exp, gdb.base/siginfo-obj.exp regressions.

This fixes the regressions reported at
<http://sourceware.org/ml/gdb-patches/2013-06/msg00280.html>:

 $ runtest-gdbserver gdb.base/siginfo-obj.exp gdb.base/siginfo-thread.exp gdb.threads/siginfo-threads.exp
 Running ./gdb.base/siginfo-thread.exp ...
 FAIL: gdb.base/siginfo-thread.exp: p ssi_addr
 Running ./gdb.threads/siginfo-threads.exp ...
 FAIL: gdb.threads/siginfo-threads.exp: signal 0 si_pid
 FAIL: gdb.threads/siginfo-threads.exp: signal 1 si_pid
 FAIL: gdb.threads/siginfo-threads.exp: signal 2 si_pid
 FAIL: gdb.threads/siginfo-threads.exp: signal 3 si_pid
 Running ./gdb.base/siginfo-obj.exp ...
 FAIL: gdb.base/siginfo-obj.exp: p ssi_addr
 FAIL: gdb.base/siginfo-obj.exp: p ssi_addr

The multi-arch patch made GDBserver do the the wrong siginfo layout
conversion, because most uses of `linux_is_elf64' were removed, and it
ended up never set.  A global really is the wrong thing to use as
elf64-ness is a per-process property; `linux_is_elf64' was just
accidentally left behind.

Tested on x86_64 Fedora 17.

gdb/gdbserver/
2013-06-12  Pedro Alves  <palves@redhat.com>

* linux-x86-low.c (linux_is_elf64): Delete global.
(x86_siginfo_fixup): Replace reference to `linux_is_elf64' global
with local linux_pid_exe_is_elf_64_file use.

11 years ago2013-06-12 Phil Muldoon <pmuldoon@redhat.com>
Phil Muldoon [Wed, 12 Jun 2013 12:16:47 +0000 (12:16 +0000)]
2013-06-12  Phil Muldoon  <pmuldoon@redhat.com>

* stack.c (backtrace_command_1): Fix indentation.

11 years agooops - omitted
Nick Clifton [Wed, 12 Jun 2013 07:52:38 +0000 (07:52 +0000)]
oops - omitted

11 years ago * ldcref.c (output_one_cref): Place common definitions after
Nick Clifton [Wed, 12 Jun 2013 07:48:32 +0000 (07:48 +0000)]
* ldcref.c (output_one_cref): Place common definitions after
ordinary definitions but before references.

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

11 years ago*** empty log message ***
gdbadmin [Wed, 12 Jun 2013 00:00:02 +0000 (00:00 +0000)]
*** empty log message ***

11 years ago* elf32-rl78.c (rl78_elf_relocate_section): Fix OPsub math.
DJ Delorie [Tue, 11 Jun 2013 19:16:07 +0000 (19:16 +0000)]
* elf32-rl78.c (rl78_elf_relocate_section): Fix OPsub math.

11 years agoLazily allocate 'struct regsets_info'::disabled_regsets.
Pedro Alves [Tue, 11 Jun 2013 18:05:57 +0000 (18:05 +0000)]
Lazily allocate 'struct regsets_info'::disabled_regsets.

There's no need for every arch to pre-allocate disabled_regsets.
Chances are the array won't be used.

(I have a hunch that with some more work we could dispense with
initialize_regsets_info.)

Tested on x86_64 Fedora 17 w/ -lmcheck.

gdb/gdbserver/
2013-06-11  Pedro Alves  <palves@redhat.com>

* linux-low.c (regset_disabled, disable_regset): New functions.
(regsets_fetch_inferior_registers)
(regsets_store_inferior_registers): Use them.
(initialize_regsets_info); Don't allocate the disabled_regsets
array here.
* linux-low.h (struct regsets_info) <disabled_regsets>: Extend
comment.

11 years agoFix regression from multi-arch patch.
Pedro Alves [Tue, 11 Jun 2013 17:26:25 +0000 (17:26 +0000)]
Fix regression from multi-arch patch.

This fixes the regression reported at
<http://sourceware.org/ml/gdb-patches/2013-06/msg00185.html>.

GDBserver was reaching:

static int
regsets_fetch_inferior_registers (struct regsets_info *regsets_info,
  struct regcache *regcache)
{
  struct regset_info *regset;
  int saw_general_regs = 0;
  int pid;
  struct iovec iov;

  regset = regsets_info->regsets;

  pid = lwpid_of (get_thread_lwp (current_inferior));
  while (regset->size >= 0)
    {
      void *buf, *data;
      int nt_type, res;

      if (regset->size == 0
  || regsets_info->disabled_regsets[regset - regsets_info->regsets])
{
>>>>>>>   regset ++;      <<<<<<<  HERE
  continue;
}

Because info->disabled_regsets[] was not being initialized, and that
causes all sorts of wrong.

gdb/gdbserver/
2013-06-11  Pedro Alves  <palves@redhat.com>

* linux-low.c (initialize_regsets_info): Use xcalloc instead of
xmalloc.

11 years ago[GDBserver] Initialize the x32 avx target description.
Pedro Alves [Tue, 11 Jun 2013 13:32:52 +0000 (13:32 +0000)]
[GDBserver] Initialize the x32 avx target description.

All target descriptions must be initialized at startup, but this one was forgotten.

gdb/gdbserver/
2013-06-11  Pedro Alves  <palves@redhat.com>

* linux-x86-low.c (initialize_low_arch): Call
init_registers_x32_avx_linux.

11 years agowindows-nat.c:thread_rec: Add missing empty line after var declaration.
Joel Brobecker [Tue, 11 Jun 2013 11:03:42 +0000 (11:03 +0000)]
windows-nat.c:thread_rec: Add missing empty line after var declaration.

gdb/ChangeLog:

        * window-nat.c (thread_rec): Add missing empty line after
        local variable declaration.

11 years ago[windows] Fix accidental change of %u -> %d in SuspendThread warning.
Joel Brobecker [Tue, 11 Jun 2013 11:01:46 +0000 (11:01 +0000)]
[windows] Fix accidental change of %u -> %d in SuspendThread warning.

While enhancing the warning printed in when SuspendThread fails,
I accidently changed the format used to print the error code
from %u to %d. This patch reverts it back.

gdb/ChangeLog:

        * windows-nat.c (thread_rec): Revert format used to print
        error code returned by SuspendThread from %d back to %u.

11 years agowindows: Prefix thread ID values with "0x" in debug traces
Joel Brobecker [Tue, 11 Jun 2013 10:20:24 +0000 (10:20 +0000)]
windows: Prefix thread ID values with "0x" in debug traces

The windows-nat.c debug traces print the thread ID in base 16,
but give no indication of it. So, in a trace like the following...

    gdb: kernel event for pid=4816 tid=720 code=CREATE_THREAD_DEBUG_EVENT)

... where tid is "720", it's easy to be confused and think that
the thread ID is 720 rather than 0x720.  This patch avoids the
confusion by adding the usual "0x" prefix used for hexadecimal
values.

gdb/ChangeLog:

        * windows-nat.c (windows_continue): Add "0x" prefix for thread
        ID in debug trace.
        (get_windows_debug_event): Likewise, for all debug traces.

11 years agowindows: Add thread ID in SuspendThread error warning message.
Joel Brobecker [Tue, 11 Jun 2013 10:20:11 +0000 (10:20 +0000)]
windows: Add thread ID in SuspendThread error warning message.

This patch adds the thread ID to a warning printed when a call to
SuspendThread fails. It will help investigate issues, particularly
when correlated with the various debug traces provided by the
windows-nat module.

For the record, the output has been changed from...

    warning: SuspendThread failed. (winerr 6)

... to ...

    warning: SuspendThread (tid=0x720) failed. (winerr 6)

gdb/ChangeLog:

        * window-nat.c (thread_rec): Add thread ID in SuspendThread
        warning message.

11 years agobfd/elf64-aarch64.c: Use ELF64_R_SYM instead of ELF32_R_SYM.
Will Newton [Tue, 11 Jun 2013 09:25:53 +0000 (09:25 +0000)]
bfd/elf64-aarch64.c: Use ELF64_R_SYM instead of ELF32_R_SYM.

Fix incorrect usage of ELF32_R_SYM introduced in ifunc changes.

bfd/ChangeLog:

2013-06-11  Will Newton  <will.newton@linaro.org>

* elf64-aarch64.c (elf_aarch64_get_local_sym_hash): Use
ELF64_R_SYM instead of ELF32_R_SYM.

11 years ago * elf32-rl78.c (rl78_elf_finish_dynamic_sections): Onlly run
Nick Clifton [Tue, 11 Jun 2013 07:21:40 +0000 (07:21 +0000)]
* elf32-rl78.c (rl78_elf_finish_dynamic_sections): Onlly run
checks if the dynamic sections have been created and relaxation
has not been performed.

11 years agodaily update
Alan Modra [Tue, 11 Jun 2013 00:00:04 +0000 (00:00 +0000)]
daily update

11 years ago*** empty log message ***
gdbadmin [Tue, 11 Jun 2013 00:00:02 +0000 (00:00 +0000)]
*** empty log message ***

11 years ago gas/
Maciej W. Rozycki [Mon, 10 Jun 2013 18:15:48 +0000 (18:15 +0000)]
gas/
* config/tc-mips.c (append_insn): Don't do branch relaxation for
MIPS-3D instructions either.
(md_convert_frag): Update the COPx branch mask accordingly.

* config/tc-mips.c (md_show_usage): Document --[no-]relax-branch
option.
* doc/as.texinfo (Overview): Add --relax-branch and
--no-relax-branch.
* doc/c-mips.texi (MIPS Opts): Document --relax-branch and
--no-relax-branch.

gas/testsuite/
* gas/mips/relax-bc1any.l: New test.
* gas/mips/relax-bc1any.s: New test source.
* gas/mips/mips.exp: Run the new test.

11 years ago PR ld/15598
Nick Clifton [Mon, 10 Jun 2013 11:59:44 +0000 (11:59 +0000)]
PR ld/15598
* ld.texinfo (Source Code Reference): Fix typos.

11 years agosim: bfin: only regen linux-fixed-code.h in maintainer mode
Mike Frysinger [Mon, 10 Jun 2013 02:25:35 +0000 (02:25 +0000)]
sim: bfin: only regen linux-fixed-code.h in maintainer mode

Since many people don't have a Blackfin toolchain available, only try to
regenerate the header file when in maintainer mode.  This file rarely changes,
and when it does, we commit the generated output, so there's almost never a
need to run directly on an end system.

11 years ago2013-06-09 Sandra Loosemore <sandra@codesourcery.com>
Sandra Loosemore [Mon, 10 Jun 2013 01:04:42 +0000 (01:04 +0000)]
2013-06-09  Sandra Loosemore  <sandra@codesourcery.com>

opcodes/
* nios2-opc.c (nios2_builtin_opcodes): Give "trap" a type-"b"
argument.

gas/
* config/tc-nios2.c (nios2_parse_args):  Allow trap argument to
omitted.

gas/testsuite/
* gas/nios2/trap.s: Add additional test cases for optional
argument.
* gas/nios2/trap.d: Likewise.

11 years ago*** empty log message ***
gdbadmin [Mon, 10 Jun 2013 00:00:32 +0000 (00:00 +0000)]
*** empty log message ***

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

11 years agogdb/gdbserver/
Jan Kratochvil [Sun, 9 Jun 2013 17:08:47 +0000 (17:08 +0000)]
gdb/gdbserver/
Fix compatibility with Android Bionic.
* linux-low.c (linux_qxfer_libraries_svr4): Ignore first entry even if
it is not empty.

11 years ago*** empty log message ***
gdbadmin [Sun, 9 Jun 2013 00:00:32 +0000 (00:00 +0000)]
*** empty log message ***

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

11 years agogas/
Richard Sandiford [Sat, 8 Jun 2013 10:22:55 +0000 (10:22 +0000)]
gas/
2013-06-08  Catherine Moore  <clm@codesourcery.com>

* config/tc-mips.c (is_opcode_valid):  Build ASE mask.
(is_opcode_valid_16): Pass ase value to opcode_is_member.
(append_insn): Change INSN_xxxx to ASE_xxxx.

include/
2013-06-08  Catherine Moore  <clm@codesourcery.com>

* opcode/mips.h (mips_opcode): Add ase field.
(INSN_ASE_MASK): Delete.
(INSN_DSP): Rename to ASE_DSP.  Provide new value.
(INSN_DSPR2): Rename to ASE_DSPR2.  Provide new value.
(INSN_MCU): Rename to ASE_MCU.  Provide new value.
(INSN_MDMX): Rename to ASE_MDMX.  Provide new value.
(INSN_MIPS3d): Rename to ASE_MIPS3D.  Provide new value.
(INSN_MT): Rename to ASE_MT.  Provide new value.
(INSN_SMARTMIPS): Rename to ASE_SMARTMIPS.  Provide new value.
(INSN_VIRT): Rename to ASE_VIRT.  Provide new value.
(INSN_VIRT64): Rename to ASE_VIRT64.  Provide new value.
(opcode_is_member): Add ase argument.  Check ase.

opcodes/
2013-06-08  Catherine Moore  <clm@codesourcery.com>
    Richard Sandiford  <rdsandiford@googlemail.com>

* micromips-opc.c (D32, D33, MC): Update definitions.
  (micromips_opcodes):  Initialize ase field.
* mips-dis.c (mips_arch_choice): Add ase field.
(mips_arch_choices): Initialize ase field.
(set_default_mips_dis_options): Declare and setup mips_ase.
* mips-opc.c (M3D, SMT, MX, IVIRT, IVIRT64, D32, D33, D64,
MT32, MC): Update definitions.
(mips_builtin_opcodes): Initialize ase field.

11 years agogdb/
Yao Qi [Sat, 8 Jun 2013 00:21:42 +0000 (00:21 +0000)]
gdb/

* mi/mi-main.c (get_register): Remove declaration.
(output_register): Declare.
(mi_cmd_data_list_register_values): Remove local variable
'tuple_cleanup'.  Move some code into output_register.
(get_register): Renamed to ...
(output_register): ... this.  Output the register's
"number" ui_out tuple here.

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

11 years ago*** empty log message ***
gdbadmin [Sat, 8 Jun 2013 00:00:02 +0000 (00:00 +0000)]
*** empty log message ***

11 years agoaarch64: Add support for GNU indirect functions.
Will Newton [Fri, 7 Jun 2013 18:57:03 +0000 (18:57 +0000)]
aarch64: Add support for GNU indirect functions.

Add support for STT_GNU_IFUNC symbols to the AArch64 bfd backend. The tests
are ported from the ld-ifunc tests but are enabled for cross builds so can
be run easily without hardware or a simulator.

bfd/ChangeLog:

2013-06-07  Will Newton  <will.newton@linaro.org>

* configure: Regenerate.
* configure.in: Build elf-ifunc.o for AArch64.
* elf64-aarch64.c: Include objalloc.h.
(elf64_aarch64_howto_dynrelocs): Add R_AARCH64_IRELATIVE howto.
(struct elf64_aarch64_link_hash_table): Add members for handling
R_AARCH64_IRELATIVE relocations.
(elf_aarch64_local_htab_hash): New function.
(elf_aarch64_local_htab_eq): New function.
(elf_aarch64_get_local_sym_hash): New function.
(elf64_aarch64_link_hash_table_create): Initialize local STT_GNU_IFUNC
symbol hash.
(elf64_aarch64_hash_table_free): Free local STT_GNU_IFUNC symbol hash.
(elf64_aarch64_final_link_relocate): Add sym argument.  Add support
for handling STT_GNU_IFUNC symbols.
(elf64_aarch64_gc_sweep_hook): Add support for garbage collecting
references to STT_GNU_IFUNC symbols.
(elf64_aarch64_adjust_dynamic_symbol): Add support for handling
STT_GNU_IFUNC symbols.
(elf64_aarch64_check_relocs): Add support for handling STT_GNU_IFUNC
symbols.  Ensure we don't increase plt.refcount from -1 to 0.
(elf64_aarch64_post_process_headers): Call _bfd_elf_set_osabi.
(elf64_aarch64_is_function_type): Remove function.
(elf64_aarch64_allocate_dynrelocs): Call
_bfd_elf_allocate_ifunc_dyn_relocs for STT_GNU_IFUNC symbols.
(elf_aarch64_allocate_local_dynrelocs): New function.
(elf64_aarch64_size_dynamic_sections): Call
elf_aarch64_allocate_local_dynrelocs.  Initialize next_irelative_index.
(elf64_aarch64_create_small_pltn_entry): Add info argument.
Add support for creating .iplt entries for STT_GNU_IFUNC symbols.
(elf64_aarch64_finish_dynamic_symbol): Add support for handling
STT_GNU_IFUNC symbols and .iplt.
(elf_aarch64_finish_local_dynamic_symbol): New function.
(elf64_aarch64_finish_dynamic_sections): Call
elf_aarch64_finish_local_dynamic_symbol.
(elf64_aarch64_add_symbol_hook): New function.

include/elf/ChangeLog:

2013-06-07  Will Newton  <will.newton@linaro.org>

* aarch64.h: Add R_AARCH64_IRELATIVE reloc.

ld/ChangeLog:

2013-06-07  Will Newton  <will.newton@linaro.org>

* emulparams/aarch64elf.sh: Add IREL_IN_PLT.

ld/testsuite/ChangeLog:

2013-06-07  Will Newton  <will.newton@linaro.org>

* ld-ifunc/ifunc.exp: Enable ifunc tests for AArch64.
* ld-aarch64/aarch64-elf.exp: Add ifunc tests.
* ld-aarch64/ifunc-1-local.d: New file.
* ld-aarch64/ifunc-1-local.s: Likewise.
* ld-aarch64/ifunc-1.d: Likewise.
* ld-aarch64/ifunc-1.s: Likewise.
* ld-aarch64/ifunc-10.d: Likewise.
* ld-aarch64/ifunc-10.s: Likewise.
* ld-aarch64/ifunc-11.d: Likewise.
* ld-aarch64/ifunc-11.s: Likewise.
* ld-aarch64/ifunc-12.d: Likewise.
* ld-aarch64/ifunc-12.s: Likewise.
* ld-aarch64/ifunc-13.d: Likewise.
* ld-aarch64/ifunc-13a.s: Likewise.
* ld-aarch64/ifunc-13b.s: Likewise.
* ld-aarch64/ifunc-14a.d: Likewise.
* ld-aarch64/ifunc-14a.s: Likewise.
* ld-aarch64/ifunc-14b.d: Likewise.
* ld-aarch64/ifunc-14b.s: Likewise.
* ld-aarch64/ifunc-14c.d: Likewise.
* ld-aarch64/ifunc-14c.s: Likewise.
* ld-aarch64/ifunc-14d.d: Likewise.
* ld-aarch64/ifunc-14e.d: Likewise.
* ld-aarch64/ifunc-14f.d: Likewise.
* ld-aarch64/ifunc-15.d: Likewise.
* ld-aarch64/ifunc-15.s: Likewise.
* ld-aarch64/ifunc-16.d: Likewise.
* ld-aarch64/ifunc-16.s: Likewise.
* ld-aarch64/ifunc-17a.d: Likewise.
* ld-aarch64/ifunc-17a.s: Likewise.
* ld-aarch64/ifunc-17b.d: Likewise.
* ld-aarch64/ifunc-17b.s: Likewise.
* ld-aarch64/ifunc-18a.d: Likewise.
* ld-aarch64/ifunc-18a.s: Likewise.
* ld-aarch64/ifunc-18b.d: Likewise.
* ld-aarch64/ifunc-18b.s: Likewise.
* ld-aarch64/ifunc-19a.d: Likewise.
* ld-aarch64/ifunc-19a.s: Likewise.
* ld-aarch64/ifunc-19b.d: Likewise.
* ld-aarch64/ifunc-19b.s: Likewise.
* ld-aarch64/ifunc-2-local.d: Likewise.
* ld-aarch64/ifunc-2-local.s: Likewise.
* ld-aarch64/ifunc-2.d: Likewise.
* ld-aarch64/ifunc-2.s: Likewise.
* ld-aarch64/ifunc-20.d: Likewise.
* ld-aarch64/ifunc-20.s: Likewise.
* ld-aarch64/ifunc-3.s: Likewise.
* ld-aarch64/ifunc-3a.d: Likewise.
* ld-aarch64/ifunc-3b.d: Likewise.
* ld-aarch64/ifunc-4.d: Likewise.
* ld-aarch64/ifunc-4.s: Likewise.
* ld-aarch64/ifunc-4a.d: Likewise.
* ld-aarch64/ifunc-5-local.s: Likewise.
* ld-aarch64/ifunc-5.s: Likewise.
* ld-aarch64/ifunc-5a-local.d: Likewise.
* ld-aarch64/ifunc-5a.d: Likewise.
* ld-aarch64/ifunc-5b-local.d: Likewise.
* ld-aarch64/ifunc-5b.d: Likewise.
* ld-aarch64/ifunc-5r-local.d: Likewise.
* ld-aarch64/ifunc-6.s: Likewise.
* ld-aarch64/ifunc-6a.d: Likewise.
* ld-aarch64/ifunc-6b.d: Likewise.
* ld-aarch64/ifunc-7.s: Likewise.
* ld-aarch64/ifunc-7a.d: Likewise.
* ld-aarch64/ifunc-7b.d: Likewise.
* ld-aarch64/ifunc-8.d: Likewise.
* ld-aarch64/ifunc-8a.s: Likewise.
* ld-aarch64/ifunc-8b.s: Likewise.
* ld-aarch64/ifunc-9.d: Likewise.
* ld-aarch64/ifunc-9.s: Likewise.

11 years agoRemove superfluous semicolons from testsuite throughout.
Pedro Alves [Fri, 7 Jun 2013 17:31:09 +0000 (17:31 +0000)]
Remove superfluous semicolons from testsuite throughout.

A few months ago semicolons after "return" were removed throughout the
testsuite.  However, as I pointed out in review, they're unnecessary
not just after "return", but pretty much after any tcl command.  ';'
is the command separator, and you only need it if there's another
command on the same line afterwards.

This patch was written by running:

 $ find . -name "*.exp" | xargs grep -l ";\s*$" | xargs sed -i 's/\([^#][^\s*;]*\)\s*;\s*$/\1/'

and then undoing changes to comments, and lib/future.exp.

Tested on x86_64 Fedora 17.

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

* boards/native-extended-gdbserver.exp: Remove semicolon.
* config/arm-ice.exp: Likewise.
* config/bfin.exp: Likewise.
* config/cygmon.exp: Likewise.
* config/h8300.exp: Likewise.
* config/monitor.exp: Likewise.
* config/sid.exp: Likewise.
* config/sim.exp: Likewise.
* config/slite.exp: Likewise.
* config/vx.exp: Likewise.
* gdb.arch/i386-bp_permanent.exp: Likewise.
* gdb.asm/asm-source.exp: Likewise.
* gdb.base/args.exp: Likewise.
* gdb.base/attach-pie-misread.exp: Likewise.
* gdb.base/auxv.exp: Likewise.
* gdb.base/bigcore.exp: Likewise.
* gdb.base/bitfields2.exp: Likewise.
* gdb.base/bitfields.exp: Likewise.
* gdb.base/break.exp: Likewise.
* gdb.base/break-interp.exp: Likewise.
* gdb.base/callfuncs.exp: Likewise.
* gdb.base/call-sc.exp: Likewise.
* gdb.base/commands.exp: Likewise.
* gdb.base/corefile.exp: Likewise.
* gdb.base/dbx.exp: Likewise.
* gdb.base/ending-run.exp: Likewise.
* gdb.base/exprs.exp: Likewise.
* gdb.base/funcargs.exp: Likewise.
* gdb.base/hbreak2.exp: Likewise.
* gdb.base/huge.exp: Likewise.
* gdb.base/list.exp: Likewise.
* gdb.base/memattr.exp: Likewise.
* gdb.base/overlays.exp: Likewise.
* gdb.base/printcmds.exp: Likewise.
* gdb.base/recurse.exp: Likewise.
* gdb.base/remotetimeout.exp: Likewise.
* gdb.base/reread.exp: Likewise.
* gdb.base/savedregs.exp: Likewise.
* gdb.base/scope.exp: Likewise.
* gdb.base/sepdebug.exp: Likewise.
* gdb.base/setshow.exp: Likewise.
* gdb.base/setvar.exp: Likewise.
* gdb.base/sigaltstack.exp: Likewise.
* gdb.base/siginfo-addr.exp: Likewise.
* gdb.base/siginfo.exp: Likewise.
* gdb.base/siginfo-obj.exp: Likewise.
* gdb.base/sigrepeat.exp: Likewise.
* gdb.base/sigstep.exp: Likewise.
* gdb.base/structs.exp: Likewise.
* gdb.base/testenv.exp: Likewise.
* gdb.base/twice.exp: Likewise.
* gdb.base/valgrind-db-attach.exp: Likewise.
* gdb.base/valgrind-infcall.exp: Likewise.
* gdb.base/varargs.exp: Likewise.
* gdb.base/watchpoint.exp: Likewise.
* gdb.cp/gdb1355.exp: Likewise.
* gdb.cp/misc.exp: Likewise.
* gdb.disasm/hppa.exp: Likewise.
* gdb.disasm/t01_mov.exp: Likewise.
* gdb.disasm/t02_mova.exp: Likewise.
* gdb.disasm/t03_add.exp: Likewise.
* gdb.disasm/t04_sub.exp: Likewise.
* gdb.disasm/t05_cmp.exp: Likewise.
* gdb.disasm/t06_ari2.exp: Likewise.
* gdb.disasm/t07_ari3.exp: Likewise.
* gdb.disasm/t08_or.exp: Likewise.
* gdb.disasm/t09_xor.exp: Likewise.
* gdb.disasm/t10_and.exp: Likewise.
* gdb.disasm/t11_logs.exp: Likewise.
* gdb.disasm/t12_bit.exp: Likewise.
* gdb.disasm/t13_otr.exp: Likewise.
* gdb.gdb/selftest.exp: Likewise.
* gdb.hp/gdb.base-hp/callfwmall.exp: Likewise.
* gdb.mi/mi-reverse.exp: Likewise.
* gdb.pascal/floats.exp: Likewise.
* gdb.python/py-inferior.exp: Likewise.
* gdb.threads/attach-into-signal.exp: Likewise.
* gdb.threads/pthreads.exp: Likewise.
* gdb.threads/thread_events.exp: Likewise.
* gdb.threads/watchthreads.exp: Likewise.
* gdb.trace/actions-changed.exp: Likewise.
* gdb.trace/actions.exp: Likewise.
* gdb.trace/ax.exp: Likewise.
* gdb.trace/backtrace.exp: Likewise.
* gdb.trace/change-loc.exp: Likewise.
* gdb.trace/deltrace.exp: Likewise.
* gdb.trace/disconnected-tracing.exp: Likewise.
* gdb.trace/ftrace.exp: Likewise.
* gdb.trace/infotrace.exp: Likewise.
* gdb.trace/passc-dyn.exp: Likewise.
* gdb.trace/passcount.exp: Likewise.
* gdb.trace/pending.exp: Likewise.
* gdb.trace/qtro.exp: Likewise.
* gdb.trace/range-stepping.exp: Likewise.
* gdb.trace/report.exp: Likewise.
* gdb.trace/save-trace.exp: Likewise.
* gdb.trace/status-stop.exp: Likewise.
* gdb.trace/strace.exp: Likewise.
* gdb.trace/tfile.exp: Likewise.
* gdb.trace/tfind.exp: Likewise.
* gdb.trace/trace-break.exp: Likewise.
* gdb.trace/tracecmd.exp: Likewise.
* gdb.trace/trace-mt.exp: Likewise.
* gdb.trace/tspeed.exp: Likewise.
* gdb.trace/tsv.exp: Likewise.
* gdb.trace/while-stepping.exp: Likewise.
* lib/gdb.exp: Likewise.
* lib/gdbserver-support.exp: Likewise.
* lib/java.exp: Likewise.
* lib/mi-support.exp: Likewise.
* lib/pascal.exp: Likewise.
* lib/prompt.exp: Likewise.
* lib/trace-support.exp: Likewise.

11 years ago * ld.texinfo (SEGMENT_START): Rephrase to indicate that a -T
Nick Clifton [Fri, 7 Jun 2013 15:11:18 +0000 (15:11 +0000)]
* ld.texinfo (SEGMENT_START): Rephrase to indicate that a -T
option must appear before the SEGMENT_START is encountered in
order for the default value to be overridden.

11 years agoFix formating in copyright headers.
Pedro Alves [Fri, 7 Jun 2013 14:39:33 +0000 (14:39 +0000)]
Fix formating in copyright headers.

File list found with:
$ grep "along with this program" * -A 1 -rn \
| grep "*/" \
| grep -v "along with this program" \
| sed 's,-[0-9]\+-.*,,g'

Tested on x86_64 Fedora 17.

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

* darwin-nat.c: Fix formating in copyright header.
* darwin-nat.h: Likewise.
* gnu-nat.c: Likewise.
* machoread.c: Likewise.

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

* gdb.ada/info_types.c: Fix formating in copyright header.
* gdb.base/break-on-linker-gcd-function.cc: Likewise.
* gdb.base/float.c: Likewise.
* gdb.base/inferior-died.c: Likewise.
* gdb.base/interp.c: Likewise.
* gdb.base/jit-main.c: Likewise.
* gdb.base/jit-solib.c: Likewise.
* gdb.base/long_long.c: Likewise.
* gdb.base/longjmp.c: Likewise.
* gdb.base/nextoverexit.c: Likewise.
* gdb.base/pr11022.c: Likewise.
* gdb.base/prelink-lib.c: Likewise.
* gdb.base/prelink.c: Likewise.
* gdb.base/prologue.c: Likewise.
* gdb.base/restore.c: Likewise.
* gdb.base/sigchld.c: Likewise.
* gdb.base/solib-search-lib1.c: Likewise.
* gdb.base/solib-search-lib2.c: Likewise.
* gdb.base/solib-search.c: Likewise.
* gdb.base/solib-search.h: Likewise.
* gdb.base/whatis.c: Likewise.
* gdb.cp/abstract-origin.cc: Likewise.
* gdb.cp/anon-struct.cc: Likewise.
* gdb.cp/baseenum.cc: Likewise.
* gdb.cp/bs15503.cc: Likewise.
* gdb.cp/call-c-1.c: Likewise.
* gdb.cp/call-c.cc: Likewise.
* gdb.cp/class2.cc: Likewise.
* gdb.cp/classes.cc: Likewise.
* gdb.cp/cttiadd.cc: Likewise.
* gdb.cp/cttiadd1.cc: Likewise.
* gdb.cp/cttiadd2.cc: Likewise.
* gdb.cp/cttiadd3.cc: Likewise.
* gdb.cp/derivation.cc: Likewise.
* gdb.cp/derivation2.cc: Likewise.
* gdb.cp/dispcxx.cc: Likewise.
* gdb.cp/exception.cc: Likewise.
* gdb.cp/gdb2384-base.cc: Likewise.
* gdb.cp/gdb2384-base.h: Likewise.
* gdb.cp/gdb2384.cc: Likewise.
* gdb.cp/gdb2495.cc: Likewise.
* gdb.cp/mb-inline.h: Likewise.
* gdb.cp/mb-inline1.cc: Likewise.
* gdb.cp/mb-inline2.cc: Likewise.
* gdb.cp/member-name.cc: Likewise.
* gdb.cp/member-ptr.cc: Likewise.
* gdb.cp/misc.cc: Likewise.
* gdb.cp/namespace1.cc: Likewise.
* gdb.cp/nextoverthrow.cc: Likewise.
* gdb.cp/pr-574.cc: Likewise.
* gdb.cp/pr9631.cc: Likewise.
* gdb.cp/printmethod.cc: Likewise.
* gdb.cp/psmang1.cc: Likewise.
* gdb.cp/psmang2.cc: Likewise.
* gdb.cp/psymtab-parameter.cc: Likewise.
* gdb.cp/ptype-flags.cc: Likewise.
* gdb.cp/ref-params.cc: Likewise.
* gdb.cp/ref-types.cc: Likewise.
* gdb.cp/smartp.cc: Likewise.
* gdb.cp/try_catch.cc: Likewise.
* gdb.cp/userdef.cc: Likewise.
* gdb.cp/using-crash.cc: Likewise.
* gdb.cp/virtfunc.cc: Likewise.
* gdb.cp/virtfunc2.cc: Likewise.
* gdb.dwarf2/callframecfa.S: Likewise.
* gdb.dwarf2/dw2-ranges.c: Likewise.
* gdb.dwarf2/dw2-ranges2.c: Likewise.
* gdb.dwarf2/dw2-ranges3.c: Likewise.
* gdb.dwarf2/dw2-restore.S: Likewise.
* gdb.dwarf2/pieces.S: Likewise.
* gdb.dwarf2/valop.S: Likewise.
* gdb.java/jnpe.java: Likewise.
* gdb.mi/mi-stepn.c: Likewise.
* gdb.mi/mi-var-cp.cc: Likewise.
* gdb.mi/mi-var-rtti.cc: Likewise.
* gdb.mi/ns-stale-regcache.c: Likewise.
* gdb.mi/pr11022.c: Likewise.
* gdb.mi/solib-lib.c: Likewise.
* gdb.mi/solib-main.c: Likewise.
* gdb.python/py-arch.c: Likewise.
* gdb.python/py-block.c: Likewise.
* gdb.python/py-breakpoint.c: Likewise.
* gdb.python/py-events.c: Likewise.
* gdb.python/py-evthreads.c: Likewise.
* gdb.python/py-explore.c: Likewise.
* gdb.python/py-explore.cc: Likewise.
* gdb.python/py-finish-breakpoint.c: Likewise.
* gdb.python/py-finish-breakpoint2.cc: Likewise.
* gdb.python/py-symbol.c: Likewise.
* gdb.threads/execl.c: Likewise.
* gdb.threads/execl1.c: Likewise.

11 years agoMention PR server/14823 in ChangeLogs.
Pedro Alves [Fri, 7 Jun 2013 10:55:22 +0000 (10:55 +0000)]
Mention PR server/14823 in ChangeLogs.

11 years ago[GDBserver] Multi-process + multi-arch
Pedro Alves [Fri, 7 Jun 2013 10:46:59 +0000 (10:46 +0000)]
[GDBserver] Multi-process + multi-arch

This patch makes GDBserver support multi-process + biarch.

Currently, if you're debugging more than one process at once with a
single gdbserver (in extended-remote mode), then all processes must
have the same architecture (e.g., 64-bit vs 32-bit).  Otherwise, you
see this:

Added inferior 2
[Switching to inferior 2 [<null>] (<noexec>)]
Reading symbols from /home/pedro/gdb/tests/main32...done.
Temporary breakpoint 2 at 0x4004cf: main. (2 locations)
Starting program: /home/pedro/gdb/tests/main32
warning: Selected architecture i386 is not compatible with reported target architecture i386:x86-64
warning: Architecture rejected target-supplied description
Remote 'g' packet reply is too long: 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000090cfffff0000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000b042f7460000000000020000230000002b0000002b0000002b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007f03000000000000ffff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000801f00003b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
... etc, etc ...

Even though the process was running a 32-bit program, GDBserver sent
back to GDB a register set in 64-bit layout.

A patch (http://sourceware.org/ml/gdb-patches/2012-11/msg00228.html) a
while ago made GDB track a target_gdbarch per inferior, and as
consequence, fetch a target description per-inferior.  This patch is
the GDBserver counterpart, that makes GDBserver keep track of each
process'es XML target description and register layout.  So in the
example above, GDBserver will send the correct register set in 32-bit
layout to GDB.

A new "struct target_desc" object (tdesc for short) is added, that
holds the target description and register layout information about
each process.  Each `struct process_info' holds a pointer to a target
description.  The regcache also gains a pointer to a target
description, mainly for convenience, and parallel with GDB (and
possible future support for programs that flip processor modes).

The low target's arch_setup routines are responsible for setting the
process'es correct tdesc.  This isn't that much different to how
things were done before, except that instead of detecting the inferior
process'es architecture and calling the corresponding
init_registers_FOO routine, which would change the regcache layout
globals and recreate the threads' regcaches, the regcache.c globals
are gone, and the init_registers_$BAR routines now each initialize a
separate global struct target_desc object (one for each arch variant
GDBserver supports), and so all the init_registers_$BAR routines that
are built into GDBserver are called early at GDBserver startup time
(similarly to how GDB handles its built-in target descriptions), and
then the arch_setup routine is responsible for making
process_info->tdesc point to one of these target description globals.
The regcache module is all parameterized to get the regcache's layout
from the tdesc object instead of the old register_bytes, etc. globals.

The threads' regcaches are now created lazily.  The old scheme where
we created each of them when we added a new thread doesn't work
anymore, because we add the main thread/lwp before we see it stop for
the first time, and it is only when we see the thread stop for the
first time that we have a chance of determining the inferior's
architecture (through the_low_target.arch_setup).  Therefore when we
add the main thread we don't know which architecture/tdesc its
regcache should have.

This patch makes the gdb.multi/multi-arch.exp test now pass against
(extended-remote) GDBserver.  It currently fails, without this patch.

The IPA also uses the regcache, so it gains a new global struct
target_desc pointer, which points at the description of the process it
is loaded in.

Re. the linux-low.c & friends changes.  Since the register map
etc. may differ between processes (64-bit vs 32-bit) etc., the
linux_target_ops num_regs, regmap and regset_bitmap data fields are no
longer sufficient.  A new method is added in their place that returns
a pointer to a new struct that includes all info linux-low.c needs to
access registers of the current inferior.

The patch/discussion that originally introduced
linux-low.c:disabled_regsets mentions that the disabled_regsets set
may be different per mode (in a biarch setup), and indeed that is
cleared whenever we start a new (first) inferior, so that global is
moved as well behind the new `struct regs_info'.

On the x86 side:

I simply replaced the i387-fp.c:num_xmm_registers global with a check
for 64-bit or 32-bit process, which is equivalent to how the global
was set.  This avoided coming up with some more general mechanism that
would work for all targets that use this module (GNU/Linux, Windows,
etc.).

Tested:

  GNU/Linux IA64
  GNU/Linux MIPS64
  GNU/Linux PowerPC (Fedora 16)
  GNU/Linux s390x (Fedora 16)
  GNU/Linux sparc64 (Debian)
  GNU/Linux x86_64, -m64 and -m32 (Fedora 17)

Cross built, and smoke tested:

  i686-w64-mingw32, under Wine.
  GNU/Linux TI C6x, by Yao Qi.

Cross built but otherwise not tested:

  aarch64-linux-gnu
  arm-linux-gnu
  m68k-linux
  nios2-linux-gnu
  sh-linux-gnu
  spu
  tilegx-unknown-linux-gnu

Completely untested:

  GNU/Linux Blackfin
  GNU/Linux CRIS
  GNU/Linux CRISv32
  GNU/Linux TI Xtensa
  GNU/Linux M32R
  LynxOS
  QNX NTO

gdb/gdbserver/
2013-06-07  Pedro Alves  <palves@redhat.com>

* Makefile.in (OBS): Add tdesc.o.
(IPA_OBJS): Add tdesc-ipa.o.
(tdesc-ipa.o): New rule.
* ax.c (gdb_eval_agent_expr): Adjust register_size call to new
interface.
* linux-low.c (new_inferior): Delete.
(disabled_regsets, num_regsets): Delete.
(linux_add_process): Adjust to set the new per-process
new_inferior flag.
(linux_detach_one_lwp): Adjust to call regcache_invalidate_thread.
(linux_wait_for_lwp): Adjust.  Only call arch_setup if the event
was a stop.  When calling arch_setup, switch the current inferior
to the thread that got an event.
(linux_resume_one_lwp): Adjust to call regcache_invalidate_thread.
(regsets_fetch_inferior_registers)
(regsets_store_inferior_registers): New regsets_info parameter.
Adjust to use it.
(linux_register_in_regsets): New regs_info parameter.  Adjust to
use it.
(register_addr, fetch_register, store_register): New usrregs_info
parameter.  Adjust to use it.
(usr_fetch_inferior_registers, usr_store_inferior_registers): New
parameter regs_info.  Adjust to use it.
(linux_fetch_registers): Get the current inferior's regs_info, and
adjust to use it.
(linux_store_registers): Ditto.
[HAVE_LINUX_REGSETS] (initialize_regsets_info): New.
(initialize_low): Don't initialize the target_regsets here.  Call
initialize_low_arch.
* linux-low.h (target_regsets): Delete declaration.
(struct regsets_info): New.
(struct usrregs_info): New.
(struct regs_info): New.
(struct process_info_private) <new_inferior>: New field.
(struct linux_target_ops): Delete the num_regs, regmap, and
regset_bitmap fields.  New field regs_info.
[HAVE_LINUX_REGSETS] (initialize_regsets_info): Declare.
* i387-fp.c (num_xmm_registers): Delete.
(i387_cache_to_fsave, i387_fsave_to_cache): Adjust find_regno
calls to new interface.
(i387_cache_to_fxsave, i387_cache_to_xsave, i387_fxsave_to_cache)
(i387_xsave_to_cache): Adjust find_regno calls to new interface.
Infer the number of xmm registers from the regcache's target
description.
* i387-fp.h (num_xmm_registers): Delete.
* inferiors.c (add_thread): Don't install the thread's regcache
here.
* proc-service.c (gregset_info): Fetch the current inferior's
regs_info.  Adjust to use it.
* regcache.c: Include tdesc.h.
(register_bytes, reg_defs, num_registers)
(gdbserver_expedite_regs): Delete.
(get_thread_regcache): If the thread doesn't have a regcache yet,
create one, instead of aborting gdbserver.
(regcache_invalidate_one): Rename to ...
(regcache_invalidate_thread): ... this.
(regcache_invalidate_one): New.
(regcache_invalidate): Only invalidate registers of the current
process.
(init_register_cache): Add target_desc parameter, and use it.
(new_register_cache): Ditto.  Assert the target description has a
non zero registers_size.
(regcache_cpy): Add assertions.  Adjust.
(realloc_register_cache, set_register_cache): Delete.
(registers_to_string, registers_from_string): Adjust.
(find_register_by_name, find_regno, find_register_by_number)
(register_cache_size): Add target_desc parameter, and use it.
(free_register_cache_thread, free_register_cache_thread_one)
(regcache_release, register_cache_size): New.
(register_size): Add target_desc parameter, and use it.
(register_data, supply_register, supply_register_zeroed)
(supply_regblock, supply_register_by_name, collect_register)
(collect_register_as_string, collect_register_by_name): Adjust.
* regcache.h (struct target_desc): Forward declare.
(struct regcache) <tdesc>: New field.
(init_register_cache, new_register_cache): Add target_desc
parameter.
(regcache_invalidate_thread): Declare.
(regcache_invalidate_one): Delete declaration.
(regcache_release): Declare.
(find_register_by_number, register_cache_size, register_size)
(find_regno): Add target_desc parameter.
(gdbserver_expedite_regs, gdbserver_xmltarget): Delete
declarations.
* remote-utils.c: Include tdesc.h.
(outreg, prepare_resume_reply): Adjust.
* server.c: Include tdesc.h.
(gdbserver_xmltarget): Delete declaration.
(get_features_xml, process_serial_event): Adjust.
* server.h [IN_PROCESS_AGENT] (struct target_desc): Forward
declare.
(struct process_info) <tdesc>: New field.
(ipa_tdesc): Declare.
* tdesc.c: New file.
* tdesc.h: New file.
* tracepoint.c: Include tdesc.h.
[IN_PROCESS_AGENT] (ipa_tdesc): Define.
(get_context_regcache): Adjust to pass ipa_tdesc down.
(do_action_at_tracepoint): Adjust to get the register cache size
from the context regcache's description.
(traceframe_walk_blocks): Adjust to get the register cache size
from the current trace frame's description.
(traceframe_get_pc): Adjust to get current trace frame's
description and pass it down.
(gdb_collect): Adjust to get the register cache size from the
IPA's description.
* linux-amd64-ipa.c (tdesc_amd64_linux): Declare.
(gdbserver_xmltarget): Delete.
(initialize_low_tracepoint): Set the ipa's target description.
* linux-i386-ipa.c (tdesc_i386_linux): Declare.
(initialize_low_tracepoint): Set the ipa's target description.
* linux-x86-low.c: Include tdesc.h.
[__x86_64__] (is_64bit_tdesc): New.
(ps_get_thread_area, x86_get_thread_area): Use it.
(i386_cannot_store_register): Rename to ...
(x86_cannot_store_register): ... this.  Use is_64bit_tdesc.
(i386_cannot_fetch_register): Rename to ...
(x86_cannot_fetch_register): ... this.  Use is_64bit_tdesc.
(x86_fill_gregset, x86_store_gregset): Adjust register_size calls
to new interface.
(target_regsets): Rename to ...
(x86_regsets): ... this.
(x86_get_pc, x86_set_pc): Adjust register_size calls to new
interface.
(x86_siginfo_fixup): Use is_64bit_tdesc.
[__x86_64__] (tdesc_amd64_linux, tdesc_amd64_avx_linux)
(tdesc_x32_avx_linux, tdesc_x32_linux)
(tdesc_i386_linux, tdesc_i386_mmx_linux, tdesc_i386_avx_linux):
Declare.
(x86_linux_update_xmltarget): Delete.
(I386_LINUX_XSAVE_XCR0_OFFSET): Define.
(have_ptrace_getfpxregs, have_ptrace_getregset): New.
(AMD64_LINUX_USER64_CS): New.
(x86_linux_read_description): New, based on
x86_linux_update_xmltarget.
(same_process_callback): New.
(x86_arch_setup_process_callback): New.
(x86_linux_update_xmltarget): New.
(x86_regsets_info): New.
(amd64_linux_regs_info): New.
(i386_linux_usrregs_info): New.
(i386_linux_regs_info): New.
(x86_linux_regs_info): New.
(x86_arch_setup): Reimplement.
(x86_install_fast_tracepoint_jump_pad): Use is_64bit_tdesc.
(x86_emit_ops): Ditto.
(the_low_target): Adjust.  Install x86_linux_regs_info,
x86_cannot_fetch_register, and x86_cannot_store_register.
(initialize_low_arch): New.
* linux-ia64-low.c (tdesc_ia64): Declare.
(ia64_fetch_register): Adjust.
(ia64_usrregs_info, regs_info): New globals.
(ia64_regs_info): New function.
(the_low_target): Adjust.
(initialize_low_arch): New function.
* linux-sparc-low.c (tdesc_sparc64): Declare.
(sparc_fill_gregset_to_stack, sparc_store_gregset_from_stack):
Adjust.
(sparc_arch_setup): New function.
(sparc_regsets_info, sparc_usrregs_info, regs_info): New globals.
(the_low_target): Adjust.
(initialize_low_arch): New function.
* linux-ppc-low.c (tdesc_powerpc_32l, tdesc_powerpc_altivec32l)
(tdesc_powerpc_cell32l, tdesc_powerpc_vsx32l)
(tdesc_powerpc_isa205_32l, tdesc_powerpc_isa205_altivec32l)
(tdesc_powerpc_isa205_vsx32l, tdesc_powerpc_e500l)
(tdesc_powerpc_64l, tdesc_powerpc_altivec64l)
(tdesc_powerpc_cell64l, tdesc_powerpc_vsx64l)
(tdesc_powerpc_isa205_64l, tdesc_powerpc_isa205_altivec64l)
(tdesc_powerpc_isa205_vsx64l): Declare.
(ppc_cannot_store_register, ppc_collect_ptrace_register)
(ppc_supply_ptrace_register, parse_spufs_run, ppc_get_pc)
(ppc_set_pc, ppc_get_hwcap): Adjust.
(ppc_usrregs_info): Forward declare.
(!__powerpc64__) ppc_regmap_adjusted: New global.
(ppc_arch_setup): Adjust to the current process'es target
description.
(ppc_fill_vsxregset, ppc_store_vsxregset, ppc_fill_vrregset)
(ppc_store_vrregset, ppc_fill_evrregset, ppc_store_evrregse)
(ppc_store_evrregset): Adjust.
(target_regsets): Rename to ...
(ppc_regsets): ... this, and make static.
(ppc_usrregs_info, ppc_regsets_info, regs_info): New globals.
(ppc_regs_info): New function.
(the_low_target): Adjust.
(initialize_low_arch): New function.
* linux-s390-low.c (tdesc_s390_linux32, tdesc_s390_linux32v1)
(tdesc_s390_linux32v2, tdesc_s390_linux64, tdesc_s390_linux64v1)
(tdesc_s390_linux64v2, tdesc_s390x_linux64, tdesc_s390x_linux64v1)
(tdesc_s390x_linux64v2): Declare.
(s390_collect_ptrace_register, s390_supply_ptrace_register)
(s390_fill_gregset, s390_store_last_break): Adjust.
(target_regsets): Rename to ...
(s390_regsets): ... this, and make static.
(s390_get_pc, s390_set_pc): Adjust.
(s390_get_hwcap): New target_desc parameter, and use it.
[__s390x__] (have_hwcap_s390_high_gprs): New global.
(s390_arch_setup): Adjust to set the current process'es target
description.  Don't adjust the regmap.
(s390_usrregs_info, s390_regsets_info, regs_info): New globals.
[__s390x__] (s390_usrregs_info_3264, s390_regsets_info_3264)
(regs_info_3264): New globals.
(s390_regs_info): New function.
(the_low_target): Adjust.
(initialize_low_arch): New function.
* linux-mips-low.c (tdesc_mips_linux, tdesc_mips_dsp_linux)
(tdesc_mips64_linux, tdesc_mips64_dsp_linux): Declare.
[__mips64] (init_registers_mips_linux)
(init_registers_mips_dsp_linux): Delete defines.
[__mips64] (tdesc_mips_linux, tdesc_mips_dsp_linux): New defines.
(have_dsp): New global.
(mips_read_description): New, based on mips_arch_setup.
(mips_arch_setup): Reimplement.
(get_usrregs_info): New function.
(mips_cannot_fetch_register, mips_cannot_store_register)
(mips_get_pc, mips_set_pc, mips_fill_gregset, mips_store_gregset)
(mips_fill_fpregset, mips_store_fpregset): Adjust.
(target_regsets): Rename to ...
(mips_regsets): ... this, and make static.
(mips_regsets_info, mips_dsp_usrregs_info, mips_usrregs_info)
(dsp_regs_info, regs_info): New globals.
(mips_regs_info): New function.
(the_low_target): Adjust.
(initialize_low_arch): New function.
* linux-arm-low.c (tdesc_arm, tdesc_arm_with_iwmmxt)
(tdesc_arm_with_vfpv2, tdesc_arm_with_vfpv3, tdesc_arm_with_neon):
Declare.
(arm_fill_vfpregset, arm_store_vfpregset): Adjust.
(arm_read_description): New, with bits factored from
arm_arch_setup.
(arm_arch_setup): Reimplement.
(target_regsets): Rename to ...
(arm_regsets): ... this, and make static.
(arm_regsets_info, arm_usrregs_info, regs_info): New globals.
(arm_regs_info): New function.
(the_low_target): Adjust.
(initialize_low_arch): New function.
* linux-m68k-low.c (tdesc_m68k): Declare.
(target_regsets): Rename to ...
(m68k_regsets): ... this, and make static.
(m68k_regsets_info, m68k_usrregs_info, regs_info): New globals.
(m68k_regs_info): New function.
(m68k_arch_setup): New function.
(the_low_target): Adjust.
(initialize_low_arch): New function.
* linux-sh-low.c (tdesc_sharch): Declare.
(target_regsets): Rename to ...
(sh_regsets): ... this, and make static.
(sh_regsets_info, sh_usrregs_info, regs_info): New globals.
(sh_regs_info, sh_arch_setup): New functions.
(the_low_target): Adjust.
(initialize_low_arch): New function.
* linux-bfin-low.c (tdesc_bfin): Declare.
(bfin_arch_setup): New function.
(bfin_usrregs_info, regs_info): New globals.
(bfin_regs_info): New function.
(the_low_target): Adjust.
(initialize_low_arch): New function.
* linux-cris-low.c (tdesc_cris): Declare.
(cris_arch_setup): New function.
(cris_usrregs_info, regs_info): New globals.
(cris_regs_info): New function.
(the_low_target): Adjust.
(initialize_low_arch): New function.
* linux-cris-low.c (tdesc_crisv32): Declare.
(cris_arch_setup): New function.
(cris_regsets_info, cris_usrregs_info, regs_info): New globals.
(cris_regs_info): New function.
(the_low_target): Adjust.
(initialize_low_arch): New function.
* linux-m32r-low.c (tdesc_m32r): Declare.
(m32r_arch_setup): New function.
(m32r_usrregs_info, regs_info): New globals.
(m32r_regs_info): Adjust.
(initialize_low_arch): New function.
* linux-tic6x-low.c (tdesc_tic6x_c64xp_linux)
(tdesc_tic6x_c64x_linux, tdesc_tic6x_c62x_linux): Declare.
(tic6x_usrregs_info): Forward declare.
(tic6x_read_description): New function, based on ...
(tic6x_arch_setup): ... this.  Reimplement.
(target_regsets): Rename to ...
(tic6x_regsets): ... this, and make static.
(tic6x_regsets_info, tic6x_usrregs_info, regs_info): New globals.
(tic6x_regs_info): New function.
(the_low_target): Adjust.
(initialize_low_arch): New function.
* linux-xtensa-low.c (tdesc_xtensa): Declare.
(xtensa_fill_gregset, xtensa_store_gregset): Adjust.
(target_regsets): Rename to ...
(xtensa_regsets): ... this, and make static.
(xtensa_regsets_info, xtensa_usrregs_info, regs_info): New
globals.
(xtensa_arch_setup, xtensa_regs_info): New functions.
(the_low_target): Adjust.
(initialize_low_arch): New function.
* linux-nios2-low.c (tdesc_nios2_linux): Declare.
(nios2_arch_setup): Set the current process'es tdesc.
(target_regsets): Rename to ...
(nios2_regsets): ... this.
(nios2_regsets_info, nios2_usrregs_info, regs_info): New globals.
(nios2_regs_info): New function.
(the_low_target): Adjust.
(initialize_low_arch): New function.
        * linux-aarch64-low.c (tdesc_aarch64): Declare.
        (aarch64_arch_setup): Set the current process'es tdesc.
        (target_regsets): Rename to ...
        (aarch64_regsets): ... this.
        (aarch64_regsets_info, aarch64_usrregs_info, regs_info): New globals.
        (aarch64_regs_info): New function.
        (the_low_target): Adjust.
        (initialize_low_arch): New function.
* linux-tile-low.c (tdesc_tilegx, tdesc_tilegx32): Declare
globals.
(target_regsets): Rename to ...
(tile_regsets): ... this.
(tile_regsets_info, tile_usrregs_info, regs_info): New globals.
(tile_regs_info): New function.
(tile_arch_setup): Set the current process'es tdesc.
(the_low_target): Adjust.
(initialize_low_arch): New function.
* spu-low.c (tdesc_spu): Declare.
(spu_create_inferior, spu_attach): Set the new process'es tdesc.
* win32-arm-low.c (tdesc_arm): Declare.
(arm_arch_setup): New function.
(the_low_target): Install arm_arch_setup instead of
init_registers_arm.
* win32-i386-low.c (tdesc_i386, tdesc_amd64): Declare.
(init_windows_x86): Rename to ...
(i386_arch_setup): ... this.  Set `win32_tdesc'.
(the_low_target): Adjust.
* win32-low.c (win32_tdesc): New global.
(child_add_thread): Don't create the thread cache here.
(do_initial_child_stuff): Set the new process'es tdesc.
* win32-low.h (struct target_desc): Forward declare.
(win32_tdesc): Declare.
* lynx-i386-low.c (tdesc_i386): Declare global.
(lynx_i386_arch_setup): Set `lynx_tdesc'.
* lynx-low.c (lynx_tdesc): New global.
(lynx_add_process): Set the new process'es tdesc.
* lynx-low.h (struct target_desc): Forward declare.
(lynx_tdesc): Declare global.
* lynx-ppc-low.c (tdesc_powerpc_32): Declare global.
(lynx_ppc_arch_setup): Set `lynx_tdesc'.
* nto-low.c (nto_tdesc): New global.
(do_attach): Set the new process'es tdesc.
* nto-low.h (struct target_desc): Forward declare.
(nto_tdesc): Declare.
* nto-x86-low.c (tdesc_i386): Declare.
(nto_x86_arch_setup): Set `nto_tdesc'.

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

* regformats/regdat.sh: Output #include tdesc.h.  Make globals
static.  Output a global target description pointer.
(init_registers_${name}): Adjust to initialize a
target description structure.

11 years agogdb/testsuite/gdb.base/long_long.exp: Fix ARM EABI target
Will Newton [Fri, 7 Jun 2013 08:53:32 +0000 (08:53 +0000)]
gdb/testsuite/gdb.base/long_long.exp: Fix ARM EABI target
 glob.

The current glob missed gnueabihf targets. Expand to catch these
cases and fix the test failure on those systems.

gdb/testsuite/ChangeLog:

2013-06-07  Will Newton  <will.newton@linaro.org>

* gdb.base/long_long.exp: Fix ARM EABI target glob.

11 years agogdb/testsuite/gdb.cp/annota2.exp: Add missing empty line
Will Newton [Fri, 7 Jun 2013 08:51:42 +0000 (08:51 +0000)]
gdb/testsuite/gdb.cp/annota2.exp: Add missing empty line
 in output.

There should be an empty line between "post-prompt" and "starting".
This fixes a testsuite failure on ARM.

gdb/testsuite/ChangeLog:

2013-06-07  Will Newton  <will.newton@linaro.org>

* gdb.cp/annota2.exp: Add empty line between "post-prompt"
and "starting".

11 years agogdb/testsuite/gdb.cp: Fix tests for ARM C++ ABI.
Will Newton [Fri, 7 Jun 2013 08:47:09 +0000 (08:47 +0000)]
gdb/testsuite/gdb.cp: Fix tests for ARM C++ ABI.

The ARM C++ ABI defines constructors and destructors to return
pointers to this. The C++ tests that check the types of constructors
and destructors expect a return type of void. Conditionalize these
tests so they pass on ARM.

gdb/testsuite/ChangeLog:

2013-06-07  Will Newton  <will.newton@linaro.org>

* gdb.cp/anon-struct.exp: Conditionalize constructor and
destructor prototypes for ARM ABI.
* gdb.cp/m-static.exp: Likewise.

11 years agogdb/printcmd.c: Fix printing of Thumb minimal symbols.
Will Newton [Fri, 7 Jun 2013 07:49:10 +0000 (07:49 +0000)]
gdb/printcmd.c: Fix printing of Thumb minimal symbols.

In build_address_symbolic we call gdbarch_addr_bits_remove for
symbols in the symbol table but not for minimal symbols. This
causes a failure in gdb.cp/virtfunc.exp on ARM, as the address
of the virtual thunk is given an offset of 1 when in Thumb mode.

gdb/ChangeLog:

2013-06-07  Will Newton  <will.newton@linaro.org>

* printcmd.c (build_address_symbolic): Call
gdbarch_addr_bits_remove for text minimal symbols.

11 years agogdb/MAINTAINERS: Add myself to Write After Approval.
Will Newton [Fri, 7 Jun 2013 07:44:20 +0000 (07:44 +0000)]
gdb/MAINTAINERS: Add myself to Write After Approval.

gdb/ChangeLog:

2013-06-07  Will Newton  <will.newton@linaro.org>

* MAINTAINERS: Add myself to Write After Approval.

11 years agogdb/doc/
Yao Qi [Fri, 7 Jun 2013 00:33:25 +0000 (00:33 +0000)]
gdb/doc/

* gdb.texinfo (Symbols): Add kindex and cindex for
'maint print msymbols'.

11 years agogdb/testsuite/
Yao Qi [Fri, 7 Jun 2013 00:29:19 +0000 (00:29 +0000)]
gdb/testsuite/

* gdb.trace/mi-trace-unavailable.exp: New.
* gdb.trace/trace-unavailable.c: New.

11 years agogdb/
Yao Qi [Fri, 7 Jun 2013 00:19:36 +0000 (00:19 +0000)]
gdb/

* tracepoint.c (start_tracing): Move code to ...
(trace_reset_local_state): ... here.  New.
(disconnect_tracing): Don't call set_current_traceframe,
set_tracepoint_num, and set_traceframe_context. Call
trace_reset_local_state instead.
(tfile_close): Call trace_reset_local_state.
* ctf.c (ctf_close): Likewise.
* remote.c (remote_close): Likewise.
* tracepoint.h (trace_reset_local_state): Declare.

11 years agodaily update
Alan Modra [Fri, 7 Jun 2013 00:00:05 +0000 (00:00 +0000)]
daily update

11 years ago*** empty log message ***
gdbadmin [Fri, 7 Jun 2013 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***

11 years ago * dwarf2read.c: Whitespace fixes for DWP file format documentation,
Doug Evans [Thu, 6 Jun 2013 23:51:09 +0000 (23:51 +0000)]
* dwarf2read.c: Whitespace fixes for DWP file format documentation,
and fix header docs.

11 years ago * mips.h (ELF_ST_SET_MIPS_PIC): Clear any STO_MIPS16 setting.
Maciej W. Rozycki [Thu, 6 Jun 2013 22:09:07 +0000 (22:09 +0000)]
* mips.h (ELF_ST_SET_MIPS_PIC): Clear any STO_MIPS16 setting.

11 years ago * gdb.cp/derivation.exp: Make tests have unique names.
Doug Evans [Thu, 6 Jun 2013 19:02:27 +0000 (19:02 +0000)]
* gdb.cp/derivation.exp: Make tests have unique names.

11 years ago * gdb.base/dump.exp (capture_value): Don't put expression into
Tom Tromey [Thu, 6 Jun 2013 19:00:13 +0000 (19:00 +0000)]
* gdb.base/dump.exp (capture_value): Don't put expression into
test name if arguments passed in.
Rename a couple more tests to make them unique.

11 years agoAdd PR number to this entry:
Doug Evans [Thu, 6 Jun 2013 18:02:48 +0000 (18:02 +0000)]
Add PR number to this entry:
PR server/15594
* linux-x86-low.c (ps_get_thread_area): Properly extend address to
64 bits in 64-cross-32 environment.

11 years ago * gdb.base/break-always.exp: Explicitly specify test name.
Tom Tromey [Thu, 6 Jun 2013 15:50:37 +0000 (15:50 +0000)]
* gdb.base/break-always.exp: Explicitly specify test name.

11 years agoAdd missing PR to ChangeLog entry
Gary Benson [Thu, 6 Jun 2013 08:50:08 +0000 (08:50 +0000)]
Add missing PR to ChangeLog entry

11 years agogold/
Cary Coutant [Thu, 6 Jun 2013 06:06:56 +0000 (06:06 +0000)]
gold/
Add missing test case from last patch.

11 years agoReplace "(tiny patch)" by "(tiny change)" in gdb ChangeLogs...
Joel Brobecker [Thu, 6 Jun 2013 05:16:06 +0000 (05:16 +0000)]
Replace "(tiny patch)" by "(tiny change)" in gdb ChangeLogs...

... as this is the wording recommended by the FSF via the manual
for Maintainers of GNU software.

11 years agoAnnotate last gdb.texinfo patch as accepted as a "tiny patch"
Joel Brobecker [Thu, 6 Jun 2013 05:10:20 +0000 (05:10 +0000)]
Annotate last gdb.texinfo patch as accepted as a "tiny patch"

(copyright assignment not needed because patch is small enough to
not be legally significant).

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

11 years ago*** empty log message ***
gdbadmin [Thu, 6 Jun 2013 00:00:02 +0000 (00:00 +0000)]
*** empty log message ***

11 years ago2013-06-05 Alexander Ivchenko <alexander.ivchenko@intel.com>
Cary Coutant [Wed, 5 Jun 2013 23:52:21 +0000 (23:52 +0000)]
2013-06-05  Alexander Ivchenko  <alexander.ivchenko@intel.com>

gold/
* layout.cc (Layout::set_segment_offsets): Taking care of the case when
the maximum segment alignment is larger than the page size.
* testsuite/Makefile.am (large_symbol_alignment): Test that Gold
correctly aligns the symbols with large alignemnt.
* testsuite/Makefile.in: Regenerate.
* testsuite/large_symbol_alignment.cc: New file.

11 years ago PR 15519
Doug Evans [Wed, 5 Jun 2013 22:28:51 +0000 (22:28 +0000)]
PR 15519
* cp-namespace.c (find_symbol_in_baseclass): Call
cp_lookup_symbol_in_namespace instead of cp_lookup_symbol_namespace.
Check result of call to lookup_symbol_static.
Call lookup_static_symbol_aux unconditionally.
Call check_typedef on base types before accessing them.
(cp_lookup_nested_symbol): Fix comment.

testsuite/
* gdb.cp/derivation2.cc: New file.
* gdb.cp/derivation.cc (main): Call foo2.
* gdb.cp/derivation.exp: Add tests for typedefs in another
file, and when there's an active block.

11 years ago * gnu-v3-abi.c (gnuv3_skip_trampoline): Handle thunk
Luis Machado [Wed, 5 Jun 2013 20:43:53 +0000 (20:43 +0000)]
* gnu-v3-abi.c (gnuv3_skip_trampoline): Handle thunk
minimal symbols pointing to function descriptors.

11 years ago * gdb.cp/virtfunc.exp (make_one_vtable_result): Handle extra output
Luis Machado [Wed, 5 Jun 2013 20:38:37 +0000 (20:38 +0000)]
* gdb.cp/virtfunc.exp (make_one_vtable_result): Handle extra output
from targets that use function descriptors in the virtual tables.
Handle presence of dot symbols.

11 years ago * python/py-utils.c (gdb_pymodule_addobject): Cast away const.
Tom Tromey [Wed, 5 Jun 2013 17:32:51 +0000 (17:32 +0000)]
* python/py-utils.c (gdb_pymodule_addobject): Cast away const.