lp:~ubuntu-support-team/binutils/+git/binutils-gdb

Get this repository:
git clone https://git.qastaging.paddev.net/~ubuntu-support-team/binutils/+git/binutils-gdb

Import details

Import Status: Suspended

This repository is an import of the Git repository at git://sourceware.org/git/binutils-gdb.git.

Last successful import was .

Import started on juju-eb11dc-stg-qa-launchpad-codeimport-0 and finished taking 20 seconds — see the log
Import started on juju-eb11dc-stg-qa-launchpad-codeimport-0 and finished taking 5 seconds — see the log
Import started on juju-eb11dc-stg-qa-launchpad-codeimport-0 and finished taking 5 minutes
Import started on juju-eb11dc-stg-qa-launchpad-codeimport-0 and finished taking 15 seconds — see the log

Branches

Name Last Modified Last Commit
users/simark/test 2020-02-23 03:23:42 UTC
test test 12 12

Author: Simon Marchi
Author Date: 2020-02-23 03:23:42 UTC

test test 12 12

users/cbiesinger/minidump 2020-02-14 21:11:07 UTC
Start working on reading .dmp files

Author: Christian Biesinger
Author Date: 2020-01-20 21:31:50 UTC

Start working on reading .dmp files

Change-Id: I0cf39c48938b78ae3776d52f425133cadaa33de6

users/hjl/pr25355/binutils-2_34-branch 2020-02-13 14:40:27 UTC
plugin: Search bfd-plugins directories only once

Author: H.J. Lu
Author Date: 2020-02-13 11:17:51 UTC

plugin: Search bfd-plugins directories only once

try_load_plugin is updated to take either plugin name or plugin entry.
load_plugin is updated to search bfd-plugins directories first to build
a list of plugins and call try_load_plugin with each plugin on the list.
When --plugin is used, the plugin list only has one entry.

 * plugin.c (try_load_plugin): Make plugin_list_iter an argument
 and use it if it isn't NULL. Remove has_plugin_p argument. Add
 a build_list_p argument. Don't search plugin_list. Short circuit
 when building the plugin list.
 (has_plugin): Renamed to has_plugin_list.
 (bfd_plugin_set_plugin): Don't set has_plugin.
 (bfd_plugin_specified_p): Check plugin_list instead.
 (build_plugin_list): New function.
 (load_plugin): Call build_plugin_list and use plugin_list.

(cherry picked from commit 99845b3b77ed1248b6fb94707f88868bde358ccc)

users/roland/2.34/objcopy-merge-notes-qsort 2020-01-27 19:15:01 UTC
Fix objcopy --merge-notes dependency on qsort implementation behavior.

Author: Roland McGrath
Author Date: 2020-01-27 19:14:33 UTC

Fix objcopy --merge-notes dependency on qsort implementation behavior.

binutils/
 * objcopy.c (compare_gnu_build_notes): Fix comparison results
 for overlapping ranges so that (A == B) == (B == A) holds.

(cherry picked from commit 82ef9cad78b74ee9176e059e8c8dec1bdb4a1efe)

users/roland/objcopy-merge-notes-qsort 2020-01-27 19:14:33 UTC
Fix objcopy --merge-notes dependency on qsort implementation behavior.

Author: Roland McGrath
Author Date: 2020-01-27 19:14:33 UTC

Fix objcopy --merge-notes dependency on qsort implementation behavior.

binutils/
 * objcopy.c (compare_gnu_build_notes): Fix comparison results
 for overlapping ranges so that (A == B) == (B == A) holds.

users/palves/gnulib-largefile 2020-01-21 12:47:22 UTC
largefile

Author: Pedro Alves
Author Date: 2020-01-21 12:47:22 UTC

largefile

users/palves/stat 2020-01-20 15:39:33 UTC
Fix gnulib's lstat replacement in C++ namespace mode

Author: Pedro Alves
Author Date: 2020-01-19 19:58:56 UTC

Fix gnulib's lstat replacement in C++ namespace mode

Fixes:

 unittests/string_view-selftests.c: In member function 'gnulib::_gl_lstat_wrapper::operator gnulib::_gl_lstat_wrapper::type() const':
 unittests/string_view-selftests.c:11432:22: error: expected primary-expression before ';' token
      return ::rpl_stat;
         ^

The problem is that the lstat replacement depends on the stat
(function) declaration, which is only declared afterwards. The fix is
simply to declare lstat after stat.

users/palves/config.h 2020-01-16 18:13:54 UTC
Fix gdbsupport build on compilers that don't default to C++11 or above

Author: Pedro Alves
Author Date: 2020-01-15 21:55:29 UTC

Fix gdbsupport build on compilers that don't default to C++11 or above

gdbsupport fails to build with compilers that don't default to C++11
or above. gdbsupport's configure.ac is already using
AX_CXX_COMPILE_STDCXX, which sets CXX_DIALECT to the -std=gnu++11
switch if necessary, but the problem is that nowhere are we using
CXX_DIALECT. This fixes it.

gdbsupport/ChangeLog:
yyyy-mm-dd Pedro Alves <palves@redhat.com>

 * Makefile.am: Append CXX_DIALECT to CXX.
 * Makefile.in: Regenerate.

users/mmetzger/fsgs 2019-12-17 15:04:40 UTC
[wip] gdbserver, x86: support fs_base and gs_base

Author: Markus Metzger
Author Date: 2019-11-26 11:02:30 UTC

[wip] gdbserver, x86: support fs_base and gs_base

When debugging over gdbserver fs/gs_base is not updated when changing the
corresponding selector.

For 32-bit inferiors, fs/gs_base are now defined but not fetched.

Change-Id: I5a4d8637324ee5f0c303fdcc5eeb8ca50b96c577
Signed-off-by: Markus Metzger <markus.t.metzger@intel.com>

gdb-8.3-branch 2019-12-11 00:01:00 UTC
Automatic date update in version.in

Author: GDB Administrator
Author Date: 2019-12-11 00:01:00 UTC

Automatic date update in version.in

users/simark/mi-symbols-output 2019-11-21 05:27:37 UTC
Hi Andrew

Author: Simon Marchi
Author Date: 2019-11-21 05:10:18 UTC

Hi Andrew

Change-Id: I695d9860d6f7dae86f966dfc0524b934660478da

users/cbiesinger/all-perf-patches 2019-11-18 23:51:10 UTC
[RFC] Don't block on finishing demangling msymbols

Author: Christian Biesinger
Author Date: 2019-10-30 20:10:23 UTC

[RFC] Don't block on finishing demangling msymbols

Instead, do it all on a background thread and only block when we actually
need the result.

Note, this is a speedup but not quite as much as I was expecting; still
looking into what causes the waits. However, let me know if you have thoughts
on the concept!

Change-Id: I9d871917459ece0b41d31670b3c56600757aea66

users/cbiesinger/threadpool 2019-10-08 22:36:15 UTC
Switch to futures

Author: Christian Biesinger
Author Date: 2019-10-08 22:25:26 UTC

Switch to futures

users/cbiesinger/parallel-minsyms-mutex 2019-10-03 18:17:12 UTC
Precompute hash value for symbol_set_names

Author: Christian Biesinger
Author Date: 2019-10-03 18:05:06 UTC

Precompute hash value for symbol_set_names

We can also compute the hash for the mangled name on a background
thread so make this function even faster (about a 7% speedup).

gdb/ChangeLog:

2019-10-03 Christian Biesinger <cbiesinger@google.com>

 * minsyms.c (minimal_symbol_reader::install): Also compute the hash
 of the mangled name on the background thread.
 * symtab.c (symbol_set_names): Allow passing in the hash of the
 linkage_name.
 * symtab.h (symbol_set_names): Likewise.

users/cbiesinger/demangle-mutex 2019-10-02 21:59:04 UTC
Compute msymbol hash codes in parallel

Author: Christian Biesinger
Author Date: 2019-09-30 21:47:37 UTC

Compute msymbol hash codes in parallel

This is for the msymbol_hash and msymbol_demangled_hash hashtables
in objfile_per_bfd_storage. This basically computes those hash
codes together with the demangled symbol name in the background,
before it inserts the symbols in the hash table.

gdb/ChangeLog:

2019-09-30 Christian Biesinger <cbiesinger@google.com>

 * minsyms.c (add_minsym_to_hash_table): Use a previously computed
 hash code if possible.
 (add_minsym_to_demangled_hash_table): Likewise.
 (minimal_symbol_reader::install): Compute the hash codes for msymbol
 on the background thread.
 * symtab.h (struct minimal_symbol) <hash_value, demangled_hash_value>:
 Add these fields.

users/cbiesinger/minsym-hash-one-thread 2019-10-02 20:49:00 UTC
put minsym building on one bg thread

Author: Christian Biesinger
Author Date: 2019-10-02 20:49:00 UTC

put minsym building on one bg thread

users/cbiesinger/stl_minsyms_hash 2019-09-26 19:46:16 UTC
Try converting ad-hoc msymbol hash tables to STL containers

Author: Christian Biesinger
Author Date: 2019-09-26 19:45:47 UTC

Try converting ad-hoc msymbol hash tables to STL containers

I went with multimap (also tried unordered_multimap) to keep
the behavior where we have a special hash key and want
to iterate over everything with that hash using specialized
compare functions.

Unfortunately this is a 10% regression.
real 0m56.538s
user 0m34.304s
sys 0m22.380s

real 0m51.655s
user 0m32.194s
sys 0m19.528s

users/weimin/ctf 2019-09-25 20:03:15 UTC
Sync up gdb with latest gcc and binutils

Author: Weimin Pan
Author Date: 2019-09-25 20:03:15 UTC

Sync up gdb with latest gcc and binutils

users/cbiesinger/hashtable 2019-09-25 00:53:35 UTC
Fork GCC's hash-table.h for use in GDB

Author: Christian Biesinger
Author Date: 2019-09-21 09:00:23 UTC

Fork GCC's hash-table.h for use in GDB

And use it at one callsite in dwarf2read.

users/simark/fortran 2019-09-25 00:23:50 UTC
gdb/fortran: Allow for matching symbols with missing scope

Author: Andrew Burgess
Author Date: 2019-09-03 21:39:00 UTC

gdb/fortran: Allow for matching symbols with missing scope

This commit allows symbol matching within Fortran code without having
to specify all of the symbol's scope. For example, given this Fortran
code:

    module aaa
    contains
      subroutine foo
        print *, "hello."
      end subroutine foo
    end module aaa

    subroutine foo
      print *, "hello."
    end subroutine foo

    program test
      call foo
    contains
      subroutine foo
        print *, "hello."
      end subroutine foo

      subroutine bar
        use aaa
        call foo
      end subroutine bar
    end program test

The user can now do this:

    (gdb) b foo
    Breakpoint 1 at 0x4006c2: foo. (3 locations)
    (gdb) info breakpoints
    Num Type Disp Enb Address What
    1 breakpoint keep y <MULTIPLE>
    1.1 y 0x00000000004006c2 in aaa::foo at nest.f90:4
    1.2 y 0x0000000000400730 in foo at nest.f90:9
    1.3 y 0x00000000004007c3 in test::foo at nest.f90:16

The user asks for a breakpoint on 'foo' and is given a breakpoint on
all three possible 'foo' locations. The user is, of course, still
able to specify the scope in order to place a single breakpoint on
just one of the foo functions (or use 'break -qualified foo' to break
on just the global foo).

gdb/ChangeLog:

 * f-lang.c (f_language_defn): Use cp_get_symbol_name_matcher and
 cp_search_name_hash.

gdb/testsuite/ChangeLog:

 * gdb.fortran/nested-funcs-2.exp: Run tests with and without the
 nested function prefix.

users/clyon/arm-fdpic-wip-gdb-8.2 2019-07-11 14:54:41 UTC
FDPIC WIP

Author: Christophe Lyon
Author Date: 2019-07-11 14:54:41 UTC

FDPIC WIP

users/palves/cli-options 2019-06-25 17:35:19 UTC
pipe completer & var_string options

Author: Pedro Alves
Author Date: 2019-06-25 17:18:50 UTC

pipe completer & var_string options

binutils-2_30-branch 2019-03-18 13:07:21 UTC
PR24355, segmentation fault in function called from ppc_finish_symbols

Author: Alan Modra
Author Date: 2019-03-18 13:02:22 UTC

PR24355, segmentation fault in function called from ppc_finish_symbols

Backport to 2.30, where the problem might be triggered by gc-sections
rather than inline PLT optimization as in the PR.

 PR 24355
 * elf32-ppc.c (ppc_elf_relocate_section): Don't call write_glink_stub
 for local iplt syms with ent->plt.offset == -1. Remove ineffective
 attempt at writing glink stubs only once. Correct plt.offset mask.

users/sergiodj/bitpos 2019-03-05 18:54:34 UTC
Finish gdb/aarch64-tdep.c fix

Author: Sergio Durigan Junior
Author Date: 2019-03-05 18:54:34 UTC

Finish gdb/aarch64-tdep.c fix

gdb-8.2-branch 2019-02-27 00:01:27 UTC
Automatic date update in version.in

Author: GDB Administrator
Author Date: 2019-02-27 00:01:27 UTC

Automatic date update in version.in

users/ahayward/variable_sve2 2018-11-07 15:16:30 UTC
Aarch64 SVE: Support changing vector lengths in gdbserver

Author: Alan Hayward
Author Date: 2018-11-07 15:15:36 UTC

Aarch64 SVE: Support changing vector lengths in gdbserver

There are two parts to this patch - gdbserver and GDB.

In gdbserver, there needs to be an equivalent of the thread_architecture
method used in GDB. In regcache, validate the tdesc with the
use target_validate_tdesc target function. If this fails then re-obtain
the target descriptor via general setup.
The aarch64 validation step simply checks the value of the VG register to
see if it matches the current kernel value.

In GDB, we have a similar check when receiving a stop reply. Validate the
tdesc using gdbarch_target_description_changed_p. If this fails re-obtain
the target descriptor via general setup - which is done by setting up an
tdep info structure containing the vector length.
The aarch64 validation step checks the value of VG (which is marked as
an expediated register, so is in the stop reply).

2018-11-07 Alan Hayward <alan.hayward@arm.com>

gdb/
 * aarch64-tdep.c
 (aarch64_target_description_changed_p): Check vector length.
 (aarch64_target_get_tdep_info): Store vector length.
 * remote.c (remote_target::process_stop_reply): Validate tdesc.
 * target-descriptions.c (target_find_description): Pass through info.
 * target-descriptions.h (target_find_description): Add arg.

gdbserver/
 * linux-aarch64-low.c (aarch64_validate_tdesc): Check vector length.
 * regcache.c (get_thread_regcache): Validate tdesc.

users/ahayward/variable_sve 2018-09-13 15:49:24 UTC
Aarch64 SVE: Support changing vector lengths in gdbserver

Author: Alan Hayward
Author Date: 2018-08-01 09:57:13 UTC

Aarch64 SVE: Support changing vector lengths in gdbserver

There are two parts to this patch - gdbserver and GDB.

In gdbserver, there needs to be an equivalent of the thread_architecture
method used in GDB. In regcache, validate the tdesc with the
use target_validate_tdesc target function. If this fails then re-obtain
the target descriptor via general setup.
The aarch64 validation step simply checks the value of the VG register to
see if it matches the current kernel value.

In GDB, we have a similar check when receiving a stop reply. Validate the
tdesc using gdbarch_target_description_changed_p. If this fails re-obtain
the target descriptor via general setup - which is done by setting up an
tdep info structure containing the vector length.
The aarch64 validation step checks the value of VG (which is marked as
an expediated register, so is in the stop reply).

2018-08-03 Alan Hayward <alan.hayward@arm.com>

gdb/
 * aarch64-tdep.c
 (aarch64_target_description_changed_p): Check vector length.
 (aarch64_target_get_tdep_info): Store vector length.
 * remote.c (remote_target::process_stop_reply): Validate tdesc.
 * target-descriptions.c (target_find_description): Pass through info.
 * target-descriptions.h (target_find_description): Add arg.

gdbserver/
 * linux-aarch64-low.c (aarch64_validate_tdesc): Check vector length.
 * regcache.c (get_thread_regcache): Validate tdesc.

users/roland/2.31/gold-narrowing-switch 2018-08-03 21:39:53 UTC
[gold] Fix integer narrowing in switch

Author: Roland McGrath
Author Date: 2018-08-03 21:38:20 UTC

[gold] Fix integer narrowing in switch

gold/
 * target.h (Sized_target::record_gnu_property): Use unsigned int
 for second argument.
 * x86_64.cc (Target_x86_64<size>::record_gnu_property): Likewise.

(cherry picked from commit ccaf6a01bae457aba3a3f6baf1239bb55bc189a4)

users/roland/gold-narrowing-switch 2018-08-03 21:38:20 UTC
[gold] Fix integer narrowing in switch

Author: Roland McGrath
Author Date: 2018-08-03 21:38:20 UTC

[gold] Fix integer narrowing in switch

gold/
 * target.h (Sized_target::record_gnu_property): Use unsigned int
 for second argument.
 * x86_64.cc (Target_x86_64<size>::record_gnu_property): Likewise.

gdb-8.1-branch 2018-07-31 15:05:56 UTC
Bump GDB version number to 8.1.1.DATE-git.

Author: Joel Brobecker
Author Date: 2018-07-31 15:05:56 UTC

Bump GDB version number to 8.1.1.DATE-git.

gdb/ChangeLog:

 * version.in: Set GDB version number to 8.1.1.DATE-git.
 * PROBLEMS: Likewise.

users/simark/autotools-bump 2018-06-18 16:00:58 UTC
Generated files

Author: Simon Marchi
Author Date: 2018-06-18 14:25:22 UTC

Generated files

users/simark/regcache-for-alan 2018-06-01 14:40:20 UTC
Ptrace support for Aarch64 SVE

Author: Alan Hayward
Author Date: 2018-05-11 10:52:56 UTC

Ptrace support for Aarch64 SVE

Add support for reading and writing registers for Aarch64 SVE.
I've made this functionality common as it will be required for
gdbserver when gdbsever sve support is added.

Given that gdbserver does not yet call this function, I am
happy to remove the regcache commonise functions from the
previous patch. However, this would result in code in nat/
that does not compile for gdbserver. I wanted to avoid that.

We need to support the cases where the kernel only gives us a
fpsimd structure. This occurs when there is no active SVE state
in the kernel (for example, after starting a new process).

As per the covering email description, I've included large chunks
of linux kernel headers within an ifdef. Formatting of these macros
remains identical to the Kernel versions (ie not adapted to GNU style).

Added checks to make sure the vector length has not changed whilst
the process is running.

2018-05-11 Alan Hayward <alan.hayward@arm.com>

gdb/
 * aarch64-linux-nat.c (fetch_sveregs_from_thread): New function.
 (store_sveregs_to_thread): Likewise.
 (aarch64_linux_fetch_inferior_registers): Check for SVE.
 (aarch64_linux_store_inferior_registers): Likewise.
 * nat/aarch64-sve-linux-ptrace.c (aarch64_sve_get_sveregs): New
 function.
 (aarch64_sve_regs_copy_to_regcache): Likewise.
 (aarch64_sve_regs_copy_from_regcache): Likewise.
 * nat/aarch64-sve-linux-ptrace.h (aarch64_sve_get_sveregs): New
 declaration.
 (aarch64_sve_regs_copy_to_regcache): Likewise.
 (aarch64_sve_regs_copy_from_regcache): Likewise.
 (sve_context): Structure from Linux headers.
 (SVE_SIG_ZREGS_SIZE): Define from Linux headers.
 (SVE_SIG_ZREG_SIZE): Likewise.
 (SVE_SIG_PREG_SIZE): Likewise.
 (SVE_SIG_FFR_SIZE): Likewise.
 (SVE_SIG_REGS_OFFSET): Likewise.
 (SVE_SIG_ZREGS_OFFSET): Likewise.
 (SVE_SIG_ZREG_OFFSET): Likewise.
 (SVE_SIG_ZREGS_SIZE): Likewise.
 (SVE_SIG_PREGS_OFFSET): Likewise.
 (SVE_SIG_PREG_OFFSET): Likewise.
 (SVE_SIG_PREGS_SIZE): Likewise.
 (SVE_SIG_FFR_OFFSET): Likewise.
 (SVE_SIG_REGS_SIZE): Likewise.
 (SVE_SIG_CONTEXT_SIZE): Likewise.
 (SVE_PT_REGS_MASK): Likewise.
 (SVE_PT_REGS_FPSIMD): Likewise.
 (SVE_PT_REGS_SVE): Likewise.
 (SVE_PT_VL_INHERIT): Likewise.
 (SVE_PT_VL_ONEXEC): Likewise.
 (SVE_PT_REGS_OFFSET): Likewise.
 (SVE_PT_FPSIMD_OFFSET): Likewise.
 (SVE_PT_FPSIMD_SIZE): Likewise.
 (SVE_PT_SVE_ZREG_SIZE): Likewise.
 (SVE_PT_SVE_PREG_SIZE): Likewise.
 (SVE_PT_SVE_FFR_SIZE): Likewise.
 (SVE_PT_SVE_FPSR_SIZE): Likewise.
 (SVE_PT_SVE_FPCR_SIZE): Likewise.
 (__SVE_SIG_TO_PT): Likewise.
 (SVE_PT_SVE_OFFSET): Likewise.
 (SVE_PT_SVE_ZREGS_OFFSET): Likewise.
 (SVE_PT_SVE_ZREG_OFFSET): Likewise.
 (SVE_PT_SVE_ZREGS_SIZE): Likewise.
 (SVE_PT_SVE_PREGS_OFFSET): Likewise.
 (SVE_PT_SVE_PREG_OFFSET): Likewise.
 (SVE_PT_SVE_PREGS_SIZE): Likewise.
 (SVE_PT_SVE_FFR_OFFSET): Likewise.
 (SVE_PT_SVE_FPSR_OFFSET): Likewise.
 (SVE_PT_SVE_FPCR_OFFSET): Likewise.
 (SVE_PT_SVE_SIZE): Likewise.
 (SVE_PT_SIZE): Likewise.
 (HAS_SVE_STATE): New define.

gdbserver
 * Makefile.in: Add aarch64-sve-linux-ptrace.c.

gdb-8.0-branch 2018-05-21 09:43:40 UTC
Fix AArch64 debug trace build

Author: Tamar Christina
Author Date: 2017-04-24 10:55:44 UTC

Fix AArch64 debug trace build

The build with debug tracing enabled (`-DDEBUG_AARCH64`)
is currently broken. A variable that no longer exists is being
referenced from the debug statement.

 * aarch64-opc.c (aarch64_logical_immediate_p): Update DEBUG_TRACE
 arguments.

(cherry picked from commit 957f6b39cab6cac0e4c54e650c7f75109544ac1d)

binutils-2_29-branch 2018-04-27 22:00:42 UTC
New plugin interface to get list of symbols wrapped with --wrap option.

Author: Sriraman Tallam
Author Date: 2018-02-22 21:56:46 UTC

New plugin interface to get list of symbols wrapped with --wrap option.

2018-02-22 Sriraman Tallam <tmsriram@google.com>

 * plugin.cc (get_wrap_symbols): New plugin interface.
 (load): Add get_wrap_symbols to transfer vector.
 * plugin-api.h (ld_plugin_get_wrap_symbols): New plugin interface.
 * testsuite/plugin_test.c (onload): Call and check get_wrap_symbols
 interface.
 * testsuite/plugin_test_wrap_symbols.sh: New test script.
 * testsuite/plugin_test_wrap_symbols_1.cc: New file.
 * testsuite/plugin_test_wrap_symbols_2.cc: New file.
 * testsuite/Makefile.am (plugin_test_wrap_symbols): New test.
 * testsuite/Makefile.in: Regenerate.

(cherry picked from commit 0b65c07b97c43e8891c2e14061270878a85222c8)

users/clyon/arm-fdpic 2018-04-18 12:20:27 UTC
[ARM] FDPIC: Implement Thumb-only PLT for FDPIC.

Author: Christophe Lyon
Author Date: 2018-03-20 09:56:17 UTC

[ARM] FDPIC: Implement Thumb-only PLT for FDPIC.

2018-XX-XX Christophe Lyon <christophe.lyon@st.com>
 Mickaël Guêné <mickael.guene@st.com>

 bfd/
 * elf32-arm.c (elf32_arm_fdpic_thumb_plt_entry): New.
 (elf32_arm_plt_needs_thumb_stub_p): Handle thumb-only case.
 (elf32_arm_populate_plt_entry): Likewise.
 (elf32_arm_output_plt_map_1): Likewise.
 (elf32_arm_output_arch_local_syms): Likewise.

 ld/testsuite/
 * arm-elf.exp: Execute the new FDPIC Thumb-only tests.
 * fdpic-main-m.d: New test.
 * fdpic-main-m.s: New.
 * fdpic-main-m.sym: New.
 * fdpic-shared-m.d: New test.
 * fdpic-shared-m.s: New.
 * fdpic-shared-m.sym: New.

binutils-2_28-branch 2018-04-05 15:09:04 UTC
Fix snafu in aarch64 opcodes debugging statement.

Author: Tamar Christina
Author Date: 2017-04-24 10:55:44 UTC

Fix snafu in aarch64 opcodes debugging statement.

 * aarch64-opc.c (aarch64_logical_immediate_p): Update DEBUG_TRACE
 arguments.

(cherry picked from commit 957f6b39cab6cac0e4c54e650c7f75109544ac1d)
Signed-off-by: Tamar Christina <tamar.christina@arm.com>

users/simark/split-dwarf2read 2018-03-26 21:07:45 UTC
Move DWARF index-related things to a separate file

Author: Simon Marchi
Author Date: 2018-03-26 19:20:34 UTC

Move DWARF index-related things to a separate file

I want to add a DWARF index-related feature (automatically produce index
files when loading objfiles in GDB), but I don't want to add many
hundred lines to the already too big dwarf2read.c. I thought it would
be a logical split to move everything related to the DWARF index to its
own file.

I first tried to move everything that reads and writes DWARF indices to
a separate file, but found that the "read" part is a little bit
entangled with the rest of dwarf2read.c, so the line is hard to draw
about where to split. The write part is quite isolated though, so I
moved this part to a new file, dwarf-index-write.c. Some things are
necessary to both reading and writing indices, so I placed them in
dwarf-index-common.{c,h}. The idea would be to have a
dwarf-index-read.c eventually that would use it too (for now that code
is still in dwarf2read.c).

This required moving some things to a new dwarf2read.h header, so they
can be read by the code that writes the index.

The patch is big in number of lines, but it's all existing code being
moved around. The only changes are that some functions are not static
anymore, a declaration is added in a .h file, and therefore the comment
is moved there.

I built-tested it with a little and big endian target.

This patch is also available on the users/simark/split-dwarf2read
branch.

gdb/ChangeLog:

 * Makefile.in (COMMON_SFILES): Add dwarf-index-common.c and
 dwarf-index-write.c
 (HFILES_NO_SRCDIR): Add dwarf-index-common.h and dwarf2read.h.
 * dwarf-index-common.c: New file.
 * dwarf-index-common.h: New file.
 * dwarf-index-write.c: New file.
 * dwarf2read.c: Include dwarf2read.h and dwarf-index-common.h.
 (struct dwarf2_section_info): Move from here.
 (dwarf2_section_info_def): Likewise.
 (DEF_VEC_O (dwarf2_section_info_def)): Likewise.
 (offset_type): Likewise.
 (DW2_GDB_INDEX_SYMBOL_STATIC_SET_VALUE): Likewise.
 (DW2_GDB_INDEX_SYMBOL_KIND_SET_VALUE): Likewise.
 (DW2_GDB_INDEX_CU_SET_VALUE): Likewise.
 (byte_swap): Likewise.
 (MAYBE_SWAP): Likewise.
 (dwarf2_per_cu_ptr): Likewise.
 (DEF_VEC_P (dwarf2_per_cu_ptr)): Likewise.
 (struct tu_stats): Likewise.
 (struct dwarf2_per_objfile): Likewise.
 (struct dwarf2_per_cu_data): Likewise.
 (struct signatured_type): Likewise.
 (sig_type_ptr): Likewise.
 (DEF_VEC_P (sig_type_ptr)): Likewise.
 (INDEX4_SUFFIX): Likewise.
 (INDEX5_SUFFIX): Likewise.
 (DEBUG_STR_SUFFIX): Likewise.
 (dwarf2_read_section): Make non-static.
 (mapped_index_string_hash): Move from here.
 (dwarf5_djb_hash): Likewise.
 (file_write): Likewise.
 (class data_buf): Likewise.
 (struct symtab_index_entry): Likewise.
 (struct mapped_symtab): Likewise.
 (find_slot): Likewise.
 (hash_expand): Likewise.
 (add_index_entry): Likewise.
 (uniquify_cu_indices): Likewise.
 (class c_str_view): Likewise.
 (class c_str_view_hasher): Likewise.
 (class vector_hasher): Likewise.
 (write_hash_table): Likewise.
 (psym_index_map): Likewise.
 (struct addrmap_index_data): Likewise.
 (add_address_entry): Likewise.
 (add_address_entry_worker): Likewise.
 (write_address_map): Likewise.
 (symbol_kind): Likewise.
 (write_psymbols): Likewise.
 (struct signatured_type_index_data): Likewise.
 (write_one_signatured_type): Likewise.
 (recursively_count_psymbols): Likewise.
 (recursively_write_psymbols): Likewise.
 (class debug_names): Likewise.
 (check_dwarf64_offsets): Likewise.
 (psyms_seen_size): Likewise.
 (write_gdbindex): Likewise.
 (write_debug_names): Likewise.
 (assert_file_size): Likewise.
 (write_psymtabs_to_index): Likewise.
 (save_gdb_index_command): Likewise.
 (_initialize_dwarf2_read): Don't register the "save gdb-index"
 command.
 * dwarf2read.h: New file.

users/ahayward/xml4 2018-03-21 15:57:17 UTC
Remove xml files from gdbserver

Author: Alan Hayward
Author Date: 2018-01-22 15:58:51 UTC

Remove xml files from gdbserver

For ports which use new target descriptions, this patch removes
the xml files from being built into gdbserver,

Alan.

2018-03-21 Alan Hayward <alan.hayward@arm.com>

gdbserver/
 * configure.srv (aarch64*-*-linux*): Don't include xml.
 (i[34567]86-*-cygwin*): Likewise.
 (i[34567]86-*-linux*): Likewise.
 (i[34567]86-*-lynxos*): Likewise.
 (i[34567]86-*-mingw32ce*): Likewise.
 (i[34567]86-*-mingw*): Likewise.
 (i[34567]86-*-nto*): Likewise.
 (tic6x-*-uclinux): Likewise.
 (x86_64-*-linux*): Likewise.
 (x86_64-*-mingw*): Likewise.
 (x86_64-*-cygwin*): Likewise.

users/qiyao/frame-unwind-unavailable-3 2018-03-13 14:32:00 UTC
Move frame_id_build_unavailable_stack static

Author: Yao Qi
Author Date: 2017-07-28 08:57:37 UTC

Move frame_id_build_unavailable_stack static

frame_id_build_unavailable_stack is only used in frame.c, so make it static.

gdb:

2017-07-28 Yao Qi <yao.qi@linaro.org>

 * frame.c (frame_id_build_unavailable_stack): Move it up.
 * frame.h (frame_id_build_unavailable_stack): Remove the declaration.

users/ibm/binutils-2_25 2018-03-06 07:55:47 UTC
Automatic date update in version.in

Author: GDB Administrator
Author Date: 2015-11-24 00:00:45 UTC

Automatic date update in version.in

users/simark/btrace-cleanups 2018-03-05 22:09:15 UTC
btrace: Remove ui_out cleanups

Author: Simon Marchi
Author Date: 2018-03-04 20:56:05 UTC

btrace: Remove ui_out cleanups

This patch replaces the cleanups that close the list and tuple of the
btrace instruction history output with ui_out_emit_tuple and
ui_out_emit_list.

This allows removing make_cleanup_ui_out_tuple_begin_end and
make_cleanup_ui_out_list_begin_end.

This patch (along with the previous ones in the series) was regtested on
the buildbot.

gdb/ChangeLog:

 * record-btrace.c (btrace_print_lines): Replace cleanup
 parameter with RAII equivalents.
 (btrace_insn_history): Replace cleanup with RAII equivalents.
 * ui-out.h (make_cleanup_ui_out_list_begin_end,
 make_cleanup_ui_out_tuple_begin_end): Remove.
 * ui-out.c (struct ui_out_end_cleanup_data, do_cleanup_end,
 make_cleanup_ui_out_end, make_cleanup_ui_out_tuple_begin_end,
 make_cleanup_ui_out_list_begin_end): Remove.

users/ahayward/xml3 2018-03-01 11:06:45 UTC
[PATCH v3 8/8] Remove xml files from gdbserver

Author: Alan Hayward
Author Date: 2018-03-01 11:06:45 UTC

[PATCH v3 8/8] Remove xml files from gdbserver

For ports which use new target descriptions, this patch removes
the xml files from being built into gdbserver,

Alan.

2018-03-01 Alan Hayward <alan.hayward@arm.com>

gdbserver/
 * configure.srv (aarch64*-*-linux*): Don't include xml.
 (arm*-*-linux*): Likewise.
 (i[34567]86-*-cygwin*): Likewise.
 (i[34567]86-*-linux*): Likewise.
 (i[34567]86-*-lynxos*): Likewise.
 (i[34567]86-*-mingw32ce*): Likewise.
 (i[34567]86-*-mingw*): Likewise.
 (i[34567]86-*-nto*): Likewise.
 (tic6x-*-uclinux): Likewise.
 (x86_64-*-linux*): Likewise.
 (x86_64-*-mingw*): Likewise.
 (x86_64-*-cygwin*): Likewise.

users/keiths/template-completion 2018-02-23 18:07:29 UTC
Support template lookups in strncmp_iw_with_mode

Author: Keith Seitz
Author Date: 2018-02-23 18:07:29 UTC

Support template lookups in strncmp_iw_with_mode

This patch adds support for wild template parameter list matches, similar
to how ABI tags or function overloads are now handled.

With this patch, users will be able to "gloss over" the details of matching
template parameter lists. This is accomplished by adding (yet more) logic
to strncmp_iw_with_mode to skip parameter lists if none is explicitly given
by the user.

Here's a simple example using gdb.linespec/cpls-ops.exp:

Before
------
(gdb) ptype test_op_call
type = struct test_op_call {
  public:
    void operator()(void);
    void operator()(int);
    void operator()(long);
    void operator()<int>(int *);
}
(gdb) b test_op_call::operator()
Breakpoint 1 at 0x400583: test_op_call::operator(). (3 locations)
(gdb) i b
Num Type Disp Enb Address What
1 breakpoint keep y <MULTIPLE>
1.1 y 0x400583 in test_op_call::operator()(int)
                                                   at cpls-ops.cc:43
1.2 y 0x40058e in test_op_call::operator()()
                                                   at cpls-ops.cc:47
1.3 y 0x40059e in test_op_call::operator()(long)
                                                   at cpls-ops.cc:51

The breakpoint at test_op_call::operator()<int> was never set.

After
-----
(gdb) b test_op_call::operator()
Breakpoint 1 at 0x400583: test_op_call::operator(). (4 locations)
(gdb) i b
Num Type Disp Enb Address What
1 breakpoint keep y <MULTIPLE>
1.1 y 0x400583 in test_op_call::operator()(int)
                                                   at cpls-ops.cc:43
1.2 y 0x40058e in test_op_call::operator()()
                                                   at cpls-ops.cc:47
1.3 y 0x40059e in test_op_call::operator()(long)
                                                   at cpls-ops.cc:51
1.4 y 0x4008d0 in test_op_call::operator()<int>(int*)
                                                   at cpls-ops.cc:57

Similar to how scope lookups work, passing "-qualified" to the break command
will cause a literal lookup of the symbol. In the example immediately above,
this will cause GDB to only find the three non-template functions.

gdb/ChangeLog:

 * NEWS: Mention new template parameter support for
 locations/completion.
 * cp-support.c (cp_search_name_hash): Break on template parameter
 lists.
 (cp_symbol_name_matches_1): Tell strncmp_iw_with_mode to ignore
 template parameter lists.
 * utils.c (skip_template_parameter_list): New function.
 (strncmp_iw_with_mode): Support "ignoring" of template parameter lists.
 * utils.h (strncmp_iw_with_mode): Add new parameter
 `ignore_template_params'.

gdb/doc/ChangeLog:

 * gdb.texinfo (Debugging C Plus Plus): Document setting breakpoints
 in templates.

gdb/testsuite/ChangeLog:

 * gdb.cp/templates.cc (Foozle, operator<, operator<<): New.
 (main): Add uses of new functions/types.
 * gdb.cp/templates.exp: Add template parameter list tests.
 * gdb.linespec/cpcompletion.exp: Load data-structures.exp.
 (consume, maket, makearg, makefoo, test_makefoo_1, test_makefoo)
 (maketype, makem, test_makem_1, test_makem, template-class-with-method)
 (template-function-foo): New procedures.
 (template-ret-type): Split range completion to account for template
 names completing without template parameter list.
 Change "setting breakpoint without template parameter test" to pass.
 (test_driver): Call template-function-foo test procedure.
 * gdb.linespec/cpls-ops.exp (test_operator_ambiguous): Remove
 template restriction.
 Add new whitespace tests for template functions.
 * gdb.linespec/cpls.cc (foo, a, b, c, d, A, B, NA, NB): New
 template definitions.
 (template_function_foo): New function.
 (main): Call template_function_foo.

users/azanella/aarch64-split-stack 2018-02-07 13:25:46 UTC
gold: aarch64 split stack support

Author: Adhemerval Zanella
Author Date: 2016-08-04 18:47:28 UTC

gold: aarch64 split stack support

This patch adds gold support for split-stack function calling non-split
function on aarch64.

gold/ChangeLog:

 * gold/aarch64.c (AArch64_insn_utilities::aarch64_movn_decode_imm):
 New function.
 (AArch64_insn_utilities::aarch64_movk_decode_imm): Likewise.
 (AArch64_insn_utilities::clz_hwi): Likewise.
 (AArch64_insn_utilities::aarch64_bitmask_imm): Likewise.
 (Target_aarch64::do_calls_non_split): Likewise.
 * gold/testsuite/Makefile.am [DEFAULT_TARGET_AARCH64] (check_SCRIPTS):
 add split_aarch64.sh.
 [DEFAULT_TARGET_AARCH64] (check_DATA): Add split_aarch64_{1,2,3,4,r)
 tests.
 [DEFAULT_TARGET_AARCH64] (SPLIT_DEFSYMS): New rule.
 [DEFAULT_TARGET_AARCH64] (split_aarch64_1.o): Likewise.
 [DEFAULT_TARGET_AARCH64] (split_aarch64_2.o): Likewise.
 [DEFAULT_TARGET_AARCH64] (split_aarch64_3.o): Likewise.
 [DEFAULT_TARGET_AARCH64] (split_aarch64_4.o): Likewise.
 [DEFAULT_TARGET_AARCH64] (split_aarch64_r.o): Likewise.
 [DEFAULT_TARGET_AARCH64] (split_aarch64_n.o): Likewise.
 [DEFAULT_TARGET_AARCH64] (split_aarch64_1): Likewise.
 [DEFAULT_TARGET_AARCH64] (split_aarch64_2): Likewise.
 [DEFAULT_TARGET_AARCH64] (split_aarch64_2.stdout): Likewise.
 [DEFAULT_TARGET_AARCH64] (split_aarch64_3.stdout): Likewise.
 [DEFAULT_TARGET_AARCH64] (split_aarch64_4): Likewise.
 [DEFAULT_TARGET_AARCH64] (split_aarch64_4.stdout): Likewise.
 [DEFAULT_TARGET_AARCH64] (split_aarch64_r.stdout): Likewise.
 [DEFAULT_TARGET_AARCH64] (MOSTLYCLEANFILES): Likewise.
 * gold/testsuite/split_aarch64.sh: New file.
 * gold/testsuite/split_aarch64_1.s: Likewise.
 * gold/testsuite/split_aarch64_2.s: Likewise.
 * gold/testsuite/split_aarch64_3.s: Likewise.
 * gold/testsuite/split_aarch64_4.s: Likewise.
 * gold/testsuite/split_aarch64_n.s: Likewise.

users/qiyao/regcache-split-4-2 2018-02-07 09:56:49 UTC
Pass readable_regcache to gdbarch method read_pc

Author: Yao Qi
Author Date: 2018-01-30 14:41:17 UTC

Pass readable_regcache to gdbarch method read_pc

We can pass readable_regcache to gdbarch method read_pc where it is
allowed to do read from regcache.

gdb:

2018-01-30 Yao Qi <yao.qi@linaro.org>

 * avr-tdep.c (avr_read_pc): Change parameter type to
 readable_regcache.
 * gdbarch.sh (read_pc): Likewise.
 * gdbarch.c: Re-generated.
 * gdbarch.h: Re-generated.
 * hppa-tdep.c (hppa_read_pc): Change parameter type to
 readable_regcache.
 * ia64-tdep.c (ia64_read_pc): Likewise.
 * mips-tdep.c (mips_read_pc): Likewise.
 * spu-tdep.c (spu_read_pc): Likewise.

users/simark/template-suffix 2018-02-05 03:21:08 UTC
Don't trust templates from DW_AT_name

Author: Simon Marchi
Author Date: 2018-02-04 18:10:28 UTC

Don't trust templates from DW_AT_name

With gcc 8 (and clang?) the non-type template arguments (constants)
don't include the integer suffixes anymore. For example, with

  template <unsigned int X>
  class foo
  {
    ...
  };

  foo<10u>

used to generate foo<10u> as the DW_AT_name, now it generates foo<10>.
This is a problem when things look up "foo<10u>" and don't find it. For
example, when trying to print an instance of that class through a base
class pointer, GDB would first demangle the symbol for that class'
vtable, which would give "vtable for foo<10u>". GDB would then take the
"foo<10u>" from that string and try to look up the type. With the new
DW_AT_name, it would fail to look it up, and fail to print the value.

This patch makes it so GDB doesn't trust the templates contained in
DW_AT_name. Instead, it re-builds the name from the DW_AT_template_*
DIES in the format that it expects (with the integer suffixes).

users/hjl/sizeof 2018-01-26 13:56:18 UTC
Initial pr21964-3 tests

Author: H.J. Lu
Author Date: 2018-01-26 13:56:18 UTC

Initial pr21964-3 tests

users/ahayward/xml 2018-01-24 12:14:04 UTC
8/8: Remove xml files from gdbserver

Author: Alan Hayward
Author Date: 2018-01-22 15:58:51 UTC

8/8: Remove xml files from gdbserver

users/qiyao/regcache-split-4-1 2018-01-22 12:14:35 UTC
Move register_dump to regcache-dump.c

Author: Yao Qi
Author Date: 2017-11-30 16:09:18 UTC

Move register_dump to regcache-dump.c

gdb:

2017-11-30 Yao Qi <yao.qi@linaro.org>

 * Makefile.in (COMMON_SFILES): Add regcache-dump.c
 * regcache-dump.c: New file.
 * regcache.c: Move register_dump to regcache-dump.c.
 (maintenance_print_registers): Likewise.
 (maintenance_print_raw_registers): Likewise.
 (maintenance_print_cooked_registers): Likewise.
 (maintenance_print_register_groups): Likewise.
 (maintenance_print_remote_registers): Likewise.
 (_initialize_regcache): Likewise.
 * regcache.h (register_dump): Moved from regcache.c.

users/hjl/linux/applied 2018-01-19 11:23:56 UTC
Merge remote-tracking branch 'origin/users/hjl/linux/master' into users/hjl/l...

Author: H.J. Lu
Author Date: 2018-01-19 11:23:56 UTC

Merge remote-tracking branch 'origin/users/hjl/linux/master' into users/hjl/linux/applied

users/qiyao/regcache-split-4 2018-01-18 17:06:18 UTC
Move register_dump to regcache-dump.c

Author: Yao Qi
Author Date: 2017-11-30 16:09:18 UTC

Move register_dump to regcache-dump.c

gdb:

2017-11-30 Yao Qi <yao.qi@linaro.org>

 * Makefile.in (SFILES): Add regcache-dump.c
 (COMMON_OBS): Add regcache-dump.o.
 * regcache-dump.c: New file.
 * regcache.c: Move register_dump to regcache-dump.c.
 (maintenance_print_registers): Likewise.
 (maintenance_print_raw_registers): Likewise.
 (maintenance_print_cooked_registers): Likewise.
 (maintenance_print_register_groups): Likewise.
 (maintenance_print_remote_registers): Likewise.
 (_initialize_regcache): Likewise.
 * regcache.h (register_dump): Moved from regcache.c.

users/linaro/binutils-2_28-branch 2018-01-15 17:44:11 UTC
Correct disassembly of dot product instructions.

Author: Tamar Christina
Author Date: 2017-12-19 12:05:20 UTC

Correct disassembly of dot product instructions.

Dot products deviate from the normal disassembly rules for lane indexed
instruction. Their canonical representation is in the form of:

v0.2s, v0.8b, v0.4b[0] instead of v0.2s, v0.8b, v0.b[0] to try to denote
that these instructions select 4x 1 byte elements instead of a single 1 byte
element.

Previously we were disassembling them following the normal rules, this patch
corrects the disassembly.

gas/

 PR gas/22559
 * config/tc-aarch64.c (vectype_to_qualifier): Support AARCH64_OPND_QLF_S_4B.
 * gas/testsuite/gas/aarch64/dotproduct.d: Update disassembly.

include/

 PR gas/22559
 * aarch64.h (aarch64_opnd_qualifier): Add AARCH64_OPND_QLF_S_4B.

opcodes/

 PR gas/22559
 * aarch64-asm.c (aarch64_ins_reglane): Change AARCH64_OPND_QLF_S_B to
 AARCH64_OPND_QLF_S_4B
 * aarch64-dis.c (aarch64_ext_reglane): Change AARCH64_OPND_QLF_S_B to
 AARCH64_OPND_QLF_S_4B
 * aarch64-opc.c (aarch64_opnd_qualifiers): Add 4b variant.
 * aarch64-tbl.h (QL_V2DOT): Change S_B to S_4B.

Change-Id: Ie80d878ceaeaca281f85583e77e4e367e2a909ea

users/hjl/pr22393/master 2018-01-11 13:29:06 UTC
x86-64: Add tests for -z separate-code -z max-page-size=0x1000

Author: H.J. Lu
Author Date: 2017-11-13 22:47:03 UTC

x86-64: Add tests for -z separate-code -z max-page-size=0x1000

 PR ld/22393
 * testsuite/ld-x86-64/pr22393-3a.c: New file.
 * testsuite/ld-x86-64/pr22393-3a.rd: Likewise.
 * testsuite/ld-x86-64/pr22393-3b.c: Likewise.
 * testsuite/ld-x86-64/pr22393-3b.rd: Likewise.
 * testsuite/ld-x86-64/x86-64.exp: Run tests for -z separate-code
 -z max-page-size=0x1000.

users/hjl/pr22393/relro 2018-01-09 17:32:58 UTC
x86-64: Add tests for -z separate-code -z max-page-size=0x1000

Author: H.J. Lu
Author Date: 2017-11-13 22:47:03 UTC

x86-64: Add tests for -z separate-code -z max-page-size=0x1000

 PR ld/22393
 * testsuite/ld-x86-64/pr22393-3a.c: New file.
 * testsuite/ld-x86-64/pr22393-3a.rd: Likewise.
 * testsuite/ld-x86-64/pr22393-3b.c: Likewise.
 * testsuite/ld-x86-64/pr22393-3b.rd: Likewise.
 * testsuite/ld-x86-64/x86-64.exp: Run tests for -z separate-code
 -z max-page-size=0x1000.

users/keiths/inline-func-bp-for-pedro 2017-11-28 21:23:10 UTC
More minimal patch

Author: Keith Seitz
Author Date: 2017-10-27 20:17:21 UTC

More minimal patch

Same thing but using the exception, leaving bpstat_stop_status call
where it is.

This and the previous commit are intended to be exported to an stgit branch,
where one can easily switch between the two approaches by push/pop'ing
patches. Diffing against origin/master will therefore always give a complete
patch sans busywork.

users/hjl/pr12639 2017-11-26 17:38:09 UTC
Check corrupted symbol table

Author: H.J. Lu
Author Date: 2013-11-05 18:14:57 UTC

Check corrupted symbol table

bfd/

 PR binutils/12639
 * elfcode.h (elf_slurp_symbol_table): Check corrupted global
 symbols.

binutils/

 PR binutils/12639
 * readelf.c (process_symbol_table): Detect corrupted symbol
 table.

users/palves/per_ui_repeat 2017-11-07 13:04:42 UTC
show_commands

Author: Pedro Alves
Author Date: 2017-11-07 13:03:39 UTC

show_commands

users/linaro/gdb-aarch64-ilp32 2017-10-23 13:52:28 UTC
ILP32: GDB

Author: Yao Qi
Author Date: 2017-10-23 13:52:28 UTC

ILP32: GDB

gdb:

2017-03-06 Andrew Pinski <apinski@cavium.com>
     Steve Ellcey <sellcey@cavium.com>
     Yao Qi <yao.qi@linaro.org>

 * aarch64-linux-nat.c (IS_ARM32): New macro.
 (fetch_gregs_from_thread): Use IS_ARM32 macro.
 (store_gregs_to_thread): Ditto.
 (fetch_fpregs_from_thread): Ditto.
 (store_fpregs_to_thread): Ditto.
 (ps_get_thread_area): Ditto.
 (aarch64_linux_siginfo_fixup): Ditto.
 * aarch64-linux-tdep.c (aarch64_linux_init_abi): Set link
 map offsets to 32 or 64 bits.
 * aarch64-tdep.c (aarch64_ilp32_register_type): New function.
 (aarch64_gdbarch_init): Setup ILP32 support.
 Make sure the gdbarches have compatible ilp32 flags.
 Set long and ptr sizes correctly for ilp32.
 * aarch64-tdep.h (gdbarch_tdep) <ilp32>: New field.

gdb/gdbserver:

2017-03-06 Andrew Pinski <apinski@cavium.com>
     Steve Ellcey <sellcey@cavium.com>

 * linux-aarch64-low.c (aarch64_linux_read_description):

users/qiyao/regcache-split-3 2017-10-13 10:52:12 UTC
regcache_raw and use it in to_{fetch,store}_registers

Author: Yao Qi
Author Date: 2017-10-03 14:23:48 UTC

regcache_raw and use it in to_{fetch,store}_registers

This patch adds a new class regcache_raw, between reg_buffer and regcache
in the class hierarchy. Also use it in target_ops
to_{fetch,store}_registers methods, because target_ops accesses raw
registers. (pseudo registers are abstracted by gdbarch).

gdb:

2017-10-03 Yao Qi <yao.qi@linaro.org>
:
 * aarch32-linux-nat.c (aarch32_gp_regcache_supply): -
 (aarch32_gp_regcache_supply): +
 (aarch32_gp_regcache_supply):
 (aarch32_gp_regcache_collect): -
 (aarch32_gp_regcache_collect): +
 (aarch32_gp_regcache_collect):
 (aarch32_vfp_regcache_supply): -
 (aarch32_vfp_regcache_supply): +
 (aarch32_vfp_regcache_supply):
 (aarch32_vfp_regcache_collect): -
 (aarch32_vfp_regcache_collect): +
 * aarch32-linux-nat.h:
 * aarch64-linux-nat.c (aarch64_get_debug_reg_state):
 (fetch_gregs_from_thread): -
 (fetch_gregs_from_thread): +
 (fetch_gregs_from_thread):
 (store_gregs_to_thread): -
 (store_gregs_to_thread): +
 (store_gregs_to_thread):
 (fetch_fpregs_from_thread): -
 (fetch_fpregs_from_thread): +
 (fetch_fpregs_from_thread):
 (store_fpregs_to_thread): -
 (store_fpregs_to_thread): +
 (store_fpregs_to_thread):
 (aarch64_linux_fetch_inferior_registers):
 * arch-utils.c (default_addressable_memory_unit_size):
 * arch-utils.h (extern const char *default_gnu_triplet_regexp):
 * arm-linux-tdep.c (static struct tramp_frame arm_kernel_linux_restart_syscall_tramp_frame = {):
 (arm_linux_supply_gregset):
 (arm_linux_collect_gregset):
 (supply_nwfpe_register): -
 (supply_nwfpe_register): +
 (supply_nwfpe_register):
 (collect_nwfpe_register): -
 (collect_nwfpe_register): +
 (collect_nwfpe_register):
 (arm_linux_supply_nwfpe):
 (arm_linux_collect_nwfpe):
 (arm_linux_supply_vfp):
 * arm-linux-tdep.h (void arm_linux_collect_gregset):
 * corelow.c (core_detach):
 (get_core_register_section): -
 (get_core_register_section): +
 (get_core_registers_cb):
 * gdbarch.c (set_gdbarch_fast_tracepoint_valid_at):
 (gdbarch_guess_tracepoint_registers): -
 (gdbarch_guess_tracepoint_registers): +
 * gdbarch.h (extern void set_gdbarch_fast_tracepoint_valid_at):
 * gdbarch.sh (m;int;fast_tracepoint_valid_at;CORE_ADDR addr, char **msg;addr, msg;;default_fas):
 * gdbcore.h (struct core_fns):
 * inf-child.c (store_waitstatus):
 (inf_child_fetch_inferior_registers):
 (inf_child_post_attach):
 * inf-ptrace.c (static CORE_ADDR):
 (inf_ptrace_fetch_register): -
 (inf_ptrace_fetch_register): +
 (inf_ptrace_fetch_register):
 (inf_ptrace_fetch_registers):
 (inf_ptrace_store_register): -
 (inf_ptrace_store_register): +
 (inf_ptrace_store_register):
 * record-btrace.c (record_btrace_remove_breakpoint):
 (record_btrace_fetch_registers):
 (record_btrace_store_registers):
 * record-full.c (static void record_full_save):
 (record_full_reg_alloc): -
 (record_full_reg_alloc): +
 (record_full_get_loc):
 (record_full_arch_list_add_reg): -
 (record_full_arch_list_add_reg): +
 (record_full_supports_stopped_by_hw_breakpoint):
 (record_full_registers_change): -
 (record_full_registers_change): +
 (record_full_registers_change):
 (record_full_core_kill):
 (record_full_core_fetch_registers):
 (record_full_core_prepare_to_store):
 * record-full.h:
 * regcache.c (regcache_register_size):
 (regcache::regcache):
 (regcache::arch):
 (regcache_get_ptid): -
 (regcache_get_ptid): +
 (class regcache_invalidator):
 (public:):
 (public:):
 (get_regcache_arch): -
 (get_regcache_arch): +
 (regcache_dup):
 (regcache_register_status): -
 (regcache_register_status): +
 (reg_buffer::set_register_status):
 (regcache_invalidate): -
 (regcache_invalidate): +
 (registers_changed):
 (regcache_raw_update): -
 (regcache_raw_update): +
 (regcache_raw_update):
 (regcache::raw_update):
 (regcache_raw_read): -
 (regcache_raw_read): +
 (regcache_raw_read_signed):
 (regcache_raw_write_signed):
 (regcache_raw_write):
 (reg_buffer::raw_supply_zeroed):
 (regcache_raw_collect): -
 (regcache_raw_collect): +
 (reg_buffer::transfer_regset):
 (reg_buffer::supply_regset):
 (regcache_write_pc):
 * regcache.h (struct regcache;):
 (extern struct regcache *get_thread_arch_aspace_regcache):
 (extern enum register_status):
 (extern void regcache_write_pc):
 (enum):
 (private:):
 (public:):
 (public:):
 (public:):
 (public:):
 (private:):
 * regset.h (struct regcache;):
 * remote.c (static int getpkt_or_notif_sane):
 (remote_wait):
 (fetch_register_using_p): -
 (fetch_register_using_p): +
 (send_g_packet):
 (process_g_packet): -
 (process_g_packet): +
 (process_g_packet):
 (fetch_registers_using_g): -
 (fetch_registers_using_g): +
 (set_remote_traceframe):
 (remote_fetch_registers):
 (remote_prepare_to_store): -
 (remote_prepare_to_store): +
 (remote_prepare_to_store):
 (store_register_using_P): -
 (store_register_using_P): +
 (store_register_using_P):
 (store_registers_using_G): -
 (store_registers_using_G): +
 (store_registers_using_G):
 * s390-linux-tdep.c (s390_write_pc):
 * target-debug.h:
 * target-delegates.c (debug_wait):
 (delegate_fetch_registers): -
 (delegate_fetch_registers): +
 (tdefault_fetch_registers): -
 (tdefault_fetch_registers): +
 (debug_fetch_registers): -
 (debug_fetch_registers): +
 (delegate_store_registers): -
 (delegate_store_registers): +
 (tdefault_store_registers): -
 (tdefault_store_registers): +
 (debug_store_registers): -
 (debug_store_registers): +
 (delegate_prepare_to_store): -
 (delegate_prepare_to_store): +
 (tdefault_prepare_to_store): -
 (tdefault_prepare_to_store): +
 (debug_prepare_to_store): -
 (debug_prepare_to_store): +
 * target.c (target_options_to_string):
 (target_fetch_registers): -
 (target_fetch_registers): +
 (target_fetch_registers):
 (target_store_registers): -
 (target_store_registers): +
 * target.h (struct target_ops):
 (extern ptid_t default_target_wait):
 * tracefile-tfile.c (traceframe_find_block_type):
 * tracefile.c (trace_save_ctf):
 (tracefile_fetch_registers): -
 (tracefile_fetch_registers): +
 * tracefile.h (extern struct trace_file_writer *tfile_trace_file_writer_new):

users/palves/catch_exceptions 2017-09-27 22:37:48 UTC
zap catch_exceptions

Author: Pedro Alves
Author Date: 2017-09-27 22:37:48 UTC

zap catch_exceptions

users/aoliva/SFN 2017-09-22 20:23:34 UTC
bring ChangeLog entries from master commit

Author: Alexandre Oliva
Author Date: 2017-09-22 20:23:34 UTC

bring ChangeLog entries from master commit

users/wtedesch/icc_version 2017-09-20 13:24:38 UTC
icc: allow code path for newer versions of icc.

Author: Walfred Tedeschi
Author Date: 2017-09-19 09:59:41 UTC

icc: allow code path for newer versions of icc.

Patch adds a version checkin for workaround an icc problem.
Icc problem was fixed in version 14, and gdb code has to
reflect the fix.
This patch contains a parser for the icc string version and conditional
workaround execution. Adds also gdb self tests for the dwarf producers.

2017-06-28 Walfred Tedeschi <walfred.tedeschi@intel.com>

gdb/ChangeLog:
 * dwarf2read.c (dwarf2_cu): Remove field producer_is_icc and add
 producer_is_icc_lt_14.
 (producer_is_icc_lt_14): New function.
 (check_producer): Add code for checking version of icc.
 (producer_is_icc): Move to dwarf2utils.
 (read_structure_type): Add a check for the later version of icc
 where the issue was still not fixed.
 (dwarf_producer_test): Add new unit test.
 (_initialize_dwarf2_read): Register the unit test.
 * dwarf2utils.c (producer_is_icc): New function.
 * dwarf2utils.h (producer_is_icc): Declaration of a new function.
 * dwarf2utils.c (_initialize_dwarf2utils): New function.

Change-Id: I70871846be4b70df477a63e700a52c41da81b92a
Signed-off-by: Walfred Tedeschi <walfred.tedeschi@intel.com>

users/hjl/pr22101 2017-09-15 19:26:43 UTC
Remove invalid .dynamic section with --only-keep-debug

Author: H.J. Lu
Author Date: 2017-09-15 19:18:05 UTC

Remove invalid .dynamic section with --only-keep-debug

Remove invalid .dynamic section with --only-keep-debug.

bfd/

 PR binutils/22101
 * elf.c (rewrite_elf_program_header): Remove the segment from
 output if all sections in input have been removed.

binutils/x

 PR binutils/22101
 * objcopy.c (strip_main): Also remove invalid .dynamic section
 with --only-keep-debug.
 (copy_main): Likewise.

users/palves/tls-nonthreaded 2017-09-13 10:43:15 UTC
Use libthread_db.so with non-threaded programs, for TLS

Author: Pedro Alves
Author Date: 2017-09-13 10:43:15 UTC

Use libthread_db.so with non-threaded programs, for TLS

(This is a hack for experimentation.)

users/hjl/pr22032 2017-08-30 12:31:33 UTC
Call _close_and_cleanup in bfd_close_all_done

Author: H.J. Lu
Author Date: 2017-08-29 17:52:30 UTC

Call _close_and_cleanup in bfd_close_all_done

 PR binutils/22032
 * opncls.c (bfd_close_all_done): Call _close_and_cleanup.

users/linaro/binutils-2_25-branch 2017-08-24 12:47:34 UTC
Fix the generation of alignment frags in code sections for AArch64.

Author: Nick Clifton
Author Date: 2016-08-05 09:37:57 UTC

Fix the generation of alignment frags in code sections for AArch64.

 PR gas/20364
 * config/tc-aarch64.c (s_ltorg): Change the mapping state after
 aligning the frag.
 (aarch64_init): Treat rs_align frags in code sections as
 containing code, not data.
 * testsuite/gas/aarch64/pr20364.s: New test.
 * testsuite/gas/aarch64/pr20364.d: New test driver.

Cherry-pick of 7ea12e5c3ad54da440c08f32da09534e63e515ca

Change-Id: I6bb37f33419cbf54e52c8d54ef0d1c18fdc85878

users/linaro/binutils-2_27-branch 2017-08-21 14:34:06 UTC
Merge with binutils-2_27-branch rev b5d3ac20

Author: Adhemerval Zanella
Author Date: 2017-08-21 14:34:06 UTC

Merge with binutils-2_27-branch rev b5d3ac20

Change-Id: Iaa5f379bb904c3eb5b6e041c62c24076d2838063

users/qiyao/target-desc-4 2017-08-21 11:56:14 UTC
Convert the rest x86 target descriptions

Author: Yao Qi
Author Date: 2017-08-18 16:00:11 UTC

Convert the rest x86 target descriptions

This patch changes the rest of x86 target descriptions in GDB and
GDBserver.

gdb:

2017-08-18 Yao Qi <yao.qi@linaro.org>

 * amd64-tdep.c (amd64_target_description): Create target
 descriptions.
 (_initialize_amd64_tdep): Don't call functions
 initialize_tdesc_amd64_*. Add self tests.
 * arch/amd64.c (amd64_create_target_description): Add parameter
 is_linux. Call set_tdesc_osabi if is_linux is true.
 * arch/amd64.h (amd64_create_target_description): Update the
 declaration.
 * arch/i386.c (i386_create_target_description): Add parameter
 is_linux. Call set_tdesc_osabi if is_linux is true.
 * arch/i386.h (i386_create_target_description): Update
 declaration.
 * configure.tgt: Add i386.o to gdb_target_obs.
 * features/Makefile (XMLTOC): Remove i386/*.xml.
 * features/i386/amd64-avx-avx512.c: Remove.
 * features/i386/amd64-avx-mpx-avx512-pku.c: Remove.
 * features/i386/amd64-avx-mpx.c: Remove.
 * features/i386/amd64-avx.c: Remove.
 * features/i386/amd64-mpx.c: Remove.
 * features/i386/amd64.c: Remove.
 * features/i386/i386-avx-avx512.c: Remove.
 * features/i386/i386-avx-mpx-avx512-pku.c: Remove.
 * features/i386/i386-avx-mpx.c: Remove.
 * features/i386/i386-avx.c: Remove.
 * features/i386/i386-mmx.c: Remove.
 * features/i386/i386-mpx.c: Remove.
 * features/i386/i386.c: Remove.
 * i386-tdep.c: Don't include features/i386/i386*.c., include
 target-descriptions.h and arch/i386.h.
 (i386_target_description): Create target descriptions.
 (i386_gdbarch_init): Don't call initialize_tdesc_i386_*
 functions. Do self tests.

gdb/gdbserver:

2017-08-18 Yao Qi <yao.qi@linaro.org>

 * configure.srv (srv_i386_regobj): Remove.
 (srv_amd64_regobj): Remove.
 (srv_regobj): Set it to "" for x86 non-linux targets.
 * linux-x86-tdesc.c (i386_linux_read_description):
 * lynx-i386-low.c: Include x86-xstate.h and arch/i386.h.
 (init_registers_i386): Remove the declaration.
 (tdesc_i386): Remove the declaration.
 (lynx_i386_arch_setup): Call i386_create_target_description.
 * nto-x86-low.c: Likewise.
 * win32-i386-low.c [__x86_64__]: include arch/amd64.h.
 [!__x86_64__]: include arch/i386.h.
 (i386_arch_setup) [__x86_64__]: Call amd64_create_target_description.

users/pmuldoon/c++compile 2017-08-17 20:58:01 UTC
Update w/HEAD

Author: Keith Seitz
Author Date: 2017-08-17 20:58:01 UTC

Update w/HEAD

Problems:
 gdb/compile/compile.c
 gdb/cp-support.c
 gdb/cp-support.h
 gdb/gdbtypes.h
 gdb/language.c
 gdb/linespec.c

users/alahay01/targetregcache 2017-08-15 15:41:00 UTC
[PATCH 7/7]: Regcache: Refactor raw_set_cached_value

Author: Alan Hayward
Author Date: 2017-08-15 15:41:00 UTC

[PATCH 7/7]: Regcache: Refactor raw_set_cached_value

users/hjl/tls 2017-08-04 17:37:02 UTC
x86: Lookup __tls_get_addr or ___tls_get_addr once

Author: H.J. Lu
Author Date: 2017-08-04 04:19:49 UTC

x86: Lookup __tls_get_addr or ___tls_get_addr once

Instead of checking if a symbol is __tls_get_addr or ___tls_get_addr,
we check if there is a reference to __tls_get_addr or ___tls_get_addr
before starting relocation check.

 * elf32-i386.c (elf_i386_link_hash_entry): Change tls_get_addr
 to 1 bit.
 (elf_i386_link_hash_newfunc): Initialize tls_get_addr to 0.
 (elf_i386_check_tls_transition): Check tls_get_addr directly.
 (elf_i386_convert_load_reloc): Update tls_get_addr check.
 (elf_i386_link_check_relocs): New function.
 (bfd_elf32_bfd_link_check_relocs): New.
 * elf64-x86-64.c (elf_x86_64_link_hash_entry): Change tls_get_addr
 to 1 bit.
 (elf_x86_64_link_hash_newfunc): Initialize tls_get_addr to 0.
 (elf_x86_64_check_tls_transition): Check tls_get_addr directly.
 (elf_x86_64_convert_load_reloc): Update tls_get_addr check.
 (elf_x86_64_link_check_relocs): New function.
 (bfd_elf64_bfd_link_check_relocs): New.
 (bfd_elf32_bfd_link_check_relocs): Likewise.

users/qiyao/target-desc-3 2017-07-10 13:46:26 UTC
Remove features/i386/amd64-*linux.c and features/i386/x32-*linux.c

Author: Yao Qi
Author Date: 2017-06-09 09:53:25 UTC

Remove features/i386/amd64-*linux.c and features/i386/x32-*linux.c

gdb:

2017-06-09 Yao Qi <yao.qi@linaro.org>

 * features/Makefile (XMLTOC): Remove i386/amd64XXX-linux.xml.
 * features/i386/amd64-avx-avx512-linux.c: Removed.
 * features/i386/amd64-avx-linux.c: Removed.
 * features/i386/amd64-avx-mpx-avx512-pku-linux.c: Removed.
 * features/i386/amd64-avx-mpx-linux.c: Removed.
 * features/i386/amd64-linux.c: Removed.
 * features/i386/amd64-mpx-linux.c: Removed.
 * features/i386/x32-avx-avx512-linux.c: Removed.
 * features/i386/x32-avx-linux.c: Removed.
 * features/i386/x32-linux.c: Removed.

users/qiyao/target-desc-2 2017-06-20 10:34:16 UTC
Remove features/i386/amd64-*linux.c and features/i386/x32-*linux.c

Author: Yao Qi
Author Date: 2017-06-09 09:53:25 UTC

Remove features/i386/amd64-*linux.c and features/i386/x32-*linux.c

gdb:

2017-06-09 Yao Qi <yao.qi@linaro.org>

 * features/Makefile (XMLTOC): Remove i386/amd64XXX-linux.xml a
 * features/i386/amd64-avx-avx512-linux.c: Removed.
 * features/i386/amd64-avx-linux.c: Removed.
 * features/i386/amd64-avx-mpx-avx512-pku-linux.c: Removed.
 * features/i386/amd64-avx-mpx-linux.c: Removed.
 * features/i386/amd64-linux.c: Removed.
 * features/i386/amd64-mpx-linux.c: Removed.
 * features/i386/x32-avx-avx512-linux.c: Removed.
 * features/i386/x32-avx-linux.c: Removed.
 * features/i386/x32-linux.c: Removed.

users/palves/fix-objc-tests 2017-06-06 11:25:33 UTC
Fix objc tests

Author: Pedro Alves
Author Date: 2017-06-06 11:25:33 UTC

Fix objc tests

users/ccoutant/experimental-relr 2017-04-26 03:07:52 UTC
Experimental implementation of RELR-style relocations.

Author: Cary Coutant
Author Date: 2017-04-26 02:21:57 UTC

Experimental implementation of RELR-style relocations.

For x86-64 only. Instead of R_X86_64_RELATIVE relocations, we
write the offsets of the relocation targets to a new section,
.relr.dyn, with section type SHT_RELR.

gdb-7.12-branch 2017-04-17 00:01:02 UTC
Automatic date update in version.in

Author: GDB Administrator
Author Date: 2017-04-17 00:01:02 UTC

Automatic date update in version.in

users/arnez/lk3 2017-03-16 16:01:49 UTC
Add S390 support for linux-kernel target

Author: Philipp Rudo
Author Date: 2017-03-16 09:50:29 UTC

Add S390 support for linux-kernel target

After implementing the new linux-kernel target and preparing s390-tdep.
It is now time to get everything to work. Thus implement the hooks
required by the linux-kernel target and enable s390's privileged
registers.

gdb/ChangeLog:

 * s390-lk-tdep.h: New file.
 * s390-lk-tdep.c: New file.
 * Makefile.in (ALL_TARGET_OBS): Add s390-lk-tdep.o.
 (HFILES_NO_SRCDIR): Add s390-lk-tdep.h.
 (ALLDEPFILES): Add s390-lk-tdep.c.
 * configure.tgt (s390*-*-linux*): Add s390-lk-tdep.o.
 * s390-tdep.h: Define macros for address translation.
 * s390-tdep.c (s390-lk-tdep.h): New include.
 (s390_iterate_over_regset_sections): Enable privileged registers.
 (s390_core_read_description): Enable privileged registers.
 (s390_gdbarch_init): : Enable privileged registers and adjust.

binutils-2_27-branch 2017-03-09 08:42:12 UTC
Update -maltivec and -mvsx options to only enable their oldest instructions.

Author: Peter Bergner
Author Date: 2017-03-09 02:49:03 UTC

Update -maltivec and -mvsx options to only enable their oldest instructions.

Currently, the -maltivec and -mvsx GAS options enable *all* of the altivec
and vsx instructions respecitively that have ever been added. This is in
constract to GCC's -maltivec and -mvsx options, which only enable the oldest
(ie, first) set of altivec and vsx instructions. This patch changes GAS to
mimic GCC's behaviour with respect to -maltivec and -mvsx and it solves a
problem with trying to assemble the lxvx instruction which is different
between POWER8 and POWER9.

opcodes/
 * ppc-dis.c (ppc_opts) <altivec>: Do not use PPC_OPCODE_ALTIVEC2;
 <vsx>: Do not use PPC_OPCODE_VSX3;

gas/
 * testsuite/gas/ppc/altivec2.d (as): Use the -mpower8 option.
 (objdump): Use the -Mpower8 option.

binutils-2_26-branch 2017-03-08 22:24:58 UTC
Add support for the new 'lnia' extended mnemonic.

Author: Peter Bergner
Author Date: 2017-03-08 22:24:58 UTC

Add support for the new 'lnia' extended mnemonic.

opcodes/
 Apply from master.
 2017-03-08 Peter Bergner <bergner@vnet.ibm.com>
 * ppc-opc.c (powerpc_opcodes) <lnia>: New extended mnemonic.

gas/
 Apply from master.
 2017-03-08 Peter Bergner <bergner@vnet.ibm.com>
 * testsuite/gas/ppc/power9.d <lnia> New test.
 * testsuite/gas/ppc/power9.s: Likewise.

users/simark/ptid-in-fetch-store-regs 2017-03-07 21:47:46 UTC
Pass ptid to to_prepare_to_store

Author: Simon Marchi
Author Date: 2017-03-07 18:46:08 UTC

Pass ptid to to_prepare_to_store

In the same vein as to_fetch_registers and to_store_registers, we can
update to_prepare_to_store to take the ptid of the thread whose register
we want to store as a parameter, rather than reading it from
inferior_ptid.

gdb/ChangeLog:

 * target.h (struct target_ops) <to_prepare_to_store>: Add ptid_t
 parameter.
 (target_prepare_to_store): Likewise.
 * target-delegates.c: Re-generate.
 * inf-child.c (inf_child_prepare_to_store): Add ptid parameter.
 * ppc-ravenscar-thread.c
 (ppc_ravenscar_generic_prepare_to_store): Likewise.
 * ravenscar-thread.c (ravenscar_prepare_to_store): Add ptid
 parameter and use it instead of inferior_ptid.
 * ravenscar-thread.h (struct ravenscar_arch_ops)
 <to_prepare_to_store>: Add ptid parameter.
 * record-btrace.c (record_btrace_prepare_to_store): Add ptid
 parameter and use it instead of inferior_ptid.
 * record-full.c (record_full_core_prepare_to_store): Add ptid
 parameter.
 * regcache.c (regcache_raw_write): Pass ptid to
 target_prepare_to_store.
 * remote-sim.c (gdbsim_prepare_to_store): Add ptid parameter.
 * remote.c (remote_prepare_to_store): Add ptid parameter.
 * sparc-ravenscar-thread.c (sparc_ravenscar_prepare_to_store):
 Add ptid parameter.

users/gentoo/2.28 2017-03-03 18:03:25 UTC
opcodes: link against libbfd.la for rpath deps

Author: Mike Frysinger
Author Date: 2016-07-05 14:39:00 UTC

opcodes: link against libbfd.la for rpath deps

The reason opcodes doesn't link against libbfd.la is to workaround a
libtool bug where it uses installed -L paths ahead of DESTDIR paths.
The downside is that the library itself lacks rpath tags to find the
right version of libbfd.so.

Since Gentoo has patched the libtool bug for a while, we don't need
the workaround. Use the .la file so we get the rpath tags.

URL: https://bugs.gentoo.org/563934

users/simark/user-selection-rfc 2017-02-23 22:25:30 UTC
Decouple user selection from internal selection

Author: Simon Marchi
Author Date: 2016-12-08 18:06:14 UTC

Decouple user selection from internal selection

I am sending this as an RFC because it's far from complete and
definitive, but I'd like to gather some comments and opinions before
going further in this direction.

The goal of this patch is to decouple the notion of the user-selected
inferior/thread/frame from GDB's internally selected
inferior/thread/frame.

Currently, for example, the inferior_ptid variable has two jobs:

 - it's the user-selected thread: it's changed by the "thread" command.
   Other commands (continue, backtrace, etc) apply to this thread.
 - it's the internally-selected thread: it defines the thread GDB is
   currently "working" on. For example, implementations of
   to_xfer_partial will refer to it to know from which thread to
   read/write memory.

Because of this dual usage, if we want to do some operations on a thread
other than the currently selected one, we have to save the current
inferior/thread/frame and restore them when we're done. Failing to do
so would result in an unexpected selection switch for the user.

To improve this, Pedro suggested in [1] to decouple the two concepts. This
is essentially what this patch is trying to do.

A new "user_selection" object is introduced, which contains the selected
inferior/thread/frame from the point of view of the user. Before every
command, we "apply" this selection to the core of GDB to make sure the
internal selection matches the user selection.

There is a single user selection for the whole GDB (named "global
user-selection"), but as was mentioned in the linked thread, it opens
the door to having different selections for different UIs. This means
that each UI would have its own user-selection object, which would be
applied to the core prior to executing commands from this UI.

The global user-selection object only gets modified when we really
intend to change it. It can be because of the thread / -thread-select /
up / down / frame / inferior commands, a breakpoint hit in all-stop, an
inferior exit, etc.

The problem that initially prompted this effort is that the "--thread"
flag of MI commands changes the user-selected thread under the user's
feet. My initial attempt to fix it was to restore the selection after
the MI command execution. However, some cases are hard to get right.
For example:

  (thread 1 is currently selected)
  -interpreter-exec --thread 2 console "thread 3"

Restoring the selected thread to thread 1 after the MI command execution
wrongfully cancels the switch to thread 3. So it's hard to determine
when we should or shouldn't restore. With the current patch, it works
naturally: the --thread flag doesn't touch the user-selected thread,
only the internal one. The "thread 3" command updates the user
selection.

Another difficulty is to send the right notifications to MI when the
user selection changes. That means to not miss any, but not send too
many either. Getting it somewhat right lead to ugly hacks (see the
command_notifies_uscc_observer function) and even then it's not perfect
(see the kfails in user-selected-context-sync.exp test). With the
proposed method, it's easy to know when the user-selection changes and
send notifications.

With this patch, there are probably a few usage of
make_cleanup_restore_current_thread that are not needed anymore, if they
are only used to restore the user selection. I kept removing them for a
later time though.

In the current state, there are a few minor regressions in the testsuite
(especially some follow-fork stuff I'm not sure how to handle), but the
vast majority of the previously passing tests still pass.

Comments are welcome!

Thanks,

Simon

[1] https://sourceware.org/ml/gdb-patches/2016-08/msg00031.html

users/keiths/c++compile-submit 2017-02-21 21:33:46 UTC
Compile C++ feature.

Author: Keith Seitz
Author Date: 2017-02-17 21:50:40 UTC

Compile C++ feature.

users/arnez/lk 2017-02-07 15:25:55 UTC
Add S390 support for linux-kernel target

Author: Philipp Rudo
Author Date: 2017-02-07 13:17:09 UTC

Add S390 support for linux-kernel target

After implementing the new linux-kernel target and preparing s390-tdep.
It is now time to get everything to work. Thus implement the hooks
required by the linux-kernel target and enable s390's privileged
registers.

gdb/ChangeLog:

 * s390-lk-tdep.h: New file.
 * s390-lk-tdep.c: New file.
 * Makefile.in (ALL_TARGET_OBS): Add s390-lk-tdep.o.
 (ALLDEPFILES): Add s390-lk-tdep.c.
 * s390-tdep.h: Define macros for address translation.
 * s390-tdep.c (s390-lk-tdep.h): New include.
 (s390_iterate_over_regset_sections): Enable privileged registers.
 (s390_core_read_description): Enable privileged registers.
 (s390_gdbarch_init): : Enable privileged registers and adjust.

users/bheckel/fortran-oop-extend-type 2016-12-23 11:25:46 UTC
Fortran: Ptype, print type extension.

Author: Bernhard Heckel
Author Date: 2016-05-24 07:20:34 UTC

Fortran: Ptype, print type extension.

Print base-class of an extended type when doing a ptype.

2016-05-24 Bernhard Heckel <bernhard.heckel@intel.com>

gdb/Changelog:
 * gdb/f-typeprint.c (f_type_print_derivation_info): New.
 (f_type_print_base): Print baseclass info.

gdb/Testsuite/Changelog:
 * gdb.fortran/oop_extend_type.exp: Adapt expected results.

Change-Id: I95e91357137a7b5aa178ffd7bb6839feb6b436bb

users/bheckel/fortran-entry-point-nested-subroutines 2016-12-23 11:20:09 UTC
Fortran: Document scope operator.

Author: Bernhard Heckel
Author Date: 2016-08-09 14:56:22 UTC

Fortran: Document scope operator.

Document scope operator in GDB manual.

2016-08-10 Bernhard Heckel <bernhard.heckel@intel.com>

gdb/Changelog:
 * doc/gdb.texinfo: Describe scope operator.

Change-Id: I15ff901b4a729f0994410a971bba639ebc361d2a

users/gentoo/2.27 2016-11-12 07:33:37 UTC
opcodes: link against libbfd.la for rpath deps

Author: Mike Frysinger
Author Date: 2016-07-05 14:39:00 UTC

opcodes: link against libbfd.la for rpath deps

The reason opcodes doesn't link against libbfd.la is to workaround a
libtool bug where it uses installed -L paths ahead of DESTDIR paths.
The downside is that the library itself lacks rpath tags to find the
right version of libbfd.so.

Since Gentoo has patched the libtool bug for a while, we don't need
the workaround. Use the .la file so we get the rpath tags.

URL: https://bugs.gentoo.org/563934

users/palves/interrupt-while-step-over 2016-11-12 00:17:14 UTC
Fix PR18360 - internal error when using "interrupt -a"

Author: Pedro Alves
Author Date: 2016-11-12 00:17:14 UTC

Fix PR18360 - internal error when using "interrupt -a"

v2:

  - add handle_stop_requested and use it in all event waitkinds.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

If you do "interrupt -a" just while some thread is stepping over a
breakpoint, gdb trips on an internal error.

The test added by this patch manages to trigger this consistently by
spawning a few threads that are constantly tripping on a conditional
breakpoint whose condition always evaluates to false. With current
gdb, you get:

~~~
 interrupt -a
 .../src/gdb/inline-frame.c:343: internal-error: void skip_inline_frames(ptid_t): Assertion `find_inline_frame_state (ptid) == NULL' failed.
 A problem internal to GDB has been detected,
 further debugging may prove unreliable.
 Quit this debugging session? (y or n) FAIL: gdb.threads/interrupt-while-step-over.exp: displaced-stepping=on: iter=0: interrupt -a (GDB internal error)
[...]
 .../src/gdb/inline-frame.c:343: internal-error: void skip_inline_frames(ptid_t): Assertion `find_inline_frame_state (ptid) == NULL' failed.
 A problem internal to GDB has been detected,
 further debugging may prove unreliable.
 Quit this debugging session? (y or n) FAIL: gdb.threads/interrupt-while-step-over.exp: displaced-stepping=off: iter=0: wait for stops (GDB internal error)
~~~

The assertion triggers because we're processing a stop for a thread
that had already stopped before and thus had already its inline-frame
state filled in.

Calling handle_inferior_event_1 directly within a
"thread_stop_requested" observer is something that I've wanted to get
rid of before, for being fragile. Nowadays, infrun is aware of
threads with pending events, so we can use that instead, and let the
normal fetch_inferior_event -> handle_inferior_event code path handle
the forced stop.

The change to finish_step_over is necessary because sometimes a thread
that was told to PTRACE_SINGLESTEP reports back a SIGSTOP instead of a
SIGTRAP (i.e., we tell it to single-step, and then interrupt it quick
enough that on the kernel side the thread dequeues the SIGTOP before
ever having had a chance of executing the instruction to be stepped).
SIGSTOP gets translated to a GDB_SIGNAL_0. And then finish_step_over
would miss calling clear_step_over_info, and thus miss restarting the
other threads (which in this case of threads with pending events,
means setting their "resumed" flag, so their pending events can be
consumed).

And now that we always restart threads in finish_step_over, we no
longer need to do that in handle_signal_stop.

Tested on x86_64 Fedora 23, native and gdbserver.

gdb/ChangeLog:
yyyy-mm-dd Pedro Alves <palves@redhat.com>

 PR gdb/18360
 * infrun.c (start_step_over, do_target_resume, resume)
 (restart_threads): Assert we're not resuming a thread that is
 meant to be stopped.
 (infrun_thread_stop_requested_callback): Delete.
 (infrun_thread_stop_requested): If the thread is internally
 stopped, queue a pending stop event and clear the thread's
 inline-frame state.
 (handle_syscall_event, handle_inferior_event_1): Use
 handle_stop_requested.
 (handle_stop_requested): New function.
 (handle_signal_stop): Set the thread's stop_signal here instead of
 at caller.
 (finish_step_over): Clear step over info unconditionally.
 (handle_signal_stop): If the user had interrupted the event
 thread, consider the stop a random signal.
 (handle_signal_stop)<signal arrived while stepping over
 breakpoint>: Don't restart threads here.
 (stop_waiting): Don't clear step-over info here.

gdb/testsuite/ChangeLog:
yyyy-mm-dd Pedro Alves <palves@redhat.com>

 PR gdb/18360
 * gdb.threads/interrupt-while-step-over.c: New file.
 * gdb.threads/interrupt-while-step-over.exp: New file.

users/palves/interrupt-while-step-over-v1 2016-11-08 18:02:17 UTC
Fix PR18360 - internal error when using "interrupt -a"

Author: Pedro Alves
Author Date: 2016-11-08 18:02:17 UTC

Fix PR18360 - internal error when using "interrupt -a"

If you do "interrupt -a" just while some thread is stepping over a
breakpoint, gdb trips on an internal error.

The test added by this patch manages to trigger this consistently by
spawning a few threads that are constantly tripping on a conditional
breakpoint whose condition always evaluates to false. With current
gdb, you get:

~~~
 interrupt -a
 .../src/gdb/inline-frame.c:343: internal-error: void skip_inline_frames(ptid_t): Assertion `find_inline_frame_state (ptid) == NULL' failed.
 A problem internal to GDB has been detected,
 further debugging may prove unreliable.
 Quit this debugging session? (y or n) FAIL: gdb.threads/interrupt-while-step-over.exp: displaced-stepping=on: iter=0: interrupt -a (GDB internal error)
[...]
 .../src/gdb/inline-frame.c:343: internal-error: void skip_inline_frames(ptid_t): Assertion `find_inline_frame_state (ptid) == NULL' failed.
 A problem internal to GDB has been detected,
 further debugging may prove unreliable.
 Quit this debugging session? (y or n) FAIL: gdb.threads/interrupt-while-step-over.exp: displaced-stepping=off: iter=0: wait for stops (GDB internal error)
~~~

The assertion triggers because we're processing a stop for a thread
that had already stopped before and thus had already its inline-frame
state filled in.

Calling handle_inferior_event_1 directly within a
"thread_stop_requested" observer is something that I've wanted to get
rid of before, for being fragile. Nowadays, infrun is aware of
threads with pending events, so we can use that instead, and let the
normal fetch_inferior_event -> handle_inferior_event code path handle
the forced stop.

The change to finish_step_over is necessary because sometimes a thread
that was told to PTRACE_SINGLESTEP reports back a SIGSTOP instead of a
SIGTRAP (i.e., we tell it to single-step, and then interrupt it quick
enough that on the kernel side the thread dequeues the SIGTOP before
ever having had a chance of executing the instruction to be stepped).
SIGSTOP gets translated to a GDB_SIGNAL_0. And then finish_step_over
would miss calling clear_step_over_info, and thus miss restarting the
other threads (which in this case of threads with pending events,
means setting their "resumed" flag, so their pending events can be
consumed).

And now that we always restart threads in finish_step_over, we no
longer need to do that in handle_signal_stop.

Tested on x86_64 Fedora 23, native and gdbserver.

gdb/ChangeLog:
yyyy-mm-dd Pedro Alves <palves@redhat.com>

 PR gdb/18360
 * infrun.c (start_step_over, do_target_resume, resume)
 (restart_threads): Assert we're not resuming a thread that is
 meant to be stopped.
 (infrun_thread_stop_requested_callback): Delete.
 (infrun_thread_stop_requested): If the thread is internally
 stopped, queue a pending stop event and clear the thread's
 inline-frame state.
 (finish_step_over): Clear step over info unconditionally.
 (handle_signal_stop): If the user had interrupted the event
 thread, consider the stop a random signal.
 (handle_signal_stop)<signal arrived while stepping over
 breakpoint>: Don't restart threads here.
 (stop_waiting): Don't clear step-over info here.

gdb/testsuite/ChangeLog:
yyyy-mm-dd Pedro Alves <palves@redhat.com>

 PR gdb/18360
 * gdb.threads/interrupt-while-step-over.c: New file.
 * gdb.threads/interrupt-while-step-over.exp: New file.

users/ARM/embedded-binutils-2_26-branch 2016-09-26 10:17:20 UTC
2016-09-26 Andre Vieira <andre.simoesdiasvieira@arm.com>

Author: Thomas Preud'homme
Author Date: 2016-09-26 10:17:20 UTC

2016-09-26 Andre Vieira <andre.simoesdiasvieira@arm.com>

 Backport from mainline
 2016-02-16 Nick Clifton <nickc@redhat.com>

gas/
 * doc/as.texinfo (Section): Fix up texinfo snafus in previous
 update.

users/ARM/embedded-gdb-7.10-branch 2016-09-23 08:29:22 UTC
Bump date

Author: Thomas Preud'homme
Author Date: 2016-09-23 08:20:22 UTC

Bump date

users/palves/jit-speedup 2016-09-19 14:44:43 UTC
lookup_minimal_symbol_text

Author: Pedro Alves
Author Date: 2016-03-26 00:06:19 UTC

lookup_minimal_symbol_text

Noticed that create_exception_master_breakpoint could be using the
cheaper lookup_minimal_symbol_text instead of lookup_minimal_symbol.

users/bheckel/fortran-vla-strings 2016-09-07 10:19:36 UTC
fort_dyn_array: Fortran dynamic string support

Author: Bernhard Heckel
Author Date: 2016-07-12 06:19:34 UTC

fort_dyn_array: Fortran dynamic string support

This patch changes the semantic of the Dwarf string length
attribute to reflect the standard as well as enables
correct string length calculation of dynamic strings. Add
tests for varous dynamic string evaluations.

Old:
(gdb) p my_dyn_string
Cannot access memory at address 0x605fc0

New:
(gdb) p *my_dyn_string
$1 = 'foo'

gdb/Changlog:
 * dwarf2read.c (read_tag_string_type): changed
 semantic of DW_AT_string_length to be able to
 handle Dwarf blocks as well. Support for
 DW_AT_byte_length added to get correct length
 if specified in combination with
 DW_AT_string_length.
 (attr_to_dynamic_prop): added
 functionality to add Dwarf operators to baton
 data attribute. Added post values to baton
 as required by the string evaluation case.
 (read_subrange_type): Adapt caller.
 (set_die_type): Adapt caller.
 (add_post_values_to_baton): New function.
     * gdbtypes.c (resolve_dynamic_type): Add
     conditions to support string types.
     (resolve_dynamic_array): Add conditions for dynamic
     strings and create a new string type.
     (is_dynamic_type): Follow pointer if a string type
     was detected, as Fortran strings are represented
     as pointers to strings internally.

gdb/testsuite/Changelog:
 * vla-strings.f90: New file.
 * vla-strings.exp: New file.

Change-Id: I7d7f47c7a4900a7fdb51102032455b53d60e60d7

users/bheckel/fortran-strides 2016-09-07 10:08:48 UTC
fortran: test cases for subarray strides and slices

Author: Christoph Weinmann
Author Date: 2013-12-04 11:47:15 UTC

fortran: test cases for subarray strides and slices

Add test cases for subarray creation with range, literal and
stride value permutations for one, two, and three dimensional
arrays.

2013-12-04 Christoph Weinmann <christoph.t.weinmann@intel.com>

testsuite/gdb.fortran/
 * static-arrays.exp: New test.
 * static-arrays.f90: New file.

Signed-off-by: Christoph Weinmann <christoph.t.weinmann@intel.com>

users/apinski/gdb-ilp32-gdbserver 2016-08-31 20:27:54 UTC
Handle ILP32 AARCH64 correctly for gdbserver

Author: Andrew Pinski
Author Date: 2016-08-26 23:31:29 UTC

Handle ILP32 AARCH64 correctly for gdbserver

In gdbserver, we need to send over 32bit registers
for pc/sp instead of 64bit as we do right now.
So we need another XML file for ILP32.

Tested using gdbserver with an ILP32 program and even
tested using gdbserver as an ILP32 program.

OK?

Thanks,
Andrew Pinski

ChangeLog:
 * aarch64-tdep.c: Include "features/aarch64_ilp32.c".
 (aarch64_gdbarch_init): Handle ilp32 correctly.
 (_initialize_aarch64_tdep): Call initialize_tdesc_aarch64_ilp32
 too.
 * features/Makefile (WHICH): Add aarch64_ilp32.
 (aarch64_ilp32-expedite): Set.
 (XMLTOC): Add aarch64_ilp32.xml.
 (features/aarch64_ilp32-core.xml): New file.
 (features/aarch64_ilp32.xml): New file.
 (features/aarch64_ilp32.c): Generate.
 (regformats/aarch64_ilp32.dat): Generate.

gdbserver/ChangeLog:
 * Makefile.in (clean): Remove aarch64_ilp32.c also.
 (aarch64_ilp32-ipa.o): New target.
 (aarch64_ilp32.c): New target.
 * configure.srv (aarch64*-*-linux*): Add ilp32 files
 to srv_regobj, srv_xmlfiles and ipa_obj.
 * linux-aarch64-ipa.c (init_registers_aarch64_ilp32):
 Declare.
 (tdesc_aarch64_ilp32): Likewise.
 (get_ipa_tdesc): Return tdesc_aarch64_ilp32 for ILP32.
 (initialize_low_tracepoint): Call init_registers_aarch64_ilp32
 for ILP32.
 * linux-aarch64-low.c (init_registers_aarch64_ilp32): Declare.
 (tdesc_aarch64_ilp32): Likewise.
 (aarch64_linux_read_description): Return tdesc_aarch64_ilp32
 for ILP32 executables.
 (initialize_low_arch): Call init_registers_aarch64_ilp32.

Signed-off-by: Andrew Pinski <apinski@cavium.com>

gdb-7.11-branch 2016-08-25 07:55:27 UTC
Sync proc_service definition with GLIBC

Author: Adhemerval Zanella
Author Date: 2016-08-25 07:42:03 UTC

Sync proc_service definition with GLIBC

GLIBC BZ#20311 [1] proc_service.h install patch also remove 'const'
attributes from ps_get_thread_area and comment #15 discuss why to remove
the const attribute (basically since it a callback with the struct
ps_prochandle owned by the client it should be able to modify it if
it the case).

On default build this is not the issue and current g++ does not trigger
any issue with this mismatch declaration. However, on some bootstrap
build configuration where gdbserver is build with gcc instead this
triggers:

error: conflicting types for 'ps_get_thread_area'

This patch fixes it by syncing the declaration with GLIBC.

[1] https://sourceware.org/bugzilla/show_bug.cgi?id=20311

gdb/ChangeLog:

2016-08-25 Adhemerval Zanella <adhemerval.zanella@linaro.org>

 * aarch64-linux-nat.c (ps_get_thread_area): Remove const from
 struct ps_prochandle.
 * amd64-linux-nat.c (ps_get_thread_area): Likewise.
 * arm-linux-nat.c (ps_get_thread_area): Likewise.
 * gdb_proc_service.h (ps_get_thread_area): Likewise.
 * i386-linux-nat.c (ps_get_thread_area): Likewise.
 * m68klinux-nat.c (ps_get_thread_area): Likewise.
 * mips-linux-nat.c (ps_get_thread_area): Likewise.
 * nat/aarch64-linux.c (aarch64_ps_get_thread_area): Likewise.
 * nat/aarch64-linux.h (aarch64_ps_get_thread_area): Likewise.
 * xtensa-linux-nat.c (ps_get_thread_area): Likewise.

gdb/gdbserver/ChangeLog:

2016-08-25 Adhemerval Zanella <adhemerval.zanella@linaro.org>

 PR server/20491
 * gdb_proc_service.h (ps_get_thread_area): Remove const from struct
 ps_prochandle.
 * linux-aarch64-low.c (ps_get_thread_area): Likewise.
 * linux-arm-low.c (ps_get_thread_area): Likewise.
 * linux-crisv32-low.c (ps_get_thread_area): Likewise.
 * linux-m68k-low.c (ps_get_thread_area): Likewise.
 * linux-mips-low.c (ps_get_thread_area): Likewise.
 * linux-nios2-low.c (ps_get_thread_area): Likewise.
 * linux-tic6x-low.c (ps_get_thread_area): Likewise.
 * linux-x86-low.c (ps_get_thread_area): Likewise.
 * linux-xtensa-low.c (ps_get_thread_area): Likewise.

users/ARM/sve 2016-08-23 08:41:05 UTC
[AArch64] Add SVE condition codes

Author: Richard Sandiford
Author Date: 2016-08-15 11:00:49 UTC

[AArch64] Add SVE condition codes

SVE defines new names for existing NZCV conditions, to reflect the
result of instructions like PTEST. This patch adds support for these
names.

The patch also adds comments to the disassembly output to show the
alternative names of a condition code. For example:

 cinv x0, x1, cc

becomes:

  cinv x0, x1, cc // cc = lo, ul, last

and:

 b.cc f0 <...>

becomes:

  b.cc f0 <...> // b.lo, b.ul, b.last

Doing this for the SVE names follows the practice recommended by the
SVE specification and is definitely useful when reading SVE code.
If the feeling is that it's too distracting elsewhere, we could add
an option to turn it off.

include/
 * opcode/aarch64.h (aarch64_cond): Bump array size to 4.

opcodes/
 * aarch64-dis.c (remove_dot_suffix): New function, split out from...
 (print_mnemonic_name): ...here.
 (print_comment): New function.
 (print_aarch64_insn): Call it.
 * aarch64-opc.c (aarch64_conds): Add SVE names.
 (aarch64_print_operand): Print alternative condition names in
 a comment.

gas/
 * config/tc-aarch64.c (opcode_lookup): Search for the end of
 a condition name, rather than assuming that it will have exactly
 2 characters.
 (parse_operands): Likewise.
 * testsuite/gas/aarch64/alias.d: Add new condition-code comments
 to the expected output.
 * testsuite/gas/aarch64/beq_1.d: Likewise.
 * testsuite/gas/aarch64/float-fp16.d: Likewise.
 * testsuite/gas/aarch64/int-insns.d: Likewise.
 * testsuite/gas/aarch64/no-aliases.d: Likewise.
 * testsuite/gas/aarch64/programmer-friendly.d: Likewise.
 * testsuite/gas/aarch64/reloc-insn.d: Likewise.
 * testsuite/gas/aarch64/b_c_1.d, testsuite/gas/aarch64/b_c_1.s:
 New test.

Change-Id: I8b7feb02a08aa97706955cf11f59c41ab87d6b96

users/palves/fix-var-update-for-registers 2016-08-11 18:14:11 UTC
Fix -var-update for registers in frames 1 and up

Author: Pedro Alves
Author Date: 2016-08-11 18:14:11 UTC

Fix -var-update for registers in frames 1 and up

XXX palves:

Watchpoints on locals are quite similar in principle with varobjs on
locals. Likewise wathpoints/varobjs on registers.

So this actually makes "watch $pc" in non-current frames be a local
watchpoint.

So

 up
 watch $pc
 down
 continue

now does the "right" thing. I'm not sure this is really right,
though.

Haven't done anything on the varobjs side.

gdb/testsuite/ChangeLog:
2016-06-13 Don Breazeal <dbreazea@my.domain.org>

 * gdb.ada/mi_interface.exp: Add thread-id field to expected
 output of -var-create and -var-list-children.
 * gdb.ada/mi_var_array.exp: Add thread-id field to expected
 output of -var-list-children.
 * gdb.mi/mi-break.exp (test_error): Add thread-id field to
 expected output of -var-create.
 * gdb.mi/mi-frame-regs.exp: New test script.
 * gdb.mi/mi-var-cmd.exp: Add thread-id field to expected
 output of -var-create.
 * gdb.mi/mi-var-create-rtti.exp: Likewise.

gdb/ChangeLog:
2016-06-13 Don Breazeal <donb@codesourcery.com>
     Andrew Burgess <andrew.burgess@embecosm.com>

 * varobj.c (varobj_create): Initialize innermost_block to
 the global block instead of NULL.
 (new_root_variable): Initialize the thread_id and next
 fields.
 (value_of_root_1): Set within_scope if the variable's
 valid_block field is the global block.

users/hjl/mmap/write 2016-07-13 20:31:17 UTC
Add mmap.c

Author: H.J. Lu
Author Date: 2015-04-12 15:12:18 UTC

Add mmap.c

users/mmetzger/record-goto-mi 2016-07-06 06:31:22 UTC
btrace: record stop moves to the end of the trace

Author: Markus Metzger
Author Date: 2016-06-10 09:24:21 UTC

btrace: record stop moves to the end of the trace

With the btrace record target the "record stop" command implicitly moves all
traced threads to the end of their respective history. Unlike record full,
record btrace does not trace data and is therefore not able to resume debugging
at the current replay position.

We forgot to actually change the replay position before disabling tracing. This
resulted in STOP_PC remaining at its old position if the current thread had been
replaying, which, in turn, resulted in GDB commands such as list or backtrace
using the wrong context.

Fix it by moving the selected thread to the end of its recorded history.
Together with the preceding patches, this will result in a front-end
notification for the selected thread if it had been replaying. Stop replaying
other threads silently, i.e. without a front-end notification.

If the selected thread isn't replaying, notify front-ends without printing the
(unchanged) frame. This results in a *stopped MI notification without any
thread information.

In non-stop mode, move all replaying threads to the end of their respective
histories. This will result in a front-end notification and in the updated
location to be printed for each replaying thread. We prefix the output with
the thread number like this:

    (gdb) record stop
    Thread 1 (Thread 0x7ffff7fcc740 (LWP 66711)) stopped replaying.
    test (arg=0x0) at gdb.btrace/multi-thread-step.c:34
    34 global = 42; /* bp.2 */
    Thread 2 (Thread 0x7ffff74fb700 (LWP 66716)) stopped replaying.
    test (arg=0x0) at gdb.btrace/multi-thread-step.c:34
    34 global = 42; /* bp.2 */
    Process record is stopped and all execution logs are deleted.

Thanks to Marc Khouzam <marc.khouzam@ericsson.com> for reporting this.

Signed-off-by: Markus Metzger <markus.t.metzger@intel.com>

gdb/
 * record-btrace.c (record_btrace_set_replay)
 (record_btrace_stop_replaying): New declaration.
 (record_btrace_stop_recording): Call record_btrace_set_replay,
 record_btrace_stop_replaying, and observer_notify_normal_stop.

testsuite/
 * gdb.btrace/non-stop.exp: Test "record stop".
 * gdb.btrace/non-stop.c (test): Add statement to break at.
 * gdb.btrace/stop.exp: New.

Change-Id: I10565a8e4f8bc3c63f79c3ef6595e9f84e3d8100

101200 of 360 results
This repository contains Public information 
Everyone can see this information.