2013-06-25 13:01:28 +00:00
|
|
|
|
2013-06-25 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* remote.c (remote_start_remote): Move code to upload tsv
|
|
|
|
|
earlier.
|
|
|
|
|
|
2013-06-25 11:37:48 +00:00
|
|
|
|
2013-06-25 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
Hui Zhu <hui@codesourcery.com>
|
|
|
|
|
Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR breakpoints/15075
|
|
|
|
|
PR breakpoints/15434
|
|
|
|
|
* breakpoint.c (bpstat_stop_status): Call
|
|
|
|
|
b->ops->after_condition_true.
|
|
|
|
|
(update_dprintf_command_list): Don't append "continue" command
|
|
|
|
|
to the command list of dprintf breakpoint.
|
|
|
|
|
(base_breakpoint_after_condition_true): New function.
|
|
|
|
|
(base_breakpoint_ops): Add base_breakpoint_after_condition_true.
|
|
|
|
|
(dprintf_after_condition_true): New function.
|
|
|
|
|
(initialize_breakpoint_ops): Set dprintf_after_condition_true.
|
|
|
|
|
* breakpoint.h (breakpoint_ops): Add after_condition_true.
|
|
|
|
|
|
2013-06-25 01:16:31 +00:00
|
|
|
|
2013-06-24 Kevin Buettner <kevinb@redhat.com>
|
|
|
|
|
|
|
|
|
|
* Makefile.in (ALL_TARGET_OBS): Add msp430-tdep.o.
|
|
|
|
|
(ALLDEPFILES): Add msp430-tdep.c.
|
|
|
|
|
* configure.tgt (msp430*-*-elf): New target.
|
|
|
|
|
* msp430-tdep.c: New file.
|
|
|
|
|
|
2013-06-24 23:55:46 +00:00
|
|
|
|
2013-06-24 Maciej W. Rozycki <macro@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* mips-tdep.c (mips_elf_make_msymbol_special): Handle MIPS16 and
|
|
|
|
|
microMIPS synthetic symbols.
|
|
|
|
|
|
2013-06-24 22:18:32 +00:00
|
|
|
|
2013-06-24 Maciej W. Rozycki <macro@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* objfiles.h (pc_in_section): New prototype.
|
|
|
|
|
(in_plt_section): Remove name argument, replace prototype with
|
|
|
|
|
static inline function.
|
|
|
|
|
* mips-tdep.h: Include "objfiles.h".
|
|
|
|
|
(in_mips_stubs_section): New function.
|
|
|
|
|
* hppa-tdep.h (gdbarch_tdep): Remove name argument of
|
|
|
|
|
in_solib_call_trampoline member.
|
|
|
|
|
(hppa_in_solib_call_trampoline): Remove name argument.
|
|
|
|
|
* objfiles.c (pc_in_section): New function.
|
|
|
|
|
(in_plt_section): Remove function.
|
|
|
|
|
* mips-linux-tdep.c: Include "objfiles.h".
|
|
|
|
|
(mips_linux_in_dynsym_stub): Call in_mips_stubs_section. Remove
|
|
|
|
|
name argument. Return 1 rather than the low 16-bit halfword of
|
|
|
|
|
any instruction examined.
|
|
|
|
|
(mips_linux_in_dynsym_resolve_code): Update
|
|
|
|
|
mips_linux_in_dynsym_stub call accordingly.
|
|
|
|
|
* mips-tdep.c (mips_stub_frame_sniffer): Use in_mips_stubs_section
|
|
|
|
|
rather than an equivalent hand-coded sequence.
|
|
|
|
|
* hppa-hpux-tdep.c (in_opd_section): Remove function.
|
|
|
|
|
(hppa32_hpux_in_solib_call_trampoline): Remove name argument.
|
|
|
|
|
(hppa64_hpux_in_solib_call_trampoline): Likewise.
|
|
|
|
|
(hppa64_hpux_find_global_pointer): Use pc_in_section rather than
|
|
|
|
|
in_opd_section.
|
|
|
|
|
* hppa-tdep.c (hppa_stub_unwind_sniffer): Remove name argument
|
|
|
|
|
on call to tdep->in_solib_call_trampoline.
|
|
|
|
|
(hppa_in_solib_call_trampoline): Remove name argument, update
|
|
|
|
|
according to in_plt_section change.
|
|
|
|
|
(hppa_skip_trampoline_code): Update according to in_plt_section
|
|
|
|
|
change.
|
|
|
|
|
* aarch64-tdep.c (aarch64_stub_unwind_sniffer): Likewise.
|
|
|
|
|
* arm-symbian-tdep.c (arm_symbian_skip_trampoline_code):
|
|
|
|
|
Likewise.
|
|
|
|
|
* arm-tdep.c (arm_stub_unwind_sniffer): Likewise.
|
|
|
|
|
* hppa-linux-tdep.c (hppa_linux_find_global_pointer): Likewise.
|
|
|
|
|
* hppabsd-tdep.c (hppabsd_find_global_pointer): Likewise.
|
|
|
|
|
* nios2-tdep.c (nios2_stub_frame_sniffer): Likewise.
|
|
|
|
|
* nto-tdep.c (nto_relocate_section_addresses): Likewise.
|
|
|
|
|
* s390-tdep.c (s390_stub_frame_sniffer): Likewise.
|
|
|
|
|
* sh-tdep.c (sh_stub_unwind_sniffer): Likewise.
|
|
|
|
|
* solib-dsbt.c (dsbt_in_dynsym_resolve_code): Likewise.
|
|
|
|
|
* solib-frv.c (frv_in_dynsym_resolve_code): Likewise.
|
|
|
|
|
* solib-svr4.c (svr4_in_dynsym_resolve_code): Likewise.
|
|
|
|
|
* solib-target.c (solib_target_in_dynsym_resolve_code): Likewise.
|
|
|
|
|
* sparc-tdep.c (sparc_analyze_prologue): Likewise.
|
|
|
|
|
* tic6x-tdep.c (tic6x_stub_unwind_sniffer): Likewise.
|
|
|
|
|
|
2013-06-24 22:03:51 +00:00
|
|
|
|
2013-06-24 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* common/create-version.sh: Fix expansion of $host_alias
|
|
|
|
|
and $target_alias in generation of HOST_NAME and TARGET_NAME
|
|
|
|
|
(resp.).
|
|
|
|
|
|
don't keep a gdb-specific date
Right now there are two nightly commits to update a file in the tree
with the current date. One commit is for BFD, one is for gdb.
It seems unnecessary to me to do this twice. We can make do with a
single such commit.
This patch changes gdb in a minimal way to reuse the BFD date -- it
extracts it from bfd/version.h and changes version.in to use the
placeholder string "DATE" for those times when a date is wanted.
I propose removing the cron job that updates the version on trunk, and
then check in this patch.
For release branches, we can keep the cron job, but just tell it to
rewrite bfd/version.h. I believe this is a simple change in the
crontab -- the script will work just fine on this file.
This also moves version.in and version.h into common/, to reflect
their shared status; and updates gdbserver to use version.h besides.
* common/create-version.sh: New file.
* Makefile.in (version.c): Use bfd/version.h, common/version.in,
create-version.sh.
(HFILES_NO_SRCDIR): Use common/version.h.
* version.in: Move to ...
* common/version.in: ... here. Replace date with "DATE".
* version.h: Move to ...
* common/version.h: ... here.
gdbserver:
* Makefile.in (version.c): Use bfd/version.h, common/version.in,
create-version.sh.
(version.o): Remove.
* gdbreplay.c: Include version.h.
(version, host_name): Don't declare.
* server.h: Include version.h.
(version, host_name): Don't declare.
doc:
* Makefile.in (POD2MAN1, POD2MAN5): Use version.subst.
(GDBvn.texi): Use version.subst.
(version.subst): New target.
(mostlyclean): Remove version.subst.
2013-06-24 15:06:27 +00:00
|
|
|
|
2013-06-24 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* common/create-version.sh: New file.
|
|
|
|
|
* Makefile.in (version.c): Use bfd/version.h, common/version.in,
|
|
|
|
|
create-version.sh.
|
|
|
|
|
(HFILES_NO_SRCDIR): Use common/version.h.
|
|
|
|
|
* version.in: Move to ...
|
|
|
|
|
* common/version.in: ... here. Replace date with "DATE".
|
|
|
|
|
* version.h: Move to ...
|
|
|
|
|
* common/version.h: ... here.
|
|
|
|
|
|
2013-06-21 17:55:07 +00:00
|
|
|
|
2013-06-21 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* gdb/gnulib/Makefile.in: Update date in copyright header.
|
|
|
|
|
* gdb/gnulib/configure.ac: Ditto.
|
|
|
|
|
* gdb/gnulib/update-gnulib.sh: Ditto.
|
|
|
|
|
|
2013-06-21 17:54:58 +00:00
|
|
|
|
2013-06-21 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* copyright.py (EXCLUDE_LIST): Replace "gdb/gnulib" by
|
|
|
|
|
"gdb/gnulib/import".
|
|
|
|
|
|
2013-06-21 16:24:14 +00:00
|
|
|
|
2013-06-21 Will Newton <will.newton@linaro.org>
|
|
|
|
|
|
|
|
|
|
* doublest.c (ldfrexp): Remove function.
|
|
|
|
|
(convert_doublest_to_floatformat): Call frexpl instead of
|
|
|
|
|
ldfrexp.
|
|
|
|
|
|
2013-06-21 16:17:02 +00:00
|
|
|
|
2013-06-21 Will Newton <will.newton@linaro.org>
|
|
|
|
|
|
|
|
|
|
* gnulib/update-gnulib.sh(IMPORTED_GNULIB_MODULES): Add frexpl.
|
|
|
|
|
* gnulib/aclocal.m4: Regenerate.
|
|
|
|
|
* gnulib/config.in: Regenerate.
|
|
|
|
|
* gnulib/configure: Regenerate.
|
|
|
|
|
* gnulib/import/Makefile.am: Update.
|
|
|
|
|
* gnulib/import/Makefile.in: Update.
|
|
|
|
|
* gnulib/import/m4/gnulib-cache.m4: Update.
|
|
|
|
|
* gnulib/import/m4/gnulib-comp.m4: Update.
|
|
|
|
|
* gnulib/import/float+.h: Import.
|
|
|
|
|
* gnulib/import/float.c: Import.
|
|
|
|
|
* gnulib/import/float.in.h: Import.
|
|
|
|
|
* gnulib/import/fpucw.h: Import.
|
|
|
|
|
* gnulib/import/frexp.c: Import.
|
|
|
|
|
* gnulib/import/frexpl.c: Import.
|
|
|
|
|
* gnulib/import/isnan.c: Import.
|
|
|
|
|
* gnulib/import/isnand-nolibm.h: Import.
|
|
|
|
|
* gnulib/import/isnand.c: Import.
|
|
|
|
|
* gnulib/import/isnanl-nolibm.h: Import.
|
|
|
|
|
* gnulib/import/isnanl.c: Import.
|
|
|
|
|
* gnulib/import/itold.c: Import.
|
|
|
|
|
* gnulib/import/m4/exponentd.m4: Import.
|
|
|
|
|
* gnulib/import/m4/exponentl.m4: Import.
|
|
|
|
|
* gnulib/import/m4/float_h.m4: Import.
|
|
|
|
|
* gnulib/import/m4/fpieee.m4: Import.
|
|
|
|
|
* gnulib/import/m4/frexp.m4: Import.
|
|
|
|
|
* gnulib/import/m4/frexpl.m4: Import.
|
|
|
|
|
* gnulib/import/m4/isnand.m4: Import.
|
|
|
|
|
* gnulib/import/m4/isnanl.m4: Import.
|
|
|
|
|
* gnulib/import/m4/math_h.m4: Import.
|
|
|
|
|
* gnulib/import/math.c: Import.
|
|
|
|
|
* gnulib/import/math.in.h: Import.
|
|
|
|
|
|
2013-06-21 15:40:19 +00:00
|
|
|
|
2013-06-21 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
* common/linux-btrace.c (cpu_supports_btrace): Remove variable vendor,
|
|
|
|
|
replace strcmp with signature_INTEL_ebx, signature_INTEL_ecx and
|
|
|
|
|
signature_INTEL_edx comparisons.
|
|
|
|
|
|
2013-06-20 20:12:58 +00:00
|
|
|
|
2013-06-20 Doug Evans <dje@google.com>
|
|
|
|
|
|
2013-06-20 22:16:28 +00:00
|
|
|
|
symtab/15652
|
|
|
|
|
* dwarf2read.c (try_open_dwop_file): New arg search_cwd.
|
|
|
|
|
All callers updated.
|
|
|
|
|
(open_dwp_file): If we can't find the dwp file, search the basename
|
|
|
|
|
in debug-file-directory.
|
|
|
|
|
|
2013-06-20 21:58:58 +00:00
|
|
|
|
* dwarf2read.c (struct dwp_file): Fix comment.
|
|
|
|
|
(open_and_init_dwp_file): Set dwp_file->name to bfd's file name.
|
|
|
|
|
|
2013-06-20 20:12:58 +00:00
|
|
|
|
* source.c (openp): Document OPF_TRY_CWD_FIRST+OPF_SEARCH_IN_PATH
|
|
|
|
|
better.
|
|
|
|
|
|
2013-06-20 06:49:06 +00:00
|
|
|
|
2013-06-20 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* breakpoint.c (create_breakpoint): Fix code indentation.
|
|
|
|
|
|
2013-06-20 06:46:11 +00:00
|
|
|
|
2013-06-20 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* breakpoint.c (create_breakpoints_sal_default): Remove
|
|
|
|
|
parameter 'lsal'. Update declaration.
|
|
|
|
|
(bkpt_create_breakpoints_sal): Caller update.
|
|
|
|
|
(tracepoint_create_breakpoints_sal): Likewise.
|
|
|
|
|
|
2013-06-20 00:39:11 +00:00
|
|
|
|
2013-06-20 Pedro Alves <pedro@codesourcery.com>
|
|
|
|
|
Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* NEWS: Mention the new option '--skip-unavailable' of command
|
|
|
|
|
-data-list-register-values.
|
|
|
|
|
* mi/mi-main.c (mi_cmd_data_list_register_values): Accept the
|
|
|
|
|
--skip-unavailable option. Adjust to use output_register.
|
|
|
|
|
(output_register): Add new 'skip_unavailable' parameter.
|
|
|
|
|
Handle it.
|
|
|
|
|
|
gdb: clean up x86 cpuid implementations
We've currently got 3 files doing open coded implementations of cpuid.
Each has its own set of workarounds and varying levels of how well
they're written and are generally hardcoded to specific cpuid functions.
If you try to build the latest gdb as a PIE on an i386 system, the build
will fail because one of them lacks PIC workarounds (wrt ebx).
Specifically, we have:
common/linux-btrace.c:
two copies of cpuid asm w/specific args, one has no workarounds
while the other implicitly does to avoid memcpy
go32-nat.c:
two copies of cpuid asm w/specific args, one has workarounds to
avoid memcpy
gdb/testsuite/gdb.arch/i386-cpuid.h:
one general cpuid asm w/many workarounds copied from older gcc
Fortunately, that last header there is pretty damn good -- it handles
lots of edge cases, the code is nice & tight (uses gcc asm operands
rather than manual movs), and is already almost a general library type
header. It's also the basis of what is now the public cpuid.h that is
shipped with gcc-4.3+.
So what I've done is pull that test header out and into gdb/common/
(not sure if there's a better place), synced to the version found in
gcc-4.8.0, put a wrapper API around it, and then cut over all the
existing call points to this new header.
Since the func already has support for "is cpuid supported on this proc",
it makes it trivial to push the i386/x86_64 ifdefs down into this wrapper
API too. Now it can be safely used for all targets and gcc will elide
the unused code for us.
I've verified the gdb.arch testsuite still passes, and this code compiles
for an armv7a host as well as x86_64. The go32-nat code has been left
ifdef-ed out until someone can test & verify the new stuff works (and if
it doesn't, figure out how to make the new code work).
URL: https://bugs.gentoo.org/467806
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2013-06-19 22:29:36 +00:00
|
|
|
|
2013-06-19 Mike Frysinger <vapier@gentoo.org>
|
|
|
|
|
|
|
|
|
|
* Makefile.in (HFILES_NO_SRCDIR): Add common/i386-cpuid.h and
|
|
|
|
|
common/i386-gcc-cpuid.h.
|
|
|
|
|
* common/i386-cpuid.h: New wrapper header around i386-gcc-cpuid.h.
|
|
|
|
|
* common/i386-gcc-cpuid.h: Rename from testsuite/gdb.arch/i386-cpuid.h.
|
|
|
|
|
Copy the latest version from upstream gcc.
|
|
|
|
|
* common/linux-btrace.c: Include i386-cpuid.h.
|
|
|
|
|
(intel_supports_btrace): Delete x86 ifdefs and replace inline asm with
|
|
|
|
|
call to i386_cpuid.
|
|
|
|
|
(cpu_supports_btrace): Likewise.
|
|
|
|
|
* go32-nat.c: Include i386-cpuid.h.
|
|
|
|
|
(go32_sysinfo): Add (disabled) calls to i386_cpuid with comments.
|
|
|
|
|
|
2013-06-19 22:20:58 +00:00
|
|
|
|
2013-06-19 Doug Evans <dje@google.com>
|
|
|
|
|
|
|
|
|
|
* symfile.c (symfile_bfd_open): Delete unnecessary declaration.
|
|
|
|
|
(get_section_index): Ditto.
|
|
|
|
|
|
2013-06-19 19:07:16 +00:00
|
|
|
|
2013-06-19 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* breakpoint.c (_initialize_breakpoint): Remove trailing \n from
|
|
|
|
|
"dprintf" help.
|
|
|
|
|
|
2013-06-19 04:38:51 +00:00
|
|
|
|
2013-06-18 Doug Evans <dje@google.com>
|
|
|
|
|
|
|
|
|
|
* dwarf2read.c (dw2_symtab_iter_next): Check value of cu_index
|
|
|
|
|
before using it.
|
|
|
|
|
(dw2_expand_symtabs_matching): Fix symbol kind validity check.
|
|
|
|
|
Move test of cu_index closer to use. Print complaint if cu_index
|
|
|
|
|
is bad.
|
|
|
|
|
|
[Darwin] Fix cleanup leak in machoread.c:macho_symfile_read
This patch fixes a cleanup leak in macho_symfile_read (symbol_table):
symbol_table = (asymbol **) xmalloc (storage_needed);
make_cleanup (xfree, symbol_table);
Unfortunately, fixing the leak alone triggers a crash which occurs
while loading the symbols from an executable:
% gdb
(gdb) file g_exe
[SIGSEGV]
The crash is caused by the fact that performing the cleanup
right after the call to macho_symtab_read, as currently done,
is too early.
Indeed, references to this symbol_table get saved in the oso_vector
global during the call to macho_symtab_read via calls to
macho_register_oso, and those references then get accessed
later on, when processing all the OSOs that got pushed (see
call to macho_symfile_read_all_oso).
This patch prevents this by using one single cleanup queue for
the entire function, rather than having additional separate
cleanup queues (Eg: for the handling of the minimal symbols),
thus preventing the premature free'ing of the minimal_symbols
array.
Secondly, this patch takes this opportunity for avoiding the use
of the oso_vector global, thus making it simpler to track its
lifetime.
gdb/ChangeLog:
* machoread.c (oso_vector): Delete this global.
(macho_register_oso): Add new parameter "oso_vector_ptr".
Use it instead of the "oso_vector" global.
(macho_symtab_read, macho_symfile_read_all_oso): Likewise.
(macho_symfile_read): Use a local oso_vector, to be free'ed
at the end of this function, in place of the old "oso_vector"
global. Update various function calls accordingly. Use one
single cleanup chain for the entire function.
2013-06-18 23:35:37 +00:00
|
|
|
|
2013-06-18 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* machoread.c (oso_vector): Delete this global.
|
|
|
|
|
(macho_register_oso): Add new parameter "oso_vector_ptr".
|
|
|
|
|
Use it instead of the "oso_vector" global.
|
|
|
|
|
(macho_symtab_read, macho_symfile_read_all_oso): Likewise.
|
|
|
|
|
(macho_symfile_read): Use a local oso_vector, to be free'ed
|
|
|
|
|
at the end of this function, in place of the old "oso_vector"
|
|
|
|
|
global. Update various function calls accordingly. Use one
|
|
|
|
|
single cleanup chain for the entire function.
|
|
|
|
|
|
do not use dwarf2_per_objfile in dwarf2_per_objfile_free.
This patch fixes a case of multiple calls freeing the same data
while free-ing objfiles that have child objfiles (separate debug
info, as is the case on Darwin targets).
Following the code, free_objfile_separate_debug iterates over
all child objfiles of the parent objfile, calling free_objfile:
for (child = objfile->separate_debug_objfile; child;)
{
struct objfile *next_child = child->separate_debug_objfile_link;
free_objfile (child);
child = next_child;
}
This causes, among other things, the free'ing of the child objfile's
private data:
/* Discard any data modules have associated with the objfile. The function
still may reference objfile->obfd. */
objfile_free_data (objfile);
This indirectly calls(back) dwarf2_per_objfile_free, which tries
to free the dwarf2read-specific data by using the dwarf2_per_objfile
global, eg:
for (ix = 0; ix < dwarf2_per_objfile->n_comp_units; ++ix)
Even if we were lucky enough the first time around that this global
actually corresponds to the objfile being destroyed, the global
will still have the same value at the second iteration, and thus
become dangling. Indeed, after dwarf2_per_objfile_free returns
eventually back to free_objfile, free_objfile then deallocates
its objfile_obstack, where the dwarf2_per_objfile is allocated.
Ironically, there should be no need to access that global at all,
here, since the data is passed as an argument of the callback.
And it looks like the dwo/dwp/[...]-handling code is in fact already
using that argument, rather than the global.
This patch thus fixes the problem by doing the same, replacing
all references to DWARF2_PER_OBJFILE by uses of DATA instead.
gdb/ChangeLog:
* dwarf2read.c (dwarf2_per_objfile): Replace uses of
DWARF2_PER_OBJFILE by uses of DATA instead.
2013-06-18 23:35:24 +00:00
|
|
|
|
2013-06-18 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
2013-06-19 04:32:57 +00:00
|
|
|
|
* dwarf2read.c (dwarf2_per_objfile_free): Replace uses of
|
do not use dwarf2_per_objfile in dwarf2_per_objfile_free.
This patch fixes a case of multiple calls freeing the same data
while free-ing objfiles that have child objfiles (separate debug
info, as is the case on Darwin targets).
Following the code, free_objfile_separate_debug iterates over
all child objfiles of the parent objfile, calling free_objfile:
for (child = objfile->separate_debug_objfile; child;)
{
struct objfile *next_child = child->separate_debug_objfile_link;
free_objfile (child);
child = next_child;
}
This causes, among other things, the free'ing of the child objfile's
private data:
/* Discard any data modules have associated with the objfile. The function
still may reference objfile->obfd. */
objfile_free_data (objfile);
This indirectly calls(back) dwarf2_per_objfile_free, which tries
to free the dwarf2read-specific data by using the dwarf2_per_objfile
global, eg:
for (ix = 0; ix < dwarf2_per_objfile->n_comp_units; ++ix)
Even if we were lucky enough the first time around that this global
actually corresponds to the objfile being destroyed, the global
will still have the same value at the second iteration, and thus
become dangling. Indeed, after dwarf2_per_objfile_free returns
eventually back to free_objfile, free_objfile then deallocates
its objfile_obstack, where the dwarf2_per_objfile is allocated.
Ironically, there should be no need to access that global at all,
here, since the data is passed as an argument of the callback.
And it looks like the dwo/dwp/[...]-handling code is in fact already
using that argument, rather than the global.
This patch thus fixes the problem by doing the same, replacing
all references to DWARF2_PER_OBJFILE by uses of DATA instead.
gdb/ChangeLog:
* dwarf2read.c (dwarf2_per_objfile): Replace uses of
DWARF2_PER_OBJFILE by uses of DATA instead.
2013-06-18 23:35:24 +00:00
|
|
|
|
DWARF2_PER_OBJFILE by uses of DATA instead.
|
|
|
|
|
|
2013-06-18 19:57:49 +00:00
|
|
|
|
2013-06-18 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* break-catch-sig.c (signal_catchpoint_explains_signal): Add 'sig'
|
|
|
|
|
argument.
|
|
|
|
|
* breakpoint.c (bpstat_explains_signal): Add 'sig' argument.
|
|
|
|
|
Special case signals other than GDB_SIGNAL_TRAP.
|
|
|
|
|
(explains_signal_watchpoint): New function.
|
|
|
|
|
(base_breakpoint_explains_signal): Add 'sig' argument.
|
|
|
|
|
(initialize_breakpoint_ops): Set 'explains_signal' method for
|
|
|
|
|
watchpoints.
|
|
|
|
|
* breakpoint.h (struct breakpoint_ops) <explains_signal>: Add
|
|
|
|
|
signal argument.
|
|
|
|
|
(bpstat_explains_signal): Likewise.
|
|
|
|
|
* infrun.c (handle_syscall_event, handle_inferior_event): Update.
|
|
|
|
|
|
2013-06-18 18:43:27 +00:00
|
|
|
|
2013-06-18 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* python/py-inferior.c (gdbpy_selected_inferior): Don't incref.
|
|
|
|
|
|
2013-06-18 18:42:09 +00:00
|
|
|
|
2013-06-18 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* python/python.c (finish_python_initialization): Decref
|
|
|
|
|
'pythondir' on failure path as well.
|
|
|
|
|
|
2013-06-18 18:11:19 +00:00
|
|
|
|
2013-06-18 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR symtab/15391:
|
|
|
|
|
* dwarf2loc.c (read_pieced_value): Truncate this_size_bits
|
|
|
|
|
after taking bits_to_skip into account. Sign extend byte_offset.
|
|
|
|
|
* utils.h (gdb_sign_extend): Declare.
|
|
|
|
|
* utils.c (gdb_sign_extend): New function.
|
|
|
|
|
|
2013-06-18 15:50:33 +00:00
|
|
|
|
2013-06-18 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
* dwarf2read.c (write_psymtabs_to_index): Ignore NULL PSYMTAB.
|
|
|
|
|
|
2013-06-17 06:14:24 +00:00
|
|
|
|
2013-06-17 Pierre Muller <muller@sourceware.org>
|
|
|
|
|
|
|
|
|
|
* corelow.c (core_open): Print GDB signal name instead of target
|
|
|
|
|
signal number.
|
|
|
|
|
|
2013-06-17 04:39:15 +00:00
|
|
|
|
2013-06-17 Mike Frysinger <vapier@gentoo.org>
|
|
|
|
|
|
|
|
|
|
* .gitignore: Add /gcore.
|
|
|
|
|
|
2013-06-13 23:01:37 +00:00
|
|
|
|
2013-06-13 Doug Evans <dje@google.com>
|
|
|
|
|
|
|
|
|
|
* dwarf2read.c (try_open_dwop_file): Work around behaviour of
|
|
|
|
|
OPF_TRY_CWD_FIRST to not search path if the file contains a '/'.
|
|
|
|
|
|
2013-06-12 12:16:47 +00:00
|
|
|
|
2013-06-12 Phil Muldoon <pmuldoon@redhat.com>
|
|
|
|
|
|
|
|
|
|
* stack.c (backtrace_command_1): Fix indentation.
|
|
|
|
|
|
2013-06-11 11:03:42 +00:00
|
|
|
|
2013-06-11 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* window-nat.c (thread_rec): Add missing empty line after
|
|
|
|
|
local variable declaration.
|
|
|
|
|
|
2013-06-11 11:01:46 +00:00
|
|
|
|
2013-06-11 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* windows-nat.c (thread_rec): Revert format used to print
|
|
|
|
|
error code returned by SuspendThread from %d back to %u.
|
|
|
|
|
|
2013-06-11 10:20:24 +00:00
|
|
|
|
2013-06-11 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* windows-nat.c (windows_continue): Add "0x" prefix for thread
|
|
|
|
|
ID in debug trace.
|
|
|
|
|
(get_windows_debug_event): Likewise, for all debug traces.
|
|
|
|
|
|
2013-06-11 10:20:11 +00:00
|
|
|
|
2013-06-11 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* window-nat.c (thread_rec): Add thread ID in SuspendThread
|
|
|
|
|
warning message.
|
|
|
|
|
|
2013-06-08 00:21:42 +00:00
|
|
|
|
2013-06-08 Pedro Alves <pedro@codesourcery.com>
|
|
|
|
|
Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* 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.
|
|
|
|
|
|
2013-06-07 14:39:33 +00:00
|
|
|
|
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.
|
|
|
|
|
|
[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.
2013-06-07 10:46:59 +00:00
|
|
|
|
2013-06-07 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
2013-06-07 10:55:22 +00:00
|
|
|
|
PR server/14823
|
[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.
2013-06-07 10:46:59 +00:00
|
|
|
|
* 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.
|
|
|
|
|
|
2013-06-07 07:49:10 +00:00
|
|
|
|
2013-06-07 Will Newton <will.newton@linaro.org>
|
|
|
|
|
|
|
|
|
|
* printcmd.c (build_address_symbolic): Call
|
|
|
|
|
gdbarch_addr_bits_remove for text minimal symbols.
|
|
|
|
|
|
2013-06-07 07:44:20 +00:00
|
|
|
|
2013-06-07 Will Newton <will.newton@linaro.org>
|
|
|
|
|
|
|
|
|
|
* MAINTAINERS: Add myself to Write After Approval.
|
|
|
|
|
|
2013-06-07 00:19:36 +00:00
|
|
|
|
2013-06-07 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* 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.
|
|
|
|
|
|
2013-06-06 23:51:09 +00:00
|
|
|
|
2013-06-06 Doug Evans <dje@google.com>
|
|
|
|
|
|
|
|
|
|
* dwarf2read.c: Whitespace fixes for DWP file format documentation,
|
|
|
|
|
and fix header docs.
|
|
|
|
|
|
2013-06-05 22:28:51 +00:00
|
|
|
|
2013-06-05 Doug Evans <dje@google.com>
|
|
|
|
|
Keith Seitz <keiths@redhat.com>
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
2013-06-05 20:43:53 +00:00
|
|
|
|
2013-06-05 Luis Machado <lgustavo@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* gnu-v3-abi.c (gnuv3_skip_trampoline): Handle thunk
|
|
|
|
|
minimal symbols pointing to function descriptors.
|
|
|
|
|
|
2013-06-05 17:32:51 +00:00
|
|
|
|
2013-06-05 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* python/py-utils.c (gdb_pymodule_addobject): Cast away const.
|
|
|
|
|
|
2013-06-04 15:12:52 +00:00
|
|
|
|
2013-06-04 Sergio Durigan Junior <sergiodj@redhat.com>
|
2013-06-04 15:13:33 +00:00
|
|
|
|
Pedro Alves <palves@redhat.com>
|
2013-06-04 15:12:52 +00:00
|
|
|
|
|
|
|
|
|
* remote.c (remote_wait_as): Restore signal handler before returning
|
|
|
|
|
when GDB gets a notification.
|
|
|
|
|
|
2013-06-04 13:17:06 +00:00
|
|
|
|
2013-06-04 Gary Benson <gbenson@redhat.com>
|
|
|
|
|
|
2013-06-06 08:50:08 +00:00
|
|
|
|
PR 2328
|
2013-06-04 13:17:06 +00:00
|
|
|
|
* breakpoint.h (handle_solib_event): Moved function declaration
|
|
|
|
|
to solib.h.
|
|
|
|
|
* breakpoint.c (handle_solib_event): Moved function to solib.c.
|
|
|
|
|
(bpstat_stop_status): Pass new argument to handle_solib_event.
|
|
|
|
|
* solib.h (update_solib_breakpoints): New function declaration.
|
|
|
|
|
(handle_solib_event): Moved function declaration from
|
|
|
|
|
breakpoint.h.
|
|
|
|
|
* solib.c (update_solib_breakpoints): New function.
|
|
|
|
|
(handle_solib_event): Moved function from breakpoint.c.
|
|
|
|
|
Updated to call solib_ops->handle_event if not NULL.
|
|
|
|
|
* solist.h (target_so_ops): New fields "update_breakpoints" and
|
|
|
|
|
"handle_event".
|
|
|
|
|
* infrun.c (set_stop_on_solib_events): New function.
|
|
|
|
|
(_initialize_infrun): Use the above for "set
|
|
|
|
|
stop-on-solib-events".
|
|
|
|
|
(handle_inferior_event): Pass new argument to handle_solib_event.
|
|
|
|
|
* solib-svr4.c (probe.h): New include.
|
|
|
|
|
(svr4_free_library_list): New forward declaration.
|
|
|
|
|
(probe_action): New enum.
|
|
|
|
|
(probe_info): New struct.
|
|
|
|
|
(probe_info): New static variable.
|
|
|
|
|
(NUM_PROBES): New definition.
|
|
|
|
|
(svr4_info): New fields "using_xfer", "probes_table" and
|
|
|
|
|
"solib_list".
|
|
|
|
|
(free_probes_table): New function.
|
|
|
|
|
(free_solib_list): New function.
|
|
|
|
|
(svr4_pspace_data_cleanup): Free probes table and solib list.
|
|
|
|
|
(svr4_copy_library_list): New function.
|
|
|
|
|
(svr4_current_sos_via_xfer_libraries): New parameter "annex".
|
|
|
|
|
(svr4_read_so_list): New parameter "prev_lm".
|
|
|
|
|
(svr4_current_sos_direct): Renamed from "svr4_current_sos".
|
|
|
|
|
(svr4_current_sos): New function.
|
|
|
|
|
(probe_and_action): New struct.
|
|
|
|
|
(hash_probe_and_action): New function.
|
|
|
|
|
(equal_probe_and_action): Likewise.
|
|
|
|
|
(register_solib_event_probe): Likewise.
|
|
|
|
|
(solib_event_probe_at): Likewise.
|
|
|
|
|
(solib_event_probe_action): Likewise.
|
|
|
|
|
(solist_update_full): Likewise.
|
|
|
|
|
(solist_update_incremental): Likewise.
|
|
|
|
|
(disable_probes_interface_cleanup): Likewise.
|
|
|
|
|
(svr4_handle_solib_event): Likewise.
|
|
|
|
|
(svr4_update_solib_event_breakpoint): Likewise.
|
|
|
|
|
(svr4_update_solib_event_breakpoints): Likewise.
|
|
|
|
|
(svr4_create_solib_event_breakpoints): Likewise.
|
|
|
|
|
(enable_break): Free probes table before creating breakpoints.
|
|
|
|
|
Use svr4_create_solib_event_breakpoints to create breakpoints.
|
|
|
|
|
(svr4_solib_create_inferior_hook): Free the solib list.
|
|
|
|
|
(_initialize_svr4_solib): Initialise
|
|
|
|
|
svr4_so_ops.handle_solib_event and svr4_so_ops.update_breakpoints.
|
|
|
|
|
|
2013-06-04 13:10:53 +00:00
|
|
|
|
2013-06-04 Gary Benson <gbenson@redhat.com>
|
|
|
|
|
|
|
|
|
|
* target.h (target_ops): New field
|
|
|
|
|
"to_augmented_libraries_svr4_read".
|
|
|
|
|
(target_augmented_libraries_svr4_read): New macro.
|
|
|
|
|
* target.c (update_current_target): Handle
|
|
|
|
|
to_augmented_libraries_svr4_read.
|
|
|
|
|
* remote.c (remote_state): New field
|
|
|
|
|
"augmented_libraries_svr4_read".
|
|
|
|
|
(remote_augmented_libraries_svr4_read_feature): New function.
|
|
|
|
|
(remote_protocol_features): Add entry for
|
|
|
|
|
"augmented-libraries-svr4-read".
|
|
|
|
|
(remote_augmented_libraries_svr4_read): New function.
|
|
|
|
|
(init_remote_ops): Initialize
|
|
|
|
|
remote_ops.to_augmented_libraries_svr4_read.
|
|
|
|
|
|
2013-06-04 13:02:15 +00:00
|
|
|
|
2013-06-04 Gary Benson <gbenson@redhat.com>
|
|
|
|
|
|
|
|
|
|
* NEWS: Update.
|
|
|
|
|
|
2013-06-04 12:53:34 +00:00
|
|
|
|
2013-06-04 Gary Benson <gbenson@redhat.com>
|
|
|
|
|
|
|
|
|
|
* objfiles.h (inhibit_section_map_updates): New function
|
|
|
|
|
declaration.
|
|
|
|
|
(resume_section_map_updates): Likewise.
|
|
|
|
|
(resume_section_map_updates_cleanup): Likewise.
|
|
|
|
|
* objfiles.c (objfile_pspace_info): Removed field
|
|
|
|
|
"objfiles_changed_p". New fields "new_objfiles_available",
|
|
|
|
|
"section_map_dirty" and "inhibit_updates".
|
|
|
|
|
(allocate_objfile): Set new_objfiles_available.
|
|
|
|
|
(free_objfile): Set section_map_dirty.
|
|
|
|
|
(objfile_relocate1): Likewise.
|
|
|
|
|
(in_plt_section): Likewise.
|
|
|
|
|
(find_pc_section): Update the conditions under which the
|
|
|
|
|
section map will be updated.
|
|
|
|
|
(inhibit_section_map_updates): New function.
|
|
|
|
|
(resume_section_map_updates): Likewise.
|
|
|
|
|
(resume_section_map_updates_cleanup): Likewise.
|
|
|
|
|
|
2013-06-04 12:50:21 +00:00
|
|
|
|
2013-06-04 Gary Benson <gbenson@redhat.com>
|
|
|
|
|
|
|
|
|
|
* probe.h (get_probe_argument_count): New declaration.
|
|
|
|
|
(evaluate_probe_argument): Likewise.
|
|
|
|
|
* probe.c (get_probe_argument_count): New function.
|
|
|
|
|
(evaluate_probe_argument): Likewise.
|
|
|
|
|
(probe_safe_evaluate_at_pc): Use the above new functions.
|
|
|
|
|
|
2013-06-04 02:44:35 +00:00
|
|
|
|
2013-06-04 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* ppc-tdep.h (ppc_insns_match_pattern): Update prototype.
|
|
|
|
|
* rs6000-tdep.c (read_insn): Add frame param, don't assume big-endian.
|
|
|
|
|
(ppc_insns_match_pattern): Add frame param. Avoid multiple
|
|
|
|
|
target mem reads on optional insns.
|
|
|
|
|
* ppc-linux-tdep.c (ppc_skip_trampoline_code): Update
|
|
|
|
|
ppc_insns_match_pattern calls.
|
|
|
|
|
* ppc64-tdep.c (ppc64_standard_linkage2, ppc64_standard_linkage3):
|
|
|
|
|
Add match for power7 thread safety insns, and new order of
|
|
|
|
|
std 2,40(1) insn. Correct code shown for _dl_runtime_resolve
|
|
|
|
|
invocation in comment, and update rest of comment.
|
|
|
|
|
(PPC64_STANDARD_LINKAGE1_LEN, PPC64_STANDARD_LINKAGE2_LEN,
|
|
|
|
|
PPC64_STANDARD_LINKAGE3_LEN): Delete.
|
|
|
|
|
(ppc64_standard_linkage2_target): Update insn offsets.
|
|
|
|
|
(ppc64_skip_trampoline_code): Use a single insn buffer. Match newer
|
|
|
|
|
stubs first. Update calls.
|
|
|
|
|
|
2013-06-04 01:33:31 +00:00
|
|
|
|
2013-06-04 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* solib.c (solib_find): Don't need dir separator if path has
|
|
|
|
|
drive spec.
|
|
|
|
|
|
2013-06-03 13:22:29 +00:00
|
|
|
|
2013-06-03 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
Revert (indirectly causes a SIGSEGV):
|
|
|
|
|
* machoread.c (macho_symfile_read): Assign first cleanup to
|
|
|
|
|
'back_to'.
|
|
|
|
|
|
2013-06-03 03:16:24 +00:00
|
|
|
|
2013-06-03 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* mi/mi-cmd-var.c (mi_no_values, mi_simple_values): Move to
|
|
|
|
|
mi-parse.c. Make them static.
|
|
|
|
|
(mi_all_values): Likewise.
|
|
|
|
|
(mi_parse_values_option): Move to mi-parse.c. Rename it to
|
|
|
|
|
mi_parse_print_values. Make it external.
|
|
|
|
|
* mi/mi-cmds.h (mi_no_values, mi_simple_values, mi_all_values):
|
|
|
|
|
Remove the declarations.
|
|
|
|
|
* mi/mi-parse.c (mi_parse_print_values): Moved from mi-cmd-var.c.
|
|
|
|
|
* mi/mi-parse.h (mi_parse_print_values): Declare.
|
|
|
|
|
* mi/mi-cmd-stack.c: Include mi-parse.h.
|
|
|
|
|
(parse_print_values): Remove
|
|
|
|
|
(mi_cmd_stack_list_locals): Call mi_parse_print_values instead
|
|
|
|
|
of parse_print_values.
|
|
|
|
|
(mi_cmd_stack_list_args, mi_cmd_stack_list_variables): Likewise.
|
|
|
|
|
|
2013-05-31 10:06:02 +00:00
|
|
|
|
2013-05-31 Pedro Alves <pedro@codesourcery.com>
|
|
|
|
|
Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* tracepoint.c (all_tracepoint_actions_and_cleanup): Declare.
|
|
|
|
|
(encode_actions): Move code to ...
|
|
|
|
|
(all_tracepoint_actions_and_cleanup): ... here. New.
|
|
|
|
|
(trace_dump_command): Likewise.
|
|
|
|
|
|
2013-05-30 17:44:54 +00:00
|
|
|
|
2013-05-30 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* symmisc.c (maintenance_expand_symtabs): Call do_cleanups.
|
|
|
|
|
|
2013-05-30 17:41:38 +00:00
|
|
|
|
2013-05-30 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* xml-support.c (gdb_xml_create_parser_and_cleanup): Rename from
|
|
|
|
|
gdb_xml_create_parser_and_cleanup_1. Return a cleanup. Remove
|
|
|
|
|
'old_chain' argument. Add 'parser_result' argument.
|
|
|
|
|
(gdb_xml_create_parser_and_cleanup): Remove old version.
|
|
|
|
|
(gdb_xml_parse_quick): Update.
|
|
|
|
|
(xml_process_xincludes): Update.
|
|
|
|
|
* xml-support.h (gdb_xml_create_parser_and_cleanup): Don't
|
|
|
|
|
declare.
|
|
|
|
|
|
2013-05-30 17:39:34 +00:00
|
|
|
|
2013-05-30 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* probe.c (collect_probes): Check arguments for NULL before
|
|
|
|
|
calling compile_rx_or_error.
|
|
|
|
|
* utils.c (compile_rx_or_error): Require 'rx' to be non-NULL.
|
|
|
|
|
Remove NULL return.
|
|
|
|
|
|
2013-05-30 17:37:50 +00:00
|
|
|
|
2013-05-30 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* infrun.c (adjust_pc_after_break): Introduce an outer null
|
|
|
|
|
cleanup.
|
|
|
|
|
|
2013-05-30 17:37:12 +00:00
|
|
|
|
2013-05-30 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* mi/mi-cmd-var.c (varobj_update_one): Add an outer null cleanup.
|
|
|
|
|
|
2013-05-30 17:36:29 +00:00
|
|
|
|
2013-05-30 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* cli/cli-script.c (read_command_lines_1): Use a null cleanup
|
|
|
|
|
for 'old_chain'. Do not check 'head' before processing
|
|
|
|
|
cleanups.
|
|
|
|
|
|
2013-05-30 17:35:40 +00:00
|
|
|
|
2013-05-30 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* mi/mi-cmd-stack.c (list_arg_or_local): Remove
|
|
|
|
|
"cleanup_tuple".
|
|
|
|
|
|
2013-05-30 17:34:18 +00:00
|
|
|
|
2013-05-30 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* dbxread.c (dbx_read_symtab): Declare 'back_to' in a more
|
|
|
|
|
inner scope. Unconditionally call do_cleanups.
|
|
|
|
|
|
2013-05-30 17:33:41 +00:00
|
|
|
|
2013-05-30 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* source.c (find_and_open_source): Call do_cleanups.
|
|
|
|
|
|
2013-05-30 17:31:48 +00:00
|
|
|
|
2013-05-30 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* linux-thread-db.c (thread_db_load_search): Unconditionally
|
|
|
|
|
call do_cleanups.
|
|
|
|
|
|
2013-05-30 17:31:00 +00:00
|
|
|
|
2013-05-30 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* solib-aix.c (solib_aix_bfd_open): Don't use a null cleanup
|
|
|
|
|
for 'cleanup'; instead use a later one.
|
|
|
|
|
|
2013-05-30 17:30:03 +00:00
|
|
|
|
2013-05-30 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* python/py-breakpoint.c (bppy_get_commands): Use
|
|
|
|
|
explicit, unconditional return.
|
|
|
|
|
* python/py-frame.c (frapy_read_var): Likewise.
|
|
|
|
|
* python/python.c (gdbpy_decode_line): Likewise.
|
|
|
|
|
|
2013-05-30 17:29:06 +00:00
|
|
|
|
2013-05-30 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* cp-namespace.c (cp_lookup_symbol_imports_or_template): Call
|
|
|
|
|
do_cleanups on all return paths.
|
|
|
|
|
|
2013-05-30 17:27:44 +00:00
|
|
|
|
2013-05-30 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* top.c (execute_command): Discard 'cleanup_if_error' cleanups.
|
|
|
|
|
|
2013-05-30 17:25:15 +00:00
|
|
|
|
2013-05-30 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* stabsread.c (read_struct_type): Call do_cleanups along
|
|
|
|
|
all return paths.
|
|
|
|
|
|
2013-05-30 17:23:05 +00:00
|
|
|
|
2013-05-30 Maciej W. Rozycki <macro@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* mips-linux-tdep.c: Adjust formatting throughout.
|
|
|
|
|
|
2013-05-30 17:21:51 +00:00
|
|
|
|
2013-05-30 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* mipsread.c (read_alphacoff_dynamic_symtab): Call do_cleanups
|
|
|
|
|
along all return paths.
|
|
|
|
|
|
2013-05-30 17:21:15 +00:00
|
|
|
|
2013-05-30 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* symfile.c (find_separate_debug_file): Call do_cleanups
|
|
|
|
|
along all return paths.
|
|
|
|
|
|
2013-05-30 17:20:02 +00:00
|
|
|
|
2013-05-30 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* symtab.c (search_symbols): Introduce a null cleanup for
|
|
|
|
|
'retval_chain'.
|
|
|
|
|
|
2013-05-30 17:18:54 +00:00
|
|
|
|
2013-05-30 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* python/py-value.c (valpy_binop): Call do_cleanups before
|
|
|
|
|
exiting loop.
|
|
|
|
|
|
2013-05-30 17:17:25 +00:00
|
|
|
|
2013-05-30 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* python/py-prettyprint.c (print_children): Remove extra
|
|
|
|
|
do_cleanups call.
|
|
|
|
|
|
2013-05-30 17:16:05 +00:00
|
|
|
|
2013-05-30 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* python/py-frame.c (frapy_read_var): Call do_cleanups along
|
|
|
|
|
all return paths.
|
|
|
|
|
|
2013-05-30 17:14:35 +00:00
|
|
|
|
2013-05-30 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* python/py-breakpoint.c (bppy_get_commands): Call do_cleanups
|
|
|
|
|
along all return paths.
|
|
|
|
|
|
2013-05-30 17:13:19 +00:00
|
|
|
|
2013-05-30 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* cli/cli-logging.c (set_logging_redirect): Unconditionally
|
|
|
|
|
call do_cleanups.
|
|
|
|
|
|
2013-05-30 17:11:38 +00:00
|
|
|
|
2013-05-30 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* varobj.c (c_value_of_root): Call do_cleanups along all
|
|
|
|
|
return paths.
|
|
|
|
|
|
2013-05-30 17:10:41 +00:00
|
|
|
|
2013-05-30 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* tracepoint.c (trace_dump_command): Unconditionally call
|
|
|
|
|
do_cleanups.
|
|
|
|
|
|
2013-05-30 17:09:02 +00:00
|
|
|
|
2013-05-30 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* breakpoint.c (output_thread_groups, parse_cmd_to_aexpr): Call
|
|
|
|
|
do_cleanups earlier.
|
|
|
|
|
|
2013-05-30 17:06:31 +00:00
|
|
|
|
2013-05-30 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* machoread.c (macho_symfile_read): Assign first cleanup to
|
|
|
|
|
'back_to'.
|
|
|
|
|
|
2013-05-30 17:05:32 +00:00
|
|
|
|
2013-05-30 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* m32r-rom.c (m32r_load): Call do_cleanups at all returns.
|
|
|
|
|
|
2013-05-30 17:04:47 +00:00
|
|
|
|
2013-05-30 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* mi/mi-main.c (list_available_thread_groups): Call do_cleanups.
|
|
|
|
|
|
2013-05-30 17:04:03 +00:00
|
|
|
|
2013-05-30 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* inf-ptrace.c (inf_ptrace_create_inferior): Unconditionally
|
|
|
|
|
call discard_cleanups.
|
|
|
|
|
(inf_ptrace_attach): Likewise.
|
|
|
|
|
|
2013-05-30 17:03:00 +00:00
|
|
|
|
2013-05-30 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* remote-mips.c (mips_exit_debug): Call do_cleanups on all
|
|
|
|
|
return paths.
|
|
|
|
|
(mips_initialize): Likewise.
|
|
|
|
|
(common_open): Call do_cleanups.
|
|
|
|
|
|
2013-05-30 17:01:16 +00:00
|
|
|
|
2013-05-30 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* utils.c (internal_vproblem): Call do_cleanups.
|
|
|
|
|
|
2013-05-30 16:57:38 +00:00
|
|
|
|
2013-05-30 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* linespec.c (find_linespec_symbols): Don't reassign to 'cleanup'.
|
|
|
|
|
|
2013-05-30 16:31:33 +00:00
|
|
|
|
2013-05-30 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* cli/cli-script.c (setup_user_args): Don't return after error.
|
|
|
|
|
|
2013-05-30 16:28:29 +00:00
|
|
|
|
2013-05-30 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* somread.c (som_symtab_read): Call do_cleanups.
|
|
|
|
|
|
2013-05-30 16:25:49 +00:00
|
|
|
|
2013-05-30 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* printcmd.c (print_command_1): Unconditionally call do_cleanups.
|
|
|
|
|
|
2013-05-30 16:24:36 +00:00
|
|
|
|
2013-05-30 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* cli/cli-cmds.c (cd_command, alias_command): Call do_cleanups.
|
|
|
|
|
* cli/cli-dump.c (restore_binary_file): Call do_cleanups.
|
|
|
|
|
* interps.c (interpreter_exec_cmd): Call do_cleanups.
|
|
|
|
|
* source.c (show_substitute_path_command): Call do_cleanups.
|
|
|
|
|
(unset_substitute_path_command, set_substitute_path_command):
|
|
|
|
|
Likewise.
|
|
|
|
|
* symfile.c (load_command): Call do_cleanups.
|
|
|
|
|
|
2013-05-30 16:22:06 +00:00
|
|
|
|
2013-05-30 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* contrib/cleanup_check.py: New file.
|
|
|
|
|
* contrib/gcc-with-excheck: Add option parsing.
|
|
|
|
|
|
2013-05-30 13:52:31 +00:00
|
|
|
|
2013-05-30 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* windows-nat.c (windows_delete_thread): Add missing space
|
|
|
|
|
in cast expression.
|
|
|
|
|
|
2013-05-30 12:54:17 +00:00
|
|
|
|
2013-05-30 Hafiz Abid Qadeer <abidh@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* inferior.c (top level): Include tilde.h.
|
|
|
|
|
(add_inferior_command): Call tilde_expand on the value of 'exec'
|
|
|
|
|
argument.
|
|
|
|
|
|
2013-05-30 09:29:18 +00:00
|
|
|
|
2013-05-30 Pedro Alves <pedro@codesourcery.com>
|
|
|
|
|
Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* tracepoint.c (encode_actions_1): Remove parameter 't'.
|
|
|
|
|
Caller update.
|
|
|
|
|
(encode_actions): Likewise.
|
|
|
|
|
* remote.c (remote_download_tracepoint): Caller update.
|
|
|
|
|
* tracepoint.h (encode_actions): Update declaration.
|
|
|
|
|
|
2013-05-30 08:56:56 +00:00
|
|
|
|
2013-05-30 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* python/python-internal.h (gdb_Py_DECREF): Cast OP to PyObject
|
|
|
|
|
pointer.
|
|
|
|
|
|
2013-05-30 00:40:21 +00:00
|
|
|
|
2013-05-30 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* remote.c (remote_check_symbols): Remove unused parameter
|
|
|
|
|
'objfile'.
|
|
|
|
|
Declaration update.
|
|
|
|
|
(remote_start_remote, remote_new_objfile): Caller update.
|
|
|
|
|
|
2013-05-30 00:25:16 +00:00
|
|
|
|
2013-05-30 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* mi/mi-cmds.c (mi_cmds): Define MI command
|
|
|
|
|
'-exec-arguments' by macro DEF_MI_CMD_CLI_1 instead of
|
|
|
|
|
DEF_MI_CMD_CLI.
|
|
|
|
|
|
[remote] Insert breakpoints in the right process.
I noticed that gdb.multi/multi-arch.exp wasn't passing with
extended-remote GDBserver with my pending multi-process+multi-arch
series anymore on current mainline, while it used to pass before:
(gdb) run
Starting program: /home/pedro/gdb/mygit/build/gdb/testsuite/gdb.multi/ma-hangout
Process /home/pedro/gdb/mygit/build/gdb/testsuite/gdb.multi/ma-hangout created; pid = 32067
Warning:
Cannot insert breakpoint 2.
Error accessing memory address 0x4005c2: Unknown error -1.
Cannot insert breakpoint -1.
Temporarily disabling shared library breakpoints:
breakpoint #-1
(gdb) FAIL: gdb.multi/multi-arch.exp: starting inferior 2
Investigating manually, I found an easy way to reproduce. You just
need breakpoints on distinct inferiors, and a way to have GDB install
them in one go:
(gdb) set breakpoint always-inserted on
(gdb) info breakpoints
Num Type Disp Enb Address What
2 breakpoint del n <MULTIPLE>
2.1 y 0x00000000004005c2 in main at ../../../src/gdb/testsuite/gdb.multi/hello.c:40 inf 1
2.2 y 0x08048475 in main at ../../../src/gdb/testsuite/gdb.multi/hangout.c:22 inf 2
(gdb) enable 2
Warning:
Cannot insert breakpoint 2.
Error accessing memory address 0x4005c2: Unknown error -1.
And turning on remote debugging, we see:
(gdb) set debug remote 1
(gdb) disable 2
(gdb) enable 2
Sending packet: $Z0,4005c2,1#71...Packet received: E01
Sending packet: $Z0,8048475,1#87...Packet received: OK
Warning:
Cannot insert breakpoint 2.
Error accessing memory address 0x4005c2: Unknown error -1.
Notice that each of those Z0 breakpoints should be set in different
processes. However, no Hg packet to select a process has been sent in
between, so GDBserver tries to plant both on the same process that
happens to be current. The first Z0 then not so surprisingly fails.
IOW, the blame is on GDB, for telling GDBserver to plant both
breakpoints in the same process.
remote.c has a lazy scheme where it keeps a local cache of the
remote's selected general thread, and delays updating it on the remote
side until necessary (memory/register reads/writes, etc.). This is
done to reduce RSP traffic. The bug is that the Zx breakpoint
insert/remove methods weren't committing the selected thread/process
back to the remote side:
Breakpoint 3, remote_insert_breakpoint (gdbarch=0x1383ae0, bp_tgt=0x140c2b0) at ../../src/gdb/remote.c:8148
8148 if (remote_protocol_packets[PACKET_Z0].support != PACKET_DISABLE)
(top-gdb) p inferior_ptid
$3 = {pid = 3670, lwp = 0, tid = 3670}
(top-gdb) p general_thread
$4 = {pid = 3671, lwp = 0, tid = 3671}
IOW, a call to set_general_process is missing.
I did some auditing over remote.c, and added calls to all places I
found missing it.
This only used to work by chance before. breakpoint.c switches to a
thread of the target process before installing a breakpoint location.
That calls switch_to_thread. Before:
2012-07-27 Yao Qi <yao@codesourcery.com>
* thread.c (switch_to_thread): Don't call registers_changed.
that caused the register caches to all be flushed and refetched before
installing the breakpoint location. Given fetching registers commits
the remote general thread (with Hg), masking out the latent bug.
Tested on x86_64 Fedora 17 with GDBserver.
gdb/
2013-05-29 Pedro Alves <palves@redhat.com>
* remote.c (remote_insert_breakpoint, remote_remove_breakpoint)
(remote_insert_watchpoint, remote_remove_watchpoint)
(remote_insert_hw_breakpoint, remote_remove_hw_breakpoint)
(remote_verify_memory, compare_sections_command)
(remote_search_memory): Set the general process/thread on the
remote side.
2013-05-29 11:57:48 +00:00
|
|
|
|
2013-05-29 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* remote.c (remote_insert_breakpoint, remote_remove_breakpoint)
|
|
|
|
|
(remote_insert_watchpoint, remote_remove_watchpoint)
|
|
|
|
|
(remote_insert_hw_breakpoint, remote_remove_hw_breakpoint)
|
|
|
|
|
(remote_verify_memory, compare_sections_command)
|
|
|
|
|
(remote_search_memory): Set the general process/thread on the
|
|
|
|
|
remote side.
|
|
|
|
|
|
2013-05-29 09:18:48 +00:00
|
|
|
|
2013-05-29 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* aarch64-tdep.c: Don't include "features/aarch64-without-fpu.c".
|
|
|
|
|
(_initialize_aarch64_tdep): Don't call
|
|
|
|
|
initialize_tdesc_aarch64_without_fpu.
|
|
|
|
|
* features/Makefile (WHICH): Remove reference to
|
|
|
|
|
aarch64-without-fpu.
|
|
|
|
|
* features/aarch64-without-fpu.c: Delete file.
|
|
|
|
|
* regformats/aarch64-without-fpu.dat: Delete file.
|
|
|
|
|
|
2013-05-28 02:55:04 +00:00
|
|
|
|
2013-05-28 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* tracepoint.c (stringify_collection_list): Remove parameter
|
|
|
|
|
'string'.
|
|
|
|
|
(encode_actions): Caller update. Remove local variables.
|
|
|
|
|
|
2013-05-24 12:27:39 +00:00
|
|
|
|
2013-05-24 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* tracepoint.c (TFILE_PID): Remove.
|
|
|
|
|
(tfile_open): Don't add thread and inferior.
|
|
|
|
|
(tfile_close): Don't set 'inferior_ptid'. Don't call
|
|
|
|
|
exit_inferior_silent.
|
|
|
|
|
(tfile_thread_alive): Remove.
|
|
|
|
|
(init_tfile_ops): Don't set field 'to_thread_alive' of
|
|
|
|
|
tfile_ops.
|
|
|
|
|
|
2013-05-24 00:30:24 +00:00
|
|
|
|
2013-05-23 Doug Evans <dje@google.com>
|
|
|
|
|
|
|
|
|
|
* contrib/cc-with-tweaks.sh (-p): Handle no dwo files.
|
|
|
|
|
|
common/filestuff.c: No sockets on DJGPP.
Building gdb with --host=i586-pc-msdosdjgpp ends up with:
i586-pc-msdosdjgpp-gcc -g -O2 -I../../src/gdb/config/djgpp -I. -I../../src/gdb -I../../src/gdb/common -I../../src/gdb/config -DLOCALEDIR="\"/usr/local/share/locale\"" -DHAVE_CONFIG_H -I../../src/gdb/../include/opcode -I../../src/gdb/../opcodes/.. -I../../src/gdb/../readline/.. -I../bfd -I../../src/gdb/../bfd -I../../src/gdb/../include -I../libdecnumber -I../../src/gdb/../libdecnumber -I./../intl -I../../src/gdb/gnulib/import -Ibuild-gnulib/import -Wall -Wdeclaration-after-statement -Wpointer-arith -Wformat-nonliteral -Wpointer-sign -Wno-unused -Wunused-value -Wunused-function -Wno-switch -Wno-char-subscripts -Wmissing-prototypes -Wdeclaration-after-statement -Wempty-body -Werror -c -o filestuff.o -MT filestuff.o -MMD -MP -MF .deps/filestuff.Tpo ../../src/gdb/common/filestuff.c
../../src/gdb/common/filestuff.c:38:24: fatal error: sys/socket.h: No such file or directory
There are no sockets on djgpp. This #ifdef's out the bits in the file
that use sockets, depending on whether winsock or sys/socket.h is
available.
As alternative approach, given ser-tcp.c, ser-pipe.c, etc. are split
into separate files, and which to use is selected by configure.ac:
dnl Figure out which of the many generic ser-*.c files the _host_ supports.
SER_HARDWIRE="ser-base.o ser-unix.o ser-pipe.o ser-tcp.o"
case ${host} in
*go32* ) SER_HARDWIRE=ser-go32.o ;;
*djgpp* ) SER_HARDWIRE=ser-go32.o ;;
*mingw32*) SER_HARDWIRE="ser-base.o ser-tcp.o ser-mingw.o" ;;
esac
AC_SUBST(SER_HARDWIRE)
... I considered splitting filestuff.c similarly. But I quickly gave
up on the idea, as it looked like a lot more complication over this
approach, for no real gain. Plus, there are uses of these functions
outside the ser*.c framework.
gdbserver's configure.ac is already checking for sys/socket.h.
gdb/
2013-05-23 Pedro Alves <palves@redhat.com>
* common/filestuff.c [USE_WIN32API]: Define HAVE_SOCKETS.
[HAVE_SYS_SOCKET_H]: Define HAVE_SOCKETS.
(socket_mark_cloexec, gdb_socketpair_cloexec, gdb_socket_cloexec):
Only define if HAVE_SOCKETS is defined.
* configure.ac: Check for sys/socket.h.
* config.in, configure: Regenerate.
2013-05-23 18:37:00 +00:00
|
|
|
|
2013-05-23 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* common/filestuff.c [USE_WIN32API]: Define HAVE_SOCKETS.
|
|
|
|
|
[HAVE_SYS_SOCKET_H]: Define HAVE_SOCKETS.
|
|
|
|
|
(socket_mark_cloexec, gdb_socketpair_cloexec, gdb_socket_cloexec):
|
|
|
|
|
Only define if HAVE_SOCKETS is defined.
|
|
|
|
|
* configure.ac: Check for sys/socket.h.
|
|
|
|
|
* config.in, configure: Regenerate.
|
|
|
|
|
|
2013-05-23 18:31:29 +00:00
|
|
|
|
2013-05-23 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* dwarf2read.c (create_dwp_hash_table, create_dwo_in_dwp)
|
|
|
|
|
(open_and_init_dwp_file): Use %s/pulongest instead of %u for
|
|
|
|
|
printing uint32_t variables.
|
|
|
|
|
|
2013-05-23 17:17:50 +00:00
|
|
|
|
2013-05-23 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* NEWS: Mention GDBserver range stepping support.
|
|
|
|
|
|
range stepping: gdb
This patch teaches GDB to take advantage of target-assisted range
stepping. It adds a new 'r ADDR1,ADDR2' action to vCont (vCont;r),
meaning, "step once, and keep stepping as long as the thread is in the
[ADDR1,ADDR2) range".
Rationale:
When user issues the "step" command on the following line of source,
a = b + c + d * e - a;
GDB single-steps every single instruction until the program reaches a
new different line. E.g., on x86_64, that line compiles to:
0x08048434 <+65>: mov 0x1c(%esp),%eax
0x08048438 <+69>: mov 0x30(%esp),%edx
0x0804843c <+73>: add %eax,%edx
0x0804843e <+75>: mov 0x18(%esp),%eax
0x08048442 <+79>: imul 0x2c(%esp),%eax
0x08048447 <+84>: add %edx,%eax
0x08048449 <+86>: sub 0x34(%esp),%eax
0x0804844d <+90>: mov %eax,0x34(%esp)
0x08048451 <+94>: mov 0x1c(%esp),%eax
and the following is the RSP traffic between GDB and GDBserver:
--> vCont;s:p2e13.2e13;c
<-- T0505:68efffbf;04:30efffbf;08:3c840408;thread:p2e13.2e13;core:1;
--> vCont;s:p2e13.2e13;c
<-- T0505:68efffbf;04:30efffbf;08:3e840408;thread:p2e13.2e13;core:2;
--> vCont;s:p2e13.2e13;c
<-- T0505:68efffbf;04:30efffbf;08:42840408;thread:p2e13.2e13;core:2;
--> vCont;s:p2e13.2e13;c
<-- T0505:68efffbf;04:30efffbf;08:47840408;thread:p2e13.2e13;core:0;
--> vCont;s:p2e13.2e13;c
<-- T0505:68efffbf;04:30efffbf;08:49840408;thread:p2e13.2e13;core:0;
--> vCont;s:p2e13.2e13;c
<-- T0505:68efffbf;04:30efffbf;08:4d840408;thread:p2e13.2e13;core:0;
--> vCont;s:p2e13.2e13;c
<-- T0505:68efffbf;04:30efffbf;08:51840408;thread:p2e13.2e13;core:0;
IOW, a lot of roundtrips between GDB and GDBserver.
If we add a new command to the RSP, meaning "keep stepping and don't
report a stop until the program goes out of the [0x08048434,
0x08048451) address range", then the RSP traffic can be reduced down
to:
--> vCont;r8048434,8048451:p2db0.2db0;c
<-- T0505:68efffbf;04:30efffbf;08:51840408;thread:p2db0.2db0;core:1;
As number of packets is reduced dramatically, the performance of
stepping source lines is much improved.
In case something is wrong with range stepping on the stub side, the
debug info or even gdb, this adds a "set/show range-stepping" command
to be able to turn range stepping off.
gdb/
2013-05-23 Yao Qi <yao@codesourcery.com>
Pedro Alves <palves@redhat.com>
* gdbthread.h (struct thread_control_state) <may_range_step>: New
field.
* infcmd.c (step_once, until_next_command): Enable range stepping.
* infrun.c (displaced_step_prepare): Disable range stepping.
(resume): Disable range stepping if stepping over a breakpoint or
we have software watchpoints. If range stepping is enabled,
assert the thread is in the stepping range.
(clear_proceed_status_thread): Clear may_range_step.
(handle_inferior_event): Disable range stepping as soon as we know
the thread that hit the event. Re-enable it whenever we're going
to step with a step range.
* remote.c (struct vCont_action_support) <r>: New field.
(use_range_stepping): New global.
(remote_vcont_probe): Handle 'r' action.
(append_resumption): Append an 'r' action if the thread may range
step.
(show_range_stepping): New function.
(set_range_stepping): New function.
(_initialize_remote): Call add_setshow_boolean_cmd to register the
'set range-stepping' and 'show range-stepping' commands.
* NEWS: Mention range stepping, the new vCont;r action, and the
new "set/show range-stepping" commands.
gdb/doc/
2013-05-23 Yao Qi <yao@codesourcery.com>
Pedro Alves <palves@redhat.com>
* gdb.texinfo (Packets): Document 'vCont;r'.
(Continuing and Stepping): Document target-assisted range
stepping, and the 'set range-stepping' and 'show range-stepping'
commands.
2013-05-23 17:15:35 +00:00
|
|
|
|
2013-05-23 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* gdbthread.h (struct thread_control_state) <may_range_step>: New
|
|
|
|
|
field.
|
|
|
|
|
* infcmd.c (step_once, until_next_command): Enable range stepping.
|
|
|
|
|
* infrun.c (displaced_step_prepare): Disable range stepping.
|
|
|
|
|
(resume): Disable range stepping if stepping over a breakpoint or
|
|
|
|
|
we have software watchpoints. If range stepping is enabled,
|
|
|
|
|
assert the thread is in the stepping range.
|
|
|
|
|
(clear_proceed_status_thread): Clear may_range_step.
|
|
|
|
|
(handle_inferior_event): Disable range stepping as soon as we know
|
|
|
|
|
the thread that hit the event. Re-enable it whenever we're going
|
|
|
|
|
to step with a step range.
|
|
|
|
|
* remote.c (struct vCont_action_support) <r>: New field.
|
|
|
|
|
(use_range_stepping): New global.
|
|
|
|
|
(remote_vcont_probe): Handle 'r' action.
|
|
|
|
|
(append_resumption): Append an 'r' action if the thread may range
|
|
|
|
|
step.
|
|
|
|
|
(show_range_stepping): New function.
|
|
|
|
|
(set_range_stepping): New function.
|
|
|
|
|
(_initialize_remote): Call add_setshow_boolean_cmd to register the
|
|
|
|
|
'set range-stepping' and 'show range-stepping' commands.
|
|
|
|
|
* NEWS: Mention range stepping, the new vCont;r action, and the
|
|
|
|
|
new "set/show range-stepping" commands.
|
|
|
|
|
|
2013-05-23 17:13:57 +00:00
|
|
|
|
2013-05-23 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* remote.c (struct vCont_action_support): New struct.
|
|
|
|
|
(struct remote_state) <support_vCont_t>: Remove field.
|
|
|
|
|
<vCont_actions_support>: New field.
|
|
|
|
|
(remote_vcont_probe, remote_stop_ns): Update.
|
|
|
|
|
|
2013-05-23 17:12:51 +00:00
|
|
|
|
2013-05-23 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* gdbthread.h (pc_in_thread_step_range): New declaration.
|
|
|
|
|
* thread.c (pc_in_thread_step_range): New function.
|
|
|
|
|
* infrun.c (handle_inferior_event): Use it.
|
|
|
|
|
|
2013-05-23 06:39:42 +00:00
|
|
|
|
2013-05-23 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* mi/mi-cmd-break.c (mi_argv_to_format): Use xsnprintf instead
|
|
|
|
|
of sprintf.
|
|
|
|
|
|
2013-05-22 21:16:18 +00:00
|
|
|
|
2013-05-22 Keith Seitz <keiths@redhat.com>
|
|
|
|
|
|
|
|
|
|
* ada-lang.c (is_known_support_routine): Add explicit free of
|
|
|
|
|
'func_name' from find_frame_funname.
|
|
|
|
|
(ada_unhandled_exception_name_addr_from_raise): Add cleanups
|
|
|
|
|
for func_name from find_frame_funname.
|
|
|
|
|
* python/py-frame.c (frapy_name): Add explicit free of
|
|
|
|
|
'name' from find_frame_funname.
|
|
|
|
|
* stack.c (find_frame_funname): Add comment explaining that
|
|
|
|
|
funcp must be freed by the caller.
|
|
|
|
|
Return copy of symbol names instead of pointers.
|
|
|
|
|
(print_frame): Add a cleanup for 'funname' from
|
|
|
|
|
find_frame_funname.
|
|
|
|
|
* stack.h (find_frame_funname): Remove "const" from
|
|
|
|
|
'funname' parameter.
|
|
|
|
|
|
2013-05-22 20:51:49 +00:00
|
|
|
|
2013-05-22 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR c++/15401:
|
|
|
|
|
* c-valprint.c (c_value_print): Use value_addr for
|
|
|
|
|
references. Convert back to reference type with value_ref.
|
|
|
|
|
|
2013-05-22 16:18:12 +00:00
|
|
|
|
2013-05-22 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
|
|
|
|
|
|
* windows-nat.c (handle_unload_dll): Don't call solib_add for the
|
|
|
|
|
unloaded DLL, it will be done by handle_solib_event. See
|
|
|
|
|
http://sourceware.org/ml/gdb-patches/2013-05/msg00713.html for the
|
|
|
|
|
details.
|
|
|
|
|
|
2013-05-22 12:27:13 +00:00
|
|
|
|
2013-05-22 Phil Muldoon <pmuldoon@redhat.com>
|
|
|
|
|
|
|
|
|
|
* ui-out.c: Create typedef ui_out_level_p and define vector
|
|
|
|
|
operations for that type.
|
|
|
|
|
(struct ui_out): Use a vector instead of an array.
|
|
|
|
|
(current_level): Return level from a vector.
|
|
|
|
|
(push_level): Create a level in a vector.
|
|
|
|
|
(pop_level): Delete a level in a vector.
|
|
|
|
|
(ui_out_new): Create initial level zero level, and store in a
|
|
|
|
|
vector.
|
|
|
|
|
(ui_out_destroy): Add vector cleanup.
|
|
|
|
|
|
2013-05-22 09:31:44 +00:00
|
|
|
|
2013-05-22 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* python/python-internal.h (gdb_Py_DECREF): Tag with
|
|
|
|
|
"ARI: editCase function".
|
|
|
|
|
|
2013-05-21 23:41:29 +00:00
|
|
|
|
2013-05-21 Paul Pluzhnikov <ppluzhnikov@google.com>
|
|
|
|
|
|
|
|
|
|
* solib-svr4.c (svr4_free_so): Protect against NULL dereference.
|
|
|
|
|
|
2013-05-21 20:53:21 +00:00
|
|
|
|
2013-05-21 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* python/py-prettyprint.c (apply_val_pretty_printer): Check
|
|
|
|
|
whether PRINTER is NULL before installing a Py_DECREF cleanup.
|
|
|
|
|
* python/py-utils.c (py_decref): Don't check for NULL before
|
|
|
|
|
calling Py_DECREF.
|
|
|
|
|
|
2013-05-21 20:52:30 +00:00
|
|
|
|
2013-05-21 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* python/py-utils.c (py_decref): Remove extra braces.
|
|
|
|
|
(gdb_pymodule_addobject): Remove extra braces.
|
|
|
|
|
* python-internal.h (gdb_Py_DECREF): New static inline function.
|
|
|
|
|
(Py_DECREF): Redefine as calling gdb_Py_DECREF.
|
|
|
|
|
|
2013-05-21 18:47:05 +00:00
|
|
|
|
2013-05-21 Philippe Waroquiers <philippe.waroquiers@skynet.be>
|
|
|
|
|
|
|
|
|
|
* breakpoints.c (detach_breakpoints): Do not
|
|
|
|
|
detach breakpoints locations with loc_type bp_loc_other.
|
|
|
|
|
|
2013-05-21 15:02:28 +00:00
|
|
|
|
2013-05-21 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
Workaround Python 2.6.
|
|
|
|
|
* python/py-utils.c (gdb_pymodule_addobject): Wrap Py_DECREF into
|
|
|
|
|
a block.
|
|
|
|
|
|
2013-05-21 08:16:10 +00:00
|
|
|
|
2013-05-21 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
Code cleanup: constification.
|
|
|
|
|
* solib.c (solib_ops): Make return type and ops variable type const.
|
|
|
|
|
(set_solib_ops): Make the new_ops parameter and ops variable const.
|
|
|
|
|
(solib_find, solib_map_sections, clear_so, free_so, update_solib_list)
|
|
|
|
|
(solib_add, solib_keep_data_in_core, clear_solib)
|
|
|
|
|
(solib_create_inferior_hook, in_solib_dynsym_resolve_code)
|
|
|
|
|
(reload_shared_libraries, solib_global_lookup): Make the ops variable
|
|
|
|
|
const.
|
|
|
|
|
* solib.h (set_solib_ops): Make the new_ops parameter const.
|
|
|
|
|
|
2013-05-21 06:50:12 +00:00
|
|
|
|
2013-05-21 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* data-directory/Makefile.in (SYSTEM_GDBINIT_SRCDIR): New
|
|
|
|
|
variable.
|
|
|
|
|
(VPATH): Add SYSTEM_GDBINIT_SRCDIR.
|
|
|
|
|
(SYSTEM_GDBINIT_DIR, SYSTEM_GDBINIT_INSTALL_DIR)
|
|
|
|
|
(SYSTEM_GDBINIT_FILES): New variables.
|
|
|
|
|
(all): Add stamp-system-gdbinit.
|
|
|
|
|
(stamp-system-gdbinit): New rule.
|
|
|
|
|
(clean-system-gdbinit, install-system-gdbinit)
|
|
|
|
|
(uninstall-system-gdbinit): New rules. Make them .PHONY.
|
|
|
|
|
(install-only): Add dependency on install-system-gdbinit.
|
|
|
|
|
(uninstall): Add dependency on uninstall-system-gdbinit.
|
|
|
|
|
(clean): Add dependency on clean-system-gdbinit.
|
|
|
|
|
* system-gdbinit/elinos.py: New file.
|
|
|
|
|
* system-gdbinit/wrs-linux.py: New file.
|
|
|
|
|
|
2013-05-21 05:41:31 +00:00
|
|
|
|
2013-05-21 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* ada-lang.c (old_renaming_is_invisible): Fix cleanup leak.
|
|
|
|
|
|
2013-05-21 04:18:55 +00:00
|
|
|
|
2013-05-21 Hui Zhu <hui@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* breakpoint.c (dprintf_breakpoint_ops): Remove its static.
|
|
|
|
|
* breakpoint.h (dprintf_breakpoint_ops): Add extern.
|
|
|
|
|
* mi/mi-cmd-break.c (ctype.h): New include.
|
|
|
|
|
(gdb_obstack.h): New include.
|
|
|
|
|
(mi_argv_to_format, mi_cmd_break_insert_1): New.
|
|
|
|
|
(mi_cmd_break_insert): Call mi_cmd_break_insert_1.
|
|
|
|
|
(mi_cmd_dprintf_insert): New.
|
|
|
|
|
* mi/mi-cmds.c (mi_cmds): Add "dprintf-insert".
|
|
|
|
|
* mi/mi-cmds.h (mi_cmd_dprintf_insert): New extern.
|
|
|
|
|
|
2013-05-20 20:39:31 +00:00
|
|
|
|
2013-05-20 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* python/py-prettyprint.c (search_pp_list): Decref 'attr'.
|
|
|
|
|
|
2013-05-20 20:38:47 +00:00
|
|
|
|
2013-05-20 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* python/py-value.c (valpy_get_dynamic_type): Simplify
|
|
|
|
|
dynamic_type assignment. Use Py_XINCREF.
|
|
|
|
|
|
2013-05-20 20:37:48 +00:00
|
|
|
|
2013-05-20 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* python/py-type.c (typy_fields): Unconditionally decref 'r'.
|
|
|
|
|
|
2013-05-20 20:37:06 +00:00
|
|
|
|
2013-05-20 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* python/py-frame.c (frapy_older, frapy_newer, gdbpy_newest_frame)
|
|
|
|
|
(gdbpy_selected_frame): Move object-construction code
|
|
|
|
|
out of TRY_CATCH.
|
|
|
|
|
|
2013-05-20 20:36:19 +00:00
|
|
|
|
2013-05-20 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* python/py-arch.c (gdbpy_initialize_arch): Use
|
|
|
|
|
gdb_pymodule_addobject.
|
|
|
|
|
* python/py-block.c (gdbpy_initialize_blocks): Use
|
|
|
|
|
gdb_pymodule_addobject.
|
|
|
|
|
* python/py-breakpoint.c (gdbpy_initialize_breakpoints): Use
|
|
|
|
|
gdb_pymodule_addobject.
|
|
|
|
|
* python/py-cmd.c (gdbpy_initialize_breakpoints): Use
|
|
|
|
|
gdb_pymodule_addobject.
|
|
|
|
|
* python/py-event.c (gdbpy_initialize_event_generic): Use
|
|
|
|
|
gdb_pymodule_addobject.
|
|
|
|
|
* python/py-evtregistry.c (gdbpy_initialize_eventregistry): Use
|
|
|
|
|
gdb_pymodule_addobject.
|
|
|
|
|
* python/py-evts.c (add_new_registry): Use
|
|
|
|
|
gdb_pymodule_addobject.
|
|
|
|
|
(gdbpy_initialize_py_events): Likewise.
|
|
|
|
|
* python/py-finishbreakpoint.c
|
|
|
|
|
(gdbpy_initialize_finishbreakpoints): Use
|
|
|
|
|
gdb_pymodule_addobject.
|
|
|
|
|
* python/py-frame.c (gdbpy_initialize_frames): Use
|
|
|
|
|
gdb_pymodule_addobject.
|
|
|
|
|
* python/py-function.c (gdbpy_initialize_functions): Use
|
|
|
|
|
gdb_pymodule_addobject.
|
|
|
|
|
* python/py-inferior.c (gdbpy_initialize_inferior): Use
|
|
|
|
|
gdb_pymodule_addobject.
|
|
|
|
|
* python/py-infthread.c (gdbpy_initialize_thread): Use
|
|
|
|
|
gdb_pymodule_addobject.
|
|
|
|
|
* python/py-objfile.c (gdbpy_initialize_objfile): Use
|
|
|
|
|
gdb_pymodule_addobject.
|
|
|
|
|
* python/py-param.c (gdbpy_initialize_parameters): Use
|
|
|
|
|
gdb_pymodule_addobject.
|
|
|
|
|
* python/py-progspace.c (gdbpy_initialize_pspace): Use
|
|
|
|
|
gdb_pymodule_addobject.
|
|
|
|
|
* python/py-symbol.c (gdbpy_initialize_symbols): Use
|
|
|
|
|
gdb_pymodule_addobject.
|
|
|
|
|
* python/py-symtab.c (gdbpy_initialize_symtabs): Use
|
|
|
|
|
gdb_pymodule_addobject.
|
|
|
|
|
* python/py-type.c (gdbpy_initialize_types): Use
|
|
|
|
|
gdb_pymodule_addobject.
|
|
|
|
|
* python/py-utils.c (gdb_pymodule_addobject): New function.
|
|
|
|
|
* python/py-value.c (gdbpy_initialize_values): Use
|
|
|
|
|
gdb_pymodule_addobject.
|
|
|
|
|
* python/python-internal.h (gdb_pymodule_addobject): Declare.
|
|
|
|
|
* python/python.c (_initialize_python): Use
|
|
|
|
|
gdb_pymodule_addobject.
|
|
|
|
|
|
2013-05-20 20:34:49 +00:00
|
|
|
|
2013-05-20 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* python/py-cmd.c (cmdpy_completer): Use explicit decref.
|
|
|
|
|
* python/py-param.c (get_set_value, get_show_value): Use
|
|
|
|
|
explicit decrefs.
|
|
|
|
|
* python/python.c (start_type_printers, apply_type_printers):
|
|
|
|
|
Use explicit decrefs.
|
|
|
|
|
|
2013-05-20 20:34:11 +00:00
|
|
|
|
2013-05-20 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* python/py-evts.c (gdbpy_initialize_py_events): Don't
|
|
|
|
|
incref the module.
|
|
|
|
|
|
2013-05-20 20:32:56 +00:00
|
|
|
|
2013-05-20 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* python/python.c (gdbpy_run_events): Decref the result
|
|
|
|
|
of PyObject_CallObject.
|
|
|
|
|
|
2013-05-20 20:31:18 +00:00
|
|
|
|
2013-05-20 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* python/py-symtab.c (set_sal): Use
|
|
|
|
|
CPYCHECKER_NEGATIVE_RESULT_SETS_EXCEPTION. Return -1 on error.
|
|
|
|
|
(symtab_and_line_to_sal_object): Update.
|
|
|
|
|
|
2013-05-20 20:30:24 +00:00
|
|
|
|
2013-05-20 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* python/py-param.c (compute_enum_values): Decref 'item'.
|
|
|
|
|
|
2013-05-20 20:29:44 +00:00
|
|
|
|
2013-05-20 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* mi/mi-main.c: Include python-internal.h.
|
|
|
|
|
(mi_cmd_list_features): Check gdb_python_initialized.
|
|
|
|
|
* python/py-inferior.c (python_on_normal_stop, python_on_resume)
|
|
|
|
|
(python_inferior_exit, python_new_objfile, add_thread_object)
|
|
|
|
|
(delete_thread_object, py_free_inferior): Check
|
|
|
|
|
gdb_python_initialized.
|
|
|
|
|
* python/py-prettyprint.c (apply_val_pretty_printer): Check
|
|
|
|
|
gdb_python_initialized.
|
|
|
|
|
* python/py-type.c (save_objfile_types): Check
|
|
|
|
|
gdb_python_initialized.
|
|
|
|
|
* python/python-internal.h (gdb_python_initialized): Declare.
|
|
|
|
|
* python/python.c (ensure_python_env): Throw exception if
|
|
|
|
|
Python not initialized.
|
|
|
|
|
(before_prompt_hook, source_python_script_for_objfile)
|
|
|
|
|
(start_type_printers, apply_type_printers,
|
|
|
|
|
free_type_printers): Check gdb_python_initialized.
|
|
|
|
|
* varobj.c (varobj_get_display_hint)
|
|
|
|
|
(dynamic_varobj_has_child_method, update_dynamic_varobj_children)
|
|
|
|
|
(install_new_value_visualizer, varobj_set_visualizer)
|
|
|
|
|
(value_get_print_value): Check gdb_python_initialized.
|
|
|
|
|
|
* python/py-arch.c (gdbpy_initialize_arch): Return 'int'.
Check errors.
* python/py-auto-load.c (gdbpy_initialize_auto_load): Return 'int'.
* python/py-block.c (gdbpy_initialize_blocks): Return 'int'.
Check errors.
* python/py-breakpoint.c (gdbpy_initialize_breakpoints): Return 'int'.
Check errors.
* python/py-cmd.c (gdbpy_initialize_commands): Return 'int'.
Check errors.
* python/py-event.c (gdbpy_initialize_event): Return 'int'.
Check errors.
* python/py-event.h (GDBPY_NEW_EVENT_TYPE): Change generated
init function to return 'int'.
* python/py-evtregistry.c (gdbpy_initialize_eventregistry):
Return 'int'. Check errors.
* python/py-evts.c (gdbpy_initialize_py_events): Return 'int'.
Check errors.
* python/py-finishbreakpoint.c (gdbpy_initialize_finishbreakpoints):
Return 'int'. Check errors.
* python/py-frame.c (gdbpy_initialize_frames): Return 'int'.
Check errors.
* python/py-function.c (gdbpy_initialize_functions): Return 'int'.
Check errors.
* python/py-gdb-readline.c (gdbpy_initialize_gdb_readline):
Check errors.
* python/py-inferior.c (gdbpy_initialize_inferior): Return 'int'.
Check errors.
* python/py-infthread.c (gdbpy_initialize_thread): Return 'int'.
Check errors.
* python/py-lazy-string.c (gdbpy_initialize_lazy_string): Return 'int'.
Check errors.
* python/py-objfile.c (gdbpy_initialize_objfile): Return 'int'.
Check errors.
* python/py-param.c (gdbpy_initialize_parameters): Return 'int'.
Check errors.
* python/py-progspace.c (gdbpy_initialize_pspace): Return 'int'.
Check errors.
* python/py-symbol.c (gdbpy_initialize_symbols): Return 'int'.
Check errors.
* python/py-symtab.c (gdbpy_initialize_symtabs): Return 'int'.
Check errors.
* python/py-type.c (gdbpy_initialize_types): Return 'int'.
Check errors.
* python/py-value.c (gdbpy_initialize_values): Return 'int'.
Check errors.
* python/python-internal.h (gdbpy_initialize_auto_load,
gdbpy_initialize_values, gdbpy_initialize_frames,
gdbpy_initialize_symtabs, gdbpy_initialize_commands,
gdbpy_initialize_symbols, gdbpy_initialize_symtabs,
gdbpy_initialize_blocks, gdbpy_initialize_types,
gdbpy_initialize_functions, gdbpy_initialize_pspace,
gdbpy_initialize_objfile, gdbpy_initialize_breakpoints,
gdbpy_initialize_finishbreakpoints,
gdbpy_initialize_lazy_string, gdbpy_initialize_parameters,
gdbpy_initialize_thread, gdbpy_initialize_inferior,
gdbpy_initialize_eventregistry, gdbpy_initialize_event,
gdbpy_initialize_py_events, gdbpy_initialize_stop_event,
gdbpy_initialize_signal_event,
gdbpy_initialize_breakpoint_event,
gdbpy_initialize_continue_event,
gdbpy_initialize_exited_event, gdbpy_initialize_thread_event,
gdbpy_initialize_new_objfile_event, gdbpy_initialize_arch):
Update. Use CPYCHECKER_NEGATIVE_RESULT_SETS_EXCEPTION.
* python/python.c (gdb_python_initialized): New global.
(gdbpy_initialize_events): Return 'int'. Check errors.
(_initialize_python): Check errors. Set
gdb_python_initialized.
2013-05-20 20:28:52 +00:00
|
|
|
|
2013-05-20 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* python/py-arch.c (gdbpy_initialize_arch): Return 'int'.
|
|
|
|
|
Check errors.
|
|
|
|
|
* python/py-auto-load.c (gdbpy_initialize_auto_load): Return 'int'.
|
|
|
|
|
* python/py-block.c (gdbpy_initialize_blocks): Return 'int'.
|
|
|
|
|
Check errors.
|
|
|
|
|
* python/py-breakpoint.c (gdbpy_initialize_breakpoints): Return 'int'.
|
|
|
|
|
Check errors.
|
|
|
|
|
* python/py-cmd.c (gdbpy_initialize_commands): Return 'int'.
|
|
|
|
|
Check errors.
|
|
|
|
|
* python/py-event.c (gdbpy_initialize_event): Return 'int'.
|
|
|
|
|
Check errors.
|
|
|
|
|
* python/py-event.h (GDBPY_NEW_EVENT_TYPE): Change generated
|
|
|
|
|
init function to return 'int'.
|
|
|
|
|
* python/py-evtregistry.c (gdbpy_initialize_eventregistry):
|
|
|
|
|
Return 'int'. Check errors.
|
|
|
|
|
* python/py-evts.c (gdbpy_initialize_py_events): Return 'int'.
|
|
|
|
|
Check errors.
|
|
|
|
|
* python/py-finishbreakpoint.c (gdbpy_initialize_finishbreakpoints):
|
|
|
|
|
Return 'int'. Check errors.
|
|
|
|
|
* python/py-frame.c (gdbpy_initialize_frames): Return 'int'.
|
|
|
|
|
Check errors.
|
|
|
|
|
* python/py-function.c (gdbpy_initialize_functions): Return 'int'.
|
|
|
|
|
Check errors.
|
|
|
|
|
* python/py-gdb-readline.c (gdbpy_initialize_gdb_readline):
|
|
|
|
|
Check errors.
|
|
|
|
|
* python/py-inferior.c (gdbpy_initialize_inferior): Return 'int'.
|
|
|
|
|
Check errors.
|
|
|
|
|
* python/py-infthread.c (gdbpy_initialize_thread): Return 'int'.
|
|
|
|
|
Check errors.
|
|
|
|
|
* python/py-lazy-string.c (gdbpy_initialize_lazy_string): Return 'int'.
|
|
|
|
|
Check errors.
|
|
|
|
|
* python/py-objfile.c (gdbpy_initialize_objfile): Return 'int'.
|
|
|
|
|
Check errors.
|
|
|
|
|
* python/py-param.c (gdbpy_initialize_parameters): Return 'int'.
|
|
|
|
|
Check errors.
|
|
|
|
|
* python/py-progspace.c (gdbpy_initialize_pspace): Return 'int'.
|
|
|
|
|
Check errors.
|
|
|
|
|
* python/py-symbol.c (gdbpy_initialize_symbols): Return 'int'.
|
|
|
|
|
Check errors.
|
|
|
|
|
* python/py-symtab.c (gdbpy_initialize_symtabs): Return 'int'.
|
|
|
|
|
Check errors.
|
|
|
|
|
* python/py-type.c (gdbpy_initialize_types): Return 'int'.
|
|
|
|
|
Check errors.
|
|
|
|
|
* python/py-value.c (gdbpy_initialize_values): Return 'int'.
|
|
|
|
|
Check errors.
|
|
|
|
|
* python/python-internal.h (gdbpy_initialize_auto_load,
|
|
|
|
|
gdbpy_initialize_values, gdbpy_initialize_frames,
|
|
|
|
|
gdbpy_initialize_symtabs, gdbpy_initialize_commands,
|
|
|
|
|
gdbpy_initialize_symbols, gdbpy_initialize_symtabs,
|
|
|
|
|
gdbpy_initialize_blocks, gdbpy_initialize_types,
|
|
|
|
|
gdbpy_initialize_functions, gdbpy_initialize_pspace,
|
|
|
|
|
gdbpy_initialize_objfile, gdbpy_initialize_breakpoints,
|
|
|
|
|
gdbpy_initialize_finishbreakpoints,
|
|
|
|
|
gdbpy_initialize_lazy_string, gdbpy_initialize_parameters,
|
|
|
|
|
gdbpy_initialize_thread, gdbpy_initialize_inferior,
|
|
|
|
|
gdbpy_initialize_eventregistry, gdbpy_initialize_event,
|
|
|
|
|
gdbpy_initialize_py_events, gdbpy_initialize_stop_event,
|
|
|
|
|
gdbpy_initialize_signal_event,
|
|
|
|
|
gdbpy_initialize_breakpoint_event,
|
|
|
|
|
gdbpy_initialize_continue_event,
|
|
|
|
|
gdbpy_initialize_exited_event, gdbpy_initialize_thread_event,
|
|
|
|
|
gdbpy_initialize_new_objfile_event, gdbpy_initialize_arch):
|
|
|
|
|
Update. Use CPYCHECKER_NEGATIVE_RESULT_SETS_EXCEPTION.
|
|
|
|
|
* python/python.c (gdb_python_initialized): New global.
|
|
|
|
|
(gdbpy_initialize_events): Return 'int'. Check errors.
|
|
|
|
|
(_initialize_python): Check errors. Set
|
|
|
|
|
gdb_python_initialized.
|
|
|
|
|
|
2013-05-20 20:27:44 +00:00
|
|
|
|
2013-05-20 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* python/py-finishbreakpoint.c (bpfinishpy_out_of_scope):
|
|
|
|
|
Decref the reslut of PyObject_CallMethod.
|
|
|
|
|
|
2013-05-20 20:26:39 +00:00
|
|
|
|
2013-05-20 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* python/py-event.c (gdbpy_initialize_event_generic): Return
|
|
|
|
|
early if PyType_Ready fails.
|
|
|
|
|
|
2013-05-20 20:25:40 +00:00
|
|
|
|
2013-05-20 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* python/py-type.c (make_fielditem): Add gdb_assert_not_reached
|
|
|
|
|
as 'default' in the switch.
|
|
|
|
|
|
2013-05-20 20:24:49 +00:00
|
|
|
|
2013-05-20 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* python/py-inferior.c (gdbpy_inferiors): Update. Hoist
|
|
|
|
|
get_addr_from_python calls out of TRY_CATCH.
|
|
|
|
|
(infpy_write_memory, infpy_search_memory): Likewise.
|
|
|
|
|
* python/py-utils.c (get_addr_from_python): Return negative
|
|
|
|
|
value on error. Use TRY_CATCH.
|
|
|
|
|
* python/python-internal.h (get_addr_from_python): Use
|
|
|
|
|
CPYCHECKER_NEGATIVE_RESULT_SETS_EXCEPTION.
|
|
|
|
|
|
2013-05-20 20:23:19 +00:00
|
|
|
|
2013-05-20 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* python/py-event.c (evpy_emit_event): Decref the
|
|
|
|
|
result of PyObject_CallFunctionObjArgs.
|
|
|
|
|
|
2013-05-20 20:21:55 +00:00
|
|
|
|
2013-05-20 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* python/py-cmd.c (cmdpy_completer): Use iterator protocol.
|
|
|
|
|
Correctly decref.
|
|
|
|
|
|
2013-05-20 20:20:48 +00:00
|
|
|
|
2013-05-20 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* python/py-cmd.c (cmdpy_init): Decref 'ds_obj'.
|
|
|
|
|
|
2013-05-20 20:19:54 +00:00
|
|
|
|
2013-05-20 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* python/py-event.h (gdbpy_initialize_event_generic): Use
|
|
|
|
|
CPYCHECKER_NEGATIVE_RESULT_SETS_EXCEPTION.
|
|
|
|
|
* python/py-evts.c (add_new_registry): Use
|
|
|
|
|
CPYCHECKER_NEGATIVE_RESULT_SETS_EXCEPTION.
|
|
|
|
|
* python/python-internal.h
|
|
|
|
|
(CPYCHECKER_NEGATIVE_RESULT_SETS_EXCEPTION): New macro.
|
|
|
|
|
|
2013-05-20 20:19:03 +00:00
|
|
|
|
2013-05-20 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* python/py-arch.c (archpy_disassemble): Update.
|
|
|
|
|
* python/py-type.c (typy_get_composite, typy_lookup_typename)
|
|
|
|
|
(typy_lookup_type): Use GDB_PY_HANDLE_EXCEPTION.
|
|
|
|
|
* python/py-utils.c (gdbpy_convert_exception): Return 'void'.
|
|
|
|
|
* python/python-internal.h (CPYCHECKER_SETS_EXCEPTION): New
|
|
|
|
|
macro.
|
|
|
|
|
(GDB_PY_HANDLE_EXCEPTION): Update.
|
|
|
|
|
(gdbpy_convert_exception): Update. Use CPYCHECKER_SETS_EXCEPTION.
|
|
|
|
|
|
2013-05-20 20:18:22 +00:00
|
|
|
|
2013-05-20 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* python/python-internal.h (events_object_type): Remove.
|
|
|
|
|
|
2013-05-20 20:16:57 +00:00
|
|
|
|
2013-05-20 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* python/py-event.h (evpy_emit_event): Use
|
|
|
|
|
CPYCHECKER_STEALS_REFERENCE_TO_ARG.
|
|
|
|
|
* python/python-internal.h (CPYCHECKER_STEALS_REFERENCE_TO_ARG):
|
|
|
|
|
New macro.
|
|
|
|
|
|
2013-05-20 20:16:24 +00:00
|
|
|
|
2013-05-20 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* py-evtregistry.c (create_event_object): Decref
|
|
|
|
|
eventregistry_object if PyList_New fails.
|
|
|
|
|
|
2013-05-20 20:14:51 +00:00
|
|
|
|
2013-05-20 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* py-cmd.c (gdbpy_string_to_argv): Check result of
|
|
|
|
|
PyList_New.
|
|
|
|
|
|
2013-05-20 20:13:28 +00:00
|
|
|
|
2013-05-20 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* python/python.c (before_prompt_hook): Add cleanup to
|
|
|
|
|
decref 'hook'.
|
|
|
|
|
|
2013-05-20 20:12:04 +00:00
|
|
|
|
2013-05-20 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* python/py-function.c (fnpy_init): Decref result of
|
|
|
|
|
PyObject_GetAttrString.
|
|
|
|
|
|
2013-05-20 20:10:03 +00:00
|
|
|
|
2013-05-20 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* python/py-threadevent.c (get_event_thread): Use
|
|
|
|
|
CPYCHECKER_RETURNS_BORROWED_REF.
|
|
|
|
|
* python/python-internal.h (CPYCHECKER_RETURNS_BORROWED_REF):
|
|
|
|
|
New define.
|
|
|
|
|
(pspace_to_pspace_object, objfile_to_objfile_object)
|
|
|
|
|
(find_thread_object): Use it.
|
|
|
|
|
|
2013-05-20 20:09:01 +00:00
|
|
|
|
2013-05-20 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* python/py-arch.c (arch_object_type): Use
|
|
|
|
|
CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
|
|
|
|
|
* python/py-block.c (block_syms_iterator_object_type):
|
|
|
|
|
Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
|
|
|
|
|
* python/py-bpevent.c (breakpoint_event_object_type):
|
|
|
|
|
Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
|
|
|
|
|
* python/py-cmd.c (cmdpy_object_type): Use
|
|
|
|
|
CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
|
|
|
|
|
* python/py-continueevent.c (continue_event_object_type):
|
|
|
|
|
Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
|
|
|
|
|
* python/py-event.h (GDBPY_NEW_EVENT_TYPE):
|
|
|
|
|
Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
|
|
|
|
|
* python/py-events.h (thread_event_object_type):
|
|
|
|
|
Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
|
|
|
|
|
* python/py-evtregistry.c (eventregistry_object_type): Use
|
|
|
|
|
CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
|
|
|
|
|
* python/py-exitedevent.c (exited_event_object_type):
|
|
|
|
|
Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
|
|
|
|
|
* python/py-finishbreakpoint.c (finish_breakpoint_object_type):
|
|
|
|
|
Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
|
|
|
|
|
* python/py-function.c (fnpy_object_type): Use
|
|
|
|
|
CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
|
|
|
|
|
* python/py-inferior.c (inferior_object_type, membuf_object_type):
|
|
|
|
|
Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
|
|
|
|
|
* python/py-infthread.c (thread_object_type): Use
|
|
|
|
|
CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
|
|
|
|
|
* python/py-lazy-string.c (lazy_string_object_type):
|
|
|
|
|
Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
|
|
|
|
|
* python/py-newobjfileevent.c (new_objfile_event_object_type):
|
|
|
|
|
Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
|
|
|
|
|
* python/py-objfile.c (objfile_object_type): Use
|
|
|
|
|
CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
|
|
|
|
|
* python/py-param.c (parmpy_object_type):
|
|
|
|
|
Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
|
|
|
|
|
* python/py-progspace.c (pspace_object_type):
|
|
|
|
|
Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
|
|
|
|
|
* python/py-signalevent.c (signal_event_object_type):
|
|
|
|
|
Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
|
|
|
|
|
* python/py-symtab.c (symtab_object_type, sal_object_type): Use
|
|
|
|
|
CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
|
|
|
|
|
* python/py-type.c (type_object_type, field_object_type)
|
|
|
|
|
(type_iterator_object_type): Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
|
|
|
|
|
* python/py-internal.h (CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF): New
|
|
|
|
|
define.
|
|
|
|
|
(value_object_type, block_object_type, symbol_object_type)
|
|
|
|
|
(event_object_type, stop_event_object_type, breakpoint_object_type)
|
|
|
|
|
(frame_object_type): Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
|
|
|
|
|
|
2013-05-20 18:00:36 +00:00
|
|
|
|
2013-05-20 Andreas Tobler <andreas@fgznet.ch>
|
|
|
|
|
|
|
|
|
|
* Makefile.in (ALL_TARGET_OBS): Add ppcfbsd-tdep.o.
|
|
|
|
|
(ALLDEPFILES): Add ppcfbsd-nat.c and ppcfbsd-tdep.c.
|
|
|
|
|
|
2013-05-20 17:24:21 +00:00
|
|
|
|
2013-05-20 Doug Evans <dje@google.com>
|
|
|
|
|
|
|
|
|
|
When reading CU, stay in DWO. Be more tolerent of bad debug info.
|
|
|
|
|
For Fission.
|
|
|
|
|
* dwarf2read.c (struct dwarf2_per_cu_data): New member
|
|
|
|
|
reading_dwo_directly.
|
|
|
|
|
(struct signatured_type): New member dwo_unit.
|
|
|
|
|
(struct die_reader_specs): New member comp_dir.
|
|
|
|
|
(create_signatured_type_table_from_index): Use malloc for
|
|
|
|
|
all_type_units instead of objfile's obstack.
|
|
|
|
|
(create_all_type_units): Ditto.
|
|
|
|
|
(fill_in_sig_entry_from_dwo_entry): New function.
|
|
|
|
|
(add_type_unit): New function.
|
|
|
|
|
(lookup_dwo_signatured_type): New function.
|
|
|
|
|
(lookup_dwp_signatured_type): New function.
|
|
|
|
|
(lookup_signatured_type): New arg cu. All callers updated.
|
|
|
|
|
(init_cu_die_reader): Initialize comp_dir.
|
|
|
|
|
(read_cutu_die_from_dwo): New arg stub_comp_dir. All callers updated.
|
|
|
|
|
Change assert of matching type signatures to call error on mismatch.
|
|
|
|
|
(lookup_dwo_unit): Add assert.
|
|
|
|
|
(init_tu_and_read_dwo_dies): New function.
|
|
|
|
|
(init_cutu_and_read_dies): Call it.
|
|
|
|
|
(build_type_unit_groups): Handle case of no type unit groups created.
|
|
|
|
|
(hash_dwo_file, eq_dwo_file): Handle missing comp_dir.
|
|
|
|
|
(lookup_dwo_cutu): Tweak complaint.
|
|
|
|
|
(dwarf2_free_abbrev_table): Check for NULL abbrev_table.
|
|
|
|
|
(dwarf2_per_objfile_free): Free all_type_units.
|
|
|
|
|
|
2013-05-20 10:27:26 +00:00
|
|
|
|
2013-05-20 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* windows-nat.c (handle_unload_dll): Add missing empty line.
|
|
|
|
|
|
[dwarf] Mark all functions as prototyped except C functions.
This makes sure that the types of the arguments are taken into account
when performing an inferior function call to a non-C (or C-like)
function. In particular, this makes sure that the arguments are
appropriatly converted to the correct type.
For instance, on x86_64-linux, with the following Ada code:
procedure Set_Float (F : Float) is
begin
Global_Float := F;
end Set_Float;
The following sequence shows that Float arguments are incorrectly
passed (Ada's Float type is the equivalent of type "float" in C):
(gdb) call set_float (2.0)
(gdb) print global_float
$1 = 0.0
Putting a breakpoint inside set_float to inspect the value of
register xmm0 gives the first hint of the problem:
(gdb) p $xmm0
$2 = (v4_float => (0 => 0.0, 2.0, 0.0, 0.0),
v2_double => (0 => 2.0, 0.0),
[...]
It shows that the argument was passed as a double.
The code responsible for doing appropriate type conversions
for the arguments (value_arg_coerce) found that our function
was not prototyped, and thus could not use typing information
for the arguments. Instead, it defaulted to the value of "set
coerce-float-to-double", which by default is true, to determine
the argument type.
This patch fixes the problem by setting the PROTOTYPE flag
for all functions of any language except C and Objective C.
gdb/ChangeLog:
* dwarf2read.c (prototyped_function_p): New function.
(read_subroutine_type): Use it.
gdb/testsuite/ChangeLog:
* gdb.ada/float_param: New testcase.
2013-05-20 09:45:13 +00:00
|
|
|
|
2013-05-20 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* dwarf2read.c (prototyped_function_p): New function.
|
|
|
|
|
(read_subroutine_type): Use it.
|
|
|
|
|
|
2013-05-20 09:14:24 +00:00
|
|
|
|
2013-05-20 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* rs6000-aix-tdep.c: De-indent some example code provided
|
|
|
|
|
as a comment.
|
|
|
|
|
|
2013-05-17 23:05:00 +00:00
|
|
|
|
2013-05-17 Edjunior Machado <emachado@linux.vnet.ibm.com>
|
|
|
|
|
|
|
|
|
|
* ppc-linux-nat.c (ppc_linux_region_ok_for_hw_watchpoint): Check if the
|
|
|
|
|
region is ok for a hardware watchpoint using the new ptrace interface
|
|
|
|
|
on Power servers.
|
|
|
|
|
|
2013-05-17 18:09:06 +00:00
|
|
|
|
2013-05-17 Doug Evans <dje@google.com>
|
|
|
|
|
|
|
|
|
|
* NEWS: Mention new maintenance commands check-symtabs, and
|
|
|
|
|
expand-symtabs, and renamed check-psymtabs.
|
|
|
|
|
* psymtab.c (maintenance_check_psymtabs): Renamed from
|
|
|
|
|
maintenance_check_symtabs. Only process already-expanded symbol
|
|
|
|
|
tables.
|
|
|
|
|
(_initialize_psymtab): Update.
|
|
|
|
|
* symmisc.c (maintenance_check_symtabs): New function.
|
|
|
|
|
(maintenance_expand_name_matcher): New function
|
|
|
|
|
(maintenance_expand_file_matcher): New function
|
|
|
|
|
(maintenance_expand_symtabs): New function.
|
|
|
|
|
(_initialize_symmisc): Add "mt check-symtabs" and "mt expand-symtabs"
|
|
|
|
|
commands.
|
|
|
|
|
|
2013-05-17 16:52:34 +00:00
|
|
|
|
2013-05-17 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* python/py-inferior.c (infpy_read_memory): Don't call
|
|
|
|
|
PyErr_SetString if PyObject_New fails.
|
|
|
|
|
* python/py-frame.c (frame_info_to_frame_object): Don't call
|
|
|
|
|
PyErr_SetString if PyObject_New fails.
|
|
|
|
|
|
2013-05-17 16:24:21 +00:00
|
|
|
|
2013-05-17 Pavel Chupin <pavel.v.chupin@intel.com>
|
|
|
|
|
|
|
|
|
|
* acinclude.m4: Add check for dlopen in libdl.
|
|
|
|
|
* configure.ac: Ditto.
|
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
|
2013-05-17 08:34:18 +00:00
|
|
|
|
2013-05-17 Phil Muldoon <pmuldoon@redhat.com>
|
|
|
|
|
|
|
|
|
|
* frame.c (frame_stash): Convert to htab.
|
|
|
|
|
(frame_addr_hash): New function.
|
|
|
|
|
(frame_addr_hash_eq): New function.
|
|
|
|
|
(frame_stash_create): Convert function to create
|
|
|
|
|
a hash table.
|
|
|
|
|
(frame_stash_add): Convert function to add an entry to a hash
|
|
|
|
|
table.
|
|
|
|
|
(frame_stash_find): Convert function to search the hash table.
|
|
|
|
|
(frame_stash_invalidate): Convert function to empty the hash
|
|
|
|
|
table.
|
|
|
|
|
(get_frame_id): Only add to stash if a frame_id is created.
|
|
|
|
|
(_initialize_frame): Call frame_stash_create.
|
|
|
|
|
|
2013-05-17 06:58:33 +00:00
|
|
|
|
2013-05-16 Yue Lu <hacklu.newborn@gmail.com> (tiny change)
|
2013-05-16 21:54:34 +00:00
|
|
|
|
|
|
|
|
|
* configure.ac: Ensure MIG is available when building for GNU Hurd
|
|
|
|
|
hosts.
|
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
|
2013-05-16 07:39:43 +00:00
|
|
|
|
2013-05-16 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* dwarf2read.c (set_cu_language): Add DW_LANG_UPC handling.
|
|
|
|
|
|
2013-05-16 07:02:43 +00:00
|
|
|
|
2013-05-16 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* ada-lang.c (ada_make_symbol_completion_list): Make sure
|
|
|
|
|
all cleanups are done before returning from this function.
|
|
|
|
|
|
2013-05-15 12:49:05 +00:00
|
|
|
|
2013-05-15 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* utils.h: #include "exceptions.h".
|
|
|
|
|
(enum errors): Remove partial declaration.
|
|
|
|
|
|
ppc-aix core file relocation.
The current code attempts to provide relocation support when debugging
core files via the rs6000_xfer_partial method of the rs6000-nat
target_ops vector. However, this target_ops vector does not get pushed
on the target stack at all when debugging core files, thus bypassing
completely that part of the code.
This patch fixes the problem by extending corelow's core_xfer_partial
into handling the TARGET_OBJECT_LIBRARIES_AIX object.
gdb/ChangeLog:
* gdbarch.sh (core_xfer_shared_libraries_aix): New method.
* gdbarch.h, gdbarch.c: Regenerate.
* corelow.c (core_xfer_partial): Add TARGET_OBJECT_LIBRARIES_AIX
handling.
* rs6000-aix-tdep.h: New file.
* Makefile.in (HFILES_NO_SRCDIR): Add rs6000-aix-tdep.h.
* rs6000-aix-tdep.c: Include "rs6000-aix-tdep.h" and
"xml-utils.h".
(struct field_info, struct ld_info_desc): New types.
(ld_info32_desc, ld_info64_desc): New static constants.
(struct ld_info): New type.
(rs6000_aix_extract_ld_info): New function.
(rs6000_aix_shared_library_to_xml): Likewise.
(rs6000_aix_ld_info_to_xml): Likewise.
(rs6000_aix_core_xfer_shared_libraries_aix): Likewise.
(rs6000_aix_init_osabi): Add call to
set_gdbarch_core_xfer_shared_libraries_aix.
* rs6000-nat.c: Add "rs6000-aix-tdep.h" include.
Remove "xml-utils.h" include.
(LdInfo): Delete typedef.
(ARCH64_DECL, LDI_FIELD, LDI_NEXT, LDI_FD, LDI_FILENAME):
Delete macros.
(rs6000_ptrace_ldinfo): Change return type to gdb_byte *.
Adjust code accordingly.
(rs6000_core_ldinfo): Delete, folded into
rs6000_aix_core_xfer_shared_libraries_aix.
(rs6000_xfer_shared_library): Delete.
(rs6000_xfer_shared_libraries): Reimplement.
2013-05-15 12:26:14 +00:00
|
|
|
|
2013-05-15 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* gdbarch.sh (core_xfer_shared_libraries_aix): New method.
|
|
|
|
|
* gdbarch.h, gdbarch.c: Regenerate.
|
|
|
|
|
* corelow.c (core_xfer_partial): Add TARGET_OBJECT_LIBRARIES_AIX
|
|
|
|
|
handling.
|
|
|
|
|
|
|
|
|
|
* rs6000-aix-tdep.h: New file.
|
|
|
|
|
* Makefile.in (HFILES_NO_SRCDIR): Add rs6000-aix-tdep.h.
|
|
|
|
|
* rs6000-aix-tdep.c: Include "rs6000-aix-tdep.h" and
|
|
|
|
|
"xml-utils.h".
|
|
|
|
|
(struct field_info, struct ld_info_desc): New types.
|
|
|
|
|
(ld_info32_desc, ld_info64_desc): New static constants.
|
|
|
|
|
(struct ld_info): New type.
|
|
|
|
|
(rs6000_aix_extract_ld_info): New function.
|
|
|
|
|
(rs6000_aix_shared_library_to_xml): Likewise.
|
|
|
|
|
(rs6000_aix_ld_info_to_xml): Likewise.
|
|
|
|
|
(rs6000_aix_core_xfer_shared_libraries_aix): Likewise.
|
|
|
|
|
(rs6000_aix_init_osabi): Add call to
|
|
|
|
|
set_gdbarch_core_xfer_shared_libraries_aix.
|
|
|
|
|
* rs6000-nat.c: Add "rs6000-aix-tdep.h" include.
|
|
|
|
|
Remove "xml-utils.h" include.
|
|
|
|
|
(LdInfo): Delete typedef.
|
|
|
|
|
(ARCH64_DECL, LDI_FIELD, LDI_NEXT, LDI_FD, LDI_FILENAME):
|
|
|
|
|
Delete macros.
|
|
|
|
|
(rs6000_ptrace_ldinfo): Change return type to gdb_byte *.
|
|
|
|
|
Adjust code accordingly.
|
|
|
|
|
(rs6000_core_ldinfo): Delete, folded into
|
|
|
|
|
rs6000_aix_core_xfer_shared_libraries_aix.
|
|
|
|
|
(rs6000_xfer_shared_library): Delete.
|
|
|
|
|
(rs6000_xfer_shared_libraries): Reimplement.
|
|
|
|
|
|
2013-05-15 07:04:12 +00:00
|
|
|
|
2013-05-15 Markus Metzger <markus.t.metzger@intel.com>
|
|
|
|
|
|
|
|
|
|
* record.c (record_goto_cmdlist): New.
|
|
|
|
|
(cmd_record_goto): Split into this ...
|
|
|
|
|
(cmd_record_goto_begin): ... this
|
|
|
|
|
(cmd_record_goto_end): ... and this.
|
|
|
|
|
(_initialize_record): Change "record goto" to prefix command.
|
|
|
|
|
Add commands for "record goto begin" and "record goto end".
|
|
|
|
|
Add an alias for "record goto start" to "record goto begin".
|
|
|
|
|
|
2013-05-14 20:41:45 +00:00
|
|
|
|
2013-05-14 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
* linespec.c (convert_linespec_to_sals): New comment for
|
|
|
|
|
SOURCE_FILENAME assignment.
|
|
|
|
|
|
2013-05-14 20:39:12 +00:00
|
|
|
|
2013-05-14 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
* cleanups.c (restore_my_cleanups): Replace gdb_assert by
|
|
|
|
|
internal_warning.
|
|
|
|
|
|
2013-05-14 20:37:57 +00:00
|
|
|
|
2013-05-14 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* eval.c (parse_and_eval_long): Make 'exp' const.
|
|
|
|
|
* value.h (parse_and_eval_long): Update.
|
|
|
|
|
|
2013-05-14 20:35:24 +00:00
|
|
|
|
2013-05-14 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* ui-file.c (gdb_fopen): Make arguments const.
|
|
|
|
|
* ui-file.h (gdb_fopen): Make arguments const.
|
|
|
|
|
|
2013-05-14 20:33:36 +00:00
|
|
|
|
2013-05-14 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* remote.c (remote_set_trace_notes): Make arguments const.
|
|
|
|
|
* target.c (update_current_target): Update cast.
|
|
|
|
|
* target.h (to_set_trace_notes): Make arguments const.
|
|
|
|
|
|
2013-05-14 20:32:15 +00:00
|
|
|
|
2013-05-14 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* go32-nat.c (go32_terminal_info): Make 'args' const.
|
|
|
|
|
* inferior.h (child_terminal_info): Update.
|
|
|
|
|
* inflow.c (child_terminal_info): Make 'args' const.
|
|
|
|
|
* target.c (default_terminal_info): Make 'args' const.
|
|
|
|
|
(debug_to_terminal_save_ours): Likewise.
|
|
|
|
|
* target.h (struct target_ops) <to_terminal_info>: Make argument
|
|
|
|
|
const.
|
|
|
|
|
|
2013-05-14 20:30:48 +00:00
|
|
|
|
2013-05-13 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* gcore.c (create_gcore_bfd): Make 'filename' const.
|
|
|
|
|
* gcore.h (create_gcore_bfd): Make 'filename' const.
|
|
|
|
|
* record-full.c (record_full_save): Make 'recfilename' const.
|
|
|
|
|
* target.c (target_save_record): Make 'filename' const.
|
|
|
|
|
* target.h (struct target_ops) <to_save_record>: Make 'filename'
|
|
|
|
|
const.
|
|
|
|
|
(target_save_record): Likewise.
|
|
|
|
|
|
2013-05-13 16:56:09 +00:00
|
|
|
|
2013-05-13 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
2013-05-13 16:57:20 +00:00
|
|
|
|
PR gdb/15338:
|
2013-05-13 16:56:09 +00:00
|
|
|
|
* dwarf2read.c (dwarf2_record_block_ranges): Ensure that the
|
|
|
|
|
ranges section has been read.
|
|
|
|
|
|
2013-05-13 16:51:52 +00:00
|
|
|
|
2013-05-13 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR exp/15364:
|
|
|
|
|
* eval.c (evaluate_subexp_standard) <STRUCTOP_STRUCT,
|
|
|
|
|
STRUCTOP_PTR>: Return a not_lval value for
|
|
|
|
|
EVAL_AVOID_SIDE_EFFECTS.
|
|
|
|
|
* opencl-lang.c (evaluate_subexp_opencl): Return a not_lval value
|
|
|
|
|
for EVAL_AVOID_SIDE_EFFECTS.
|
|
|
|
|
|
2013-05-13 10:27:35 +00:00
|
|
|
|
2013-05-13 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* rs6000-aix-tdep.c (rs6000_push_dummy_call): Convert
|
|
|
|
|
floating point registers to register type before storing
|
|
|
|
|
value.
|
|
|
|
|
* rs6000-lynx178-tdep.c (rs6000_lynx178_push_dummy_call):
|
|
|
|
|
Likewise.
|
|
|
|
|
|
2013-05-10 17:01:00 +00:00
|
|
|
|
2013-05-10 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* common/filestuff.c (mark_fd_no_cloexec, unmark_fd_no_cloexec):
|
|
|
|
|
New functions.
|
|
|
|
|
* common/filestuff.c (mark_fd_no_cloexec, unmark_fd_no_cloexec):
|
|
|
|
|
Declare.
|
|
|
|
|
* darwin-nat.c (darwin_pre_ptrace): Use mark_fd_no_cloexec.
|
|
|
|
|
(darwin_ptrace_him): Use unmark_fd_no_cloexec.
|
|
|
|
|
* inf-ttrace.c (do_cleanup_pfds): Use unmark_fd_no_cloexec.
|
|
|
|
|
(inf_ttrace_prepare): Use mark_fd_no_cloexec.
|
|
|
|
|
|
2013-05-10 16:10:40 +00:00
|
|
|
|
2013-05-10 Freddie Chopin <freddie_chopin@op.pl>
|
|
|
|
|
Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR build/15414:
|
|
|
|
|
* configure: Rebuild.
|
|
|
|
|
* configure.ac (build_warnings): Do not use -Wformat-nonliteral
|
|
|
|
|
with -Wno-format.
|
|
|
|
|
|
2013-05-10 14:31:05 +00:00
|
|
|
|
2013-05-10 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* remote.c (_initialize_remote): Fix spelling of
|
|
|
|
|
qXfer:traceframe-info:read packet in packet config command.
|
|
|
|
|
|
2013-05-10 13:59:45 +00:00
|
|
|
|
2013-05-10 David Taylor <dtaylor@emc.com>
|
|
|
|
|
|
|
|
|
|
PR remote/15455
|
|
|
|
|
|
|
|
|
|
* remote.c (remote_trace_set_readonly_regions): Do not overwrite
|
|
|
|
|
"QTro" at start of packet.
|
|
|
|
|
|
2013-05-10 12:55:13 +00:00
|
|
|
|
2013-05-10 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* solib-aix.c (solib_aix_relocate_section_addresses):
|
|
|
|
|
For the .bss section action, apply the same offset as
|
|
|
|
|
the .data section.
|
|
|
|
|
|
2013-05-10 13:25:28 +00:00
|
|
|
|
2013-05-10 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* solib-aix.c (solib_aix_relocate_section_addresses):
|
|
|
|
|
Remove FIXME comment.
|
|
|
|
|
|
2013-05-10 12:10:20 +00:00
|
|
|
|
2013-05-10 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
PR tdep/15420:
|
|
|
|
|
* sol-thread.c (ps_lgetxregsize, ps_lgetxregs, ps_lsetxregs):
|
|
|
|
|
New functions, directly copied from sparc-sol-thread.c.
|
|
|
|
|
* sparc-sol-thread.c: Delete.
|
|
|
|
|
* configure.ac: Remove code handling sparc-solaris-thread.c.
|
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
|
2013-05-10 Phil Muldoon <pmuldoon@redhat.com>
* stack.c (backtrace_command_1): Add "no-filters", and Python frame
filter logic.
(backtrace_command): Add "no-filters" option parsing.
(_initialize_stack): Alter help to reflect "no-filters" option.
* Makefile.in (SUBDIR_PYTHON_OBS): Add py-framefilter.o
(SUBDIR_PYTHON_SRCS): Add py-framefilter.c
(py-frame.o): Add target
* data-directory/Makefile.in (PYTHON_DIR): Add Python frame
filter files.
* python/python.h: Add new frame filter constants, and flag enum.
(apply_frame_filter): Add definition.
* python/python.c (apply_frame_filter): New non-Python
enabled function.
* python/py-utils.c (py_xdecref): New function.
(make_cleanup_py_xdecref): Ditto.
* python/py-objfile.c: Declare frame_filters dictionary.
(objfpy_dealloc): Add frame_filters dealloc.
(objfpy_new): Initialize frame_filters attribute.
(objfile_to_objfile_object): Ditto.
(objfpy_get_frame_filters): New function.
(objfpy_set_frame_filters): New function.
* python/py-progspace.c: Declare frame_filters dictionary.
(pspy_dealloc): Add frame_filters dealloc.
(pspy_new): Initialize frame_filters attribute.
(pspacee_to_pspace_object): Ditto.
(pspy_get_frame_filters): New function.
(pspy_set_frame_filters): New function.
* python/py-framefilter.c: New file.
* python/lib/gdb/command/frame_filters.py: New file.
* python/lib/gdb/frames.py: New file.
* python/lib/gdb/__init__.py: Initialize global frame_filters
dictionary
* python/lib/gdb/FrameDecorator.py: New file.
* python/lib/gdb/FrameIterator.py: New file.
* mi/mi-cmds.c (mi_cmds): Add frame filters command.
* mi/mi-cmds.h: Declare.
* mi/mi-cmd-stack.c (mi_cmd_stack_list_frames): Add
--no-frame-filter logic, and Python frame filter logic.
(stack_enable_frame_filters): New function.
(parse_no_frame_option): Ditto.
(mi_cmd_stack_list_frames): Add --no-frame-filter and Python frame
filter logic.
(mi_cmd_stack_list_locals): Ditto.
(mi_cmd_stack_list_args): Ditto.
(mi_cmd_stack_list_variables): Ditto.
* NEWS: Add frame filter note.
2013-05-10 Phil Muldoon <pmuldoon@redhat.com>
* gdb.python/py-framefilter.py: New File.
* gdb.python/py-framefilter-mi.exp: Ditto.
* gdb.python/py-framefilter.c: Ditto.
* gdb.python/py-framefilter-mi.exp: Ditto.
* gdb.python/py-framefilter-mi.c: Ditto,
* gdb.python/py-framefilter-gdb.py.in: Ditto.
2013-05-10 Phil Muldoon <pmuldoon@redhat.com>
* gdb.texinfo (Backtrace): Add "no-filter" argument.
(Python API): Add Frame Filters API, Frame Wrapper API,
Writing a Frame Filter/Wrapper, Managing Management of Frame
Filters chapter entries.
(Frame Filters API): New Node.
(Frame Wrapper API): New Node.
(Writing a Frame Filter): New Node.
(Managing Frame Filters): New Node.
(Progspaces In Python): Add note about frame_filters attribute.
(Objfiles in Python): Ditto.
(GDB/MI Stack Manipulation): Add -enable-frame-filters command,
@anchors and --no-frame-filters option to -stack-list-variables,
-stack-list-frames, -stack-list-locals and -stack-list-arguments
commands.
2013-05-10 10:26:03 +00:00
|
|
|
|
2013-05-10 Phil Muldoon <pmuldoon@redhat.com>
|
|
|
|
|
|
|
|
|
|
* stack.c (backtrace_command_1): Add "no-filters", and Python frame
|
|
|
|
|
filter logic.
|
|
|
|
|
(backtrace_command): Add "no-filters" option parsing.
|
|
|
|
|
(_initialize_stack): Alter help to reflect "no-filters" option.
|
|
|
|
|
* Makefile.in (SUBDIR_PYTHON_OBS): Add py-framefilter.o
|
|
|
|
|
(SUBDIR_PYTHON_SRCS): Add py-framefilter.c
|
|
|
|
|
(py-frame.o): Add target
|
|
|
|
|
* data-directory/Makefile.in (PYTHON_DIR): Add Python frame
|
|
|
|
|
filter files.
|
|
|
|
|
* python/python.h: Add new frame filter constants, and flag enum.
|
|
|
|
|
(apply_frame_filter): Add definition.
|
|
|
|
|
* python/python.c (apply_frame_filter): New non-Python
|
|
|
|
|
enabled function.
|
|
|
|
|
* python/py-utils.c (py_xdecref): New function.
|
|
|
|
|
(make_cleanup_py_xdecref): Ditto.
|
|
|
|
|
* python/py-objfile.c: Declare frame_filters dictionary.
|
|
|
|
|
(objfpy_dealloc): Add frame_filters dealloc.
|
|
|
|
|
(objfpy_new): Initialize frame_filters attribute.
|
|
|
|
|
(objfile_to_objfile_object): Ditto.
|
|
|
|
|
(objfpy_get_frame_filters): New function.
|
|
|
|
|
(objfpy_set_frame_filters): New function.
|
|
|
|
|
* python/py-progspace.c: Declare frame_filters dictionary.
|
|
|
|
|
(pspy_dealloc): Add frame_filters dealloc.
|
|
|
|
|
(pspy_new): Initialize frame_filters attribute.
|
|
|
|
|
(pspacee_to_pspace_object): Ditto.
|
|
|
|
|
(pspy_get_frame_filters): New function.
|
|
|
|
|
(pspy_set_frame_filters): New function.
|
|
|
|
|
* python/py-framefilter.c: New file.
|
|
|
|
|
* python/lib/gdb/command/frame_filters.py: New file.
|
|
|
|
|
* python/lib/gdb/frames.py: New file.
|
|
|
|
|
* python/lib/gdb/__init__.py: Initialize global frame_filters
|
|
|
|
|
dictionary
|
|
|
|
|
* python/lib/gdb/FrameDecorator.py: New file.
|
|
|
|
|
* python/lib/gdb/FrameIterator.py: New file.
|
|
|
|
|
* mi/mi-cmds.c (mi_cmds): Add frame filters command.
|
|
|
|
|
* mi/mi-cmds.h: Declare.
|
|
|
|
|
* mi/mi-cmd-stack.c (mi_cmd_stack_list_frames): Add
|
|
|
|
|
--no-frame-filter logic, and Python frame filter logic.
|
|
|
|
|
(stack_enable_frame_filters): New function.
|
|
|
|
|
(parse_no_frame_option): Ditto.
|
|
|
|
|
(mi_cmd_stack_list_frames): Add --no-frame-filter and Python frame
|
|
|
|
|
filter logic.
|
|
|
|
|
(mi_cmd_stack_list_locals): Ditto.
|
|
|
|
|
(mi_cmd_stack_list_args): Ditto.
|
|
|
|
|
(mi_cmd_stack_list_variables): Ditto.
|
|
|
|
|
* NEWS: Add frame filter note.
|
|
|
|
|
|
2013-05-09 17:24:55 +00:00
|
|
|
|
2013-05-09 Doug Evans <dje@google.com>
|
|
|
|
|
|
2013-05-09 18:03:28 +00:00
|
|
|
|
* symfile.c (syms_from_objfile_1): Delete args offsets, num_offsets.
|
|
|
|
|
All callers updated.
|
|
|
|
|
(syms_from_objfile): Ditto. Make static.
|
|
|
|
|
(symbol_file_add_with_addrs): Renamed from
|
|
|
|
|
symbol_file_add_with_addrs_or_offsets. Delete args offsets,
|
|
|
|
|
num_offsets. All callers updated.
|
|
|
|
|
* symfile.h (syms_from_objfile): Delete.
|
|
|
|
|
|
2013-05-09 17:24:55 +00:00
|
|
|
|
* symfile.c (decrement_reading_symtab): Add assert.
|
|
|
|
|
(increment_reading_symtab): Ditto.
|
|
|
|
|
|
2013-05-09 06:52:21 +00:00
|
|
|
|
2013-05-09 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* source.c (forward_search_command): Replace call to getc
|
|
|
|
|
by call to fgetc.
|
|
|
|
|
(reverse_search_command): Likewise.
|
|
|
|
|
|
2013-05-08 22:38:19 +00:00
|
|
|
|
2013-05-08 Doug Evans <dje@google.com>
|
|
|
|
|
|
|
|
|
|
* psymtab.c (expand_symtabs_matching_via_partial): Fix file name
|
|
|
|
|
matching test.
|
|
|
|
|
|
2013-05-08 06:25:21 +00:00
|
|
|
|
2013-05-08 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* sol-thread.c (info_cb): Factorize the code a little.
|
|
|
|
|
|
Improve output of "maintenance info sol-threads" command.
This patch does the following:
- Puts the startfunc and "Sleep func" info on the same line;
- Renames "Sleep func" into "sleepfunc" to be consistent with
"startfunc"
- Avoids the use of a '-' as a separate before the "sleepfunc"
output, because the '-' looks odd and out of place when the
"startfunc" field is not printed (ti.ti_startfunc is nul).
- Use a '=' instead of ':' and avoids the space between
the name of the value and its value, mostly to help group
the value with its name.
For the record, this is how the new outout now looks like:
(gdb) maintenance info sol-threads
user thread #1, lwp 1, (active)
system thread #2, lwp 2, (active)
system thread #3, lwp 0, (asleep) sleepfunc=0xff32d9e0
user thread #4, lwp 4, (asleep) startfunc=[...].task_wrapper sleepfunc=0xff3290f0
system thread #5, lwp 7, (active) startfunc=_co_timerset
user thread #6, lwp 8, (active) startfunc=[...].task_wrapper
gdb/ChangeLog:
* sol-thread.c (info_cb): Rework the output of the "maintenance
info sol-threads" command a bit.
2013-05-08 06:23:50 +00:00
|
|
|
|
2013-05-08 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* sol-thread.c (info_cb): Rework the output of the "maintenance
|
|
|
|
|
info sol-threads" command a bit.
|
|
|
|
|
|
2013-05-08 06:19:32 +00:00
|
|
|
|
2013-05-08 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* sol-thread.c (info_cb) [ti.ti_state == TD_THR_SLEEP]:
|
|
|
|
|
Replace ti.ti_startfunc by ti.ti_pc.
|
|
|
|
|
|
2013-05-08 06:10:03 +00:00
|
|
|
|
2013-05-08 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* solib-aix.c (solib_aix_free_library_list): New function
|
|
|
|
|
for the case where HAVE_LIBEXPAT is not defined.
|
|
|
|
|
|
2013-05-07 17:04:29 +00:00
|
|
|
|
2013-05-07 Sergio Durigan Junior <sergiodj@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR breakpoints/15413:
|
|
|
|
|
* breakpoint.c (condition_completer): Simplify the code to
|
|
|
|
|
disconsider multiple locations of breakpoints when completing the
|
|
|
|
|
"condition" command.
|
|
|
|
|
|
2013-05-07 13:04:58 +00:00
|
|
|
|
2013-05-07 Pierre Muller <muller@sourceware.org>
|
|
|
|
|
|
|
|
|
|
* common/linux-btrace.c: ARI fix: Include "gdb_wait.h"
|
|
|
|
|
instead of <sys/wait.h>.
|
|
|
|
|
|
2013-05-07 13:02:19 +00:00
|
|
|
|
2013-05-07 Pierre Muller <muller@sourceware.org>
|
|
|
|
|
|
|
|
|
|
* nios2-tdep.c (nios2_dwarf_reg_to_regnum): ARI fix: remove
|
|
|
|
|
trailing new line from warning message.
|
|
|
|
|
|
2013-05-07 13:00:07 +00:00
|
|
|
|
2013-05-07 Pierre Muller <muller@sourceware.org>
|
|
|
|
|
|
|
|
|
|
* contrib/ari/gdb_ari.sh (SOLIB_ADD, SOLIB_CREATE_INFERIOR_HOOK)
|
|
|
|
|
(PC_SOLIB): Change type from ari_deprecate to ari_regression.
|
|
|
|
|
|
2013-05-07 12:40:08 +00:00
|
|
|
|
2013-05-07 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* rs6000-nat.c (rs6000_core_ldinfo): Remove '\n' at end of
|
|
|
|
|
error message (ARI fix).
|
|
|
|
|
|
|
|
|
|
2013-05-07 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* features/library-list-aix.dtd: Replace library-list by
|
|
|
|
|
library-list-aix.
|
|
|
|
|
* rs6000-nat.c: Replace library-list by library-list-aix
|
|
|
|
|
throughout.
|
|
|
|
|
* solib-aix.c: Likewise.
|
|
|
|
|
|
|
|
|
|
2013-05-07 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* target.h (enum target_object) [TARGET_OBJECT_LIBRARIES_AIX]:
|
|
|
|
|
Renames TARGET_OBJECT_AIX_LIBRARIES.
|
|
|
|
|
* rs6000-nat.c: Replace TARGET_OBJECT_AIX_LIBRARIES with
|
|
|
|
|
TARGET_OBJECT_LIBRARIES_AIX throughout.
|
|
|
|
|
* solib-aix.c: Likwise.
|
|
|
|
|
|
2013-05-07 09:26:09 +00:00
|
|
|
|
2013-05-07 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* solib-dsbt.c (struct dsbt_info) <enable_break2_done>: Remove.
|
|
|
|
|
(get_dsbt_info, enable_break, dsbt_clear_solib): Update.
|
|
|
|
|
|
2013-05-07 09:23:28 +00:00
|
|
|
|
2013-05-07 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* solib-dsbt.c (enable_break): Declare.
|
|
|
|
|
(dsbt_current_sos): Remove call to enable_break2.
|
|
|
|
|
(enable_break2): Rename to enable_break. Set solib breakpoint
|
|
|
|
|
on '_dl_debug_state'.
|
|
|
|
|
(enable_break): Remove.
|
|
|
|
|
|
2013-05-07 07:43:33 +00:00
|
|
|
|
2013-05-07 Luis Machado <lgustavo@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* ppc-linux-nat.c (ppc_linux_new_thread): Clear the new thread's
|
|
|
|
|
debug state prior to replicating existing hardware watchpoints or
|
|
|
|
|
breakpoints.
|
|
|
|
|
|
2013-05-07 01:38:04 +00:00
|
|
|
|
2013-05-07 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
* gcore.c (gcore_create_callback): Ignore sections with
|
|
|
|
|
separate_debug_objfile_backlink != NULL.
|
|
|
|
|
|
2013-05-07 01:09:29 +00:00
|
|
|
|
2013-05-06 Sandra Loosemore <sandra@codesourcery.com>
|
|
|
|
|
Andrew Jenner <andrew@codesourcery.com>
|
|
|
|
|
Chung-Lin Tang <cltang@codesourcery.com>
|
|
|
|
|
Julian Brown <julian@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
Based on the nios2-elf port from Altera Corporation.
|
|
|
|
|
|
|
|
|
|
* Makefile.in (ALL_TARGET_OBS): Add nios2-tdep.o and
|
|
|
|
|
nios2-linux-tdep.o.
|
|
|
|
|
(HFILES_NO_SRCDIR): Add nios2-tdep.h.
|
|
|
|
|
(ALLDEPFILES): Add nios2-tdep.c and nios2-linux-tdep.c.
|
|
|
|
|
* configure.tgt: Add nios2*-*-linux* and nios2*-*-* targets.
|
|
|
|
|
* nios2-tdep.h: New.
|
|
|
|
|
* nios2-tdep.c: New.
|
|
|
|
|
* nios2-linux-tdep.c: New.
|
|
|
|
|
* features/Makefile (WHICH): Add nios2-linux.
|
|
|
|
|
(nios2-linux-expedite): Set.
|
|
|
|
|
* features/nios2-cpu.xml: New.
|
|
|
|
|
* features/nios2.xml: New.
|
|
|
|
|
* features/nios2-linux.xml: New.
|
|
|
|
|
* features/nios2.c: New (autogenerated).
|
|
|
|
|
* features/nios2-linux.c: New (autogenerated).
|
|
|
|
|
* regformats/nios2-linux.dat: New (autogenerated).
|
|
|
|
|
* NEWS (Changes since GDB 7.6): Add new Nios II targets
|
|
|
|
|
and commands.
|
|
|
|
|
|
2013-05-06 22:18:39 +00:00
|
|
|
|
2013-05-06 Doug Evans <dje@google.com>
|
|
|
|
|
|
2013-05-07 00:02:12 +00:00
|
|
|
|
* symfile.c: Whitespace cleanup.
|
|
|
|
|
|
2013-05-06 22:18:39 +00:00
|
|
|
|
* solist.h (struct target_so_ops): New member clear_so.
|
|
|
|
|
* solib-svr4.c (svr4_clear_so): New function.
|
|
|
|
|
(_initialize_svr4_solib): Set svr4_so_ops.clear_so.
|
|
|
|
|
* solib.c (clear_so): Renamed from free_so_symbols.
|
|
|
|
|
All callers updated. Call target clear_so if it exists.
|
|
|
|
|
|
2013-05-06 19:46:15 +00:00
|
|
|
|
2013-05-06 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* ada-lang.c (ada_value_primitive_packed_val): Don't
|
|
|
|
|
call value_incref.
|
|
|
|
|
* value.c (set_value_parent): Incref the new parent and decref
|
|
|
|
|
the old parent.
|
|
|
|
|
(value_copy, value_primitive_field): Use set_value_parent.
|
|
|
|
|
|
2013-05-06 19:44:04 +00:00
|
|
|
|
2013-05-06 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* dwarf2loc.c (invalid_synthetic_pointer): Move earlier.
|
|
|
|
|
(indirect_pieced_value): Call dwarf2_fetch_constant_bytes
|
|
|
|
|
if needed.
|
|
|
|
|
* dwarf2loc.h (dwarf2_fetch_constant_bytes): Declare.
|
|
|
|
|
* dwarf2read.c (write_constant_as_bytes)
|
|
|
|
|
(dwarf2_fetch_constant_bytes): New functions.
|
|
|
|
|
|
2013-05-06 19:39:09 +00:00
|
|
|
|
2013-05-06 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* dwarf2read.c (dwarf2_const_value_data): Remove unused
|
|
|
|
|
parameters.
|
|
|
|
|
(dwarf2_const_value_attr): Update.
|
|
|
|
|
|
2013-05-06 19:38:04 +00:00
|
|
|
|
2013-05-06 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* somread.c (som_symfile_offsets): Add 'const' to addrs.
|
|
|
|
|
* machoread.c (macho_symfile_offsets): Add 'const' to addrs.
|
|
|
|
|
* xcoffread.c (xcoff_symfile_offsets): Add 'const' to addrs.
|
|
|
|
|
Remove declaration.
|
|
|
|
|
|
2013-05-06 19:28:36 +00:00
|
|
|
|
2013-05-06 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* dwarf2read.c (dwarf2_const_value_attr): Use 'obstack', not
|
|
|
|
|
objfile's obstack.
|
|
|
|
|
|
2013-05-06 18:50:08 +00:00
|
|
|
|
2013-05-06 Doug Evans <dje@google.com>
|
|
|
|
|
|
2013-05-06 19:15:17 +00:00
|
|
|
|
* dbxread.c (process_one_symbol): Constify section_offsets parameter.
|
|
|
|
|
* stabsread.h (process_one_symbol): Update declaration.
|
|
|
|
|
* dwarf2read.c (dw2_relocate): Constify new_offsets, delta parameters.
|
|
|
|
|
* elfread.c (elf_symfile_relocate_probe): Ditto.
|
|
|
|
|
* psymtab.c (relocate_psymtabs): Ditto.
|
|
|
|
|
* objfiles.c (objfile_relocate1): Constify new_offsets parameter.
|
|
|
|
|
(objfile_relocate): Ditto.
|
|
|
|
|
* objfiles.h (objfile_relocate): Update declaration.
|
|
|
|
|
* symfile.c (relative_addr_info_to_section_offsets): Constify
|
|
|
|
|
addrs parameter.
|
|
|
|
|
(default_symfile_offsets): Ditto.
|
|
|
|
|
(syms_from_objfile_1): Constify offsets parameter.
|
|
|
|
|
(syms_from_objfile): Ditto.
|
|
|
|
|
(symbol_file_add_with_addrs_or_offsets): Ditto.
|
|
|
|
|
(symfile_map_offsets_to_segments): Constify data parameter.
|
|
|
|
|
* symfile.h (struct quick_symbol_functions): Constify new_offsets,
|
|
|
|
|
delta parameters of member relocate.
|
|
|
|
|
(struct sym_probe_fns): Constify new_offsets,
|
|
|
|
|
delta parameters of member sym_relocate_probe.
|
|
|
|
|
(struct sym_fns): Constify section_addr_info parameter of member
|
|
|
|
|
sym_offsets.
|
|
|
|
|
(relative_addr_info_to_section_offsets): Update declaration.
|
|
|
|
|
(default_symfile_offsets): Ditto.
|
|
|
|
|
(syms_from_objfile): Ditto.
|
|
|
|
|
(symfile_map_offsets_to_segments): Ditto.
|
|
|
|
|
|
2013-05-06 18:50:08 +00:00
|
|
|
|
* symfile.c (syms_from_objfile_1): Use correct section count when
|
|
|
|
|
objfile->sf == NULL.
|
|
|
|
|
|
2013-05-06 18:03:33 +00:00
|
|
|
|
2013-05-06 Mike Frysinger <vapier@gentoo.org>
|
|
|
|
|
|
|
|
|
|
* common/linux-btrace.c (intel_supports_btrace): Fix indentation.
|
|
|
|
|
|
2013-05-06 16:45:13 +00:00
|
|
|
|
2013-05-06 Doug Evans <dje@google.com>
|
|
|
|
|
|
|
|
|
|
* psympriv.h (struct partial_symtab): Augment comment for member
|
|
|
|
|
section_offsets.
|
|
|
|
|
|
Reimplement shared library support on ppc-aix...
... using the target_so_ops framework.
gdb/ChangeLog:
* target.h (TARGET_OBJECT_AIX_LIBRARIES): New target_object enum.
* features/library-list-aix.dtd: New file.
* solib-aix.h, solib-aix.c: New file.
* rs6000-aix-tdep.c: #include "solib.h" and "solib-aix.h".
(rs6000_find_toc_address_hook): Delete.
(rs6000_push_dummy_call): Rewrite code setting the TOC value.
(rs6000_aix_init_osabi): Register solib_aix_so_ops.
* rs6000-nat.c: Remove "xcoffsolib.h" include. Include
"xml-utils.h".
(map_vmap, vmap_exec, vmap_ldinfo, add_vmap, objfile_symbol_add)
(vmap_symtab, fixup_breakpoints): Delete.
(rs6000_xfer_shared_libraries): New function.
(rs6000_xfer_partial): Add TARGET_OBJECT_AIX_LIBRARIES handling.
(vmap_secs, bss_data_overlap, vmap_add_symbols): Delete.
(xcoff_relocate_symtab, xcoff_relocate_core): Delete.
(rs6000_ptrace_ldinfo, rs6000_core_ldinfo)
(rs6000_xfer_shared_library): New function.
(find_toc_address): Delete.
(_initialize_rs6000_nat): Do not set rs6000_find_toc_address_hook.
* rs6000-tdep.h (rs6000_find_toc_address_hook): Remove.
* xcoffread.c (record_minimal_symbol): Reloate symbol address
before creating minimal symbol. Adjust function description
accordingly.
(scan_xcoff_symtab): Replace call to
prim_record_minimal_symbol_and_info by call to
record_minimal_symbol.
(xcoff_symfile_offsets): Reimplement mostly as a wrapper
around default_symfile_offsets.
* configure.tgt: Add solib-aix.o to gdb_target_obs for
powerpc-aix targets.
* config/rs6000/nm-rs6000.h: Delete.
* config/powerpc/aix.mh (NAT_FILE): Delete.
(NATDEPFILES): Remove xcoffsolib.o.
* Makefile.in (XMLFILES): Add library-list-aix.dtd.
(ALL_TARGET_OBS): Add solib-aix.o.
(HFILES_NO_SRCDIR): Remove xcoffsolib.h and
config/rs6000/nm-rs6000.h. Add solib-aix.h.
(ALLDEPFILES): Add solib-aix.c. Remove xcoffsolib.c.
* xcoffsolib.h, xcoffsolib.c: Delete.
* solib.c (reload_shared_libraries): Remove reference to
SOLIB_CREATE_INFERIOR_HOOK.
* breakpoint.c (handle_solib_event): Remove reference to SOLIB_ADD.
(disable_breakpoints_in_shlibs): Remove reference to PC_SOLIB.
(momentary_bkpt_re_set): Replace SOLIB_ADD by solib_add in
comment.
* corelow.c (deprecated_core_resize_section_table): Delete.
* exec.c: Remove include of xcoffsolib.h".
(map_vmap, vmap): Delete.
(exec_close_1): Remove references to vmap.
(exec_file_attach): Remove vmap handling code, and reference
to DEPRECATED_IBM6000_TARGET.
(bfdsec_to_vmap): Delete.
(exec_files_info): Remove block of code handling VMAP.
* infcmd.c (post_create_inferior): Remove reference to
SOLIB_CREATE_INFERIOR_HOOK and SOLIB_ADD.
* infrun.c (follow_exec): Remove reference to
SOLIB_CREATE_INFERIOR_HOOK.
* stack.c (print_frame): Remove reference to PC_SOLIB.
* solib-dsbt.c (dsbt_current_sos): Adjust comment.
(dsbt_relocate_main_executable): Likewise.
* solib-frv.c (frv_current_sos): Likewise.
gdb/doc/ChangeLog:
* gdbint.texinfo (Algorithms): Remove entries documenting
DEPRECATED_IBM6000_TARGET, SOLIB_ADD, and
SOLIB_CREATE_INFERIOR_HOOK.
2013-05-06 14:15:50 +00:00
|
|
|
|
2013-05-06 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
Reimplement shared library support on ppc-aix...
|
|
|
|
|
* target.h (TARGET_OBJECT_AIX_LIBRARIES): New target_object enum.
|
|
|
|
|
* features/library-list-aix.dtd: New file.
|
|
|
|
|
* solib-aix.h, solib-aix.c: New file.
|
|
|
|
|
* rs6000-aix-tdep.c: #include "solib.h" and "solib-aix.h".
|
|
|
|
|
(rs6000_find_toc_address_hook): Delete.
|
|
|
|
|
(rs6000_push_dummy_call): Rewrite code setting the TOC value.
|
|
|
|
|
(rs6000_aix_init_osabi): Register solib_aix_so_ops.
|
|
|
|
|
* rs6000-nat.c: Remove "xcoffsolib.h" include. Include
|
|
|
|
|
"xml-utils.h".
|
|
|
|
|
(map_vmap, vmap_exec, vmap_ldinfo, add_vmap, objfile_symbol_add)
|
|
|
|
|
(vmap_symtab, fixup_breakpoints): Delete.
|
|
|
|
|
(rs6000_xfer_shared_libraries): New function.
|
|
|
|
|
(rs6000_xfer_partial): Add TARGET_OBJECT_AIX_LIBRARIES handling.
|
|
|
|
|
(vmap_secs, bss_data_overlap, vmap_add_symbols): Delete.
|
|
|
|
|
(xcoff_relocate_symtab, xcoff_relocate_core): Delete.
|
|
|
|
|
(rs6000_ptrace_ldinfo, rs6000_core_ldinfo)
|
|
|
|
|
(rs6000_xfer_shared_library): New function.
|
|
|
|
|
(find_toc_address): Delete.
|
|
|
|
|
(_initialize_rs6000_nat): Do not set rs6000_find_toc_address_hook.
|
|
|
|
|
* rs6000-tdep.h (rs6000_find_toc_address_hook): Remove.
|
|
|
|
|
* xcoffread.c (record_minimal_symbol): Reloate symbol address
|
|
|
|
|
before creating minimal symbol. Adjust function description
|
|
|
|
|
accordingly.
|
|
|
|
|
(scan_xcoff_symtab): Replace call to
|
|
|
|
|
prim_record_minimal_symbol_and_info by call to
|
|
|
|
|
record_minimal_symbol.
|
|
|
|
|
(xcoff_symfile_offsets): Reimplement mostly as a wrapper
|
|
|
|
|
around default_symfile_offsets.
|
|
|
|
|
* configure.tgt: Add solib-aix.o to gdb_target_obs for
|
|
|
|
|
powerpc-aix targets.
|
|
|
|
|
* config/rs6000/nm-rs6000.h: Delete.
|
|
|
|
|
* config/powerpc/aix.mh (NAT_FILE): Delete.
|
|
|
|
|
(NATDEPFILES): Remove xcoffsolib.o.
|
|
|
|
|
* Makefile.in (XMLFILES): Add library-list-aix.dtd.
|
|
|
|
|
(ALL_TARGET_OBS): Add solib-aix.o.
|
|
|
|
|
(HFILES_NO_SRCDIR): Remove xcoffsolib.h and
|
|
|
|
|
config/rs6000/nm-rs6000.h. Add solib-aix.h.
|
|
|
|
|
(ALLDEPFILES): Add solib-aix.c. Remove xcoffsolib.c.
|
|
|
|
|
* xcoffsolib.h, xcoffsolib.c: Delete.
|
|
|
|
|
|
|
|
|
|
* solib.c (reload_shared_libraries): Remove reference to
|
|
|
|
|
SOLIB_CREATE_INFERIOR_HOOK.
|
|
|
|
|
* breakpoint.c (handle_solib_event): Remove reference to SOLIB_ADD.
|
|
|
|
|
(disable_breakpoints_in_shlibs): Remove reference to PC_SOLIB.
|
|
|
|
|
(momentary_bkpt_re_set): Replace SOLIB_ADD by solib_add in
|
|
|
|
|
comment.
|
|
|
|
|
* corelow.c (deprecated_core_resize_section_table): Delete.
|
|
|
|
|
* exec.c: Remove include of xcoffsolib.h".
|
|
|
|
|
(map_vmap, vmap): Delete.
|
|
|
|
|
(exec_close_1): Remove references to vmap.
|
|
|
|
|
(exec_file_attach): Remove vmap handling code, and reference
|
|
|
|
|
to DEPRECATED_IBM6000_TARGET.
|
|
|
|
|
(bfdsec_to_vmap): Delete.
|
|
|
|
|
(exec_files_info): Remove block of code handling VMAP.
|
|
|
|
|
* infcmd.c (post_create_inferior): Remove reference to
|
|
|
|
|
SOLIB_CREATE_INFERIOR_HOOK and SOLIB_ADD.
|
|
|
|
|
* infrun.c (follow_exec): Remove reference to
|
|
|
|
|
SOLIB_CREATE_INFERIOR_HOOK.
|
|
|
|
|
* stack.c (print_frame): Remove reference to PC_SOLIB.
|
|
|
|
|
* solib-dsbt.c (dsbt_current_sos): Adjust comment.
|
|
|
|
|
(dsbt_relocate_main_executable): Likewise.
|
|
|
|
|
* solib-frv.c (frv_current_sos): Likewise.
|
|
|
|
|
|
2013-05-06 12:55:52 +00:00
|
|
|
|
2013-05-06 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* sol-thread.c (rw_common): Cast BUF to "gdb_byte *" in calls
|
|
|
|
|
to target_write_memory and target_read_memory.
|
|
|
|
|
|
2013-05-06 12:41:14 +00:00
|
|
|
|
2013-05-06 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* darwin-nat.c (darwin_setup_fake_stop_event): New function.
|
|
|
|
|
(darwin_attach): Adjust using darwin_setup_fake_stop_event.
|
|
|
|
|
|
2013-05-06 12:37:52 +00:00
|
|
|
|
2013-05-06 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* darwin-nat.c: Replace all "%x" instances in format strings
|
|
|
|
|
into "0x%x" throughout.
|
|
|
|
|
|
2013-05-06 12:35:46 +00:00
|
|
|
|
2013-05-06 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* darwin-nat.c (darwin_mourn_inferior): Replace call to
|
|
|
|
|
gdb_assert by call to MACH_CHECK_ERROR.
|
|
|
|
|
(darwin_attach_pid): Raise an error rather than a failed
|
|
|
|
|
assertion when various system calls failed. Report a warning
|
|
|
|
|
instead of raising a failed assertion when PREV_NOT is not NULL
|
|
|
|
|
after call to mach_port_request_notification.
|
|
|
|
|
(darwin_ptrace_me): Raise an error rather than a failed
|
|
|
|
|
assertion when read returns nonzero.
|
|
|
|
|
|
2013-05-06 12:33:00 +00:00
|
|
|
|
2013-05-06 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* amd64-darwin-tdep.c: Remove #include "gdb_assert.h".
|
|
|
|
|
|
2013-05-05 16:56:07 +00:00
|
|
|
|
2013-05-05 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
* cleanups.c (restore_my_cleanups): New gdb_assert for SENTINEL_CLEANUP.
|
|
|
|
|
|
2013-05-05 16:54:26 +00:00
|
|
|
|
2013-05-05 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
* event-top.c (display_gdb_prompt): Call missing do_cleanups.
|
|
|
|
|
* infcmd.c (get_return_value) <!stop_regs>: Do not overwrite CLEANUP.
|
|
|
|
|
* symfile.c (symfile_bfd_open): New variable back_to. Do not leave
|
|
|
|
|
a stale cleanup. Fix double free of NAME.
|
|
|
|
|
|
2013-05-04 13:36:18 +00:00
|
|
|
|
2013-05-04 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
|
|
|
|
|
|
* windows-nat.c (windows_delete_thread): Accept an additional
|
|
|
|
|
argument, the thread's exit code, and announce thread death when
|
|
|
|
|
print_thread_events is non-zero and we are deleting a thread that
|
|
|
|
|
is not the main thread.
|
|
|
|
|
(get_windows_debug_event): Pass thread exit code to
|
|
|
|
|
windows_delete_thread.
|
|
|
|
|
|
* v850-tdep.c (elf-bfd.h, elf/v850.h): Include.
(R_149_REGNUM, E_NUM_OF_V850E2_REGS, E_SELID_1_R0_REGNUM)
(E_SELID_1_R31_REGNUM, E_SELID_2_R0_REGNUM, E_SELID_2_R31_REGNUM)
(E_SELID_3_R0_REGNUM, E_SELID_3_R31_REGNUM, E_SELID_4_R0_REGNUM)
(E_SELID_4_R31_REGNUM, E_SELID_5_R0_REGNUM, E_SELID_5_R31_REGNUM)
(E_SELID_6_R0_REGNUM, E_SELID_6_R31_REGNUM, E_SELID_7_R0_REGNUM, E_SELID_7_R31_REGNUM)
(E_VR0_REGNUM, E_VR31_REGNUM, E_NUM_OF_V850E3V5_REGS): Define.
(v850_abi, V850_ABI_GCC, V850_ABI_RH850): New enum and constants.
(gdbarch_tdep): New struct.
(v850e2_register_name): Use E_NUM_OF_V850E2_REGS instead of
E_NUM_REGS.
(v850e3v5_register_name): New function.
(v850_register_type): v850e3v5 vector registers are 64-bits wide.
(v850_use_struct_convention): Add `gdbarch' parameter. Add new
code handling the struct return conventions for the RH850 ABI.
Update all callers.
(v850_eight_byte_align_p): New function.
(v850_push_call_dummy): Push structs by value, not by reference
for the RH850 ABI. Add support for eight byte alignment.
(v850_dbtrap_breakpoint_from_pc): New function.
(v850_gdbarch_init): Add ABI detection code. Register
v850e3v5_register_name for the v850e3v5 architecture. Set the
number of registers for v850e3v5. Register
v850_dbtrap_breakpoint_from_pc as appropriate.
(_initialize_gdbarch_init): Registration bfd_arch_v850_rh850.
2013-05-04 06:25:20 +00:00
|
|
|
|
2013-05-03 Kevin Buettner <kevinb@redhat.com>
|
|
|
|
|
|
|
|
|
|
* v850-tdep.c (elf-bfd.h, elf/v850.h): Include.
|
|
|
|
|
(R_149_REGNUM, E_NUM_OF_V850E2_REGS, E_SELID_1_R0_REGNUM)
|
|
|
|
|
(E_SELID_1_R31_REGNUM, E_SELID_2_R0_REGNUM, E_SELID_2_R31_REGNUM)
|
|
|
|
|
(E_SELID_3_R0_REGNUM, E_SELID_3_R31_REGNUM, E_SELID_4_R0_REGNUM)
|
|
|
|
|
(E_SELID_4_R31_REGNUM, E_SELID_5_R0_REGNUM, E_SELID_5_R31_REGNUM)
|
|
|
|
|
(E_SELID_6_R0_REGNUM, E_SELID_6_R31_REGNUM, E_SELID_7_R0_REGNUM, E_SELID_7_R31_REGNUM)
|
|
|
|
|
(E_VR0_REGNUM, E_VR31_REGNUM, E_NUM_OF_V850E3V5_REGS): Define.
|
|
|
|
|
(v850_abi, V850_ABI_GCC, V850_ABI_RH850): New enum and constants.
|
|
|
|
|
(gdbarch_tdep): New struct.
|
|
|
|
|
(v850e2_register_name): Use E_NUM_OF_V850E2_REGS instead of
|
|
|
|
|
E_NUM_REGS.
|
|
|
|
|
(v850e3v5_register_name): New function.
|
|
|
|
|
(v850_register_type): v850e3v5 vector registers are 64-bits wide.
|
|
|
|
|
(v850_use_struct_convention): Add `gdbarch' parameter. Add new
|
|
|
|
|
code handling the struct return conventions for the RH850 ABI.
|
|
|
|
|
Update all callers.
|
|
|
|
|
(v850_eight_byte_align_p): New function.
|
|
|
|
|
(v850_push_call_dummy): Push structs by value, not by reference
|
|
|
|
|
for the RH850 ABI. Add support for eight byte alignment.
|
|
|
|
|
(v850_dbtrap_breakpoint_from_pc): New function.
|
|
|
|
|
(v850_gdbarch_init): Add ABI detection code. Register
|
|
|
|
|
v850e3v5_register_name for the v850e3v5 architecture. Set the
|
|
|
|
|
number of registers for v850e3v5. Register
|
|
|
|
|
v850_dbtrap_breakpoint_from_pc as appropriate.
|
|
|
|
|
(_initialize_gdbarch_init): Registration bfd_arch_v850_rh850.
|
|
|
|
|
|
2013-05-04 06:19:31 +00:00
|
|
|
|
2013-05-03 Doug Evans <dje@google.com>
|
|
|
|
|
|
|
|
|
|
* objfiles.c (objfile_relocate): Use gdb_bfd_count_sections instead
|
|
|
|
|
of bfd_count_sections.
|
|
|
|
|
* solib-target.c (solib_target_relocate_section_addresses): Ditto.
|
|
|
|
|
* symfile.c (default_symfile_offsets): Ditto.
|
|
|
|
|
(syms_from_objfile_1): Ditto. Make dummy addrs list an array of
|
|
|
|
|
one entry, not bfd_count_sections entries.
|
|
|
|
|
|
2013-05-04 06:14:53 +00:00
|
|
|
|
2013-05-03 Kevin Buettner <kevinb@redhat.com>
|
|
|
|
|
|
|
|
|
|
* rl78-tdep.c (rl78_register_reggroup_p): Include SP in the
|
|
|
|
|
`save' and `restore' register groups. Don't include SPL
|
|
|
|
|
or SPH in these groups.
|
|
|
|
|
(rl78_dwarf_reg_to_regnum): Adjust mapping for
|
|
|
|
|
RL78_PC_REGNUM. Add mappings for RL78_PSW_REGNUM,
|
|
|
|
|
RL78_ES_REGNUM, and RL78_CS_REGNUM.
|
|
|
|
|
(rl78_gdbarch_init): Set `dwarf2_addr_size' to 4. Invoke
|
|
|
|
|
dwarf2_append_unwinders().
|
|
|
|
|
|
2013-05-03 19:16:56 +00:00
|
|
|
|
2013-05-03 Philippe Waroquiers <philippe.waroquiers@skynet.be>
|
|
|
|
|
|
|
|
|
|
* break-catch-sig.c (signal_catchpoint_breakpoint_hit): Do not
|
|
|
|
|
ignore SIGINT and SIGTRAP in case these internal signals are
|
|
|
|
|
caught explicitely.
|
|
|
|
|
|
2013-05-01 14:54:18 +00:00
|
|
|
|
2013-05-01 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* darwin-nat.c (darwin_read_write_inferior): Change types
|
|
|
|
|
of parameters rdaddr and wraddr to "gdb_byte *". Change type
|
|
|
|
|
of copy_count to "mach_msg_type_number_t".
|
|
|
|
|
(darwin_read_dyld_info): Change type of parameter
|
|
|
|
|
rdaddr to "gdb_byte *".
|
|
|
|
|
|
2013-05-01 14:33:00 +00:00
|
|
|
|
2013-05-01 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* solib-ia64-hpux.c (ia64_hpux_read_dynamic_info): Change cast
|
|
|
|
|
of &info->load_map from "char *" to "gdb_byte *".
|
|
|
|
|
|
2013-05-01 14:31:55 +00:00
|
|
|
|
2013-05-01 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* ia64-tdep.c (ia64_access_fpreg): Change cast of val
|
|
|
|
|
from "char *" to "gdb_byte *".
|
|
|
|
|
(ia64_access_rse_fpreg, ia64_access_mem): Likewise.
|
|
|
|
|
|
2013-04-30 21:11:50 +00:00
|
|
|
|
2013-04-30 Doug Evans <dje@google.com>
|
|
|
|
|
|
2013-04-30 23:19:41 +00:00
|
|
|
|
* dwarf2read.c (lookup_dwo_unit): Return NULL if DWO not found.
|
|
|
|
|
(init_cutu_and_read_dies): Flag a complaint, not error, for bad
|
|
|
|
|
DWO stub. If DWO isn't found, just use stub.
|
|
|
|
|
(lookup_dwo_cutu): Don't try DWO if there's a DWP file.
|
|
|
|
|
|
2013-04-30 21:11:50 +00:00
|
|
|
|
* dwarf2read.c (dw2_find_symbol_file): Initialize filename before
|
|
|
|
|
calling init_cutu_and_read_dies.
|
|
|
|
|
|
Fix display of structures/bitfields in register description.
Add support for displaying structures and bitfields for registers when
executing "maint print c-tdesc". This command is also used when
converting the xml target description file into c file.
Example of the behaviour is given below reporting a snipet of the xml file
and a snippet of the c code generated.
XML file contains:
...
<union id="vecint">
<field name="v4" type="v4int8"/>
<field name="v2" type="v2int16"/>
</union>
<struct id="struct1">
<field name="v4" type="v4int8"/>
<field name="v2" type="v2int16"/>
</struct>
<struct id="struct2" size="8">
<field name="f1" start="0" end="34"/>
<field name="f2" start="63" end="63"/>
</struct>
...
Setting this xml file as target description file and
issuing the maintenance print c-tdesc the following output
is obtained:
feature = tdesc_create_feature (result, "extra");
field_type = tdesc_named_type (feature, "int8");
tdesc_create_vector (feature, "v4int8", field_type, 4);
field_type = tdesc_named_type (feature, "int16");
tdesc_create_vector (feature, "v2int16", field_type, 2);
type = tdesc_create_union (feature, "vecint");
field_type = tdesc_named_type (feature, "v4int8");
tdesc_add_field (type, "v4", field_type);
field_type = tdesc_named_type (feature, "v2int16");
tdesc_add_field (type, "v2", field_type);
C output is not supported type "struct1".
This is finally the issue.
2013-03-27 Walfred Tedeschi <walfred.tedeschi@intel.com>
* target-descriptions.c (maint_print_c_tdesc_cmd):
Add case to parse structures as register types and
bitfields.
testsuite/
* gdb.xml/maint_print_struct.exp: New file.
* gdb.xml/maint_print_struct.xml: New file.
Change-Id: I2e20b095d508319c80275e724a9452c7e2834067
Signed-off-by: Walfred Tedeschi <walfred.tedeschi@intel.com>
2013-04-30 12:33:52 +00:00
|
|
|
|
2013-03-27 Walfred Tedeschi <walfred.tedeschi@intel.com>
|
|
|
|
|
|
|
|
|
|
* target-descriptions.c (maint_print_c_tdesc_cmd):
|
|
|
|
|
Add case to parse structures as register types and
|
|
|
|
|
bitfields.
|
|
|
|
|
|
2013-04-30 11:17:20 +00:00
|
|
|
|
2013-04-30 Walfred Tedeschi <walfred.tedeschi@intel.com>
|
|
|
|
|
|
|
|
|
|
* MAINTAINERS (Write After Approval): Add myself to the list.
|
|
|
|
|
|
2013-04-30 11:52:13 +00:00
|
|
|
|
2013-04-30 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* sol-thread.c (rw_common): Change type of parameter "buf"
|
|
|
|
|
to "gdb_byte *".
|
|
|
|
|
(ps_pdwrite, ps_ptwrite): Cast parameter "buf" in call to
|
|
|
|
|
rw_common to "gdb_byte *" instead of "char *".
|
|
|
|
|
|
2013-04-30 11:36:45 +00:00
|
|
|
|
2013-04-30 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* sol-thread.c (info_cb) [ti.ti_startfunc != 0]: Change type
|
|
|
|
|
of local variable msym to const struct bound_minimal_symbol.
|
|
|
|
|
Adjust use accordingly.
|
|
|
|
|
[ti.ti_state == TD_THR_SLEEP]: Likewise.
|
|
|
|
|
|
2013-04-30 09:27:43 +00:00
|
|
|
|
2013-04-30 Samuel Thibault <samuel.thibault@gnu.org>
|
|
|
|
|
|
|
|
|
|
* i386gnu-nat.c (CREG_OFFSET): New macro.
|
|
|
|
|
(creg_offset): New array.
|
|
|
|
|
(CREG_ADDR): Use creg_offset instead of reg_offset.
|
|
|
|
|
|
2013-04-30 11:56:23 +00:00
|
|
|
|
2013-04-30 Joel Brobecker <brobecker@adacore.com>
|
2013-04-30 08:28:54 +00:00
|
|
|
|
|
|
|
|
|
* mep-tdep.c (mep_write_pc): Delete.
|
|
|
|
|
(mep_gdbarch_init): Remove call to set_gdbarch_write_pc.
|
|
|
|
|
Add call to set_gdbarch_pc_regnum.
|
|
|
|
|
|
2013-04-30 11:56:23 +00:00
|
|
|
|
2013-04-30 Joel Brobecker <brobecker@adacore.com>
|
2013-04-30 08:20:47 +00:00
|
|
|
|
|
|
|
|
|
* common/filestuff.c: Replace #include <dirent.h> by
|
|
|
|
|
#include "gdb_dirent.h".
|
|
|
|
|
|
2013-04-30 11:56:23 +00:00
|
|
|
|
2013-04-30 Joel Brobecker <brobecker@adacore.com>
|
2013-04-30 08:20:04 +00:00
|
|
|
|
|
|
|
|
|
* common/filestuff.c: Replace #include <sys/stat.h> by
|
|
|
|
|
#include "gdb_stat.h".
|
|
|
|
|
|
2013-04-29 09:52:07 +00:00
|
|
|
|
2013-04-29 Pierre Muller <muller@sourceware.org>
|
|
|
|
|
|
|
|
|
|
* dwarf2read.c (handle_DW_AT_stmt_list): Avoid ARI warning for
|
|
|
|
|
editCase function rule.
|
|
|
|
|
(get_DW_AT_signature_type): Likewise.
|
|
|
|
|
|
2013-04-29 10:08:46 +00:00
|
|
|
|
2013-04-29 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* m32r-tdep.c (m32r_write_pc): Delete.
|
|
|
|
|
(m32r_gdbarch_init): Remove call to set_gdbarch_write_pc.
|
|
|
|
|
Add call to set_gdbarch_pc_regnum.
|
|
|
|
|
|
2013-04-29 08:32:18 +00:00
|
|
|
|
2013-04-29 Pierre Muller <muller@sourceware.org>
|
|
|
|
|
|
|
|
|
|
* ./contrib/ari/gdb_ari.sh (editCase rule): Fix spelling error.
|
|
|
|
|
|
2013-04-29 05:05:44 +00:00
|
|
|
|
2013-04-29 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* dwarf2read.c (get_DW_AT_signature_type): Add ARI marker.
|
|
|
|
|
|
2013-04-28 08:58:29 +00:00
|
|
|
|
2013-04-28 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* solib-dsbt.c (fetch_loadmap): Re-indent.
|
|
|
|
|
(displacement_from_map, enable_break2): Likewise.
|
|
|
|
|
(dsbt_relocate_section_addresses): Likewise.
|
|
|
|
|
|
2013-04-26 14:07:53 +00:00
|
|
|
|
2013-04-26 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
GDB 7.6 released.
|
|
|
|
|
|
2013-04-25 16:25:37 +00:00
|
|
|
|
2013-04-25 Andreas Kaufmann <Andreas.Kaufmann@synopsys.com>
|
|
|
|
|
|
|
|
|
|
PR corefiles/14983:
|
|
|
|
|
* dwarf2read.c (process_full_comp_unit): Always create a static
|
|
|
|
|
block.
|
|
|
|
|
|
2013-04-24 23:09:31 +00:00
|
|
|
|
2013-04-25 Hui Zhu <hui@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* breakpoint.c (build_target_command_list): Change loc->cond_bytecode
|
|
|
|
|
to loc->cmd_bytecode.
|
|
|
|
|
|
2013-04-24 19:12:26 +00:00
|
|
|
|
2013-04-24 Doug Evans <dje@google.com>
|
|
|
|
|
|
|
|
|
|
* dwarf2read.c (setup_type_unit_groups): Fix comment.
|
|
|
|
|
|
2013-04-24 18:22:31 +00:00
|
|
|
|
2013-04-22 Keith Seitz <keiths@redhat.com>
|
|
|
|
|
|
|
|
|
|
* tracepoint.c (trace_save): Call the writer's start method.
|
|
|
|
|
|
2013-04-24 14:29:17 +00:00
|
|
|
|
2013-04-24 Muhammad Bilal <mbilal@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
PR gdb/10462
|
|
|
|
|
* cli/cli-decode.c (lookup_command): Show an error if there is no space
|
|
|
|
|
before argument.
|
|
|
|
|
|
2013-04-23 15:49:25 +00:00
|
|
|
|
2013-04-23 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* common/filestuff.c: Check USE_WIN32API before including
|
|
|
|
|
sys/socket.h.
|
|
|
|
|
(HAVE_F_GETFD): New define.
|
|
|
|
|
(mark_cloexec): Check HAVE_F_GETFD.
|
|
|
|
|
(gdb_open_cloexec): Change 'mode' to unsigned long.
|
|
|
|
|
(gdb_socketpair_cloexec): Check HAVE_SOCKETPAIR.
|
|
|
|
|
(gdb_pipe_cloexec): Check HAVE_PIPE.
|
|
|
|
|
* common/filestuff.h (gdb_open_cloexec): Change 'mode' to unsigned
|
|
|
|
|
long.
|
|
|
|
|
|
2013-04-23 03:20:21 +00:00
|
|
|
|
2013-04-23 Hui Zhu <hui@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
PR gdb/15293
|
|
|
|
|
* breakpoint.c (bpstat_what): Add BPSTAT_WHAT_SINGLE to bp_dprintf.
|
|
|
|
|
|
2013-04-23 02:42:44 +00:00
|
|
|
|
2013-04-23 Hui Zhu <hui@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
PR gdb/15165
|
|
|
|
|
* breakpoint.c (dprintf_print_recreate): New.
|
|
|
|
|
(save_breakpoints): Let it not save dprintf commands.
|
|
|
|
|
(initialize_breakpoint_ops): Set dprintf_print_recreate.
|
|
|
|
|
|
PR gdb/7912:
* Makefile.in (SFILES): Add filestuff.c
(COMMON_OBS): Add filestuff.o.
(filestuff.o): New target.
* auto-load.c (auto_load_objfile_script_1): Use
gdb_fopen_cloexec.
* auxv.c (procfs_xfer_auxv): Use gdb_open_cloexec.
* cli/cli-cmds.c (shell_escape): Call close_most_fds.
* cli/cli-dump.c (fopen_with_cleanup): Use gdb_fopen_cloexec.
* common/agent.c (gdb_connect_sync_socket): Use
gdb_socket_cloexec.
* common/filestuff.c: New file.
* common/filestuff.h: New file.
* common/linux-osdata.c (linux_common_core_of_thread)
(command_from_pid, commandline_from_pid, print_source_lines)
(linux_xfer_osdata_shm, linux_xfer_osdata_sem)
(linux_xfer_osdata_msg, linux_xfer_osdata_modules): Use
gdb_fopen_cloexec.
* common/linux-procfs.c (linux_proc_get_int)
(linux_proc_pid_has_state): Use gdb_fopen_cloexec.
* config.in, configure: Rebuild.
* configure.ac: Don't check for sys/socket.h. Check for
fdwalk, pipe2.
* corelow.c (core_open): Use gdb_open_cloexec.
* dwarf2read.c (write_psymtabs_to_index): Use gdb_fopen_cloexec.
* fork-child.c (fork_inferior): Call close_most_fds.
* gdb_bfd.c (gdb_bfd_open): Use gdb_open_cloexec.
* inf-child.c (inf_child_fileio_readlink): Use gdb_open_cloexec.
* linux-nat.c (linux_nat_thread_name, linux_proc_pending_signals):
Use gdb_fopen_cloexec.
(linux_proc_xfer_partial, linux_proc_xfer_spu): Use
gdb_open_cloexec.
(linux_async_pipe): Use gdb_pipe_cloexec.
* remote-fileio.c (remote_fileio_func_open): Use
gdb_open_cloexec.
* remote.c (remote_file_put, remote_file_get): Use
gdb_fopen_cloexec.
* ser-pipe.c (pipe_open): Use gdb_socketpair_cloexec,
close_most_fds.
* ser-tcp.c (net_open): Use gdb_socket_cloexec.
* ser-unix.c (hardwire_open): Use gdb_open_cloexec.
* solib.c (solib_find): Use gdb_open_cloexec.
* source.c (openp, find_and_open_source): Use gdb_open_cloexec.
* tracepoint.c (tfile_start): Use gdb_fopen_cloexec.
(tfile_open): Use gdb_open_cloexec.
* tui/tui-io.c (tui_initialize_io): Use gdb_pipe_cloexec.
* ui-file.c (gdb_fopen): Use gdb_fopen_cloexec.
* xml-support.c (xml_fetch_content_from_file): Use
gdb_fopen_cloexec.
* main.c (captured_main): Call notice_open_fds.
gdbserver
* Makefile.in (SFILES): Add filestuff.c.
(OBS): Add filestuff.o.
(filestuff.o): New target.
* config.in, configure: Rebuild.
* configure.ac: Check for fdwalk, pipe2.
2013-04-22 16:46:15 +00:00
|
|
|
|
2013-04-22 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR gdb/7912:
|
|
|
|
|
* Makefile.in (SFILES): Add filestuff.c
|
|
|
|
|
(COMMON_OBS): Add filestuff.o.
|
|
|
|
|
(filestuff.o): New target.
|
|
|
|
|
* auto-load.c (auto_load_objfile_script_1): Use
|
|
|
|
|
gdb_fopen_cloexec.
|
|
|
|
|
* auxv.c (procfs_xfer_auxv): Use gdb_open_cloexec.
|
|
|
|
|
* cli/cli-cmds.c (shell_escape): Call close_most_fds.
|
|
|
|
|
* cli/cli-dump.c (fopen_with_cleanup): Use gdb_fopen_cloexec.
|
|
|
|
|
* common/agent.c (gdb_connect_sync_socket): Use
|
|
|
|
|
gdb_socket_cloexec.
|
|
|
|
|
* common/filestuff.c: New file.
|
|
|
|
|
* common/filestuff.h: New file.
|
|
|
|
|
* common/linux-osdata.c (linux_common_core_of_thread)
|
|
|
|
|
(command_from_pid, commandline_from_pid, print_source_lines)
|
|
|
|
|
(linux_xfer_osdata_shm, linux_xfer_osdata_sem)
|
|
|
|
|
(linux_xfer_osdata_msg, linux_xfer_osdata_modules): Use
|
|
|
|
|
gdb_fopen_cloexec.
|
|
|
|
|
* common/linux-procfs.c (linux_proc_get_int)
|
|
|
|
|
(linux_proc_pid_has_state): Use gdb_fopen_cloexec.
|
|
|
|
|
* config.in, configure: Rebuild.
|
|
|
|
|
* configure.ac: Don't check for sys/socket.h. Check for
|
|
|
|
|
fdwalk, pipe2.
|
|
|
|
|
* corelow.c (core_open): Use gdb_open_cloexec.
|
|
|
|
|
* dwarf2read.c (write_psymtabs_to_index): Use gdb_fopen_cloexec.
|
|
|
|
|
* fork-child.c (fork_inferior): Call close_most_fds.
|
|
|
|
|
* gdb_bfd.c (gdb_bfd_open): Use gdb_open_cloexec.
|
|
|
|
|
* inf-child.c (inf_child_fileio_readlink): Use gdb_open_cloexec.
|
|
|
|
|
* linux-nat.c (linux_nat_thread_name, linux_proc_pending_signals):
|
|
|
|
|
Use gdb_fopen_cloexec.
|
|
|
|
|
(linux_proc_xfer_partial, linux_proc_xfer_spu): Use
|
|
|
|
|
gdb_open_cloexec.
|
|
|
|
|
(linux_async_pipe): Use gdb_pipe_cloexec.
|
|
|
|
|
* remote-fileio.c (remote_fileio_func_open): Use
|
|
|
|
|
gdb_open_cloexec.
|
|
|
|
|
* remote.c (remote_file_put, remote_file_get): Use
|
|
|
|
|
gdb_fopen_cloexec.
|
|
|
|
|
* ser-pipe.c (pipe_open): Use gdb_socketpair_cloexec,
|
|
|
|
|
close_most_fds.
|
|
|
|
|
* ser-tcp.c (net_open): Use gdb_socket_cloexec.
|
|
|
|
|
* ser-unix.c (hardwire_open): Use gdb_open_cloexec.
|
|
|
|
|
* solib.c (solib_find): Use gdb_open_cloexec.
|
|
|
|
|
* source.c (openp, find_and_open_source): Use gdb_open_cloexec.
|
|
|
|
|
* tracepoint.c (tfile_start): Use gdb_fopen_cloexec.
|
|
|
|
|
(tfile_open): Use gdb_open_cloexec.
|
|
|
|
|
* tui/tui-io.c (tui_initialize_io): Use gdb_pipe_cloexec.
|
|
|
|
|
* ui-file.c (gdb_fopen): Use gdb_fopen_cloexec.
|
|
|
|
|
* xml-support.c (xml_fetch_content_from_file): Use
|
|
|
|
|
gdb_fopen_cloexec.
|
|
|
|
|
* main.c (captured_main): Call notice_open_fds.
|
|
|
|
|
|
2013-04-22 15:50:57 +00:00
|
|
|
|
2013-04-22 Edjunior Machado <emachado@linux.vnet.ibm.com>
|
|
|
|
|
|
|
|
|
|
* remote-sim.c (dump_mem): Change the type of 'buf' parameter from
|
|
|
|
|
'char *' to 'gdb_byte *'.
|
|
|
|
|
(gdbsim_store_register): Change the type of 'tmp' from 'char' to
|
|
|
|
|
'gdb_byte'.
|
|
|
|
|
|
2013-04-22 09:34:27 +00:00
|
|
|
|
2013-04-22 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* infrun.c: Fix typo in comment.
|
|
|
|
|
|
Andrew Haley found a bug on GDB running on ARM when using
--enable-64-bit-bfd. Basically the issue happens when dealing with "bl"
instructions: GDB does branch destination calculation and (wrongly)
sign-extends the PC. Here is a piece of his original message explaining
the problem:
> next_pc = arm_get_next_pc (frame, get_frame_pc (frame));
>
> /* The Linux kernel offers some user-mode helpers in a high page. We can
> not read this page (as of 2.6.23), and even if we could then we couldn't
> set breakpoints in it, and even if we could then the atomic operations
> would fail when interrupted. They are all called as functions and return
> to the address in LR, so step to there instead. */
> if (next_pc > 0xffff0000)
> next_pc = get_frame_register_unsigned (frame, ARM_LR_REGNUM);
>
> arm_insert_single_step_breakpoint (gdbarch, aspace, next_pc);
>
> Unfortunately, branch destination addresses are SIGN EXTENDED to 64
> bits. So,
>
> (top-gdb) p/x next_pc
> $14 = 0xffffffffb6df2864
>
> Which triggers the next_pc = get_frame_register_unsigned(), and we
> cannot step into any branches because the destination PC is wrong.
Anyway, the fix is simple and Andrew himself provided it for us. It
took a while for me to figure out how to trigger the bug (in order to
write a testcase for it), but I finally made it.
The attached patch fixes the problem (by casting to `unsigned long'
instead of just `long'), and also includes a testcase to reproduce the
issue.
gdb/ChangeLog:
2013-04-22 Andrew Haley <aph@redhat.com>
* arm-tdep.c (BranchDest): Cast result as "unsigned long",
instead of "long".
gdb/testsuite/ChangeLog:
2013-04-22 Sergio Durigan Junior <sergiodj@redhat.com>
* gdb.arch/arm-bl-branch-dest.c: New file.
* gdb.arch/arm-bl-branch-dest.exp: Likewise.
2013-04-22 09:20:33 +00:00
|
|
|
|
2013-04-22 Andrew Haley <aph@redhat.com>
|
|
|
|
|
|
|
|
|
|
* arm-tdep.c (BranchDest): Cast result as "unsigned long",
|
|
|
|
|
instead of "long".
|
|
|
|
|
|
2013-04-20 07:38:39 +00:00
|
|
|
|
2013-04-20 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* ctf.c (ctf_fetch_registers): Change the type of 'regs' from
|
|
|
|
|
'char *' to 'gdb_byte *'. Cast the return value of
|
|
|
|
|
'bt_ctf_get_char_array' to 'gdb_byte *'.
|
|
|
|
|
|
2013-04-19 18:32:54 +00:00
|
|
|
|
2013-04-19 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* configure.ac (build_warnings): Replace -Wno-pointer-sign with
|
|
|
|
|
-Wpointer-sign.
|
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
|
2013-04-19 17:48:10 +00:00
|
|
|
|
2013-04-19 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* ser-tcp.c (net_read_prim): Cast second argument to recv to
|
|
|
|
|
'void *'.
|
|
|
|
|
|
2013-04-19 17:44:18 +00:00
|
|
|
|
2013-04-19 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* monitor.c (monitor_write_memory, monitor_write_memory_bytes):
|
|
|
|
|
Change type of 'myaddr' parameter to gdb_byte pointer.
|
|
|
|
|
(monitor_write_memory_longlongs): Likewise. Cast 'myaddr' pointer
|
|
|
|
|
to 'long long' pointer instead of to 'unsigned long long'.
|
|
|
|
|
(monitor_write_memory_block, monitor_read_memory_single)
|
|
|
|
|
(monitor_read_memory): Change type of 'myaddr' parameter to
|
|
|
|
|
gdb_byte pointer.
|
|
|
|
|
|
2013-04-19 15:37:31 +00:00
|
|
|
|
2013-04-19 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* record.c (validate_history_size): Make parameter 'setting'
|
|
|
|
|
unsigned.
|
|
|
|
|
|
2013-04-19 15:36:52 +00:00
|
|
|
|
2013-04-19 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* ctf.c (ctf_write_uploaded_tsv, ctf_write_uploaded_tp): Add casts
|
|
|
|
|
to 'gdb_byte *'.
|
|
|
|
|
|
2013-04-19 15:36:24 +00:00
|
|
|
|
2013-04-19 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* cp-valprint.c (cp_print_class_member): Change type of 'fieldno'
|
|
|
|
|
local to int.
|
|
|
|
|
|
2013-04-19 15:35:58 +00:00
|
|
|
|
2013-04-19 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* ada-lang.c (print_it_exception): Add cast to gdb_byte *.
|
|
|
|
|
* ada-tasks.c (read_fat_string_value): Likewise.
|
|
|
|
|
|
2013-04-19 15:35:21 +00:00
|
|
|
|
2013-04-19 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* dwarf2-frame.c (execute_cfa_program): Make 'bytes_read' local
|
|
|
|
|
unsigned. Pass 'tmp' to safe_read_uleb128 instead of the signed
|
|
|
|
|
'offset', and adjust.
|
|
|
|
|
|
2013-04-19 15:34:46 +00:00
|
|
|
|
2013-04-19 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* dwarf2read.c (dwarf2_get_dwz_file): Add cast to const char *.
|
|
|
|
|
(read_index_from_section): Add cast to 'char *'.
|
|
|
|
|
|
2013-04-19 15:33:58 +00:00
|
|
|
|
2013-04-19 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* xcoffread.c (xcoff_initial_scan): Add cast to 'char *'.
|
|
|
|
|
|
2013-04-19 15:33:29 +00:00
|
|
|
|
2013-04-19 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* coff-pe-read.c (read_pe_exported_syms): Handle strings as char.
|
|
|
|
|
|
2013-04-19 15:32:56 +00:00
|
|
|
|
2013-04-19 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* record-full.c (record_full_get_bookmark): Change local 'ret'
|
|
|
|
|
type to char * and add cast to gdb_byte *.
|
|
|
|
|
(record_full_goto_bookmark): Handle 'bookmark' argument as a
|
|
|
|
|
string.
|
|
|
|
|
* reverse.c (goto_bookmark_command): Add casts to gdb_byte *.
|
|
|
|
|
|
2013-04-19 15:29:09 +00:00
|
|
|
|
2013-04-19 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* python/py-inferior.c (infpy_write_memory): Add cast to gdb_byte
|
|
|
|
|
* python/py-prettyprint.c (print_string_repr): Change type of
|
|
|
|
|
'output' local to char *. Add cast to gdb_byte * in
|
|
|
|
|
LA_PRINT_STRING call.
|
|
|
|
|
(print_children): Change type of 'output' local to char *.
|
|
|
|
|
* python/py-value.c (valpy_string): Add cast to const char * in
|
|
|
|
|
PyUnicode_Decode call.
|
|
|
|
|
|
2013-04-19 15:28:42 +00:00
|
|
|
|
2013-04-19 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* remote-mips.c (mips_cksum): Rename 'data' parameter to 'datastr'
|
|
|
|
|
and change its type to 'const char *'. Adjust.
|
|
|
|
|
(mips_send_packet): Add cast to 'char *', and remove cast to
|
|
|
|
|
'unsigned char *'.
|
|
|
|
|
(mips_receive_packet): Remove cast to 'unsigned char *'.
|
|
|
|
|
(mips_load_srec): Use bfd_byte.
|
|
|
|
|
(pmon_makeb64, pmon_zeroset): Make 'chksum' parameter unsigned.
|
|
|
|
|
(pmon_checkset): Make 'value' parameter unsigned.
|
|
|
|
|
|
2013-04-19 15:27:54 +00:00
|
|
|
|
2013-04-19 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* common/agent.c (agent_run_command): Add cast to gdb_byte *.
|
|
|
|
|
|
gdb_byte for binary buffer, char for string: remote.c, tracepoint.c.
While the RSP is largely ASCII based (hence the packet buffer type is
char *), at places we pass around 8-bit binary packets in that buffer.
Functions like hex2bin or remote_escape_output conceptually are
handling binary buffers, so I left them as working with gdb_byte, and
added casts where necessary. Whether these are host bytes or target
bytes is blurry at present, so this is largely a matter of taste.
Switching some of these functions to take "char *" or "void *" would
be equally good.
gdb/
2013-04-19 Pedro Alves <palves@redhat.com>
* remote.c (remote_write_bytes_aux, compare_sections_command)
(remote_read_qxfer)
(remote_search_memory, remote_hostio_pwrite, remote_hostio_pread)
(remote_hostio_readlink, remote_bfd_iovec_pread)
(remote_set_trace_notes): Use gdb_byte when RSP buffer is used as
binary buffer, and char when buffer is used as string.
* tracepoint.c (encode_source_string, tfile_write_uploaded_tp)
(trace_save, tfile_open, traceframe_walk_blocks)
(tfile_fetch_registers): Likewise.
2013-04-19 15:27:06 +00:00
|
|
|
|
2013-04-19 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* remote.c (remote_write_bytes_aux, compare_sections_command)
|
|
|
|
|
(remote_read_qxfer)
|
|
|
|
|
(remote_search_memory, remote_hostio_pwrite, remote_hostio_pread)
|
|
|
|
|
(remote_hostio_readlink, remote_bfd_iovec_pread)
|
|
|
|
|
(remote_set_trace_notes): Use gdb_byte when RSP buffer is used as
|
|
|
|
|
binary buffer, and char when buffer is used as string.
|
|
|
|
|
* tracepoint.c (encode_source_string, tfile_write_uploaded_tp)
|
|
|
|
|
(trace_save, tfile_open, traceframe_walk_blocks)
|
|
|
|
|
(tfile_fetch_registers): Likewise.
|
|
|
|
|
|
serial_write: change prototype to take a void-pointer buffer.
While remote.c works with "char *" buffers most of the time, other
remote targets have binary-ish-er protocols, and choose to use
"unsigned char" throughout, like e.g., remote-mips.c or
remote-m32r-sdi.c. That results in -Wpointer-sign warnings in those
targets, unless we add casts in calls to serial_write. Since
serial_write is only concerned about sending raw host bytes out, and
serial_ops->write_prim already works with "void *"/"size_t", a similar
interface to the "write" or "send" system calls, I find it natural to
change serial_write's prototype accordingly, avoiding the need for
casts.
Tested on x86_64 Fedora 17, and also by building x86_64-mingw32
and DJGPP/go32 -hosted gdbs.
gdb/
2013-04-19 Pedro Alves <palves@redhat.com>
* ser-base.c (ser_base_write): Change prototype -- take 'void *'
buffer and size_t size. Adjust.
* ser-base.h (ser_base_write): Adjust.
* ser-go32.c (cnts): Change type to size_t.
(dos_write): Change prototype -- take 'void *'
buffer and size_t size. Adjust.
(dos_info): Print elements of 'cnts' as unsigned long.
* serial.c (serial_write): Likewise.
* serial.h (serial_write): Adjust.
(struct serial_ops) <write>: Change prototype -- take 'void *'
buffer and size_t size. Adjust.
2013-04-19 15:26:17 +00:00
|
|
|
|
2013-04-19 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* ser-base.c (ser_base_write): Change prototype -- take 'void *'
|
|
|
|
|
buffer and size_t size. Adjust.
|
|
|
|
|
* ser-base.h (ser_base_write): Adjust.
|
|
|
|
|
* ser-go32.c (cnts): Change type to size_t.
|
|
|
|
|
(dos_write): Change prototype -- take 'void *'
|
|
|
|
|
buffer and size_t size. Adjust.
|
|
|
|
|
(dos_info): Print elements of 'cnts' as unsigned long.
|
|
|
|
|
* serial.c (serial_write): Likewise.
|
|
|
|
|
* serial.h (serial_write): Adjust.
|
|
|
|
|
(struct serial_ops) <write>: Change prototype -- take 'void *'
|
|
|
|
|
buffer and size_t size. Adjust.
|
|
|
|
|
|
2013-04-19 15:24:55 +00:00
|
|
|
|
2013-04-19 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* c-lang.c (evaluate_subexp_c): Cast result of obstack_base to
|
|
|
|
|
gdb_byte *.
|
|
|
|
|
* linux-tdep.c (linux_make_mappings_corefile_notes): Likewise.
|
|
|
|
|
|
2013-04-19 15:24:25 +00:00
|
|
|
|
2013-04-19 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* alpha-tdep.c (alpha_extract_return_value): Use
|
|
|
|
|
regcache_cooked_read_unsigned to read 'v0'.
|
|
|
|
|
|
2013-04-19 15:23:52 +00:00
|
|
|
|
2013-04-19 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* xtensa-tdep.c (execute_l32e, execute_s32e): Change type of
|
|
|
|
|
parameters 'at', 'as' and 'offset' to uint32_t.
|
|
|
|
|
|
2013-04-19 15:23:18 +00:00
|
|
|
|
2013-04-19 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* aarch64-tdep.c (aarch64_analyze_prologue): Change type of local
|
|
|
|
|
'is64' to signed 'int'.
|
|
|
|
|
|
2013-04-19 15:22:47 +00:00
|
|
|
|
2013-04-19 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* s390-tdep.c (is_rs, is_rsy, is_rx, is_rxy): Change type of 'd2'
|
|
|
|
|
parameter to int *.
|
|
|
|
|
|
2013-04-19 15:22:14 +00:00
|
|
|
|
2013-04-19 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* ppc-linux-tdep.c (ppc_skip_trampoline_code): Change local
|
|
|
|
|
'insnbuf' buffer type to unsigned int[].
|
|
|
|
|
|
2013-04-19 15:21:24 +00:00
|
|
|
|
2013-04-19 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* mips-tdep.c (mips_read_pc): Change local 'pc' type to LONGEST.
|
|
|
|
|
|
2013-04-19 15:15:55 +00:00
|
|
|
|
2013-04-19 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* mep-tdep.c (mep_get_insn): Change 'insn' parameter type to
|
|
|
|
|
unsigned long *.
|
|
|
|
|
|
2013-04-19 15:15:21 +00:00
|
|
|
|
2013-04-19 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* alpha-tdep.c (heuristic_fence_post): Change type to int.
|
|
|
|
|
(alpha_heuristic_proc_start): Adjust to check -1 instead of
|
|
|
|
|
UINT_MAX.
|
|
|
|
|
* mips-tdep.c (heuristic_fence_post): Change type to int.
|
|
|
|
|
(heuristic_proc_start): Adjust to check -1 instead of UINT_MAX.
|
|
|
|
|
|
2013-04-19 15:14:23 +00:00
|
|
|
|
2013-04-19 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* cris-tdep.c (usr_cmd_cris_version): Make unsigned.
|
|
|
|
|
(struct gdbarch_tdep) <cris_version>: Make unsigned.
|
|
|
|
|
(cris_spec_reg_applicable, cris_gdbarch_init): Adjust locals.
|
|
|
|
|
|
2013-04-19 15:10:53 +00:00
|
|
|
|
2013-04-19 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* avr-tdep.c (avr_io_reg_read_command): New local 'bufstr'. Use
|
|
|
|
|
it to get a string view of the byte buffer.
|
|
|
|
|
* i386-cygwin-tdep.c (core_process_module_section): Change local 'buf'
|
|
|
|
|
type to gdb_byte *. Adjust.
|
|
|
|
|
* linux-tdep.c (linux_info_proc, linux_find_memory_regions_full):
|
|
|
|
|
Change local to char *.
|
|
|
|
|
* solib-darwin.c (find_program_interpreter): Change return type to
|
|
|
|
|
char *. Adjust.
|
|
|
|
|
(darwin_solib_get_all_image_info_addr_at_init): Adjust.
|
|
|
|
|
* solib-dsbt.c (enable_break2): Change local 'buf' to char *.
|
|
|
|
|
* solib-frv.c (enable_break2): Change local 'buf' to char *.
|
|
|
|
|
* solib-spu.c (spu_current_sos): Add gdb_byte * cast.
|
|
|
|
|
* solib-svr4.c (find_program_interpreter): Change return type to
|
|
|
|
|
char *. Adjust.
|
|
|
|
|
(enable_break): Change local 'interp_name' to char *.
|
|
|
|
|
* spu-multiarch.c (spu_xfer_partial): Add cast to 'char *'.
|
|
|
|
|
* spu-tdep.c (spu_pseudo_register_read_spu): Add cast to 'char *'.
|
|
|
|
|
(spu_pseudo_register_write_spu): Use char for string buffer.
|
|
|
|
|
Adjust.
|
|
|
|
|
(info_spu_event_command, info_spu_signal_command): Add casts to
|
|
|
|
|
'char *'.
|
|
|
|
|
|
-Wpointer-sign: char -> gdb_byte.
-Wpointer-sign catches all these cases across the codebase that should
be using gdb_byte for raw target bytes. I think these are all
obvious, hence I've collapsed into a single patch.
gdb/
2013-04-19 Pedro Alves <palves@redhat.com>
* aarch64-tdep.c (aarch64_default_breakpoint): Change type to
gdb_byte[].
(aarch64_breakpoint_from_pc): Change return type to gdb_byte *.
* ada-lang.c (ada_value_assign): Use gdb_byte.
* alphanbsd-tdep.c (sigtramp_retcode): Change type to gdb_byte[].
(alphanbsd_sigtramp_offset): Use gdb_byte.
* arm-linux-tdep.c (arm_linux_arm_le_breakpoint)
(arm_linux_arm_be_breakpoint, eabi_linux_arm_le_breakpoint)
(eabi_linux_arm_be_breakpoint, arm_linux_thumb_be_breakpoint)
(arm_linux_thumb_le_breakpoint, arm_linux_thumb2_be_breakpoint)
(arm_linux_thumb2_le_breakpoint): Change type to gdb_byte[].
* arm-tdep.c (arm_stub_unwind_sniffer)
(arm_displaced_init_closure): Use gdb_byte.
(arm_default_arm_le_breakpoint, arm_default_arm_be_breakpoint)
(arm_default_thumb_le_breakpoint)
(arm_default_thumb_be_breakpoint): Change type to gdb_byte[].
* arm-tdep.h (struct gdbarch_tdep) <arm_breakpoint,
thumb_breakpoint, thumb2_breakpoint>: Change type to gdb_byte *.
* arm-wince-tdep.c (arm_wince_le_breakpoint)
(arm_wince_thumb_le_breakpoint): Change type to gdb_byte[].
* armnbsd-tdep.c (arm_nbsd_arm_le_breakpoint)
(arm_nbsd_arm_be_breakpoint, arm_nbsd_thumb_le_breakpoint)
(arm_nbsd_thumb_be_breakpoint): Change type to gdb_byte[].
* armobsd-tdep.c (arm_obsd_thumb_le_breakpoint)
(arm_obsd_thumb_be_breakpoint): Change type to gdb_byte[].
* cris-tdep.c (push_stack_item, cris_push_dummy_call)
(cris_store_return_value, cris_extract_return_value): Use
gdb_byte.
(constraint): Change type of parameter to char * from signed
char*. Use gdb_byte.
* dwarf2loc.c (read_pieced_value, write_pieced_value): Change type
of local buffer to gdb_byte *.
* dwarf2read.c (read_index_from_section): Use gdb_byte.
(create_dwp_hash_table): Change type of locals to gdb_byte *.
(add_address_entry): Change type of local buffer to gdb_byte[].
* frv-tdep.c (frv_adjust_breakpoint_address, find_func_descr)
(frv_push_dummy_call): Use gdb_byte.
* hppa-hpux-tdep.c (hppa_hpux_push_dummy_code)
(hppa_hpux_supply_ss_fpblock, hppa_hpux_supply_ss_wide)
(hppa_hpux_supply_save_state): Use gdb_byte.
* hppa-tdep.c (hppa32_push_dummy_call)
(hppa64_convert_code_addr_to_fptr): Use gdb_byte.
* ia64-tdep.c (extract_bit_field, replace_bit_field)
(slotN_contents, replace_slotN_contents): Change type of parameter
to gdb_byte *.
(fetch_instruction, ia64_pseudo_register_write)
(ia64_register_to_value, ia64_value_to_register)
(ia64_extract_return_value, ia64_store_return_value)
(ia64_push_dummy_call): Use gdb_byte.
* m32c-tdep.c (m32c_return_value): Remove cast.
* m68hc11-tdep.c (m68hc11_pseudo_register_write)
(m68hc11_push_dummy_call, m68hc11_store_return_value): Use
gdb_byte.
* mipsnbsd-tdep.c (mipsnbsd_get_longjmp_target): Use gdb_byte.
* mn10300-tdep.c (mn10300_store_return_value)
(mn10300_breakpoint_from_pc, mn10300_push_dummy_call): Use
gdb_byte.
* moxie-tdep.c (moxie_process_readu): Use gdb_byte.
(moxie_process_record): Remove casts.
* ppc-ravenscar-thread.c (supply_register_at_address)
(ppc_ravenscar_generic_store_registers): Use gdb_byte.
* ravenscar-thread.c (get_running_thread_id): Use gdb_byte.
* remote-m32r-sdi.c (m32r_fetch_register): Use gdb_byte.
* remote-mips.c (mips_xfer_memory): Use gdb_byte.
* remote.c (compare_sections_command): Use gdb_byte.
* score-tdep.c (score7_free_memblock): Change type of parameter to
gdb_byte *.
* sh-tdep.c (sh_justify_value_in_reg): Change return type to
gdb_byte *. Use gdb_byte.
(sh_push_dummy_call_fpu): Use gdb_byte.
(sh_extract_return_value_nofpu, sh_extract_return_value_fpu)
(sh_store_return_value_nofpu, sh_store_return_value_fpu)
(sh_register_convert_to_virtual, sh_register_convert_to_raw):
Change parameter type to 'gdb_byte *'. Use gdb_byte.
(sh_pseudo_register_read, sh_pseudo_register_write): Use gdb_byte.
* sh64-tdep.c (sh64_push_dummy_call): Use gdb_byte.
(sh64_store_return_value, sh64_register_convert_to_virtual):
Change parameter type to 'gdb_byte *'. Use gdb_byte.
(sh64_pseudo_register_write): Use gdb_byte.
* solib-darwin.c (darwin_current_sos): Add casts to 'gdb_byte *'.
* solib-irix.c (fetch_lm_info): Likewise. Use gdb_byte for byte
buffer.
(irix_current_sos): Use gdb_byte.
* solib-som.c (som_current_sos): Use gdb_byte.
* sparc-ravenscar-thread.c (supply_register_at_address)
(sparc_ravenscar_generic_store_registers): Use gdb_byte.
* spu-multiarch.c (spu_xfer_partial): Add cast to 'char *'.
* spu-tdep.c (spu_get_overlay_table): Use gdb_byte.
* tic6x-tdep.c (tic6x_breakpoint_from_pc): Change return type to
'gdb_byte *'.
* tic6x-tdep.h (struct gdbarch_tdep) <breakpoint>: Change type to
'gdb_byte *'.
* tracepoint.c (tfile_fetch_registers): Use gdb_byte.
* xstormy16-tdep.c (xstormy16_extract_return_value)
(xstormy16_store_return_value): Change parameter type to
'gdb_byte *'. Adjust.
(xstormy16_push_dummy_call): Use gdb_byte.
* xtensa-tdep.c (xtensa_scan_prologue, call0_ret)
(call0_analyze_prologue, execute_code): Use gdb_byte.
2013-04-19 15:09:46 +00:00
|
|
|
|
2013-04-19 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* aarch64-tdep.c (aarch64_default_breakpoint): Change type to
|
|
|
|
|
gdb_byte[].
|
|
|
|
|
(aarch64_breakpoint_from_pc): Change return type to gdb_byte *.
|
|
|
|
|
* ada-lang.c (ada_value_assign): Use gdb_byte.
|
|
|
|
|
* alphanbsd-tdep.c (sigtramp_retcode): Change type to gdb_byte[].
|
|
|
|
|
(alphanbsd_sigtramp_offset): Use gdb_byte.
|
|
|
|
|
* arm-linux-tdep.c (arm_linux_arm_le_breakpoint)
|
|
|
|
|
(arm_linux_arm_be_breakpoint, eabi_linux_arm_le_breakpoint)
|
|
|
|
|
(eabi_linux_arm_be_breakpoint, arm_linux_thumb_be_breakpoint)
|
|
|
|
|
(arm_linux_thumb_le_breakpoint, arm_linux_thumb2_be_breakpoint)
|
|
|
|
|
(arm_linux_thumb2_le_breakpoint): Change type to gdb_byte[].
|
|
|
|
|
* arm-tdep.c (arm_stub_unwind_sniffer)
|
|
|
|
|
(arm_displaced_init_closure): Use gdb_byte.
|
|
|
|
|
(arm_default_arm_le_breakpoint, arm_default_arm_be_breakpoint)
|
|
|
|
|
(arm_default_thumb_le_breakpoint)
|
|
|
|
|
(arm_default_thumb_be_breakpoint): Change type to gdb_byte[].
|
|
|
|
|
* arm-tdep.h (struct gdbarch_tdep) <arm_breakpoint,
|
|
|
|
|
thumb_breakpoint, thumb2_breakpoint>: Change type to gdb_byte *.
|
|
|
|
|
* arm-wince-tdep.c (arm_wince_le_breakpoint)
|
|
|
|
|
(arm_wince_thumb_le_breakpoint): Change type to gdb_byte[].
|
|
|
|
|
* armnbsd-tdep.c (arm_nbsd_arm_le_breakpoint)
|
|
|
|
|
(arm_nbsd_arm_be_breakpoint, arm_nbsd_thumb_le_breakpoint)
|
|
|
|
|
(arm_nbsd_thumb_be_breakpoint): Change type to gdb_byte[].
|
|
|
|
|
* armobsd-tdep.c (arm_obsd_thumb_le_breakpoint)
|
|
|
|
|
(arm_obsd_thumb_be_breakpoint): Change type to gdb_byte[].
|
|
|
|
|
* cris-tdep.c (push_stack_item, cris_push_dummy_call)
|
|
|
|
|
(cris_store_return_value, cris_extract_return_value): Use
|
|
|
|
|
gdb_byte.
|
|
|
|
|
(constraint): Change type of parameter to char * from signed
|
|
|
|
|
char*. Use gdb_byte.
|
|
|
|
|
* dwarf2loc.c (read_pieced_value, write_pieced_value): Change type
|
|
|
|
|
of local buffer to gdb_byte *.
|
|
|
|
|
* dwarf2read.c (read_index_from_section): Use gdb_byte.
|
|
|
|
|
(create_dwp_hash_table): Change type of locals to gdb_byte *.
|
|
|
|
|
(add_address_entry): Change type of local buffer to gdb_byte[].
|
|
|
|
|
* frv-tdep.c (frv_adjust_breakpoint_address, find_func_descr)
|
|
|
|
|
(frv_push_dummy_call): Use gdb_byte.
|
|
|
|
|
* hppa-hpux-tdep.c (hppa_hpux_push_dummy_code)
|
|
|
|
|
(hppa_hpux_supply_ss_fpblock, hppa_hpux_supply_ss_wide)
|
|
|
|
|
(hppa_hpux_supply_save_state): Use gdb_byte.
|
|
|
|
|
* hppa-tdep.c (hppa32_push_dummy_call)
|
|
|
|
|
(hppa64_convert_code_addr_to_fptr): Use gdb_byte.
|
|
|
|
|
* ia64-tdep.c (extract_bit_field, replace_bit_field)
|
|
|
|
|
(slotN_contents, replace_slotN_contents): Change type of parameter
|
|
|
|
|
to gdb_byte *.
|
|
|
|
|
(fetch_instruction, ia64_pseudo_register_write)
|
|
|
|
|
(ia64_register_to_value, ia64_value_to_register)
|
|
|
|
|
(ia64_extract_return_value, ia64_store_return_value)
|
|
|
|
|
(ia64_push_dummy_call): Use gdb_byte.
|
|
|
|
|
* m32c-tdep.c (m32c_return_value): Remove cast.
|
|
|
|
|
* m68hc11-tdep.c (m68hc11_pseudo_register_write)
|
|
|
|
|
(m68hc11_push_dummy_call, m68hc11_store_return_value): Use
|
|
|
|
|
gdb_byte.
|
|
|
|
|
* mipsnbsd-tdep.c (mipsnbsd_get_longjmp_target): Use gdb_byte.
|
|
|
|
|
* mn10300-tdep.c (mn10300_store_return_value)
|
|
|
|
|
(mn10300_breakpoint_from_pc, mn10300_push_dummy_call): Use
|
|
|
|
|
gdb_byte.
|
|
|
|
|
* moxie-tdep.c (moxie_process_readu): Use gdb_byte.
|
|
|
|
|
(moxie_process_record): Remove casts.
|
|
|
|
|
* ppc-ravenscar-thread.c (supply_register_at_address)
|
|
|
|
|
(ppc_ravenscar_generic_store_registers): Use gdb_byte.
|
|
|
|
|
* ravenscar-thread.c (get_running_thread_id): Use gdb_byte.
|
|
|
|
|
* remote-m32r-sdi.c (m32r_fetch_register): Use gdb_byte.
|
|
|
|
|
* remote-mips.c (mips_xfer_memory): Use gdb_byte.
|
|
|
|
|
* remote.c (compare_sections_command): Use gdb_byte.
|
|
|
|
|
* score-tdep.c (score7_free_memblock): Change type of parameter to
|
|
|
|
|
gdb_byte *.
|
|
|
|
|
* sh-tdep.c (sh_justify_value_in_reg): Change return type to
|
|
|
|
|
gdb_byte *. Use gdb_byte.
|
|
|
|
|
(sh_push_dummy_call_fpu): Use gdb_byte.
|
|
|
|
|
(sh_extract_return_value_nofpu, sh_extract_return_value_fpu)
|
|
|
|
|
(sh_store_return_value_nofpu, sh_store_return_value_fpu)
|
|
|
|
|
(sh_register_convert_to_virtual, sh_register_convert_to_raw):
|
|
|
|
|
Change parameter type to 'gdb_byte *'. Use gdb_byte.
|
|
|
|
|
(sh_pseudo_register_read, sh_pseudo_register_write): Use gdb_byte.
|
|
|
|
|
* sh64-tdep.c (sh64_push_dummy_call): Use gdb_byte.
|
|
|
|
|
(sh64_store_return_value, sh64_register_convert_to_virtual):
|
|
|
|
|
Change parameter type to 'gdb_byte *'. Use gdb_byte.
|
|
|
|
|
(sh64_pseudo_register_write): Use gdb_byte.
|
|
|
|
|
* solib-darwin.c (darwin_current_sos): Add casts to 'gdb_byte *'.
|
|
|
|
|
* solib-irix.c (fetch_lm_info): Likewise. Use gdb_byte for byte
|
|
|
|
|
buffer.
|
|
|
|
|
(irix_current_sos): Use gdb_byte.
|
|
|
|
|
* solib-som.c (som_current_sos): Use gdb_byte.
|
|
|
|
|
* sparc-ravenscar-thread.c (supply_register_at_address)
|
|
|
|
|
(sparc_ravenscar_generic_store_registers): Use gdb_byte.
|
|
|
|
|
* spu-multiarch.c (spu_xfer_partial): Add cast to 'char *'.
|
|
|
|
|
* spu-tdep.c (spu_get_overlay_table): Use gdb_byte.
|
|
|
|
|
* tic6x-tdep.c (tic6x_breakpoint_from_pc): Change return type to
|
|
|
|
|
'gdb_byte *'.
|
|
|
|
|
* tic6x-tdep.h (struct gdbarch_tdep) <breakpoint>: Change type to
|
|
|
|
|
'gdb_byte *'.
|
|
|
|
|
* tracepoint.c (tfile_fetch_registers): Use gdb_byte.
|
|
|
|
|
* xstormy16-tdep.c (xstormy16_extract_return_value)
|
|
|
|
|
(xstormy16_store_return_value): Change parameter type to
|
|
|
|
|
'gdb_byte *'. Adjust.
|
|
|
|
|
(xstormy16_push_dummy_call): Use gdb_byte.
|
|
|
|
|
* xtensa-tdep.c (xtensa_scan_prologue, call0_ret)
|
|
|
|
|
(call0_analyze_prologue, execute_code): Use gdb_byte.
|
|
|
|
|
|
Fix the x87 FP register printout when issuing the “info float” command.
Consider the following simple program:
.globl _start
.text
_start:
fldt val
.data
val: .byte 0x00,0x00,0x45,0x07,0x11,0x19,0x22,0xe9,0xfe,0xbf
With current GDB on x86-64 GNU/Linux hosts, after the moment the fldt
command has been executed the register st(0) looks like this,
according to the “info regs” output (TOP=7):
R7: Valid 0xffffffbffffffffeffffffe922191107450000 -0.910676542908976927
which is clearly wrong (just count its length). The problem is due to
the printf statement (see patch) printing a promoted integer value of
a char argument "raw[i]", and, since char is signed on x86-64
GNU/Linux, the erroneous “ffffff” are printed for the first three
bytes which turn out to be "negative". The fix is to use gdb_byte
instead which is unsigned (and is the type of value_contents(), the
type to be used for raw target bytes anyway). After the fix the value
will be printed correctly:
R7: Valid 0xbffee922191107450000 -0.910676542908976927
gdb/
2013-04-19 Vladimir Kargov <kargov@gmail.com>
Pedro Alves <palves@redhat.com>
* i387-tdep.c (i387_print_float_info): Use gdb_byte for pointer to
value contents.
gdb/testsuite/
2013-04-19 Vladimir Kargov <kargov@gmail.com>
Pedro Alves <palves@redhat.com>
* gdb.arch/i386-float.S: New file.
* gdb.arch/i386-float.exp: New file.
2013-04-19 14:13:30 +00:00
|
|
|
|
2013-04-19 Vladimir Kargov <kargov@gmail.com>
|
|
|
|
|
Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* i387-tdep.c (i387_print_float_info): Use gdb_byte for pointer to
|
|
|
|
|
value contents.
|
|
|
|
|
|
2013-04-17 17:09:30 +00:00
|
|
|
|
2013-04-17 Doug Evans <dje@google.com>
|
|
|
|
|
|
|
|
|
|
* dwarf2read.c (struct signatured_type): New member type.
|
|
|
|
|
(struct attribute): Replace member signatured_type with signature.
|
|
|
|
|
(DW_SIGNATURE): Replaces DW_SIGNATURE_TYPE.
|
|
|
|
|
(read_call_site_scope): Call follow_die_ref instead of
|
|
|
|
|
follow_die_ref_or_sig.
|
|
|
|
|
(read_structure_type): Rewrite handling of signatured types.
|
|
|
|
|
(read_enumeration_type): Ditto.
|
|
|
|
|
(read_attribute_value): Update.
|
|
|
|
|
(build_error_marker_type): New function.
|
|
|
|
|
(lookup_die_type): Add assert. Rewrite handling of signatured types.
|
|
|
|
|
Don't call error for bad types, just build an error marker type.
|
|
|
|
|
(dump_die_shallow): Update.
|
|
|
|
|
(follow_die_sig_1): Renamed from follow_die_sig.
|
|
|
|
|
Don't call error for bad types, instead return NULL.
|
|
|
|
|
(follow_die_sig): New function.
|
|
|
|
|
(get_signatured_type, get_DW_AT_signature_type): New functions.
|
|
|
|
|
|
2013-04-17 14:52:46 +00:00
|
|
|
|
2013-04-17 Yufeng Zhang <yufeng.zhang@arm.com>
|
|
|
|
|
|
|
|
|
|
* aarch64-tdep.c (aarch64_write_pc): Removed.
|
2013-04-17 14:57:43 +00:00
|
|
|
|
(aarch64_gdbarch_init): Remove set_gdbarch_write_pc of the above
|
|
|
|
|
function.
|
2013-04-17 14:52:46 +00:00
|
|
|
|
|
2013-04-17 01:02:02 +00:00
|
|
|
|
2013-04-17 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* top.c (print_gdb_configuration): Print configure-time
|
|
|
|
|
parameter on using libbabeltrace or not.
|
|
|
|
|
|
2013-04-16 18:19:14 +00:00
|
|
|
|
2013-04-16 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* copyright.py (EXCLUDE_LIST): Add gdb/common/glibc_thread_db.h.
|
|
|
|
|
|
Update glibc_thread_db.h from upstream.
Attempting to build gdbserver with our copy of thread_db.h yields:
In file included from ../../../src/gdb/gdbserver/../common/gdb_thread_db.h:4:0,
from ../../../src/gdb/gdbserver/thread-db.c:30:
../../../src/gdb/gdbserver/../common/glibc_thread_db.h:108:3: error: unknown type name ‘uint32_t’
In file included from ../../../src/gdb/gdbserver/../common/gdb_thread_db.h:4:0,
from ../../../src/gdb/gdbserver/thread-db.c:30:
../../../src/gdb/gdbserver/../common/glibc_thread_db.h:199:5: error: unknown type name ‘uintptr_t’
../../../src/gdb/gdbserver/../common/glibc_thread_db.h:269:3: error: unknown type name ‘intptr_t’
../../../src/gdb/gdbserver/../common/glibc_thread_db.h:270:3: error: unknown type name ‘intptr_t’
We used to have a workaround for this, but the patch to import
gnulib's stdint.h removed it:
http://www.sourceware.org/ml/gdb-patches/2008-06/msg00050.html
and defs.h made to always include stdint.h. However, gdbserver
doesn't include stdint.h in its equivalent server.h.
Rather than working around the issue, I've imported a more recent
version from glibc, which itself includes <stdint.h>. Other than
copyright years and FSF snail mail address, the file hasn't been
touched since 2003 in glibc. AFAICS, our version was updated last in
2000-09-03.
A note on the apparent license change: before the previous patch, this
file's contents were part of gdb_thread_db.h, and we can see that its
license's text was changed in this patch
<http://sourceware.org/ml/gdb-patches/2009-03/msg00251.html>. That
was certainly just an easy to overlook grep/sed mistake that fell
through the cracks.
gdb/common/
2013-04-16 Pedro Alves <palves@redhat.com>
* glibc_thread_db.h: Update from upstream glibc
(git 568035b7874a099087b77f7bba3e36a1173787b0).
2013-04-16 18:17:11 +00:00
|
|
|
|
2013-04-16 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
2013-04-16 18:18:12 +00:00
|
|
|
|
* common/glibc_thread_db.h: Update from upstream glibc
|
Update glibc_thread_db.h from upstream.
Attempting to build gdbserver with our copy of thread_db.h yields:
In file included from ../../../src/gdb/gdbserver/../common/gdb_thread_db.h:4:0,
from ../../../src/gdb/gdbserver/thread-db.c:30:
../../../src/gdb/gdbserver/../common/glibc_thread_db.h:108:3: error: unknown type name ‘uint32_t’
In file included from ../../../src/gdb/gdbserver/../common/gdb_thread_db.h:4:0,
from ../../../src/gdb/gdbserver/thread-db.c:30:
../../../src/gdb/gdbserver/../common/glibc_thread_db.h:199:5: error: unknown type name ‘uintptr_t’
../../../src/gdb/gdbserver/../common/glibc_thread_db.h:269:3: error: unknown type name ‘intptr_t’
../../../src/gdb/gdbserver/../common/glibc_thread_db.h:270:3: error: unknown type name ‘intptr_t’
We used to have a workaround for this, but the patch to import
gnulib's stdint.h removed it:
http://www.sourceware.org/ml/gdb-patches/2008-06/msg00050.html
and defs.h made to always include stdint.h. However, gdbserver
doesn't include stdint.h in its equivalent server.h.
Rather than working around the issue, I've imported a more recent
version from glibc, which itself includes <stdint.h>. Other than
copyright years and FSF snail mail address, the file hasn't been
touched since 2003 in glibc. AFAICS, our version was updated last in
2000-09-03.
A note on the apparent license change: before the previous patch, this
file's contents were part of gdb_thread_db.h, and we can see that its
license's text was changed in this patch
<http://sourceware.org/ml/gdb-patches/2009-03/msg00251.html>. That
was certainly just an easy to overlook grep/sed mistake that fell
through the cracks.
gdb/common/
2013-04-16 Pedro Alves <palves@redhat.com>
* glibc_thread_db.h: Update from upstream glibc
(git 568035b7874a099087b77f7bba3e36a1173787b0).
2013-04-16 18:17:11 +00:00
|
|
|
|
(git 568035b7874a099087b77f7bba3e36a1173787b0).
|
|
|
|
|
|
2013-04-16 18:14:55 +00:00
|
|
|
|
2013-04-16 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* common/gdb_thread_db.h [!HAVE_THREAD_DB_H]: Factor out to ...
|
|
|
|
|
* common/glibc_thread_db.h: ... this new file ...
|
|
|
|
|
* common/gdb_thread_db.h [!HAVE_THREAD_DB_H]: ... and include it.
|
|
|
|
|
|
2013-04-16 18:12:14 +00:00
|
|
|
|
2013-04-16 Will Newton <will.newton@gmail.com>
|
|
|
|
|
Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR build/11881
|
|
|
|
|
|
|
|
|
|
* common/gdb_thread_db.h (LIBTHREAD_DB_SO)
|
|
|
|
|
(LIBTHREAD_DB_SEARCH_PATH): Move outside of #ifdef
|
|
|
|
|
HAVE_THREAD_DB_H.
|
|
|
|
|
|
2013-04-16 14:36:53 +00:00
|
|
|
|
2013-04-16 Pedro Alves <palves@redhat.com>
|
|
|
|
|
Eli Zaretskii <eliz@gnu.org>
|
|
|
|
|
|
|
|
|
|
* NEWS: Mention "set foo unlimited".
|
|
|
|
|
|
2013-04-15 22:14:40 +00:00
|
|
|
|
2013-04-15 Doug Evans <dje@google.com>
|
|
|
|
|
|
2013-04-15 23:53:38 +00:00
|
|
|
|
* dwarf2read.c (struct dwo_file): Replace member "cus" with "cu".
|
|
|
|
|
(struct create_dwo_cu_data): Renamed from create_dwo_info_table_data.
|
|
|
|
|
(create_dwo_cu_reader): Renamed from
|
|
|
|
|
create_dwo_debug_info_hash_table_reader.
|
|
|
|
|
(create_dwo_cu): Renamed from create_dwo_debug_info_hash_table.
|
|
|
|
|
Remove support for multiple CUs in a DWO file.
|
|
|
|
|
(open_and_init_dwo_file, lookup_dwo_cutu): Update.
|
|
|
|
|
|
2013-04-15 22:14:40 +00:00
|
|
|
|
* dwarf2read.c (create_debug_types_hash_table): Use hex_string
|
|
|
|
|
instead of phex.
|
|
|
|
|
(lookup_dwo_unit, create_dwo_debug_info_hash_table_reader): Ditto.
|
|
|
|
|
(create_dwo_in_dwp): Ditto.
|
|
|
|
|
|
2013-04-15 18:24:48 +00:00
|
|
|
|
2013-04-15 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* NEWS: Move recent entries into "since 7.6" section.
|
|
|
|
|
|
2013-04-15 18:13:01 +00:00
|
|
|
|
2013-04-15 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR c++/13588:
|
|
|
|
|
* NEWS: Update.
|
|
|
|
|
* break-catch-throw.c (struct exception_catchpoint)
|
|
|
|
|
<exception_rx, pattern>: New fields.
|
|
|
|
|
(fetch_probe_arguments, dtor_exception_catchpoint)
|
|
|
|
|
(check_status_exception_catchpoint)
|
|
|
|
|
(print_one_detail_exception_catchpoint): New functions.
|
|
|
|
|
(handle_gnu_v3_exceptions): Add "except_rx" argument.
|
|
|
|
|
Compile regular expression if needed.
|
|
|
|
|
(extract_exception_regexp): New function.
|
|
|
|
|
(catch_exception_command_1): Use extract_exception_regexp.
|
|
|
|
|
(compute_exception): Use fetch_probe_arguments.
|
|
|
|
|
(initialize_throw_catchpoint_ops): Set dtor, print_one_detail,
|
|
|
|
|
and check_status fields.
|
|
|
|
|
* cp-abi.c (cplus_typename_from_type_info): New function.
|
|
|
|
|
* cp-abi.h (cplus_typename_from_type_info): Declare.
|
|
|
|
|
(struct cp_abi_ops) <get_typename_from_type_info>: New field.
|
|
|
|
|
* gdb_regex.h (compile_rx_or_error): Declare.
|
|
|
|
|
* gnu-v3-abi.c (gnuv3_get_typename_from_type_info): Update
|
|
|
|
|
comment.
|
|
|
|
|
(init_gnuv3_ops): Set get_type_from_type_info field.
|
|
|
|
|
* probe.c (compile_rx_or_error): Move...
|
|
|
|
|
* utils.c (compile_rx_or_error): ... here.
|
|
|
|
|
|
2013-04-15 18:09:02 +00:00
|
|
|
|
2013-04-15 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR c++/15176:
|
|
|
|
|
* NEWS: Update.
|
|
|
|
|
* break-catch-throw.c (compute_exception): New function.
|
|
|
|
|
(exception_funcs): New global.
|
|
|
|
|
(_initialize_break_catch_throw): Create $_exception.
|
|
|
|
|
* cp-abi.c (cplus_type_from_type_info): New function.
|
|
|
|
|
* cp-abi.h (cplus_type_from_type_info): Declare.
|
|
|
|
|
(struct cp_abi_ops) <get_type_from_type_info>: New field.
|
|
|
|
|
* gnu-v3-abi.c (gnuv3_get_typename_from_type_info)
|
|
|
|
|
(gnuv3_get_type_from_type_info): New functions.
|
|
|
|
|
(init_gnuv3_ops): Set get_type_from_type_info ABI field.
|
|
|
|
|
|
2013-04-15 18:06:42 +00:00
|
|
|
|
2013-04-15 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* break-catch-throw.c (struct exception_names): New.
|
|
|
|
|
(exception_functions): Change type.
|
|
|
|
|
(re_set_exception_catchpoint): Look for SDT probes.
|
|
|
|
|
|
2013-04-15 18:05:48 +00:00
|
|
|
|
2013-04-15 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR c++/10119:
|
|
|
|
|
* break-catch-throw.c (exception_functions): New global.
|
|
|
|
|
(gnu_v3_exception_catchpoint_ops): Move earlier.
|
|
|
|
|
(struct exception_catchpoint): New.
|
|
|
|
|
(classify_exception_breakpoint): Rewrite.
|
|
|
|
|
(re_set_exception_catchpoint): New function.
|
|
|
|
|
(handle_gnu_v3_exceptions): Return void. Use init_catchpoint.
|
|
|
|
|
Allocate a struct exception_catchpoint.
|
|
|
|
|
(catch_exception_command_1): Update.
|
|
|
|
|
(initialize_throw_catchpoint_ops): Set 're_set' method.
|
|
|
|
|
|
2013-04-15 18:04:53 +00:00
|
|
|
|
2013-04-15 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* Makefile.in (SFILES): Add break-catch-throw.c
|
|
|
|
|
(COMMON_OBS): Add break-catch-throw.o.
|
|
|
|
|
* break-catch-throw.c: New file.
|
|
|
|
|
* breakpoint.c: Move exception-catching code to new file.
|
|
|
|
|
(ep_parse_optional_if_clause): No longer static.
|
|
|
|
|
* breakpoint.h (ep_parse_optional_if_clause): Declare.
|
|
|
|
|
|
2013-04-15 17:36:14 +00:00
|
|
|
|
2013-04-15 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR c++/9065:
|
|
|
|
|
* NEWS: Update.
|
|
|
|
|
* breakpoint.c (watchpoint_exp_is_const): Add OP_TYPEID.
|
|
|
|
|
* c-exp.y (TYPEID): New token.
|
|
|
|
|
(exp): Add new TYPEID productions.
|
|
|
|
|
(ident_tokens): Add "typeid".
|
|
|
|
|
* cp-abi.c (cplus_typeid, cplus_typeid_type): New functions.
|
|
|
|
|
* cp-abi.h (cplus_typeid, cplus_typeid_type): Declare.
|
|
|
|
|
(struct cp_abi_ops) <get_typeid, get_typeid_type>: New fields.
|
|
|
|
|
* eval.c (evaluate_subexp_standard) <OP_TYPEID>: New case.
|
|
|
|
|
* expprint.c (dump_subexp_body_standard) <OP_TYPEID>: New
|
|
|
|
|
case.
|
|
|
|
|
* gnu-v3-abi.c (std_type_info_gdbarch_data): New global.
|
|
|
|
|
(build_std_type_info_type, gnuv3_get_typeid_type)
|
|
|
|
|
(gnuv3_get_typeid): New functions.
|
|
|
|
|
(init_gnuv3_ops): Initialize std_type_info_gdbarch_data. Set
|
|
|
|
|
new fields on ABI object.
|
|
|
|
|
* parse.c (operator_length_standard) <OP_TYPEID>: New case.
|
|
|
|
|
* std-operator.def (OP_TYPEID): New.
|
|
|
|
|
|
2013-04-15 17:31:17 +00:00
|
|
|
|
2013-04-15 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* elfread.c (elf_symtab_read): Install versioned symbol under
|
|
|
|
|
unversioned name as well.
|
|
|
|
|
|
2013-04-15 17:30:36 +00:00
|
|
|
|
2013-04-15 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR c++/11990:
|
|
|
|
|
* c-lang.c (cplus_language_defn): Use gdb_demangle.
|
|
|
|
|
* c-typeprint.c (c_type_print_base): Use gdb_demangle.
|
|
|
|
|
* cp-support.c (mangled_name_to_comp): Use gdb_demangle.
|
|
|
|
|
(gdb_demangle): New function.
|
|
|
|
|
* cp-support.h (gdb_demangle): Declare.
|
|
|
|
|
* dwarf2read.c (dwarf2_physname, fixup_partial_die)
|
|
|
|
|
(dwarf2_name): Use gdb_demangle.
|
|
|
|
|
* gdbtypes.c (check_stub_method): Use gdb_demangle.
|
|
|
|
|
* gnu-v3-abi.c (gnuv3_rtti_type): Strip @plt and version
|
|
|
|
|
suffixes from name.
|
|
|
|
|
(gnuv3_print_method_ptr): Use gdb_demangle.
|
|
|
|
|
* jv-lang.c (java_demangle): Use gdb_demangle.
|
|
|
|
|
* jv-typeprint.c (java_type_print_base): Use gdb_demangle.
|
|
|
|
|
* language.c (unk_lang_demangle): Use gdb_demangle.
|
|
|
|
|
* symtab.c (symbol_find_demangled_name)
|
|
|
|
|
(demangle_for_lookup): Use gdb_demangle.
|
|
|
|
|
|
2013-04-15 17:27:44 +00:00
|
|
|
|
2013-04-15 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR c++/12824:
|
|
|
|
|
* NEWS: Update.
|
|
|
|
|
* breakpoint.c (enum exception_event_kind) <EX_EVENT_RETHROW>:
|
|
|
|
|
New constant.
|
|
|
|
|
(classify_exception_breakpoint): New function.
|
|
|
|
|
(print_it_exception_catchpoint, print_one_exception_catchpoint)
|
|
|
|
|
(print_mention_exception_catchpoint)
|
|
|
|
|
(print_recreate_exception_catchpoint, handle_gnu_v3_exceptions)
|
|
|
|
|
(catch_exception_command_1): Handle "rethrow" catchpoint.
|
|
|
|
|
(catch_rethrow_command): New function.
|
|
|
|
|
(_initialize_breakpoint): Add "catch rethrow" command.
|
|
|
|
|
|
2013-04-15 14:23:54 +00:00
|
|
|
|
2013-04-15 Pierre Muller <muller@sourceware.org>
|
|
|
|
|
|
|
|
|
|
* contrib/ari/gdb_ari.sh (write_pc rule): Do not consider
|
|
|
|
|
set_gdbarch_write_pc as deprecated anymore.
|
|
|
|
|
|
2013-04-15 13:04:05 +00:00
|
|
|
|
2013-04-15 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* spu-tdep.c (spu_write_pc): Add empty line after local variable
|
|
|
|
|
declarations.
|
|
|
|
|
|
2013-04-13 14:14:08 +00:00
|
|
|
|
2013-04-13 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* ctf.c (_initialize_ctf): Include "completer.h".
|
|
|
|
|
Call add_target_with_completer instead of add_target.
|
|
|
|
|
|
2013-04-12 16:04:07 +00:00
|
|
|
|
2013-04-12 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
Fix GDB regression related to PR binutils/14813.
|
|
|
|
|
* jit.c (mem_bfd_iovec_close): Return 0 for success.
|
|
|
|
|
* minidebug.c (lzma_close): Add return value comment.
|
|
|
|
|
* remote.c (remote_bfd_iovec_close): Return 0 for success.
|
|
|
|
|
* solib-spu.c (spu_bfd_iovec_close): Likewise.
|
|
|
|
|
* spu-linux-nat.c (spu_bfd_iovec_close): Likewise.
|
|
|
|
|
|
|
|
|
|
2013-04-12 Jan Kratochvil <jan.kratochvil@redhat.com>
|
2013-04-12 16:02:29 +00:00
|
|
|
|
|
|
|
|
|
* config.in: Regenerate.
|
|
|
|
|
|
* dwarf2-frame.c (struct comp_unit) <dwarf_frame_buffer>: Now
const.
* dwarf2read.c (struct dwarf2_section_info) <buffer>: Now const.
(struct die_reader_specs) <buffer>: Likewise.
(die_reader_func_ftype): Make 'info_ptr' const.
(struct line_header) <include_dirs, statement_program_start,
statement_program_end>: Now const.
(struct file_entry) <name>: Likewise.
(struct partial_die_info) <sibling>: Likewise.
(struct dwarf_block) <data>: Likewise.
(dwarf2_read_section): Remove cast.
(dwarf2_get_section_info): Make 'bufp' const.
(read_index_from_section): Constify.
(dw2_get_file_names_reader): Make 'info_ptr' const.
(dw2_get_primary_filename_reader): Likewise.
(read_comp_unit_head): Make 'info_ptr' and return type const.
(read_and_check_comp_unit_head, read_and_check_type_unit_head):
Likewise.
(read_abbrev_offset): Constify.
(dwarf2_create_include_psymtab): Make 'name' const.
(create_debug_types_hash_table): Update.
(read_cutu_die_from_dwo): Make 'result_info_ptr' const.
(init_cutu_and_read_dies, init_cutu_and_read_dies_no_follow):
Constify.
(process_psymtab_comp_unit_reader, build_type_psymtabs_reader)
(load_partial_comp_unit_reader): Make 'info_ptr' const.
(read_comp_units_from_section): Constify.
(peek_abbrev_code, peek_die_abbrev, skip_children, skip_one_die)
(locate_pdi_sibling, load_full_comp_unit_reader): Make 'info_ptr'
const.
(dwarf2_compute_name, setup_type_unit_groups): Constify.
(create_dwo_debug_info_hash_table): Make 'info_ptr' const.
(create_dwp_hash_table, dwarf2_ranges_read)
(dwarf2_record_block_ranges): Constify.
(read_die_and_children, read_die_and_siblings_1)
(read_die_and_siblings): Make 'info_ptr' and 'new_info_ptr'
const.
(read_full_die_1, read_full_die): Make 'info_ptr' const.
(abbrev_table_read_table): Constify.
(load_partial_dies): Make 'info_ptr' const.
(read_partial_die, read_attribute_value, read_attribute): Make
'info_ptr' and return type const.
(read_address, read_initial_length)
(read_checked_initial_length_and_offset, read_offset)
(read_offset_1, read_n_bytes, read_direct_string): Make 'buf'
const.
(read_direct_string): Make 'buf' and return type const.
(read_indirect_string_at_offset, read_indirect_string_from_dwz)
(read_indirect_string): Make return type const.
(read_unsigned_leb128, read_signed_leb128): Make 'buf' const.
(read_addr_index_from_leb128, dwarf2_read_addr_index_reader): Make
'info_ptr' const.
(read_str_index): Make return type const.
(add_include_dir): Make 'include_dir' const.
(add_file_name): Make 'name' const.
(dwarf_decode_line_header): Constify.
(psymtab_include_file_name): Make return type const.
(dwarf_decode_lines_1, dwarf_decode_lines): Constify.
(dwarf2_start_subfile): Make 'filename' const.
(dwarf2_const_value_attr): Make 'bytes' const.
(read_signatured_type_reader): Make 'info_ptr' const.
(decode_locdesc): Constify.
(skip_form_bytes): Make 'bytes', 'buffer_end', and return type
const.
(skip_unknown_opcode): Make 'opcode_definitions', 'mac_ptr',
'mac_end', and return type const.
(dwarf_parse_macro_header): Make 'mac_ptr' and return type const.
(dwarf_decode_macro_bytes): Make 'mac_ptr', 'mac_end', and return
type const.
(per_cu_header_read_in): Constify.
* symfile.h (dwarf2_get_section_info): Update.
2013-04-12 14:55:28 +00:00
|
|
|
|
2013-04-12 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* dwarf2-frame.c (struct comp_unit) <dwarf_frame_buffer>: Now
|
|
|
|
|
const.
|
|
|
|
|
* dwarf2read.c (struct dwarf2_section_info) <buffer>: Now const.
|
|
|
|
|
(struct die_reader_specs) <buffer>: Likewise.
|
|
|
|
|
(die_reader_func_ftype): Make 'info_ptr' const.
|
|
|
|
|
(struct line_header) <include_dirs, statement_program_start,
|
|
|
|
|
statement_program_end>: Now const.
|
|
|
|
|
(struct file_entry) <name>: Likewise.
|
|
|
|
|
(struct partial_die_info) <sibling>: Likewise.
|
|
|
|
|
(struct dwarf_block) <data>: Likewise.
|
|
|
|
|
(dwarf2_read_section): Remove cast.
|
|
|
|
|
(dwarf2_get_section_info): Make 'bufp' const.
|
|
|
|
|
(read_index_from_section): Constify.
|
|
|
|
|
(dw2_get_file_names_reader): Make 'info_ptr' const.
|
|
|
|
|
(dw2_get_primary_filename_reader): Likewise.
|
|
|
|
|
(read_comp_unit_head): Make 'info_ptr' and return type const.
|
|
|
|
|
(read_and_check_comp_unit_head, read_and_check_type_unit_head):
|
|
|
|
|
Likewise.
|
|
|
|
|
(read_abbrev_offset): Constify.
|
|
|
|
|
(dwarf2_create_include_psymtab): Make 'name' const.
|
|
|
|
|
(create_debug_types_hash_table): Update.
|
|
|
|
|
(read_cutu_die_from_dwo): Make 'result_info_ptr' const.
|
|
|
|
|
(init_cutu_and_read_dies, init_cutu_and_read_dies_no_follow):
|
|
|
|
|
Constify.
|
|
|
|
|
(process_psymtab_comp_unit_reader, build_type_psymtabs_reader)
|
|
|
|
|
(load_partial_comp_unit_reader): Make 'info_ptr' const.
|
|
|
|
|
(read_comp_units_from_section): Constify.
|
|
|
|
|
(peek_abbrev_code, peek_die_abbrev, skip_children, skip_one_die)
|
|
|
|
|
(locate_pdi_sibling, load_full_comp_unit_reader): Make 'info_ptr'
|
|
|
|
|
const.
|
|
|
|
|
(dwarf2_compute_name, setup_type_unit_groups): Constify.
|
|
|
|
|
(create_dwo_debug_info_hash_table): Make 'info_ptr' const.
|
|
|
|
|
(create_dwp_hash_table, dwarf2_ranges_read)
|
|
|
|
|
(dwarf2_record_block_ranges): Constify.
|
|
|
|
|
(read_die_and_children, read_die_and_siblings_1)
|
|
|
|
|
(read_die_and_siblings): Make 'info_ptr' and 'new_info_ptr'
|
|
|
|
|
const.
|
|
|
|
|
(read_full_die_1, read_full_die): Make 'info_ptr' const.
|
|
|
|
|
(abbrev_table_read_table): Constify.
|
|
|
|
|
(load_partial_dies): Make 'info_ptr' const.
|
|
|
|
|
(read_partial_die, read_attribute_value, read_attribute): Make
|
|
|
|
|
'info_ptr' and return type const.
|
|
|
|
|
(read_address, read_initial_length)
|
|
|
|
|
(read_checked_initial_length_and_offset, read_offset)
|
|
|
|
|
(read_offset_1, read_n_bytes, read_direct_string): Make 'buf'
|
|
|
|
|
const.
|
|
|
|
|
(read_direct_string): Make 'buf' and return type const.
|
|
|
|
|
(read_indirect_string_at_offset, read_indirect_string_from_dwz)
|
|
|
|
|
(read_indirect_string): Make return type const.
|
|
|
|
|
(read_unsigned_leb128, read_signed_leb128): Make 'buf' const.
|
|
|
|
|
(read_addr_index_from_leb128, dwarf2_read_addr_index_reader): Make
|
|
|
|
|
'info_ptr' const.
|
|
|
|
|
(read_str_index): Make return type const.
|
|
|
|
|
(add_include_dir): Make 'include_dir' const.
|
|
|
|
|
(add_file_name): Make 'name' const.
|
|
|
|
|
(dwarf_decode_line_header): Constify.
|
|
|
|
|
(psymtab_include_file_name): Make return type const.
|
|
|
|
|
(dwarf_decode_lines_1, dwarf_decode_lines): Constify.
|
|
|
|
|
(dwarf2_start_subfile): Make 'filename' const.
|
|
|
|
|
(dwarf2_const_value_attr): Make 'bytes' const.
|
|
|
|
|
(read_signatured_type_reader): Make 'info_ptr' const.
|
|
|
|
|
(decode_locdesc): Constify.
|
|
|
|
|
(skip_form_bytes): Make 'bytes', 'buffer_end', and return type
|
|
|
|
|
const.
|
|
|
|
|
(skip_unknown_opcode): Make 'opcode_definitions', 'mac_ptr',
|
|
|
|
|
'mac_end', and return type const.
|
|
|
|
|
(dwarf_parse_macro_header): Make 'mac_ptr' and return type const.
|
|
|
|
|
(dwarf_decode_macro_bytes): Make 'mac_ptr', 'mac_end', and return
|
|
|
|
|
type const.
|
|
|
|
|
(per_cu_header_read_in): Constify.
|
|
|
|
|
* symfile.h (dwarf2_get_section_info): Update.
|
|
|
|
|
|
2013-04-12 14:49:25 +00:00
|
|
|
|
2013-04-12 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* symtab.h (struct general_symbol_info) <value.bytes>: Make const.
|
|
|
|
|
|
2013-04-12 08:57:07 +00:00
|
|
|
|
2013-04-12 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
|
|
2013-04-12 17:14:22 +00:00
|
|
|
|
* NEWS: Mention "show configuration", --configuration.
|
2013-04-12 08:57:07 +00:00
|
|
|
|
* top.c (print_gdb_configuration): New function, displays the
|
|
|
|
|
details about GDB configure-time parameters.
|
|
|
|
|
(print_gdb_version): Mention "show configuration".
|
|
|
|
|
* cli/cli-cmds.c (show_configuration): New function.
|
|
|
|
|
(_initialize_cli_cmds): Add the "show configuration" command.
|
|
|
|
|
* main.c (captured_main) <print_configuration>: New static var.
|
|
|
|
|
<long_options>: Use it.
|
|
|
|
|
If --configuration was given, call print_gdb_configuration.
|
|
|
|
|
|
gdb/
* Makefile.in (HAVE_NATIVE_GCORE_TARGET): New.
(generated_files): Add gcore.
(install-only, uninstall): Add gcore if HAVE_NATIVE_GCORE_TARGET or
HAVE_NATIVE_GCORE_HOST.
(gcore): New.
* NEWS (Changes since GDB 7.6): Mention newly installed gcore.
* config/alpha/alpha-osf3.mh, config/i386/fbsd.mh,
config/i386/fbsd64.mh, config/i386/i386gnu.mh, config/i386/i386sol2.mh,
config/i386/sol2-64.mh, config/mips/irix5.mh, config/mips/irix6.mh,
config/powerpc/fbsd.mh, config/sparc/fbsd.mh, config/sparc/sol2.mh:
Add HAVE_NATIVE_GCORE_HOST.
* configure: Regenerate.
* configure.ac (HAVE_NATIVE_GCORE_TARGET): New, set it, AC_SUBST it.
New AC_SUBST fir GDB_TRANSFORM_NAME and GCORE_TRANSFORM_NAME. New
AC_CONFIG_FILES for gcore.
* configure.tgt: Add gdb_have_gcore to the initial comment. Set
gdb_have_gcore.
* gdb_gcore.sh: Rename to ...
* gcore.in: ... here. Remove gcore.sh comment. Use GDB_TRANSFORM_NAME
and GCORE_TRANSFORM_NAME substitutions.
gdb/doc/
* Makefile.in (MAN1S): Add gcore.1.
Remove "Host, target, and site specific Makefile fragments" comment.
(@host_makefile_frag@, HAVE_NATIVE_GCORE_TARGET): New.
(install-man1, uninstall-man1): Conditionalize gcore.1.
(gcore.1): New.
* gdb.texinfo (Man Pages): Add gcore man.
(gcore man): New node.
2013-04-11 14:13:44 +00:00
|
|
|
|
2013-04-11 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* Makefile.in (HAVE_NATIVE_GCORE_TARGET): New.
|
|
|
|
|
(generated_files): Add gcore.
|
|
|
|
|
(install-only, uninstall): Add gcore if HAVE_NATIVE_GCORE_TARGET or
|
|
|
|
|
HAVE_NATIVE_GCORE_HOST.
|
|
|
|
|
(gcore): New.
|
|
|
|
|
* NEWS (Changes since GDB 7.6): Mention newly installed gcore.
|
|
|
|
|
* config/alpha/alpha-osf3.mh, config/i386/fbsd.mh,
|
|
|
|
|
config/i386/fbsd64.mh, config/i386/i386gnu.mh, config/i386/i386sol2.mh,
|
|
|
|
|
config/i386/sol2-64.mh, config/mips/irix5.mh, config/mips/irix6.mh,
|
|
|
|
|
config/powerpc/fbsd.mh, config/sparc/fbsd.mh, config/sparc/sol2.mh:
|
|
|
|
|
Add HAVE_NATIVE_GCORE_HOST.
|
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
* configure.ac (HAVE_NATIVE_GCORE_TARGET): New, set it, AC_SUBST it.
|
|
|
|
|
New AC_SUBST fir GDB_TRANSFORM_NAME and GCORE_TRANSFORM_NAME. New
|
|
|
|
|
AC_CONFIG_FILES for gcore.
|
|
|
|
|
* configure.tgt: Add gdb_have_gcore to the initial comment. Set
|
|
|
|
|
gdb_have_gcore.
|
|
|
|
|
* gdb_gcore.sh: Rename to ...
|
|
|
|
|
* gcore.in: ... here. Remove gcore.sh comment. Use GDB_TRANSFORM_NAME
|
|
|
|
|
and GCORE_TRANSFORM_NAME substitutions.
|
|
|
|
|
|
2013-04-11 16:53:01 +00:00
|
|
|
|
Fix parsing tabs in ${gdb_target_obs}.
|
|
|
|
|
* configure.tgt (gdb_have_gcore): Replace case with for and if.
|
|
|
|
|
|
2013-04-11 13:14:04 +00:00
|
|
|
|
2013-04-11 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
* remote.c (unpush_and_perror): Add output message final dot.
|
|
|
|
|
|
2013-04-11 05:05:49 +00:00
|
|
|
|
2013-04-11 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* tracepoint.c (tfile_interp_line): Fit parameters line and
|
|
|
|
|
utpp in one line.
|
|
|
|
|
|
2013-04-11 01:18:49 +00:00
|
|
|
|
2013-04-10 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* solib.c (solib_map_sections): Remove code overwriting
|
|
|
|
|
SO->SO_NAME with the bfd's filename.
|
|
|
|
|
|
Accept "set foo unlimited" in integer/uinteger/zuinteger_unlimited commands.
Currently, several commands take "0" or "-1" to mean "unlimited".
"show" knows when to print "unlimited":
(gdb) show height
Number of lines gdb thinks are in a page is 45.
(gdb) set height 0
(gdb) show height
Number of lines gdb thinks are in a page is unlimited.
However, the user can't herself specify "unlimited" directly:
(gdb) set height unlimited
No symbol table is loaded. Use the "file" command.
(gdb)
This patch addresses that, by adjusting the set handler for all
integer/uinteger/zuinteger_unlimited commands to accept literal
"unlimited". It also installs a completer. Presently, we complete on
symbols by default, and at
<http://sourceware.org/ml/gdb-patches/2013-03/msg00864.html> I've
shown a WIP prototype that tried to keep that half working in these
commands. In the end, it turned out to be more complicated than
justifiable, IMO. It's super rare to want to pass the value of a
variable/symbol in the program to a GDB set/show knob. That'll still
work, it's just that we won't assist with completion anymore. This
patch just sticks with the simple, and completes on "unlimited", and
nothing else. This simplification means that
"set he<tab><tab>"
is all it takes to get to:
"set height unlimited"
The patch then goes through all integer/uinteger/zuinteger_unlimited
commands in the tree, and updates both the online help and the manual
to mention that "unlimited" is accepted in addition to 0/-1. In the
cases where the command had no online help text at all, this adds it.
I've tried to make the texts read in a way that "unlimited" is
suggested before "0" or "-1" is.
Tested on x86_64 Fedora 17.
gdb/
2013-04-10 Pedro Alves <palves@redhat.com>
* cli/cli-decode.c (integer_unlimited_completer): New function.
(add_setshow_integer_cmd, add_setshow_uinteger_cmd)
(add_setshow_zuinteger_unlimited_cmd): Install the "unlimited"
completer.
* cli/cli-setshow.c: Include "cli/cli-utils.h".
(is_unlimited_literal): New function.
(do_set_command): Handle literal "unlimited" arguments.
* frame.c (_initialize_frame) <set backtrace limit>: Document
"unlimited".
* printcmd.c (_initialize_printcmd) <set print
max-symbolic-offset>: Add help text.
* record-full.c (_initialize_record_full) <set record full
insn-number-max>: Likewise.
* record.c (_initialize_record) <set record
instruction-history-size, set record function-call-history-size>:
Add help text.
* ser-tcp.c (_initialize_ser_tcp) <set tcp connect-timeout>: Add
help text.
* tracepoint.c (_initialize_tracepoint) <set trace-buffer-size>:
Likewise.
* source.c (_initialize_source) <set listsize>: Add help text.
* utils.c (initialize_utils) <set height, set width>: Likewise.
<set pagination>: Mention "set height unlimited".
* valprint.c (_initialize_valprint) <set print elements, set print
repeats>: Document "unlimited".
gdb/doc/
2013-04-10 Pedro Alves <palves@redhat.com>
* gdb.texinfo (Process Record and Replay): Document that "set
record full insn-number-max", "set record
instruction-history-size" and "set record
function-call-history-size" accept "unlimited".
(Backtrace): Document that "set backtrace limit" accepts
"unlimited".
(List): Document that "set listsize" accepts "unlimited".
(Print Settings)" Document that "set print max-symbolic-offset",
"set print elements" and "set print repeats" accept "unlimited".
(Starting and Stopping Trace Experiments): Document that "set
trace-buffer-size" accepts "unlimited".
(Remote Configuration): Document that "set tcp connect-timeout"
accepts "unlimited".
(Command History): Document that "set history size" accepts
"unlimited".
(Screen Size): Document that "set height" and "set width" accepts
"unlimited". Adjust "set pagination"'s description to suggest
"set height unlimited" instead of "set height 0".
gdb/testsuite/
2013-04-10 Pedro Alves <palves@redhat.com>
* gdb.base/completion.exp: Test "set height", "set listsize" and
"set trace-buffer-size" completion.
* gdb.base/setshow.exp: Test "set height unlimited".
* gdb.trace/trace-buffer-size.exp: Test "set trace-buffer-size
unlimited".
2013-04-10 15:11:12 +00:00
|
|
|
|
2013-04-10 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* cli/cli-decode.c (integer_unlimited_completer): New function.
|
|
|
|
|
(add_setshow_integer_cmd, add_setshow_uinteger_cmd)
|
|
|
|
|
(add_setshow_zuinteger_unlimited_cmd): Install the "unlimited"
|
|
|
|
|
completer.
|
|
|
|
|
* cli/cli-setshow.c: Include "cli/cli-utils.h".
|
|
|
|
|
(is_unlimited_literal): New function.
|
|
|
|
|
(do_set_command): Handle literal "unlimited" arguments.
|
|
|
|
|
* frame.c (_initialize_frame) <set backtrace limit>: Document
|
|
|
|
|
"unlimited".
|
|
|
|
|
* printcmd.c (_initialize_printcmd) <set print
|
|
|
|
|
max-symbolic-offset>: Add help text.
|
|
|
|
|
* record-full.c (_initialize_record_full) <set record full
|
|
|
|
|
insn-number-max>: Likewise.
|
|
|
|
|
* record.c (_initialize_record) <set record
|
|
|
|
|
instruction-history-size, set record function-call-history-size>:
|
|
|
|
|
Add help text.
|
|
|
|
|
* ser-tcp.c (_initialize_ser_tcp) <set tcp connect-timeout>: Add
|
|
|
|
|
help text.
|
|
|
|
|
* tracepoint.c (_initialize_tracepoint) <set trace-buffer-size>:
|
|
|
|
|
Likewise.
|
|
|
|
|
* source.c (_initialize_source) <set listsize>: Add help text.
|
|
|
|
|
* utils.c (initialize_utils) <set height, set width>: Likewise.
|
|
|
|
|
<set pagination>: Mention "set height unlimited".
|
|
|
|
|
* valprint.c (_initialize_valprint) <set print elements, set print
|
|
|
|
|
repeats>: Document "unlimited".
|
|
|
|
|
|
make -gdb-exit call disconnect_tracing too, and don't lose history if the target errors on "quit"
Gareth mentions in PR gdb/15275:
"The MI '-gdb-exit' command mi_cmd_gdb_exit() never calls disconnect_tracing()
and therefore exits correctly."
It should, so to get out of tfind mode, as quit may detach instead of
kill, and we don't want to confuse the memory/register accesses
etc. of the detach process. So we should push down the disconnect
tracing bits at least to quit_force. But we can't as is, as that
would swallow the error thrown by answering "no" to:
Trace is running but will stop on detach; detach anyway? (y or n)
So to address that, we split disconnect_tracing in two. One part that
does the query, and another part that does the rest, and we make
quit_force call the latter.
Looking at quit_force, it does several things, some of which are a bit
independent of the others. It first kills/detaches, and then writes
history, and then runs the final cleanups. It seems better to me to
do each of these things even if the previous thing throws. E.g., as
is, if something throws while detaching, then we skip writing history.
Tested on x86_64 Fedora 17.
gdb/
2013-04-10 Pedro Alves <palves@redhat.com>
* cli/cli-cmds.c (quit_command): Call query_if_trace_running
instead of disconnect_tracing.
* infcmd.c (detach_command, disconnect_command): Call
query_if_trace_running. Adjust.
* top.c: Include "tracepoint.h".
(quit_target): Delete. Contents moved ...
(quit_force): ... here. Wrap each stage of teardown in
TRY_CATCH. Call disconnect_tracing before detaching.
2013-04-10 14:10:35 +00:00
|
|
|
|
2013-04-10 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* cli/cli-cmds.c (quit_command): Call query_if_trace_running
|
|
|
|
|
instead of disconnect_tracing.
|
|
|
|
|
* infcmd.c (detach_command, disconnect_command): Call
|
|
|
|
|
query_if_trace_running. Adjust.
|
|
|
|
|
* top.c: Include "tracepoint.h".
|
|
|
|
|
(quit_target): Delete. Contents moved ...
|
|
|
|
|
(quit_force): ... here. Wrap each stage of teardown in
|
|
|
|
|
TRY_CATCH. Call disconnect_tracing before detaching.
|
|
|
|
|
|
gdb/
2013-04-10 Hui Zhu <hui@codesourcery.com>
Yao Qi <yao@codesourcery.com>
* configure.ac: Check libbabeltrace is installed.
* config.in: Regenerate.
* configure: Regenerate.
* Makefile.in (LIBBABELTRACE): New.
(CLIBS): Add LIBBABELTRACE.
* ctf.c: Include "exec.h".
(CTF_EVENT_ID_STATUS, CTF_EVENT_ID_TSV_DEF): New macros.
(CTF_EVENT_ID_TP_DEF, ctf_save_write_int32): New macros.
(ctf_save_metadata_header): Define new type aliases in
metadata.
(ctf_write_header): Define event type "tsv_def" and "tp_def"
in metadata. Start a new faked packet for trace status.
(ctf_write_status): Write trace status to CTF.
(ctf_write_uploaded_tsv): Write TSV to CTF.
(ctf_write_uploaded_tp): Write tracepoint definition to CTF.
(ctf_write_definition_end): End the faked packet.
(ctx, ctf_iter, trace_dirname): New.
(start_pos): New variable.
(ctf_destroy, ctf_open_dir, ctf_open): New.
(SET_INT32_FIELD, SET_ARRAY_FIELD, SET_STRING_FIELD): New
macros.
(ctf_read_tsv, ctf_read_tp, ctf_close, ctf_files_info): New.
(ctf_fetch_registers, ctf_xfer_partial): New.
(ctf_get_trace_state_variable_value): New.
(ctf_get_tpnum_from_frame_event): New.
(ctf_get_traceframe_address): New.
(ctf_trace_find, ctf_has_stack): New.
(ctf_has_registers, ctf_traceframe_info, init_ctf_ops): New.
(ctf_get_trace_status, ctf_read_status): New.
(_initialize_ctf): New.
* tracepoint.c (get_tracepoint_number): New
(get_uploaded_tsv): Remove 'static'.
(struct traceframe_info, trace_regblock_size): Move it to ...
* tracepoint.h: ... here.
(get_tracepoint_number): Declare it.
(get_uploaded_tsv): Declare it.
* NEWS: Mention new configure option.
gdb/doc/
2013-04-10 Yao Qi <yao@codesourcery.com>
* gdb.texinfo (Trace Files): Add "target ctf".
gdb/testsuite/
2013-04-10 Yao Qi <yao@codesourcery.com>
* gdb.trace/actions.exp: Save trace data to CTF.
Change to ctf target if GDB supports, read CTF data in ctf
target, and check the actions of tracepoints.
* gdb.trace/while-stepping.exp: Likewise.
* gdb.trace/report.exp: Test GDB saves trace data to CTF
format and read CTF trace file if GDB supports.
* gdb.trace/tstatus.exp: Save trace data to CTF. If ctf
target is supported, change to ctf target, read trace data and
check output of command "tstatus".
* gdb.trace/tsv.exp: Save trace frame to CTF. If GDB supports,
read CTF data by target ctf and call check_tsv.
2013-04-10 09:42:57 +00:00
|
|
|
|
2013-04-10 Hui Zhu <hui@codesourcery.com>
|
|
|
|
|
Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* configure.ac: Check libbabeltrace is installed.
|
|
|
|
|
* config.in: Regenerate.
|
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
* Makefile.in (LIBBABELTRACE): New.
|
|
|
|
|
(CLIBS): Add LIBBABELTRACE.
|
|
|
|
|
* ctf.c: Include "exec.h".
|
|
|
|
|
(CTF_EVENT_ID_STATUS, CTF_EVENT_ID_TSV_DEF): New macros.
|
|
|
|
|
(CTF_EVENT_ID_TP_DEF, ctf_save_write_int32): New macros.
|
|
|
|
|
(ctf_save_metadata_header): Define new type aliases in
|
|
|
|
|
metadata.
|
|
|
|
|
(ctf_write_header): Define event type "tsv_def" and "tp_def"
|
|
|
|
|
in metadata. Start a new faked packet for trace status.
|
|
|
|
|
(ctf_write_status): Write trace status to CTF.
|
|
|
|
|
(ctf_write_uploaded_tsv): Write TSV to CTF.
|
|
|
|
|
(ctf_write_uploaded_tp): Write tracepoint definition to CTF.
|
|
|
|
|
(ctf_write_definition_end): End the faked packet.
|
|
|
|
|
|
|
|
|
|
(ctx, ctf_iter, trace_dirname): New.
|
|
|
|
|
(start_pos): New variable.
|
|
|
|
|
(ctf_destroy, ctf_open_dir, ctf_open): New.
|
|
|
|
|
(SET_INT32_FIELD, SET_ARRAY_FIELD, SET_STRING_FIELD): New
|
|
|
|
|
macros.
|
|
|
|
|
(ctf_read_tsv, ctf_read_tp, ctf_close, ctf_files_info): New.
|
|
|
|
|
(ctf_fetch_registers, ctf_xfer_partial): New.
|
|
|
|
|
(ctf_get_trace_state_variable_value): New.
|
|
|
|
|
(ctf_get_tpnum_from_frame_event): New.
|
|
|
|
|
(ctf_get_traceframe_address): New.
|
|
|
|
|
(ctf_trace_find, ctf_has_stack): New.
|
|
|
|
|
(ctf_has_registers, ctf_traceframe_info, init_ctf_ops): New.
|
|
|
|
|
(ctf_get_trace_status, ctf_read_status): New.
|
|
|
|
|
(_initialize_ctf): New.
|
|
|
|
|
* tracepoint.c (get_tracepoint_number): New
|
|
|
|
|
(get_uploaded_tsv): Remove 'static'.
|
2013-05-06 18:03:33 +00:00
|
|
|
|
(struct traceframe_info, trace_regblock_size): Move it to ...
|
gdb/
2013-04-10 Hui Zhu <hui@codesourcery.com>
Yao Qi <yao@codesourcery.com>
* configure.ac: Check libbabeltrace is installed.
* config.in: Regenerate.
* configure: Regenerate.
* Makefile.in (LIBBABELTRACE): New.
(CLIBS): Add LIBBABELTRACE.
* ctf.c: Include "exec.h".
(CTF_EVENT_ID_STATUS, CTF_EVENT_ID_TSV_DEF): New macros.
(CTF_EVENT_ID_TP_DEF, ctf_save_write_int32): New macros.
(ctf_save_metadata_header): Define new type aliases in
metadata.
(ctf_write_header): Define event type "tsv_def" and "tp_def"
in metadata. Start a new faked packet for trace status.
(ctf_write_status): Write trace status to CTF.
(ctf_write_uploaded_tsv): Write TSV to CTF.
(ctf_write_uploaded_tp): Write tracepoint definition to CTF.
(ctf_write_definition_end): End the faked packet.
(ctx, ctf_iter, trace_dirname): New.
(start_pos): New variable.
(ctf_destroy, ctf_open_dir, ctf_open): New.
(SET_INT32_FIELD, SET_ARRAY_FIELD, SET_STRING_FIELD): New
macros.
(ctf_read_tsv, ctf_read_tp, ctf_close, ctf_files_info): New.
(ctf_fetch_registers, ctf_xfer_partial): New.
(ctf_get_trace_state_variable_value): New.
(ctf_get_tpnum_from_frame_event): New.
(ctf_get_traceframe_address): New.
(ctf_trace_find, ctf_has_stack): New.
(ctf_has_registers, ctf_traceframe_info, init_ctf_ops): New.
(ctf_get_trace_status, ctf_read_status): New.
(_initialize_ctf): New.
* tracepoint.c (get_tracepoint_number): New
(get_uploaded_tsv): Remove 'static'.
(struct traceframe_info, trace_regblock_size): Move it to ...
* tracepoint.h: ... here.
(get_tracepoint_number): Declare it.
(get_uploaded_tsv): Declare it.
* NEWS: Mention new configure option.
gdb/doc/
2013-04-10 Yao Qi <yao@codesourcery.com>
* gdb.texinfo (Trace Files): Add "target ctf".
gdb/testsuite/
2013-04-10 Yao Qi <yao@codesourcery.com>
* gdb.trace/actions.exp: Save trace data to CTF.
Change to ctf target if GDB supports, read CTF data in ctf
target, and check the actions of tracepoints.
* gdb.trace/while-stepping.exp: Likewise.
* gdb.trace/report.exp: Test GDB saves trace data to CTF
format and read CTF trace file if GDB supports.
* gdb.trace/tstatus.exp: Save trace data to CTF. If ctf
target is supported, change to ctf target, read trace data and
check output of command "tstatus".
* gdb.trace/tsv.exp: Save trace frame to CTF. If GDB supports,
read CTF data by target ctf and call check_tsv.
2013-04-10 09:42:57 +00:00
|
|
|
|
* tracepoint.h: ... here.
|
|
|
|
|
(get_tracepoint_number): Declare it.
|
|
|
|
|
(get_uploaded_tsv): Declare it.
|
|
|
|
|
|
|
|
|
|
* NEWS: Mention new configure option.
|
|
|
|
|
|
2013-04-10 04:35:21 +00:00
|
|
|
|
2013-04-10 Pedro Alves <palves@redhat.com>
|
|
|
|
|
Hui Zhu <hui@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* breakpoint.c (dprintf_re_set): New.
|
|
|
|
|
(initialize_breakpoint_ops): Set dprintf_breakpoint_ops re_set
|
|
|
|
|
to dprintf_re_set.
|
|
|
|
|
|
2013-04-10 00:47:32 +00:00
|
|
|
|
2013-04-09 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* configure.tgt (gdb_target_obs) <powerpc-*-aix* | rs6000-*-*>:
|
|
|
|
|
Remove solib-svr4.o from the list.
|
|
|
|
|
|
2013-04-09 23:30:50 +00:00
|
|
|
|
2013-04-09 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* varobj.c (update_dynamic_varobj_children) [!HAVE_PYTHON]:
|
|
|
|
|
Use gdb_assert_not_reached instead of invalid boolean expression.
|
|
|
|
|
|
2013-04-09 12:18:34 +00:00
|
|
|
|
2013-04-09 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* remote.c (unpush_and_perror): New function.
|
|
|
|
|
(readchar, remote_serial_write): Use it.
|
|
|
|
|
|
2013-04-09 08:04:32 +00:00
|
|
|
|
2013-04-09 Markus Metzger <markus.t.metzger@intel.com>
|
|
|
|
|
|
|
|
|
|
* NEWS: Mention new btrace RSP packets.
|
|
|
|
|
|
2013-04-09 02:17:17 +00:00
|
|
|
|
2013-04-08 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* symmisc.c (dump_msymbols): Cast fprintf_filtered argument to
|
|
|
|
|
long.
|
|
|
|
|
|
2013-04-08 20:20:46 +00:00
|
|
|
|
2013-04-08 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* maint.c (print_bfd_section_info): Print the section index.
|
|
|
|
|
* symmisc.c (dump_msymbols): Print the section index.
|
|
|
|
|
|
2013-04-08 20:18:11 +00:00
|
|
|
|
2013-04-08 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR symtab/8424:
|
|
|
|
|
* blockframe.c (find_pc_partial_function_gnu_ifunc): Check
|
|
|
|
|
SYMBOL_SECTION, not SYMBOL_OBJ_SECTION.
|
|
|
|
|
* breakpoint.c (resolve_sal_pc): Update.
|
|
|
|
|
* elfread.c (elf_gnu_ifunc_record_cache): Update.
|
|
|
|
|
* findvar.c (struct minsym_lookup_data) <objfile>: New field.
|
|
|
|
|
(minsym_lookup_iterator_cb): Use it.
|
|
|
|
|
(default_read_var_value): Update.
|
|
|
|
|
* hppa-hpux-tdep.c (hppa64_hpux_in_solib_call_trampoline):
|
|
|
|
|
Update.
|
|
|
|
|
* infcmd.c (jump_command): Update.
|
|
|
|
|
* linespec.c (minsym_found): Update.
|
|
|
|
|
* maint.c (maintenance_translate_address): Update.
|
|
|
|
|
* minsyms.c (lookup_minimal_symbol_by_pc_section_1): Update.
|
|
|
|
|
(prim_record_minimal_symbol_full): Don't set SYMBOL_OBJ_SECTION.
|
|
|
|
|
* parse.c (write_exp_msymbol): Update.
|
|
|
|
|
* printcmd.c (address_info): Update.
|
|
|
|
|
* psymtab.c (find_pc_sect_psymbol): Update.
|
|
|
|
|
(fixup_psymbol_section): Check SYMBOL_SECTION, not
|
|
|
|
|
SYMBOL_OBJ_SECTION.
|
|
|
|
|
(add_psymbol_to_bcache): Correctly initialize SYMBOL_SECTION.
|
|
|
|
|
Don't initialize SYMBOL_OBJ_SECTION.
|
|
|
|
|
* spu-tdep.c (spu_catch_start): Update.
|
|
|
|
|
* stabsread.c (define_symbol): Don't set SYMBOL_SECTION.
|
|
|
|
|
* symmisc.c (dump_msymbols, print_symbol): Update.
|
|
|
|
|
* symtab.c (fixup_section): Don't set 'obj_section'. Change
|
|
|
|
|
how fallback section is computed.
|
|
|
|
|
(fixup_symbol_section): Update.
|
|
|
|
|
(find_pc_sect_symtab, find_function_start_sal, skip_prologue_sal):
|
|
|
|
|
Update.
|
|
|
|
|
(allocate_symbol, initialize_symbol, allocate_template_symbol):
|
|
|
|
|
Initialize SYMBOL_SECTION.
|
|
|
|
|
* symtab.h (struct general_symbol_info) <section>: Update comment.
|
|
|
|
|
<obj_section>: Remove.
|
|
|
|
|
(SYMBOL_OBJ_SECTION): Add 'objfile' argument. Rewrite.
|
|
|
|
|
(SYMBOL_OBJFILE): New macro.
|
|
|
|
|
|
2013-04-08 20:13:22 +00:00
|
|
|
|
2013-04-08 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* coffread.c (record_minimal_symbol): Update.
|
|
|
|
|
* dbxread.c (record_minimal_symbol): Update.
|
|
|
|
|
* elfread.c (record_minimal_symbol): Update.
|
|
|
|
|
* machoread.c (macho_symtab_add_minsym): Update.
|
|
|
|
|
* mdebugread.c (record_minimal_symbol, parse_partial_symbols):
|
|
|
|
|
Update.
|
|
|
|
|
* minsyms.c (prim_record_minimal_symbol): Update.
|
|
|
|
|
(prim_record_minimal_symbol_full): Remove 'bfd_section'
|
|
|
|
|
argument.
|
|
|
|
|
(prim_record_minimal_symbol_and_info): Likewise.
|
|
|
|
|
* minsyms.h (prim_record_minimal_symbol_full)
|
|
|
|
|
(prim_record_minimal_symbol_and_info): Update.
|
|
|
|
|
* symtab.c (allocate_symbol, initialize_symbol)
|
|
|
|
|
(allocate_template_symbol): Initialize SYMBOL_SECTION.
|
|
|
|
|
* xcoffread.c (record_minimal_symbol, scan_xcoff_symtab):
|
|
|
|
|
Update.
|
|
|
|
|
|
2013-04-08 20:08:21 +00:00
|
|
|
|
2013-04-08 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR symtab/8423:
|
|
|
|
|
* solib-som.c (som_solib_section_offsets): Use BFD section
|
|
|
|
|
indices. Set offsets for all sections.
|
|
|
|
|
* somread.c (som_symtab_read): Compute BFD section for
|
|
|
|
|
symbol. Use prim_record_minimal_symbol_and_info.
|
|
|
|
|
(som_symfile_read): Fix comment.
|
|
|
|
|
(struct find_section_offset_arg): New.
|
|
|
|
|
(find_section_offset, set_section_index): New functions.
|
|
|
|
|
(som_symfile_offsets): Use set_section_index to compute
|
|
|
|
|
section indices.
|
|
|
|
|
|
2013-04-08 20:04:42 +00:00
|
|
|
|
2013-04-08 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* coffread.c (cs_to_section): Use gdb_bfd_section_index.
|
|
|
|
|
* elfread.c (record_minimal_symbol, elf_symtab_read): Use
|
|
|
|
|
gdb_bfd_section_index.
|
|
|
|
|
* gdb_bfd.c (gdb_bfd_section_index, gdb_bfd_count_sections):
|
|
|
|
|
New functions.
|
|
|
|
|
* gdb_bfd.h (gdb_bfd_section_index, gdb_bfd_count_sections):
|
|
|
|
|
Declare.
|
|
|
|
|
* machoread.c (macho_symtab_add_minsym, macho_symfile_offsets):
|
|
|
|
|
Update.
|
|
|
|
|
* objfiles.c (add_to_objfile_sections_full): New function.
|
|
|
|
|
(add_to_objfile_sections): Use it.
|
|
|
|
|
(build_section_table): Rewrite.
|
|
|
|
|
(objfile_relocate1): Use gdb_bfd_section_index. Update.
|
|
|
|
|
* objfiles.h (obj_section_offset): Use gdb_bfd_section_index.
|
|
|
|
|
(struct objfile) <sections>: Update comment.
|
|
|
|
|
(ALL_OBJFILE_OSECTIONS): Skip sections where the_bfd_section
|
|
|
|
|
is NULL.
|
|
|
|
|
(ALL_OBJSECTIONS): Use it.
|
|
|
|
|
* solib-dsbt.c (dsbt_relocate_main_executable): Update.
|
|
|
|
|
* solib-frv.c (frv_relocate_main_executable): Update.
|
|
|
|
|
* solib-target.c (solib_target_relocate_section_addresses):
|
|
|
|
|
Use gdb_bfd_section_index.
|
|
|
|
|
* symfile.c (build_section_addr_info_from_section_table):
|
|
|
|
|
Use gdb_bfd_section_index.
|
|
|
|
|
(build_section_addr_info_from_bfd, place_section): Likewise.
|
|
|
|
|
* symtab.c (fixup_section): Update.
|
|
|
|
|
* xcoffread.c (find_targ_sec): Use gdb_bfd_section_index.
|
|
|
|
|
|
* minsyms.h (struct bound_minimal_symbol): New.
(lookup_minimal_symbol_and_objfile): Return bound_minimal_symbol.
Remove objfile argument.
(lookup_minimal_symbol_by_pc_section, lookup_minimal_symbol_by_pc):
Return bound_minimal_symbol.
* minsyms.c (lookup_minimal_symbol_by_pc_1)
(lookup_minimal_symbol_by_pc_section, lookup_minimal_symbol_by_pc):
Return bound_minimal_symbol.
(in_gnu_ifunc_stub): Update.
(lookup_minimal_symbol_and_objfile): Return bound_minimal_symbol.
Remove 'objfile_p' argument.
(lookup_solib_trampoline_symbol_by_pc): Update.
* ada-tasks.c, amd64-windows-tdep.c, arm-tdep.c,
arm-wince-tdep.c, block.c, blockframe.c, breakpoint.c, btrace.c,
c-valprint.c, dwarf2loc.c, elfread.c, frame.c, frv-tdep.c,
glibc-tdep.c, gnu-v2-abi.c, gnu-v3-abi.c, hppa-hpux-tdep.c,
i386-tdep.c, ia64-tdep.c, infcall.c, infcmd.c, jit.c,
linux-fork.c, m32c-tdep.c, m68hc11-tdep.c, maint.c,
mips-tdep.c, p-valprint.c, parse.c, ppc-linux-tdep.c,
ppc-sysv-tdep.c, printcmd.c, rs6000-tdep.c, sh64-tdep.c,
stack.c, symtab.c, tui/tui-disasm.c: Update.
2013-04-08 19:59:09 +00:00
|
|
|
|
2013-04-08 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* minsyms.h (struct bound_minimal_symbol): New.
|
|
|
|
|
(lookup_minimal_symbol_and_objfile): Return bound_minimal_symbol.
|
|
|
|
|
Remove objfile argument.
|
|
|
|
|
(lookup_minimal_symbol_by_pc_section, lookup_minimal_symbol_by_pc):
|
|
|
|
|
Return bound_minimal_symbol.
|
|
|
|
|
* minsyms.c (lookup_minimal_symbol_by_pc_1)
|
|
|
|
|
(lookup_minimal_symbol_by_pc_section, lookup_minimal_symbol_by_pc):
|
|
|
|
|
Return bound_minimal_symbol.
|
|
|
|
|
(in_gnu_ifunc_stub): Update.
|
|
|
|
|
(lookup_minimal_symbol_and_objfile): Return bound_minimal_symbol.
|
|
|
|
|
Remove 'objfile_p' argument.
|
|
|
|
|
(lookup_solib_trampoline_symbol_by_pc): Update.
|
|
|
|
|
* ada-tasks.c, amd64-windows-tdep.c, arm-tdep.c,
|
|
|
|
|
arm-wince-tdep.c, block.c, blockframe.c, breakpoint.c, btrace.c,
|
|
|
|
|
c-valprint.c, dwarf2loc.c, elfread.c, frame.c, frv-tdep.c,
|
|
|
|
|
glibc-tdep.c, gnu-v2-abi.c, gnu-v3-abi.c, hppa-hpux-tdep.c,
|
|
|
|
|
i386-tdep.c, ia64-tdep.c, infcall.c, infcmd.c, jit.c,
|
|
|
|
|
linux-fork.c, m32c-tdep.c, m68hc11-tdep.c, maint.c,
|
|
|
|
|
mips-tdep.c, p-valprint.c, parse.c, ppc-linux-tdep.c,
|
|
|
|
|
ppc-sysv-tdep.c, printcmd.c, rs6000-tdep.c, sh64-tdep.c,
|
|
|
|
|
stack.c, symtab.c, tui/tui-disasm.c: Update.
|
|
|
|
|
|
2013-04-08 19:56:03 +00:00
|
|
|
|
2013-04-08 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* ada-lang.c (ada_decode_symbol): Check and set 'ada_mangled'.
|
|
|
|
|
Use symbol's obstack, not an objfile.
|
|
|
|
|
* coffread.c (process_coff_symbol): Update.
|
|
|
|
|
* dwarf2read.c (fixup_go_packaging, new_symbol_full): Update.
|
|
|
|
|
* jv-lang.c (add_class_symbol): Update.
|
|
|
|
|
* mdebugread.c (new_symbol): Update.
|
|
|
|
|
* minsyms.c (prim_record_minimal_symbol_full)
|
|
|
|
|
(terminate_minimal_symbol_table): Update.
|
|
|
|
|
* psymtab.c (add_psymbol_to_bcache): Clear entire symbol. Update.
|
|
|
|
|
* stabsread.c (define_symbol, read_enum_type): Update.
|
|
|
|
|
* symtab.c (symbol_set_demangled_name, symbol_get_demangled_name):
|
|
|
|
|
Handle Ada specially.
|
|
|
|
|
(symbol_set_language): Add 'obstack' argument.
|
|
|
|
|
(symbol_set_names): Update.
|
|
|
|
|
(symbol_natural_name, symbol_demangled_name): Always use
|
|
|
|
|
ada_decode_symbol.
|
|
|
|
|
* symtab.h (struct general_symbol_info)
|
|
|
|
|
<language_specific::obstack>: New field.
|
|
|
|
|
<ada_mangled>: New field.
|
|
|
|
|
(SYMBOL_SET_LANGUAGE): Add 'obstack' argument.
|
|
|
|
|
(symbol_set_language): Update.
|
|
|
|
|
|
2013-04-08 19:53:18 +00:00
|
|
|
|
2013-04-08 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* symtab.c (symbol_init_cplus_specific, symbol_set_demangled_name):
|
|
|
|
|
Take an obstack, not an objfile.
|
|
|
|
|
(symbol_set_names): Update.
|
|
|
|
|
* symtab.h (symbol_set_demangled_name): Update.
|
|
|
|
|
|
2013-04-08 19:48:30 +00:00
|
|
|
|
2013-04-08 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* coffread.c (process_coff_symbol, coff_read_enum_type): Call
|
|
|
|
|
allocate_symbol.
|
|
|
|
|
* dwarf2read.c (fixup_go_packaging): Call allocate_symbol.
|
|
|
|
|
(read_func_scope): Call allocate_template_symbol.
|
|
|
|
|
(new_symbol_full): Call allocate_symbol.
|
|
|
|
|
* jit.c (finalize_symtab): Call allocate_symbol.
|
|
|
|
|
* jv-lang.c (add_class_symbol): Call allocate_symbol.
|
|
|
|
|
* mdebugread.c (parse_symbol, new_block): Call allocate_symbol.
|
|
|
|
|
* stabsread.c (patch_block_stabs, define_symbol, read_enum_type)
|
|
|
|
|
(common_block_end): Call allocate_symbol.
|
|
|
|
|
* symtab.c (allocate_symbol, initialize_symbol)
|
|
|
|
|
(allocate_template_symbol): New functions.
|
|
|
|
|
* symtab.c (allocate_symbol, initialize_symbol)
|
|
|
|
|
(allocate_template_symbol): Declare.
|
|
|
|
|
* xcoffread.c (process_xcoff_symbol): Call initialize_symbol.
|
|
|
|
|
|
2013-04-08 14:09:30 +00:00
|
|
|
|
2013-04-08 Pedro Alves <palves@redhat.com>
|
|
|
|
|
Keith Seitz <keiths@redhat.com>
|
|
|
|
|
|
|
|
|
|
* breakpoint.c (create_breakpoint): Rename
|
|
|
|
|
"parse_condition_and_thread" parameter to "parse_arg". Update
|
|
|
|
|
describing comment. If !PARSE_ARG, then error out if ARG is not
|
|
|
|
|
the empty string after extracting the location.
|
|
|
|
|
* breakpoint.h (create_breakpoint): Rename
|
|
|
|
|
"parse_condition_and_thread" parameter to "parse_arg".
|
|
|
|
|
|
2013-04-08 14:03:56 +00:00
|
|
|
|
2013-04-08 Aleksandar Ristovski <aristovski@qnx.com
|
|
|
|
|
|
|
|
|
|
* solib-svr4.c (lm_addr_check): Add const qualifier to 'so' arg.
|
|
|
|
|
|
2013-04-07 10:23:34 +00:00
|
|
|
|
2013-04-07 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* remote.c (remote_trace_find): Change type of parameters 'addr1'
|
|
|
|
|
and 'addr2' to CORE_ADDR.
|
|
|
|
|
* target.c (update_current_target): Update.
|
|
|
|
|
* target.h (struct target_ops) <to_trace_find>: Change parameter
|
|
|
|
|
type to CORE_ADDR.
|
|
|
|
|
* tracepoint.c (tfind_1): Change type of parameters 'addr1' and
|
|
|
|
|
'addr2' to CORE_ADDR.
|
|
|
|
|
(tfile_trace_find): Likewise.
|
|
|
|
|
(tfile_get_traceframe_address): Change return type to CORE_ADDR.
|
|
|
|
|
Change local variable 'addr' to type CORE_ADDR.
|
|
|
|
|
* tracepoint.h (tfind_1): Update declaration.
|
|
|
|
|
|
2013-04-06 06:52:06 +00:00
|
|
|
|
2013-04-06 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
|
|
|
|
|
|
* windows-nat.c (windows_get_absolute_argv0): Move from here...
|
|
|
|
|
* mingw-hdep.c (windows_get_absolute_argv0): ...to here.
|
|
|
|
|
Include main.h.
|
|
|
|
|
|
|
|
|
|
* windows-nat.h (windows_get_absolute_argv0): Move prototype from
|
|
|
|
|
here...
|
|
|
|
|
* main.h (windows_get_absolute_argv0): ...to here.
|
|
|
|
|
|
2013-04-05 21:48:25 +00:00
|
|
|
|
2013-04-05 Doug Evans <dje@google.com>
|
|
|
|
|
|
|
|
|
|
* dwarf2read.c (struct dwarf2_per_objfile): Tweak comment.
|
|
|
|
|
(read_cutu_die_from_dwo): Add comments.
|
|
|
|
|
(read_structure_type): Update comment.
|
|
|
|
|
(read_enumeration_type, read_namespace_type): Update comment.
|
|
|
|
|
(read_die_type, get_die_type_at_offset, get_die_type): Update comment.
|
|
|
|
|
|
gdb/
Convert man pages to texinfo, new gdbinit.5 texinfo page.
* Makefile.in (gdb.z): Remove.
(install-only): Remove $(man1dir) and gdb.1 installation.
* gdb.1: Remove.
gdb/gdbserver/
Convert man pages to texinfo, new gdbinit.5 texinfo page.
* Makefile.in (install-only): Remove $(man1dir) and gdbserver.1
installation.
* gdbserver.1: Remove.
gdb/doc/
Convert man pages to texinfo, new gdbinit.5 texinfo page.
* Makefile.in (mandir, man1dir, man5dir, SYSTEM_GDBINIT, MANCONF,
(TEXI2POD, POD2MAN1, POD2MAN5, MAN1S, MAN5S, MANS, man): New.
(diststuff): Add man.
(install-man, install-man1, install-man5, uninstall-man, uninstall-man1)
(uninstall-man5): New.
(STAGESTUFF): Add *.1 and *.5.
(GDBvn.texi): Add SYSTEM_GDBINIT.
(gdb.1, gdbserver.1, gdbinit.5): New.
(maintainer-clean realclean): Add $(MANS).
(install): Add install-man.
(uninstall): Add uninstall-man.
* gdb.texinfo (@include gdb-cfg.texi): Wrap it by @c man begin INCLUDE.
(@copying): Wrap it by @c man begin COPYRIGHT.
(Top): Add Man Pages.
(Man Pages, gdb man, gdbserver man, gdbinit man): New.
2013-04-05 20:01:33 +00:00
|
|
|
|
2013-04-05 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
Convert man pages to texinfo, new gdbinit.5 texinfo page.
|
|
|
|
|
* Makefile.in (gdb.z): Remove.
|
|
|
|
|
(install-only): Remove $(man1dir) and gdb.1 installation.
|
|
|
|
|
* gdb.1: Remove.
|
|
|
|
|
|
2013-04-05 19:17:15 +00:00
|
|
|
|
2013-04-05 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
Fix compatibility with Linux kernel 3.8.3.
|
|
|
|
|
* linux-tdep.c (linux_find_memory_regions_full): Move variable number
|
|
|
|
|
to more inner block. Remove parsing of NUMBER from outer block.
|
|
|
|
|
Parse NUMBER only if KEYWORD has been identified.
|
|
|
|
|
|
2013-04-05 19:14:44 +00:00
|
|
|
|
2013-04-05 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
Fix variable name shadowing.
|
|
|
|
|
* linux-tdep.c (linux_find_memory_regions_full): Rename outer variable
|
|
|
|
|
filename to mapsfilename and update its uses.
|
|
|
|
|
|
2013-04-05 13:24:24 +00:00
|
|
|
|
2013-04-05 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
|
|
|
|
|
|
* Makefile.in (TAGS): Avoid warning from etags when $GDB_NM_FILE is
|
|
|
|
|
empty. See http://sourceware.org/ml/gdb-patches/2012-08/msg00504.html
|
|
|
|
|
and http://sourceware.org/ml/gdb-patches/2013-04/msg00055.html for
|
|
|
|
|
details of the problem.
|
|
|
|
|
|
tracepoint->step_count fixes
If a tracepoint's actions list includes a while-stepping action, and
then the actions are changed to a list without any while-stepping
action, the tracepoint's step_count will be left with a stale value.
For example:
(gdb) trace subr
Tracepoint 1 at 0x4004d9: file ../../../src/gdb/testsuite//actions-changed.c, line 31.
(gdb) actions
Enter actions for tracepoint 1, one per line.
End with a line saying just "end".
>collect $reg
>end
(gdb) set debug remote 1
(gdb) tstart
Sending packet: $QTinit#59...Packet received: OK
Sending packet: $QTDP:1:00000000004004d9:E:0:0-#a3...Packet received: OK
Sending packet: $QTDP:-1:00000000004004d9:R03FFFFFFFFFFFFFFFFFF#2b...Packet received: OK
(gdb) tstop
Sending packet: $QTStop#4b...Packet received: OK
Sending packet: $QTNotes:#e8...Packet received: OK
(gdb) actions
Enter actions for tracepoint 1, one per line.
End with a line saying just "end".
>collect $reg
>while-stepping 1
>collect $reg
>end
>end
(gdb) tstart
Sending packet: $QTinit#59...Packet received: OK
Sending packet: $QTDP:1:00000000004004d9:E:1:0-#a4...Packet received: OK
Sending packet: $QTDP:-1:00000000004004d9:R03FFFFFFFFFFFFFFFFFF-#58...Packet received: OK
Sending packet: $QTDP:-1:00000000004004d9:SR03FFFFFFFFFFFFFFFFFF#7e...Packet received: OK
(gdb) tstop
Sending packet: $QTStop#4b...Packet received: OK
Sending packet: $QTNotes:#e8...Packet received: OK
(gdb) actions
Enter actions for tracepoint 1, one per line.
End with a line saying just "end".
>collect $regs
>end
(gdb) tstart
Sending packet: $QTinit#59...Packet received: OK
Sending packet: $QTDP:1:00000000004004d9:E:1:0-#a4...Packet received: OK
Sending packet: $QTDP:-1:00000000004004d9:R03FFFFFFFFFFFFFFFFFF#2b...Packet received: OK
The last "$QTDP:1:00000000004004d9:E:1:0-#a4" should be "$QTDP:1:00000000004004d9:E:0:0-#a3".
In pseudo-diff:
-$QTDP:1:00000000004004d9:E:1:0-#a4
+$QTDP:1:00000000004004d9:E:0:0-#a3
A related issue is that the "commands" command actually supports
setting commands to a range of breakpoints/tracepoints at once. But,
hacking "maint info breakpoints" to print t->step_count, reveals:
(gdb) trace main
Tracepoint 5 at 0x45a2ab: file ../../src/gdb/gdb.c, line 29.
(gdb) trace main
Note: breakpoint 5 also set at pc 0x45a2ab.
Tracepoint 6 at 0x45a2ab: file ../../src/gdb/gdb.c, line 29.
(gdb) commands 5-6
Type commands for breakpoint(s) 5-6, one per line.
End with a line saying just "end".
> while-stepping 5
>end
> end
(gdb) maint info breakpoints 5
Num Type Disp Enb Address What
5 tracepoint keep y 0x000000000045a2ab in main at ../../src/gdb/gdb.c:29 inf 1
step_count=5
^^^^^^^^^^^^
while-stepping 5
end
not installed on target
(gdb) maint info breakpoints 6
Num Type Disp Enb Address What
6 tracepoint keep y 0x000000000045a2ab in main at ../../src/gdb/gdb.c:29 inf 1
step_count=0
^^^^^^^^^^^^
while-stepping 5
end
not installed on target
(gdb)
that tracepoint 6 doesn't end up with the correct step_count.
The issue is that here:
static void
do_map_commands_command (struct breakpoint *b, void *data)
{
struct commands_info *info = data;
if (info->cmd == NULL)
{
struct command_line *l;
if (info->control != NULL)
l = copy_command_lines (info->control->body_list[0]);
else
{
struct cleanup *old_chain;
char *str;
str = xstrprintf (_("Type commands for breakpoint(s) "
"%s, one per line."),
info->arg);
old_chain = make_cleanup (xfree, str);
l = read_command_lines (str,
info->from_tty, 1,
(is_tracepoint (b)
? check_tracepoint_command : 0),
b);
do_cleanups (old_chain);
}
info->cmd = alloc_counted_command_line (l);
}
validate_actionline is never called for tracepoints other than the
first (the copy_command_lines path). Right below, we have:
/* If a breakpoint was on the list more than once, we don't need to
do anything. */
if (b->commands != info->cmd)
{
validate_commands_for_breakpoint (b, info->cmd->commands);
incref_counted_command_line (info->cmd);
decref_counted_command_line (&b->commands);
b->commands = info->cmd;
observer_notify_breakpoint_modified (b);
}
And validate_commands_for_breakpoint looks like the right place to put
a call; if we reset step_count there too, we have a nice central fix
for the first issue as well, because trace_actions_command calls
breakpoint_set_commands that also calls
validate_commands_for_breakpoint.
We end up calling validate_actionline twice for the first tracepoint,
since read_command_lines calls it too, through
check_tracepoint_command, but that should be harmless.
2013-04-04 Pedro Alves <palves@redhat.com>
Hui Zhu <hui@codesourcery.com>
* breakpoint.c (validate_commands_for_breakpoint): If validating a
tracepoint, reset its STEP_COUNT and call validate_actionline.
2013-04-04 Stan Shebs <stan@codesourcery.com>
Pedro Alves <palves@redhat.com>
* gdb.trace/Makefile.in (PROGS): Add actions-changed.
* gdb.trace/actions-changed.c: New file.
* gdb.trace/actions-changed.exp: New file.
* lib/trace-support.exp (gdb_trace_setactions): Rename to ...
(gdb_trace_setactions_command): ... this. Add "actions_command"
parameter, and handle it.
(gdb_trace_setactions, gdb_trace_setcommands): New procedures.
2013-04-04 19:22:38 +00:00
|
|
|
|
2013-04-04 Pedro Alves <palves@redhat.com>
|
|
|
|
|
Hui Zhu <hui@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* breakpoint.c (validate_commands_for_breakpoint): If validating a
|
|
|
|
|
tracepoint, reset its STEP_COUNT and call validate_actionline.
|
|
|
|
|
|
2013-04-03 18:48:54 +00:00
|
|
|
|
2013-04-03 Doug Evans <dje@google.com>
|
|
|
|
|
|
2013-04-03 19:45:00 +00:00
|
|
|
|
* dwarf2read.c (read_die_and_siblings_1): Renamed from
|
|
|
|
|
read_die_and_siblings.
|
|
|
|
|
(read_die_and_siblings): New function.
|
|
|
|
|
(read_cutu_die_from_dwo): Dump die if requested.
|
|
|
|
|
(read_die_and_children): Call read_full_die_1 and
|
|
|
|
|
read_die_and_siblings_1.
|
|
|
|
|
(read_full_die): Dump die if requested.
|
|
|
|
|
|
|
|
|
|
* dwarf2read.c (read_comp_units_from_section): Add debugging printf.
|
|
|
|
|
|
2013-04-03 19:11:01 +00:00
|
|
|
|
* dwarf2read.c (struct dwo_file): New member comp_dir.
|
|
|
|
|
Rename member name to dwo_name. All uses updated.
|
|
|
|
|
(hash_dwo_file): Include comp_dir in computation.
|
|
|
|
|
(eq_dwo_file): Ditto.
|
|
|
|
|
(lookup_dwo_file_slot): New arg comp_dir. All callers updated.
|
|
|
|
|
(create_dwo_in_dwp, lookup_dwo_in_dwp, open_and_init_dwo_file): Ditto.
|
|
|
|
|
|
2013-04-03 18:48:54 +00:00
|
|
|
|
* psymtab.c (read_psymtabs_with_fullname): Don't call
|
|
|
|
|
psymtab_to_fullname if the basenames are different.
|
|
|
|
|
|
2013-04-03 18:28:49 +00:00
|
|
|
|
2013-04-03 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
* NEWS (Changes in GDB 7.6): Update the data-disassemble for "fullname".
|
|
|
|
|
New entry about "fullname" presence.
|
|
|
|
|
|
2013-04-03 18:04:33 +00:00
|
|
|
|
2013-04-03 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* NEWS: Mention x86_64/Cygwin as new native configuration.
|
|
|
|
|
|
2013-04-02 21:18:40 +00:00
|
|
|
|
2013-04-02 Doug Evans <dje@google.com>
|
|
|
|
|
|
|
|
|
|
* dwarf2read.c (read_structure_type): Fix typo in comment.
|
|
|
|
|
|
2013-04-02 17:52:08 +00:00
|
|
|
|
2013-04-02 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* NEWS: Mention "set/show debug aarch64", "set/show debug
|
|
|
|
|
coff-pe-read" and "set/show debug mach-o".
|
|
|
|
|
|
2013-04-02 17:48:49 +00:00
|
|
|
|
2013-04-02 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* NEWS: Mention "set/show remote trace-buffer-size-packet".
|
|
|
|
|
|
2013-04-02 17:44:27 +00:00
|
|
|
|
2013-04-02 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
|
|
|
|
|
|
* Makefile.in (HFILES_NO_SRCDIR): Remove call-cmds.h.
|
|
|
|
|
gdb_string.h is now in common/.
|
|
|
|
|
|
2013-04-02 15:19:07 +00:00
|
|
|
|
2013-04-02 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* NEWS: Move "set debug notification" and "set trace-buffer-size"
|
|
|
|
|
under "New options".
|
|
|
|
|
|
2013-04-02 14:09:08 +00:00
|
|
|
|
2013-04-02 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
Revert this patch:
|
|
|
|
|
PR gdb/15275
|
|
|
|
|
* remote.c (remote_get_trace_status): Include putpkt in TRY_CATCH.
|
|
|
|
|
|
unpush the remote target if serial_write fails.
PR gdb/15275 notes that when debugging with a remote connection over a
serial link and the link is disconnected, say by disconnecting USB
serial port, the GDB quit command no longer works:
(gdb)
tar ext /dev/ttyACM0
&"tar ext /dev/ttyACM0\n"
~"Remote debugging using /dev/ttyACM0\n"
^done
(gdb)
set debug remote 1
&"set debug remote 1\n"
^done
(gdb)
quit
&"quit\n"
&"Sending packet: $qTStatus#49..."
&"putpkt: write failed: Input/output error.\n"
^error,msg="putpkt: write failed: Input/output error."
(gdb)
(gdb)
quit
&"quit\n"
&"Sending packet: $qTStatus#49..."
&"putpkt: write failed: Input/output error.\n"
^error,msg="putpkt: write failed: Input/output error."
This is not reproducible with TCP connections, as with that, sending
doesn't error out, but instead the error is detected on the subsequent
readchar. When that read fails, we unpush the remote target, and
throw TARGET_CLOSE_ERROR. To address PR gdb/15275, instead of
catching the error in remote_get_trace_status as presently done (which
leaves this same issue latent for another packet to trip on), or of
making ser-unix.c fake success too on failed writes, so we'd get to
readchar detecting the error on serial ports too, better let the error
propagate out of serial_write, and catch it at the remote.c level,
throwing away the target if writing fails too, instead of delaying
that until the next read.
gdb/
2013-04-02 Pedro Alves <palves@redhat.com>
PR gdb/15275
* remote.c (send_interrupt_sequence): Use remote_serial_write.
(remote_serial_write): New function.
(putpkt_binary, getpkt_or_notif_sane_1): Use remote_serial_write.
2013-04-02 13:51:07 +00:00
|
|
|
|
2013-04-02 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR gdb/15275
|
|
|
|
|
|
|
|
|
|
* remote.c (send_interrupt_sequence): Use remote_serial_write.
|
|
|
|
|
(remote_serial_write): New function.
|
|
|
|
|
(putpkt_binary, getpkt_or_notif_sane_1): Use remote_serial_write.
|
|
|
|
|
|
2013-04-02 02:49:55 +00:00
|
|
|
|
2013-04-01 Jiong Wang <jiwang@tilera.com>
|
|
|
|
|
|
|
|
|
|
* NEWS: Mention TILE-Gx in "New native configurations" and
|
|
|
|
|
"New targets" sections.
|
|
|
|
|
|
2013-04-01 16:42:15 +00:00
|
|
|
|
2013-04-01 Doug Evans <dje@google.com>
|
|
|
|
|
|
2013-04-01 23:17:40 +00:00
|
|
|
|
* dwarf2read.c (lookup_signatured_type_at_offset): Delete.
|
|
|
|
|
(process_enumeration_scope): Simplify.
|
|
|
|
|
|
2013-04-01 22:36:08 +00:00
|
|
|
|
* dwarf2read.c (struct dwarf2_per_cu_data): Move member
|
|
|
|
|
type_unit_group ...
|
|
|
|
|
(struct signatured_type): ... to here.
|
|
|
|
|
(sig_type_ptr): New typedef.
|
|
|
|
|
(type_unit_group): Delete member 't.first_cu'. Move member 'tus'
|
|
|
|
|
out of union 't'. All uses updated.
|
|
|
|
|
(dw2_get_file_names_reader): Assert not called for a type unit.
|
|
|
|
|
(dw2_get_file_names): Assert not called for a type unit or type
|
|
|
|
|
unit group.
|
|
|
|
|
(build_type_psymtabs_reader): Assert called for a type unit.
|
|
|
|
|
(build_type_psymtab_dependencies): Assert called for a type unit group.
|
|
|
|
|
|
2013-04-01 16:42:15 +00:00
|
|
|
|
* dwarf2read.c (free_dwo_file): Add comment.
|
|
|
|
|
(dwarf2_per_objfile_free): Unref dwp bfd.
|
|
|
|
|
|
2013-04-01 20:11:19 +00:00
|
|
|
|
2013-04-01 Aleksandar Ristovski <aristovski@qnx.com>
|
Fix coff-pe-read.c to compile with Wunused.
* coff-pe-read.c (add_pe_exported_sym): Remove unused 'dll_name_len'.
(add_pe_forwarded_sym): Remove unused 'section', 'dll_name_len'.
(read_pe_exported_syms): Remove unused 'exportix'.
(pe_text_section_offset): Remove unused 'opthdr_ofs', 'num_entries',
'export_rva', 'export_size', 'expptr', 'exp_funcbase', 'expdata',
'erva', 'name_rvas', 'ordinals', 'nexp', 'ordbase', 'dll_name'.
Reference: http://sourceware.org/ml/gdb-patches/2013-03/msg01081.html
2013-04-01 12:53:01 +00:00
|
|
|
|
|
|
|
|
|
* coff-pe-read.c (add_pe_exported_sym): Remove unused 'dll_name_len'.
|
|
|
|
|
(add_pe_forwarded_sym): Remove unused 'section', 'dll_name_len'.
|
|
|
|
|
(read_pe_exported_syms): Remove unused 'exportix'.
|
|
|
|
|
(pe_text_section_offset): Remove unused 'opthdr_ofs', 'num_entries',
|
|
|
|
|
'export_rva', 'export_size', 'expptr', 'exp_funcbase', 'expdata',
|
|
|
|
|
'erva', 'name_rvas', 'ordinals', 'nexp', 'ordbase', 'dll_name'.
|
|
|
|
|
|
2013-04-01 12:48:03 +00:00
|
|
|
|
2013-04-01 Aleksandar Ristovski <aristovski@qnx.com>
|
|
|
|
|
|
|
|
|
|
* breakpoint.c (parse_cond_to_aexpr): Remove unused 'old_chain'.
|
|
|
|
|
(print_it_watchpoint): Remove unused 'bl'.
|
|
|
|
|
(say_where): Remove unused 'uiout'.
|
|
|
|
|
(bpstat_remove_breakpoint_callback): Remove unused 'uiout'.
|
|
|
|
|
(bkpt_breakpoint_hit): Remove unused 'b'.
|
|
|
|
|
(internal_bkpt_print_it): Remove unused 'uiout'.
|
|
|
|
|
* buildsym.c (augment_type_symtab): Remove unused 'i'.
|
|
|
|
|
|
2013-04-01 04:05:35 +00:00
|
|
|
|
2013-03-31 Tiago Stürmer Daitx <tdaitx@linux.vnet.ibm.com>
|
|
|
|
|
|
|
|
|
|
* ppc-sysv-tdep.c (ppc64_sysv_abi_push_float): New function.
|
|
|
|
|
(ppc64_sysv_abi_push_dummy_call): Handle complex arguments.
|
|
|
|
|
|
2013-03-29 16:38:52 +00:00
|
|
|
|
2013-03-29 Doug Evans <dje@google.com>
|
|
|
|
|
|
2013-03-29 21:47:51 +00:00
|
|
|
|
* dwarf2read.c (open_dwo_file): Renamed from open_dwop_file.
|
|
|
|
|
Delete arg is_dwp. All callers updated.
|
|
|
|
|
(open_dwp_file): New function.
|
|
|
|
|
(open_and_init_dwp_file): Call it.
|
|
|
|
|
(get_dwp_file): New function.
|
|
|
|
|
(lookup_dwo_cutu): Call it.
|
|
|
|
|
|
2013-03-29 21:42:04 +00:00
|
|
|
|
* dwarf2read.c (open_and_init_dwp_file): Remove incorrect, and
|
|
|
|
|
unnecessary, cleanup.
|
|
|
|
|
|
2013-03-29 18:46:07 +00:00
|
|
|
|
* dwarf2read.c (lookup_dwo_cutu): Improve complaint text.
|
|
|
|
|
|
2013-03-29 17:48:48 +00:00
|
|
|
|
* dwarf2read.c (read_cutu_die_from_dwo): New function.
|
|
|
|
|
(lookup_dwo_unit): New function.
|
|
|
|
|
(init_cutu_and_read_dies): Move DWO handling to new functions.
|
|
|
|
|
|
2013-03-29 16:55:57 +00:00
|
|
|
|
* dwarf2read.c (struct signatured_type): Tweak comment.
|
|
|
|
|
(struct dwo_unit): Tweak comment.
|
|
|
|
|
(create_debug_types_hash_table): Tweak comment. Reformat long line.
|
|
|
|
|
(create_dwo_debug_info_hash_table): Tweak comment.
|
|
|
|
|
(dwarf2_per_cu_offset_and_type): Tweak comment.
|
|
|
|
|
|
2013-03-29 16:38:52 +00:00
|
|
|
|
* dwarf2read.c (lookup_signatured_type): Remove complaint about
|
|
|
|
|
missing .debug_types section.
|
|
|
|
|
|
2013-03-29 15:21:23 +00:00
|
|
|
|
2013-03-29 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* corelow.c: Include "completer.h".
|
|
|
|
|
(_initialize_corelow): Call add_target_with_completer with
|
|
|
|
|
argument 'filename_completer'.
|
|
|
|
|
* tracepoint.c: Likewise.
|
|
|
|
|
* exec.c (_initialize_exec): Likewise.
|
|
|
|
|
* target.c (add_target): Rename to ...
|
|
|
|
|
(add_target_with_completer): ... this. Call set_cmd_completer
|
|
|
|
|
if parameter completer is not NULL.
|
|
|
|
|
(add_target): New.
|
|
|
|
|
* target.h: Include "command.h".
|
|
|
|
|
(add_target_with_completer): Declare it.
|
|
|
|
|
|
2013-03-29 02:04:15 +00:00
|
|
|
|
2013-03-28 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* coffread.c (is_import_fixup_symbol): New function.
|
|
|
|
|
(record_minimal_symbol): Use is_import_fixup_symbol to
|
|
|
|
|
detect import fixup symbols, and discard them.
|
|
|
|
|
|
2013-03-28 22:59:47 +00:00
|
|
|
|
2013-03-28 Doug Evans <dje@google.com>
|
|
|
|
|
|
2013-03-29 00:35:20 +00:00
|
|
|
|
* dwarf2read.c (create_debug_types_hash_table): Don't allocate the
|
|
|
|
|
types hash table until we know we need it.
|
|
|
|
|
|
2013-03-29 00:18:32 +00:00
|
|
|
|
* dwarf2read.c (create_addrmap_from_index): Complain about bad CU
|
|
|
|
|
index numbers.
|
|
|
|
|
|
2013-03-29 00:11:10 +00:00
|
|
|
|
* dwarf2read.c (dw2_get_file_names): Delete arg "objfile".
|
|
|
|
|
All callers updated.
|
|
|
|
|
(dw2_print_stats): Print #read CUs too.
|
|
|
|
|
(dump_die_shallow): Print signatured types better.
|
|
|
|
|
|
2013-03-28 22:59:47 +00:00
|
|
|
|
* dwarf2read.c (struct dwarf2_per_cu_data): Rename member
|
|
|
|
|
info_or_types_section to section. All uses updated.
|
|
|
|
|
(struct dwo_unit): Ditto.
|
|
|
|
|
|
2013-03-28 21:58:03 +00:00
|
|
|
|
2013-03-28 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* NEWS (New options): New section.
|
|
|
|
|
(New options): Mention set/show remote trace-status-packet.
|
|
|
|
|
* remote.c (PACKET_qTStatus): New enumeration value.
|
|
|
|
|
(remote_get_trace_status): Skip sending qTStatus if the packet is
|
|
|
|
|
disabled. Use packet_ok.
|
|
|
|
|
(_initialize_remote): Register a configuration command for
|
|
|
|
|
qTStatus packet.
|
|
|
|
|
|
2013-03-28 16:39:09 +00:00
|
|
|
|
2013-03-28 Doug Evans <dje@google.com>
|
|
|
|
|
|
2013-03-28 18:17:38 +00:00
|
|
|
|
* symfile.c (find_separate_debug_file): Add comment.
|
|
|
|
|
(terminate_after_last_dir_separator): Tweak comment.
|
|
|
|
|
|
2013-03-28 17:41:03 +00:00
|
|
|
|
* dwarf2read.c (create_partial_symtab): Add forward decl.
|
|
|
|
|
(create_partial_symtab): Move to be closer to other psymtab functions.
|
|
|
|
|
(process_psymtab_comp_unit_reader, process_psymtab_comp_unit): Ditto.
|
|
|
|
|
|
2013-03-28 17:35:01 +00:00
|
|
|
|
* dwarf2read.c (dwarf2_physname): Move declaration to better spot.
|
|
|
|
|
(compute_symtab_includes): Remove unnecessary forward declaration.
|
|
|
|
|
(die_needs_namespace): Add comment marking group of functions for
|
|
|
|
|
dwarf2 name computation.
|
|
|
|
|
|
2013-03-28 17:25:47 +00:00
|
|
|
|
* typeprint.c (_initialize_typeprint): Improve type help text.
|
|
|
|
|
|
2013-03-28 16:39:09 +00:00
|
|
|
|
* python/python.c (finish_python_initialization): Provide suggestion
|
|
|
|
|
for how to tell gdb to find its python files.
|
|
|
|
|
|
Fix PR gdb/15294: list with unlimited listsize broken
Currently, "set listsize -1" is supposed to mean "unlimited" source
lines, but, alas, it doesn't actually work:
(gdb) set listsize -1
(gdb) show listsize
Number of source lines gdb will list by default is unlimited.
(gdb) list 1
(gdb) list 1
(gdb) list 1
(gdb) set listsize 10
(gdb) list 1
1 /* Main function for CLI gdb.
2 Copyright (C) 2002-2013 Free Software Foundation, Inc.
3
4 This file is part of GDB.
5
6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 3 of the License, or
9 (at your option) any later version.
10
Before this patch:
http://sourceware.org/ml/gdb-patches/2012-08/msg00367.html
was applied, the "set listsize" command was a var_integer command, and
"unlimited" was set with 0. Internally, var_integer maps 0 to INT_MAX
case var_integer:
{
...
if (val == 0 && c->var_type == var_integer)
val = INT_MAX;
The change in that patch to zuinteger_unlimited command, meant that -1
is left as -1 in the command's control variable (lines_to_list), and
the code in source.c isn't expecting that -- it only expects positive
numbers.
I previously suggested fixing the code and keeping the new behavior,
but I found that "set listsize 0" is currently used in the wild, and
we do have a bunch of other commands where "0" means unlimited, so I'm
thinking that changing this command alone in isolation is not a good
idea.
So I now strongly prefer reverting back the behavior in 7.6 to the
same behavior the command has had since 2006 (0==unlimited, -1=error).
Before that, set listsize -1 would be accepted as unlimited as well.
After 7.6 is out, in mainline, we can get back to reconsidering
changing this command's behavior, if there's a real need for being
able to suppress output. For now, let's play it safe.
The "list line 1 with unlimited listsize" test in list.exp was
originally written years and years ago expecting 0 to mean "no
output", but GDB never actually worked that way, even when the tests
were written, so the tests had been xfailed then. This patch now
adjusts the test to the new behavior, so that the test actually
passes, and the xfail is removed.
gdb/
2013-03-28 Pedro Alves <palves@redhat.com>
PR gdb/15294
* source.c (_initialize_source): Change back "set listsize" to an
integer command.
gdb/testsuite/
2013-03-28 Pedro Alves <palves@redhat.com>
PR gdb/15294
* gdb.base/list.exp (set_listsize): Adjust to accept $arg == 0 to
mean unlimited instead of $arg < 0.
(test_listsize): Remove "listsize of 0 suppresses output" test.
Test that "set listsize 0" ends up with an unlimited listsize.
gdb/doc/
2013-03-28 Pedro Alves <palves@redhat.com>
PR gdb/15294
* gdb.texinfo (List) <set listsize>: Adjust to document that
listsize 0 means no limit, and remove mention of -1.
2013-03-28 11:57:47 +00:00
|
|
|
|
2013-03-28 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR gdb/15294
|
|
|
|
|
|
|
|
|
|
* source.c (_initialize_source): Change back "set listsize" to an
|
|
|
|
|
integer command.
|
|
|
|
|
|
2013-03-27 18:20:10 +00:00
|
|
|
|
2013-03-27 Gareth McMullin <gareth@blacksphere.co.nz>
|
|
|
|
|
|
|
|
|
|
PR gdb/15275
|
|
|
|
|
* remote.c (remote_get_trace_status): Include putpkt in TRY_CATCH.
|
|
|
|
|
|
Forbid "set history size (INT_MAX..UINT_MAX)"
The whole readline interface is signed, and works with the 0..INT_MAX
range.
We don't allow setting the size to UINT_MAX directly. The documented
user visible interface is "use 0 for unlimited". The UINT_MAX
representation is an implementation detail we could change, e.g., by
keeping a separate flag for "unlimited", which is actually what the
readline interface does (stifled vs non stifled). Generically
speaking, exposing this detail to clients of the interface may make
our lives complicated when we find the need to extend the range of
some command in the future, and it's better if users
(frontends/scripts) aren't relying on anything but what we tell them
to use for "unlimited". Making values other than 0 error out is the
way to prevent users from using those ranges inappropriately. Quite
related, note:
(gdb) set history size 0xffffffff
integer 4294967295 out of range
But,
(gdb) set history size 0xfffffffe
(gdb) show history size
The size of the command history is unlimited.
(gdb) set history size 0x100000000
integer 4294967296 out of range
If values over INT_MAX are accepted as unlimited, then there's no good
argument for only accepting [INT_MAX..UINT_MAX) as valid "unlimited"
magic numbers, while not accepting [UINT_MAX..inf).
Making the setting's control variable of different type (unsigned int)
of the rest of the related code (int) adds the need to recall that one
variable among all these is unsigned, and that one need to think about
whether these comparisons are signed or unsigned, along with the
promotion/conversion rules. Since this is an easy to forget detail,
this patch renames the variable to at least make it more obvious that
this variable is not one of GNU history's public int variables, which
are all signed. We don't actually need the only code that presently
is affected by this, though, the code that is computing the current
history's length. We can just use GNU history's history_length
instead:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Variable: int history_length
The number of entries currently stored in the history list.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/* Return the history entry which is logically at OFFSET in the history array.
OFFSET is relative to history_base. */
HIST_ENTRY *
history_get (offset)
int offset;
{
int local_index;
local_index = offset - history_base;
return (local_index >= history_length || local_index < 0 || the_history == 0)
? (HIST_ENTRY *)NULL
: the_history[local_index];
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
At the time this code was added (gdb 4.13 ~1994), 'history_length' was
extern, but not documented in readline's GNU history documents, so I
guess it wasn't considered public then and the loop was the
workaround.
One of the warts of GDB choosing 0 to mean unlimited is that "set
history size 0" behaves differently from 'HISTSIZE=0 gdb'. The latter
leaves GDB with no history, while the former means "unlimited"...
$ HISTSIZE=0 ./gdb
...
(gdb) show history size
The size of the command history is 0.
We shouldn't really change what HISTSIZE=0 means, as bash, etc. also
handle 0 as real zero, and zero it's what really makes sense.
gdb/
2013-03-27 Pedro Alves <palves@redhat.com>
* top.c (history_size): Rename to ...
(history_size_setshow_var): ... this. Add comment.
(show_commands): Use readline's 'history_length' instead of
computing the history length by calling history_get in a loop.
(set_history_size_command): Error out for sizes over INT_MAX.
Restore previous history size on invalid size.
(init_history): If HISTSIZE is negative, leave the history size as
zero. Add comments.
(init_main): Adjust.
2013-03-27 12:14:09 +00:00
|
|
|
|
2013-03-27 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* top.c (history_size): Rename to ...
|
|
|
|
|
(history_size_setshow_var): ... this. Add comment.
|
|
|
|
|
(show_commands): Use readline's 'history_length' instead of
|
|
|
|
|
computing the history length by calling history_get in a loop.
|
|
|
|
|
(set_history_size_command): Error out for sizes over INT_MAX.
|
|
|
|
|
Restore previous history size on invalid size.
|
|
|
|
|
(init_history): If HISTSIZE is negative, leave the history size as
|
|
|
|
|
zero. Add comments.
|
|
|
|
|
(init_main): Adjust.
|
|
|
|
|
|
2013-03-27 09:47:41 +00:00
|
|
|
|
2013-03-27 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* coff-pe-read.c (_initialize_coff_pe_read): Rename "set debug
|
|
|
|
|
coff_pe_read" command to "set debug coff-pe-read".
|
|
|
|
|
|
2013-03-27 09:42:47 +00:00
|
|
|
|
2013-03-27 Markus Metzger <markus.t.metzger@intel.com>
|
|
|
|
|
|
|
|
|
|
* record.c (command_size_to_target_size): Fix size comparison.
|
|
|
|
|
Change parameter type from pointer to integer to integer.
|
|
|
|
|
Update all users.
|
|
|
|
|
|
2013-03-27 08:57:09 +00:00
|
|
|
|
2013-03-27 Pierre Muller <muller@sourceware.org>
|
|
|
|
|
|
|
|
|
|
* windows-nat.c (handle_output_debug_string): Avoid typecast
|
|
|
|
|
from integer of different size warning.
|
|
|
|
|
|
2013-03-26 23:40:08 +00:00
|
|
|
|
2013-03-26 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* windows-nat.c (handle_output_debug_string): Add empty line
|
|
|
|
|
after local block variable definition.
|
|
|
|
|
|
2013-03-26 20:29:47 +00:00
|
|
|
|
2013-03-26 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* ser-tcp.c (wait_for_connect): Make 'polls' parameter unsigned.
|
|
|
|
|
(net_open): Make 'polls' local unsigned.
|
|
|
|
|
|
2013-03-26 20:19:31 +00:00
|
|
|
|
2013-03-26 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* remote.c (_initialize_remote): Make "set remoteaddresssize"
|
|
|
|
|
a zuinteger command instead of uinteger.
|
|
|
|
|
|
record-full.c: Remove always true checks.
The "set record full insn-number-max" command is an uinteger command.
If the variable that holds the maximum count of logged instructions is
unsigned, it's better if the variable that holds the current number of
logged instructions is also unsigned. Looking over the code, there's
no case the variable could end up negative.
Then, tests like "if (record_full_insn_max_num)" are always true,
because being a uinteger command means that "set record full
insn-number-max 0" is actually mapped to UINT_MAX internally. IOW,
the command's variable is never 0. The checks might make some sense
if 0 wasn't mapped to UINT_MAX, and 0 meant unlimited, but, that's not
how things work.
Tested on x86_64 Fedora 17.
gdb/
2013-03-26 Pedro Alves <palves@redhat.com>
* record-full.c (record_full_insn_num): Make it unsigned.
(record_full_check_insn_num, record_full_message)
(record_full_registers_change, record_full_xfer_partial): Remove
record_full_insn_max_num check (it's always != 0).
(record_full_info, record_full_restore): Use %u as format string.
(): Use %u as format string.
(set_record_full_insn_max_num): Remove record_full_insn_max_num
check (it's always != 0).
2013-03-26 20:01:03 +00:00
|
|
|
|
2013-03-26 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* record-full.c (record_full_insn_num): Make it unsigned.
|
|
|
|
|
(record_full_check_insn_num, record_full_message)
|
|
|
|
|
(record_full_registers_change, record_full_xfer_partial): Remove
|
|
|
|
|
record_full_insn_max_num check (it's always != 0).
|
|
|
|
|
(record_full_info, record_full_restore): Use %u as format string.
|
|
|
|
|
(): Use %u as format string.
|
|
|
|
|
(set_record_full_insn_max_num): Remove record_full_insn_max_num
|
|
|
|
|
check (it's always != 0).
|
|
|
|
|
|
2013-03-26 19:16:05 +00:00
|
|
|
|
2013-03-26 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* dcache.c (_initialize_dcache): Make the "set dcache line-size"
|
|
|
|
|
and "set dcache size" commands zuinteger instead of uinteger.
|
|
|
|
|
|
2013-03-26 18:55:51 +00:00
|
|
|
|
2013-03-26 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* cris-tdep.c (_initialize_cris_tdep): Make the "set cris-version"
|
|
|
|
|
command zuinteger instead of uinteger.
|
|
|
|
|
|
2013-03-26 18:40:46 +00:00
|
|
|
|
2013-03-26 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* coff-pe-read.c (_initialize_coff_pe_read): Make the command
|
|
|
|
|
zuinteger instead of uinteger.
|
|
|
|
|
|
2013-03-26 18:03:03 +00:00
|
|
|
|
2013-03-26 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* record.c (record_insn_history_size_setshow_var)
|
|
|
|
|
(record_call_history_size_setshow_var): New globals.
|
|
|
|
|
(command_size_to_target_size): New function.
|
|
|
|
|
(cmd_record_insn_history, cmd_record_call_history): Use
|
|
|
|
|
command_size_to_target_size instead of cast.
|
|
|
|
|
(validate_history_size, set_record_insn_history_size)
|
|
|
|
|
(set_record_call_history_size): New functions.
|
|
|
|
|
(_initialize_record): Install set_record_insn_history_size and
|
|
|
|
|
set_record_call_history_size as "set" hooks of "set record
|
|
|
|
|
instruction-history-size" and "set record
|
|
|
|
|
function-call-history-size".
|
|
|
|
|
|
2013-03-26 16:47:02 +00:00
|
|
|
|
2013-03-26 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* top.c (gdb_rl_operate_and_get_next): Replace max_input_history
|
|
|
|
|
use with history_max_entries use. Remove FIXME note.
|
|
|
|
|
|
2013-03-26 07:15:09 +00:00
|
|
|
|
2013-03-26 Markus Metzger <markus.t.metzger@intel.com>
|
|
|
|
|
|
|
|
|
|
* record-btrace.c (record_btrace_close): Call
|
|
|
|
|
record_btrace_auto_disable.
|
|
|
|
|
|
2013-03-26 00:13:08 +00:00
|
|
|
|
2013-03-25 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* rs6000-nat.c (fixup_breakpoints): Delete declaration.
|
|
|
|
|
|
2013-03-25 22:53:54 +00:00
|
|
|
|
2013-03-25 Doug Evans <dje@google.com>
|
|
|
|
|
|
|
|
|
|
* contrib/cc-with-tweaks.sh: Check exit code of dwp.
|
|
|
|
|
|
2013-03-25 17:28:03 +00:00
|
|
|
|
2013-03-25 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR symtab/11462:
|
|
|
|
|
* c-exp.y (exp): Add new productions for destructors after '.' and
|
|
|
|
|
'->'.
|
|
|
|
|
(write_destructor_name): New function.
|
|
|
|
|
|
2013-03-25 17:26:18 +00:00
|
|
|
|
2013-03-25 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR c++/9197:
|
|
|
|
|
* opencl-lang.c (evaluate_subexp_opencl) <STRUCTOP_STRUCT>: Use
|
|
|
|
|
value_struct_elt, not lookup_struct_elt_type.
|
|
|
|
|
* eval.c (evaluate_subexp_standard) <STRUCTOP_STRUCT,
|
|
|
|
|
STRUCTOP_PTR>: Use value_struct_elt, not lookup_struct_elt_type.
|
|
|
|
|
* expression.h (EVAL_AVOID_SIDE_EFFECTS): Update comment.
|
|
|
|
|
|
2013-03-25 10:55:28 +00:00
|
|
|
|
2013-03-25 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* ctf.c [USE_WIN32API]: Undef 'mkdir' and use 'mkdir'
|
|
|
|
|
instead of '_mkdir'.
|
|
|
|
|
|
2013-03-23 10:48:23 +00:00
|
|
|
|
2013-03-23 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
|
|
|
|
|
|
* windows-nat.c (windows_get_absolute_argv0): New function.
|
|
|
|
|
* windows-nat.h: Add its prototype.
|
|
|
|
|
|
|
|
|
|
* main.c (get_init_files): Use filename_ncmp instead of strncmp.
|
|
|
|
|
Use IS_DIR_SEPARATOR instead of looking for a character inside
|
|
|
|
|
SLASH_STRING. Include filenames.h.
|
|
|
|
|
(captured_main) [__MINGW32__]: Make argv[0] absolute, so that
|
|
|
|
|
relocate_gdb_directory works when passed gdb_program_name.
|
|
|
|
|
Include windows-nat.h.
|
|
|
|
|
|
2013-03-22 20:39:29 +00:00
|
|
|
|
2013-03-22 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
* exceptions.h (enum errors): New entry TARGET_CLOSE_ERROR.
|
|
|
|
|
* remote.c (trace_error): Remove the special handling of '2'.
|
|
|
|
|
(readchar) <SERIAL_EOF>
|
|
|
|
|
(readchar) <SERIAL_ERROR>
|
|
|
|
|
(getpkt_or_notif_sane_1): Use TARGET_CLOSE_ERROR for them.
|
|
|
|
|
(remote_get_trace_status): Call throw_exception if EX is
|
|
|
|
|
TARGET_CLOSE_ERROR.
|
|
|
|
|
* utils.c (perror_with_name): Rename to ...
|
|
|
|
|
(throw_perror_with_name): ... here. New parameter errcode, describe it
|
|
|
|
|
in the function comment.
|
|
|
|
|
(perror_with_name): New function wrapper.
|
|
|
|
|
* utils.h (enum errors): New stub declaration.
|
|
|
|
|
(throw_perror_with_name): New declaration.
|
|
|
|
|
|
2013-03-22 20:25:40 +00:00
|
|
|
|
2013-03-22 Pedro Alves <palves@redhat.com>
|
|
|
|
|
Yao Qi <yao@codesourcery.com>
|
|
|
|
|
Mark Kettenis <kettenis@gnu.org>
|
|
|
|
|
|
|
|
|
|
* cli/cli-setshow.c (do_set_command) <var_uinteger>:
|
|
|
|
|
Don't let the user set the value to UINT_MAX directly.
|
|
|
|
|
<var_integer>: Don't let the user set the value to INT_MAX
|
|
|
|
|
directly.
|
|
|
|
|
|
2013-03-22 19:07:03 +00:00
|
|
|
|
2013-03-22 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
* remote.c (remote_unpush_target): New function.
|
|
|
|
|
(remote_open_1): Remove two pop_target calls, update one comment, add
|
|
|
|
|
comment to target_preopen call. Replace pop_target call by
|
|
|
|
|
remote_unpush_target call.
|
|
|
|
|
(interrupt_query, readchar, getpkt_or_notif_sane_1): Replace
|
|
|
|
|
pop_target calls by remote_unpush_target calls.
|
|
|
|
|
|
Linux: No need to set ptrace event options in fork/clone children.
Oleg Nesterov told me that the Linux kernel copies the parent's ptrace
options to fork/clone children, so there's no need for GDB to do that
manually.
I was actually a bit surprised, since I thought the ptracer had to
always set the ptrace options itself, and GDB is indeed calling
PTRACE_SETOPTIONS for each new fork child, if it'll stay attached.
Looking at the history of that code, I found that is was actually I
who added that set-ptrace-options-in-children bit, back in
http://sourceware.org/ml/gdb-patches/2009-05/msg00656.html. But,
honestly, I don't recall why I needed that. I think I may have just
blindly believed it was necessary.
I then looked back at the history of all the PTRACE_SETOPTIONS code we
have, and found that gdb never did copy the ptrace options before my
patch. But, when gdbserver learnt to use PTRACE_EVENT_CLONE, at
http://sourceware.org/ml/gdb-patches/2007-10/msg00547.html, it was
made to do 'ptrace (PTRACE_SETOPTIONS, new_pid, 0,
PTRACE_O_TRACECLONE)' for all new clones. Hmmm. But, GDB itself
never did that, so it can't really ever have been necessary, I
believe, otherwise GDB should have been doing it too.
(GDBserver doesn't support following forks, and so naturally doesn't
do any PTRACE_SETOPTIONS on fork children.)
So this patch removes the -I believe- unnecessary ptrace syscalls.
Tested on x86_64 Fedora 17, native/gdbserver, and on x86_64 RHEL5
native/gdbserver (Linux 2.6.18, I think a ptrace-on-utrace kernel).
No regressions.
gdb/
2013-03-22 Pedro Alves <palves@redhat.com>
* linux-nat.c (linux_child_follow_fork): Don't call
linux_enable_event_reporting.
(linux_handle_extended_wait): Don't call
linux_enable_event_reporting.
gdb/gdbserver/
2013-03-22 Pedro Alves <palves@redhat.com>
* linux-low.c (handle_extended_wait): Don't call
linux_enable_event_reporting.
2013-03-22 14:52:26 +00:00
|
|
|
|
2013-03-22 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* linux-nat.c (linux_child_follow_fork): Don't call
|
|
|
|
|
linux_enable_event_reporting.
|
|
|
|
|
(linux_handle_extended_wait): Don't call
|
|
|
|
|
linux_enable_event_reporting.
|
|
|
|
|
|
hppa-hpux-tdep.c: Fix host dependency.
$ make WERROR_CFLAGS="-Wpointer-sign -Werror" hppa-hpux-tdep.o -k 2>&1 1>/dev/null
../../src/gdb/hppa-hpux-tdep.c: In function ‘hppa_hpux_push_dummy_code’:
../../src/gdb/hppa-hpux-tdep.c:1225:7: error: pointer targets in passing argument 2 of ‘write_memory’ differ in signedness [-Werror=pointer-sign]
In file included from ../../src/gdb/hppa-hpux-tdep.c:22:0:
../../src/gdb/gdbcore.h:85:13: note: expected ‘const gdb_byte *’ but argument is of type ‘char *’
../../src/gdb/hppa-hpux-tdep.c:1251:7: error: pointer targets in passing argument 2 of ‘write_memory’ differ in signedness [-Werror=pointer-sign]
In file included from ../../src/gdb/hppa-hpux-tdep.c:22:0:
../../src/gdb/gdbcore.h:85:13: note: expected ‘const gdb_byte *’ but argument is of type ‘char *’
../../src/gdb/hppa-hpux-tdep.c: In function ‘hppa_hpux_supply_save_state’:
../../src/gdb/hppa-hpux-tdep.c:1354:9: error: pointer targets in passing argument 1 of ‘extract_unsigned_integer’ differ in signedness [-Werror=pointer-sign]
In file included from ../../src/gdb/hppa-hpux-tdep.c:20:0:
../../src/gdb/defs.h:675:22: note: expected ‘const gdb_byte *’ but argument is of type ‘const char *’
Casting to gdb_byte would fix it, however, writing an
unsigned int array like this
static unsigned int hppa64_tramp[] = {
0xeac0f000, /* bve,l (r22),%r2 */
0x0fdf12d1, /* std r31,-8(,sp) */
0x0fd110c2, /* ldd -8(,sp),rp */
0xe840d002, /* bve,n (rp) */
0x08000240 /* nop */
...
directly to target memory assumes the host endianness is the same as
the target's. hppa is big endian, so I believe this patch should be
correct -- it defines the array as a gdb_byte array. It uses a macro
to make the insn bytes a little more readable. I thought of using
write_memory_unsigned_integer once for each element of the unsigned
int array, but this way keeps issuing a single target memory write /
roundtrip for the whole trampoline.
gdb/
2013-03-22 Pedro Alves <palves@redhat.com>
* hppa-hpux-tdep.c (hppa_hpux_push_dummy_code): Define INSN macro,
use it to rewrite the trampoline buffers with type gdb_byte[], and
undefine the macro. Remove char* cast.
2013-03-22 14:43:28 +00:00
|
|
|
|
2013-03-22 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* hppa-hpux-tdep.c (hppa_hpux_push_dummy_code): Define INSN macro,
|
|
|
|
|
use it to rewrite the trampoline buffers with type gdb_byte[], and
|
|
|
|
|
undefine the macro. Remove char* cast.
|
|
|
|
|
|
New commands "mt set per-command {space,time,symtab} {on,off}".
* NEWS: Add entry.
* event-top.c: #include "maint.h".
* main.c: #include "maint.h".
* maint.c: #include <sys/time.h>, <time.h>, block.h, top.h,
timeval-utils.h, maint.h, cli/cli-setshow.h.
(per_command_time, per_command_space): New static globals.
(per_command_symtab): New static global.
(per_command_setlist, per_command_showlist): New static globals.
(struct cmd_stats): Move here from utils.c.
(set_per_command_time): Renamed from set_display_time in utils.c
and moved here. All callers updated.
(set_per_command_space): Renamed from set_display_space in utils.c
and moved here. All callers updated.
(count_symtabs_and_blocks): New function.
(report_command_stats): Moved here from utils.c. Add support for
printing symtab stats. Only print data if enabled before command
executed.
(make_command_stats_cleanup): Ditto.
(sert_per_command_cmd, show_per_command_cmd): New functions.
(_initialize_maint_cmds): Add new commands
mt set per-command {space,time,symtab} {on,off}.
* maint.h: New file.
* top.c: #include "maint.h".
* utils.c (reset_prompt_for_continue_wait_time): New function.
(get_prompt_for_continue_wait_time): New function.
* utils.h (reset_prompt_for_continue_wait_time): Declare
(get_prompt_for_continue_wait_time): Declare.
(make_command_stats_cleanup): Moved to maint.h.
(set_display_time, set_display_space): Moved to maint.h and renamed
to set_per_command_time, set_per_command_space.
* cli/cli-setshow.c (parse_cli_boolean_value): Renamed from
parse_binary_operation and made non-static. Don't call error,
just return an error marker. All callers updated.
* cli/cli-setshow.h (parse_cli_boolean_value): Declare.
doc/
* gdb.texinfo (Maintenance Commands): Add docs for
"mt set per-command {space,time,symtab} {on,off}".
testsuite/
* gdb.base/maint.exp: Update tests for per-command stats.
2013-03-21 17:37:30 +00:00
|
|
|
|
2013-03-21 Doug Evans <dje@google.com>
|
|
|
|
|
|
|
|
|
|
New commands "mt set per-command {space,time,symtab} {on,off}".
|
|
|
|
|
* NEWS: Add entry.
|
|
|
|
|
* event-top.c: #include "maint.h".
|
|
|
|
|
* main.c: #include "maint.h".
|
|
|
|
|
* maint.c: #include <sys/time.h>, <time.h>, block.h, top.h,
|
|
|
|
|
timeval-utils.h, maint.h, cli/cli-setshow.h.
|
|
|
|
|
(per_command_time, per_command_space): New static globals.
|
|
|
|
|
(per_command_symtab): New static global.
|
|
|
|
|
(per_command_setlist, per_command_showlist): New static globals.
|
|
|
|
|
(struct cmd_stats): Move here from utils.c.
|
|
|
|
|
(set_per_command_time): Renamed from set_display_time in utils.c
|
|
|
|
|
and moved here. All callers updated.
|
|
|
|
|
(set_per_command_space): Renamed from set_display_space in utils.c
|
|
|
|
|
and moved here. All callers updated.
|
|
|
|
|
(count_symtabs_and_blocks): New function.
|
|
|
|
|
(report_command_stats): Moved here from utils.c. Add support for
|
|
|
|
|
printing symtab stats. Only print data if enabled before command
|
|
|
|
|
executed.
|
|
|
|
|
(make_command_stats_cleanup): Ditto.
|
|
|
|
|
(sert_per_command_cmd, show_per_command_cmd): New functions.
|
|
|
|
|
(_initialize_maint_cmds): Add new commands
|
|
|
|
|
mt set per-command {space,time,symtab} {on,off}.
|
|
|
|
|
* maint.h: New file.
|
|
|
|
|
* top.c: #include "maint.h".
|
|
|
|
|
* utils.c (reset_prompt_for_continue_wait_time): New function.
|
|
|
|
|
(get_prompt_for_continue_wait_time): New function.
|
|
|
|
|
* utils.h (reset_prompt_for_continue_wait_time): Declare
|
|
|
|
|
(get_prompt_for_continue_wait_time): Declare.
|
|
|
|
|
(make_command_stats_cleanup): Moved to maint.h.
|
|
|
|
|
(set_display_time, set_display_space): Moved to maint.h and renamed
|
|
|
|
|
to set_per_command_time, set_per_command_space.
|
|
|
|
|
* cli/cli-setshow.c (parse_cli_boolean_value): Renamed from
|
|
|
|
|
parse_binary_operation and made non-static. Don't call error,
|
|
|
|
|
just return an error marker. All callers updated.
|
|
|
|
|
* cli/cli-setshow.h (parse_cli_boolean_value): Declare.
|
|
|
|
|
|
2013-03-21 16:18:48 +00:00
|
|
|
|
2013-03-21 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* symfile.c (alloc_section_addr_info): Update header. Don't set
|
|
|
|
|
'num_sections' field.
|
|
|
|
|
(build_section_addr_info_from_section_table): Set 'num_sections'.
|
|
|
|
|
(build_section_addr_info_from_bfd): Likewise.
|
|
|
|
|
(build_section_addr_info_from_objfile): Remove dead loop
|
|
|
|
|
condition.
|
|
|
|
|
(free_section_addr_info): Unconditionally call xfree.
|
|
|
|
|
(relative_addr_info_to_section_offsets, addrs_section_sort)
|
|
|
|
|
(addr_info_make_relative, syms_from_objfile_1): Remove dead loop
|
|
|
|
|
condition.
|
|
|
|
|
(syms_from_objfile_1): Remove dead 'if' condition. Check
|
|
|
|
|
'num_sections'.
|
|
|
|
|
(add_symbol_file_command): Set 'num_sections'.
|
|
|
|
|
* symfile-mem.c (symbol_file_add_from_memory): Set
|
|
|
|
|
'num_sections'.
|
|
|
|
|
* somread.c (som_symfile_offsets): Remove dead loop condition.
|
|
|
|
|
* machoread.c (macho_symfile_offsets): Remove dead 'if'.
|
|
|
|
|
* jit.c (jit_bfd_try_read_symtab): Set 'num_sections'.
|
|
|
|
|
|
2013-03-21 16:16:33 +00:00
|
|
|
|
2013-03-21 Tom Tromey <tromey@redhat.com>
|
2013-03-21 16:09:27 +00:00
|
|
|
|
|
|
|
|
|
* tracepoint.h (decode_agent_options): Add 'trace_string'
|
|
|
|
|
argument.
|
|
|
|
|
* tracepoint.c (decode_agent_options): Add 'trace_string'
|
|
|
|
|
argument.
|
|
|
|
|
(validate_actionline): Update.
|
|
|
|
|
(collect_symbol): Add 'trace_string' argument.
|
|
|
|
|
(struct add_local_symbols_data) <trace_string>: New field.
|
|
|
|
|
(do_collect_symbol): Update.
|
|
|
|
|
(add_local_symbols): Add 'trace_string' argument.
|
|
|
|
|
(encode_actions_1): Update.
|
|
|
|
|
(trace_dump_actions): Update.
|
|
|
|
|
* dwarf2loc.c (access_memory): Update.
|
|
|
|
|
* ax.h (struct agent_expr) <tracing, trace_string>: New fields.
|
|
|
|
|
* ax-general.c (new_agent_expr): Update.
|
|
|
|
|
* ax-gdb.h (gen_trace_for_expr, gen_trace_for_var)
|
|
|
|
|
(gen_trace_for_return_address): Add argument.
|
|
|
|
|
(trace_kludge, trace_string_kludge): Remove.
|
|
|
|
|
* ax-gdb.c (trace_kludge, trace_string_kludge): Remove.
|
|
|
|
|
(gen_traced_pop, gen_fetch, gen_bitfield_ref, gen_expr): Update.
|
|
|
|
|
(gen_trace_for_var): Add 'trace_string' argument.
|
|
|
|
|
(gen_trace_for_expr, gen_trace_for_return_address): Likewise.
|
|
|
|
|
(gen_printf, agent_eval_command_one): Update.
|
|
|
|
|
|
2013-03-21 15:19:33 +00:00
|
|
|
|
2013-03-21 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR exp/15109:
|
|
|
|
|
* c-exp.y (yylex): Rewrite to push all tokens onto the FIFO.
|
|
|
|
|
Handle FILENAME token.
|
|
|
|
|
|
2013-03-21 15:01:55 +00:00
|
|
|
|
2013-03-21 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* c-exp.y (YYPRINT): Define.
|
|
|
|
|
(c_print_token): New function.
|
|
|
|
|
|
2013-03-21 14:41:28 +00:00
|
|
|
|
2013-03-21 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* c-exp.y (%union) <sym, ivar, ivec>: Remove.
|
|
|
|
|
|
2013-03-21 01:08:46 +00:00
|
|
|
|
2013-03-21 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* ctf.c: Include "gdb_stat.h".
|
|
|
|
|
[USE_WIN32API]: New macro 'mkdir'.
|
|
|
|
|
(ctf_start): Use permission bits macros if they are defined.
|
|
|
|
|
|
2013-03-20 22:17:18 +00:00
|
|
|
|
2013-03-20 Keith Seitz <keiths@redhat.com>
|
|
|
|
|
|
|
|
|
|
* breakpoint.h (struct breakpoint): Add comment to
|
|
|
|
|
extra_string indicating that this member is mallod'd.
|
|
|
|
|
* breakpoint.c (base_breakpoint_dtor): Free extra_string.
|
|
|
|
|
|
Fix PR gdb/15289 - "set remote hardware-watchpoint-limit" broken (zinteger commands)
This is a regression from 7.5, introduced/exposed by:
http://sourceware.org/ml/gdb-patches/2012-07/msg00259.html
There are a series of issues with this code.
It does:
unsigned int val = parse_and_eval_long (arg);
^^^^^^^^^^^^
(unsigned, usually 32-bit) while parse_and_eval_long returns a LONGEST
(usually 64-bit), so we lose precision without noticing:
(gdb) set remote hardware-watchpoint-limit 0x100000000
(gdb) show remote hardware-watchpoint-limit 0x100000000
The maximum number of target hardware watchpoints is 0.
While at it, print the invalid number with plongest, so the user sees
what GDB thought the number was:
(gdb) set remote hardware-watchpoint-limit 0x100000000
integer 4294967296 out of range
So with "set remote hardware-watchpoint-limit -1", val ends converted
to 0xffffffff, which then fails the
else if (val >= INT_MAX)
error (_("integer %u out of range"), val);
test.
Looking at that INT_MAX check, we forbid INT_MAX itself, but we
shouldn't, as that does fit in 'int' -- we want to forbid values
_greater_ than INT_MAX (and less than INT_MIN, while at it):
(gdb) set remote hardware-watchpoint-limit 2147483647
integer 2147483647 out of range
The same problem is in the new var_zuinteger_unlimited code, which
also uses "int" for variable.
Also, when printing a 'signed int', we should use %d, not %u.
This adds a couple regression tests. Not completely thorough in checking
all kinds of invalid input; I'm saving more exaustive testing around
zXXinteger commands for something like new test-assisting commands
like "maint test cmd-zinteger -1", where testing would focus on the
command types, and thus be independent of particular user commands of
particular GDB features.
Tested on x86_64 Fedora 17.
gdb/
2013-03-20 Pedro Alves <palves@redhat.com>
PR gdb/15289
* cli/cli-setshow.c (do_set_command)
<var_uinteger, var_zuinteger>: Use LONGEST for variable holding
the result of parsing the command argument. Throw error if the
value is greater than UINT_MAX. Print the invalid value with
plongest.
<var_integer, var_zinteger>: Use LONGEST for variable holding the
result of parsing the command argument. Throw error if the value
is greater than INT_MAX, not greater or equal. Also throw error
if the value is less than INT_MIN. Print the invalid value with
plongest.
<var_zuinteger_unlimited>: Throw error if the value is greater
than INT_MAX, not greater or equal.
(do_show_command) <var_integer, var_zinteger,
var_zuinteger_unlimited>: Use %d for printing int, not %u.
gdb/testsuite/
2013-03-20 Pedro Alves <palves@redhat.com>
PR gdb/15289
* gdb.base/remote.exp: Test
"set remote hardware-watchpoint-limit -1",
"set remote hardware-breakpoint-limit -1",
"set remote hardware-watchpoint-limit 2147483647" and
"set remote hardware-breakpoint-limit 2147483647".
2013-03-20 18:58:16 +00:00
|
|
|
|
2013-03-20 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR gdb/15289
|
|
|
|
|
|
|
|
|
|
* cli/cli-setshow.c (do_set_command)
|
|
|
|
|
<var_uinteger, var_zuinteger>: Use LONGEST for variable holding
|
|
|
|
|
the result of parsing the command argument. Throw error if the
|
|
|
|
|
value is greater than UINT_MAX. Print the invalid value with
|
|
|
|
|
plongest.
|
|
|
|
|
<var_integer, var_zinteger>: Use LONGEST for variable holding the
|
|
|
|
|
result of parsing the command argument. Throw error if the value
|
|
|
|
|
is greater than INT_MAX, not greater or equal. Also throw error
|
|
|
|
|
if the value is less than INT_MIN. Print the invalid value with
|
|
|
|
|
plongest.
|
|
|
|
|
<var_zuinteger_unlimited>: Throw error if the value is greater
|
|
|
|
|
than INT_MAX, not greater or equal.
|
|
|
|
|
(do_show_command) <var_integer, var_zinteger,
|
|
|
|
|
var_zuinteger_unlimited>: Use %d for printing int, not %u.
|
|
|
|
|
|
2013-03-20 18:35:22 +00:00
|
|
|
|
2013-03-20 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* ax-gdb.c (gen_var_ref): Unconditionally call via computed ops,
|
|
|
|
|
if possible.
|
|
|
|
|
* dwarf2read.c (read_func_scope): Remove old FIXME.
|
|
|
|
|
* eval.c (evaluate_subexp_standard): Check SYMBOL_COMPUTED_OPS,
|
|
|
|
|
not LOC_COMPUTED.
|
|
|
|
|
* findvar.c (symbol_read_needs_frame, default_read_var_value):
|
|
|
|
|
Unconditionally call via computed ops, if possible.
|
|
|
|
|
* printcmd.c (address_info): Unconditionally call via computed ops,
|
|
|
|
|
if possible.
|
|
|
|
|
* stack.c (read_frame_arg): Unconditionally call via computed ops,
|
|
|
|
|
if possible.
|
|
|
|
|
* symtab.c (register_symbol_computed_impl): Sanity check 'ops'.
|
|
|
|
|
* tracepoint.c (scope_info): Unconditionally call via computed ops,
|
|
|
|
|
if possible.
|
|
|
|
|
|
2013-03-20 Jan Kratochvil <jan.kratochvil@redhat.com>
Tom Tromey <tromey@redhat.com>
PR symtab/8421:
* coffread.c (coff_register_index): New global.
(process_coff_symbol, coff_read_enum_type): Set
SYMBOL_ACLASS_INDEX.
(_initialize_coffread): Initialize new global.
* dwarf2loc.c (locexpr_find_frame_base_location)
(dwarf2_block_frame_base_locexpr_funcs)
(loclist_find_frame_base_location)
(dwarf2_block_frame_base_loclist_funcs): New.
(dwarf_expr_frame_base_1): Call SYMBOL_BLOCK_OPS, remove internal_error.
(dwarf2_locexpr_funcs, dwarf2_loclist_funcs): Add location_has_loclist.
* dwarf2loc.h (dwarf2_block_frame_base_locexpr_funcs)
(dwarf2_block_frame_base_loclist_funcs): New.
* dwarf2read.c (dwarf2_locexpr_index, dwarf2_loclist_index)
(dwarf2_locexpr_block_index, dwarf2_loclist_block_index): New
globals.
(read_func_scope): Update.
(fixup_go_packaging, mark_common_block_symbol_computed)
(var_decode_location, new_symbol_full, dwarf2_const_value):
Set SYMBOL_ACLASS_INDEX.
(dwarf2_symbol_mark_computed): Likewise. Add 'is_block' argument.
(_initialize_dwarf2_read): Initialize new globals.
* jit.c (finalize_symtab): Set SYMBOL_ACLASS_INDEX.
* jv-lang.c (add_class_symbol): Set SYMBOL_ACLASS_INDEX.
* mdebugread.c (mdebug_register_index, mdebug_regparm_index): New
globals.
(parse_symbol, psymtab_to_symtab_1): Set SYMBOL_ACLASS_INDEX.
(_initialize_mdebugread): Initialize new globals.
* psympriv.h (struct partial_symbol) <aclass>: Update comment.
* stabsread.c (patch_block_stabs): Set SYMBOL_ACLASS_INDEX.
(stab_register_index, stab_regparm_index): New globals.
(define_symbol, read_enum_type, common_block_end): Set
SYMBOL_ACLASS_INDEX.
(_initialize_stabsread): Initialize new globals.
* symtab.c (next_aclass_value, symbol_impl, symbol_impls): New
globals.
(MAX_SYMBOL_IMPLS): New define.
(register_symbol_computed_impl, register_symbol_block_impl)
(register_symbol_register_impl)
(initialize_ordinary_address_classes): New functions.
(_initialize_symtab): Call initialize_ordinary_address_classes.
* symtab.h (enum address_class) <LOC_FINAL_VALUE>: New constant.
(struct symbol_impl): New.
(SYMBOL_ACLASS_BITS): New define.
(struct symbol) <aclass, ops>: Remove fields.
<aclass_index>: New field.
(symbol_impls): Declare.
(SYMBOL_CLASS, SYMBOL_COMPUTED_OPS, SYMBOL_REGISTER_OPS): Redefine.
(SYMBOL_IMPL, SYMBOL_ACLASS_INDEX): New defines.
(register_symbol_computed_impl, register_symbol_block_impl)
(register_symbol_register_impl): Declare.
(struct symbol_computed_ops): Add location_has_loclist.
(struct symbol_block_ops): New.
(SYMBOL_BLOCK_OPS): New.
* xcoffread.c (process_xcoff_symbol): Set SYMBOL_ACLASS_INDEX.
2013-03-20 18:33:05 +00:00
|
|
|
|
2013-03-20 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR symtab/8421:
|
|
|
|
|
* coffread.c (coff_register_index): New global.
|
|
|
|
|
(process_coff_symbol, coff_read_enum_type): Set
|
|
|
|
|
SYMBOL_ACLASS_INDEX.
|
|
|
|
|
(_initialize_coffread): Initialize new global.
|
|
|
|
|
* dwarf2loc.c (locexpr_find_frame_base_location)
|
|
|
|
|
(dwarf2_block_frame_base_locexpr_funcs)
|
|
|
|
|
(loclist_find_frame_base_location)
|
|
|
|
|
(dwarf2_block_frame_base_loclist_funcs): New.
|
|
|
|
|
(dwarf_expr_frame_base_1): Call SYMBOL_BLOCK_OPS, remove internal_error.
|
|
|
|
|
(dwarf2_locexpr_funcs, dwarf2_loclist_funcs): Add location_has_loclist.
|
|
|
|
|
* dwarf2loc.h (dwarf2_block_frame_base_locexpr_funcs)
|
|
|
|
|
(dwarf2_block_frame_base_loclist_funcs): New.
|
|
|
|
|
* dwarf2read.c (dwarf2_locexpr_index, dwarf2_loclist_index)
|
|
|
|
|
(dwarf2_locexpr_block_index, dwarf2_loclist_block_index): New
|
|
|
|
|
globals.
|
|
|
|
|
(read_func_scope): Update.
|
|
|
|
|
(fixup_go_packaging, mark_common_block_symbol_computed)
|
|
|
|
|
(var_decode_location, new_symbol_full, dwarf2_const_value):
|
|
|
|
|
Set SYMBOL_ACLASS_INDEX.
|
|
|
|
|
(dwarf2_symbol_mark_computed): Likewise. Add 'is_block' argument.
|
|
|
|
|
(_initialize_dwarf2_read): Initialize new globals.
|
|
|
|
|
* jit.c (finalize_symtab): Set SYMBOL_ACLASS_INDEX.
|
|
|
|
|
* jv-lang.c (add_class_symbol): Set SYMBOL_ACLASS_INDEX.
|
|
|
|
|
* mdebugread.c (mdebug_register_index, mdebug_regparm_index): New
|
|
|
|
|
globals.
|
|
|
|
|
(parse_symbol, psymtab_to_symtab_1): Set SYMBOL_ACLASS_INDEX.
|
|
|
|
|
(_initialize_mdebugread): Initialize new globals.
|
|
|
|
|
* psympriv.h (struct partial_symbol) <aclass>: Update comment.
|
|
|
|
|
* stabsread.c (patch_block_stabs): Set SYMBOL_ACLASS_INDEX.
|
|
|
|
|
(stab_register_index, stab_regparm_index): New globals.
|
|
|
|
|
(define_symbol, read_enum_type, common_block_end): Set
|
|
|
|
|
SYMBOL_ACLASS_INDEX.
|
|
|
|
|
(_initialize_stabsread): Initialize new globals.
|
|
|
|
|
* symtab.c (next_aclass_value, symbol_impl, symbol_impls): New
|
|
|
|
|
globals.
|
|
|
|
|
(MAX_SYMBOL_IMPLS): New define.
|
|
|
|
|
(register_symbol_computed_impl, register_symbol_block_impl)
|
|
|
|
|
(register_symbol_register_impl)
|
|
|
|
|
(initialize_ordinary_address_classes): New functions.
|
|
|
|
|
(_initialize_symtab): Call initialize_ordinary_address_classes.
|
|
|
|
|
* symtab.h (enum address_class) <LOC_FINAL_VALUE>: New constant.
|
|
|
|
|
(struct symbol_impl): New.
|
|
|
|
|
(SYMBOL_ACLASS_BITS): New define.
|
|
|
|
|
(struct symbol) <aclass, ops>: Remove fields.
|
|
|
|
|
<aclass_index>: New field.
|
|
|
|
|
(symbol_impls): Declare.
|
|
|
|
|
(SYMBOL_CLASS, SYMBOL_COMPUTED_OPS, SYMBOL_REGISTER_OPS): Redefine.
|
|
|
|
|
(SYMBOL_IMPL, SYMBOL_ACLASS_INDEX): New defines.
|
|
|
|
|
(register_symbol_computed_impl, register_symbol_block_impl)
|
|
|
|
|
(register_symbol_register_impl): Declare.
|
|
|
|
|
(struct symbol_computed_ops): Add location_has_loclist.
|
|
|
|
|
(struct symbol_block_ops): New.
|
|
|
|
|
(SYMBOL_BLOCK_OPS): New.
|
|
|
|
|
* xcoffread.c (process_xcoff_symbol): Set SYMBOL_ACLASS_INDEX.
|
|
|
|
|
|
2013-03-20 18:28:48 +00:00
|
|
|
|
2013-03-20 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* psymtab.c (find_pc_sect_psymbol, fixup_psymbol_section)
|
|
|
|
|
(print_partial_symbols, recursively_search_psymtabs): Use
|
|
|
|
|
PSYMBOL_CLASS.
|
|
|
|
|
|
2013-03-20 16:13:10 +00:00
|
|
|
|
2013-03-20 Pierre Muller <muller@sourceware.org>
|
|
|
|
|
|
|
|
|
|
* contrib/ari/gdb_ari.sh (OP eol rule): Also check
|
|
|
|
|
addtion, subtraction, multiplication and division binary operator.
|
|
|
|
|
|
2013-03-20 15:46:24 +00:00
|
|
|
|
2013-03-20 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
Code cleanup.
|
|
|
|
|
* bfd-target.c (target_bfd_xclose): Remove parameter quitting.
|
|
|
|
|
* bsd-kvm.c (bsd_kvm_close): Likewise.
|
|
|
|
|
* bsd-uthread.c (bsd_uthread_close): Likewise.
|
|
|
|
|
* corelow.c (core_close): Likewise.
|
|
|
|
|
(core_close_cleanup): Remove parameter quitting from a caller.
|
|
|
|
|
* event-top.c (async_disconnect): Likewise.
|
|
|
|
|
* exec.c (exec_close_1): Remove parameter quitting.
|
|
|
|
|
* go32-nat.c (go32_close): Likewise.
|
|
|
|
|
* linux-nat.c (linux_nat_close): Remove parameter quitting. Remove
|
|
|
|
|
parameter quitting from a caller.
|
|
|
|
|
* mips-linux-nat.c (super_close): Remove parameter quitting from the
|
|
|
|
|
variable.
|
|
|
|
|
(mips_linux_close): Remove parameter quitting. Remove parameter
|
|
|
|
|
quitting from a caller.
|
|
|
|
|
* monitor.c (monitor_close): Remove parameter quitting.
|
|
|
|
|
* monitor.h (monitor_close): Likewise.
|
|
|
|
|
* record-btrace.c (record_btrace_close): Likewise.
|
|
|
|
|
* record-full.c (record_full_close): Likewise.
|
|
|
|
|
* remote-m32r-sdi.c (m32r_close): Remove parameter quitting and remove
|
|
|
|
|
it also from fprintf_unfiltered.
|
|
|
|
|
* remote-mips.c (mips_close): Remove parameter quitting.
|
|
|
|
|
(mips_detach): Remove parameter quitting from a caller.
|
|
|
|
|
* remote-sim.c (gdbsim_close): Remove parameter quitting.
|
|
|
|
|
(gdbsim_close): Remove duplicate function comment. Remove parameter
|
|
|
|
|
quitting and remove it also from printf_filtered.
|
|
|
|
|
* remote.c (remote_close): Remove parameter quitting.
|
|
|
|
|
* solib-svr4.c (enable_break): Remove parameter quitting from a caller.
|
|
|
|
|
* target.c (update_current_target): Remove parameter int from to_close
|
|
|
|
|
de_fault.
|
|
|
|
|
(push_target, unpush_target, pop_target): Remove parameter quitting from
|
|
|
|
|
a caller.
|
|
|
|
|
(pop_all_targets_above, pop_all_targets): Remove parameter quitting.
|
|
|
|
|
Remove parameter quitting from a caller.
|
|
|
|
|
(target_preopen): Remove parameter quitting from a caller.
|
|
|
|
|
(target_close): Remove parameter quitting. Remove parameter quitting
|
|
|
|
|
from a caller two times. Remove parameter quitting also from
|
|
|
|
|
fprintf_unfiltered.
|
|
|
|
|
* target.h (struct target_ops): Remove parameter quitting and as int
|
|
|
|
|
from fields to_xclose and to_close.
|
|
|
|
|
(extern struct target_ops current_target):
|
|
|
|
|
(target_close, pop_all_targets): Remove parameter quitting. Update the
|
|
|
|
|
comment.
|
|
|
|
|
(pop_all_targets_above): Remove parameter quitting.
|
|
|
|
|
* top.c (quit_target): Remove parameter quitting from a caller.
|
|
|
|
|
* tracepoint.c (tfile_close): Remove parameter quitting.
|
|
|
|
|
* windows-nat.c (windows_close): Remove parameter quitting.
|
|
|
|
|
|
2013-03-20 08:51:06 +00:00
|
|
|
|
2013-03-20 Corinna Vinschen <vinschen@redhat.com>
|
|
|
|
|
|
|
|
|
|
* windows-nat.c (handle_output_debug_string): Replace call
|
|
|
|
|
to string_to_core_addr with call to strtoull.
|
|
|
|
|
|
2013-03-20 02:54:22 +00:00
|
|
|
|
2013-03-20 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* ctf.c (ctf_save_metadata_header): Define macro HOST_ENDIANNESS
|
|
|
|
|
and write it to CTF metadata.
|
|
|
|
|
|
2013-03-19 15:06:26 +00:00
|
|
|
|
2013-03-19 Corinna Vinschen <vinschen@redhat.com>
|
|
|
|
|
|
|
|
|
|
* windows-nat.c (handle_output_debug_string): Change type of n to
|
|
|
|
|
SIZE_T to avoid crash on 64 bit systems.
|
|
|
|
|
|
2013-03-17 19:10:38 +00:00
|
|
|
|
2013-03-17 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
|
|
|
|
|
|
* python/python-internal.h (HAVE_SNPRINTF)
|
|
|
|
|
[_WIN32 && HAVE_DECL_SNPRINTF]: Define, to avoid compiler warnings
|
|
|
|
|
about redefinition of snprintf by pyerrors.h.
|
|
|
|
|
|
2013-03-15 17:53:44 +00:00
|
|
|
|
2013-03-15 Steve Ellcey <sellcey@mips.com>
|
|
|
|
|
|
|
|
|
|
* remote-sim.c (sim_command_completer): Make char arguments const.
|
|
|
|
|
|
2013-03-15 17:10:45 +00:00
|
|
|
|
2013-03-15 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR c++/15116:
|
|
|
|
|
* gdbtypes.c (types_equal): Handle TYPE_CODE_FUNC.
|
|
|
|
|
|
2013-03-14 20:26:19 +00:00
|
|
|
|
2013-03-14 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* gdb_bfd.c (struct gdb_bfd_data) <crc_computed, crc>:
|
|
|
|
|
New fields.
|
|
|
|
|
(get_file_crc): Move from symfile.c.
|
|
|
|
|
(gdb_bfd_crc): New function.
|
|
|
|
|
* gdb_bfd.h (gdb_bfd_crc): Declare.
|
|
|
|
|
* objfiles.h (struct objfile) <crc32, crc32_p>: Remove.
|
|
|
|
|
* symfile.c (get_file_crc): Move to gdb_bfd.c.
|
|
|
|
|
(separate_debug_file_exists): Use gdb_bfd_crc.
|
|
|
|
|
|
2013-03-14 20:11:12 +00:00
|
|
|
|
2013-03-14 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* symfile.c (get_debug_link_info): Remove.
|
|
|
|
|
(find_separate_debug_file_by_debuglink): Use
|
|
|
|
|
bfd_get_debug_link_info.
|
|
|
|
|
|
2013-03-14 18:56:02 +00:00
|
|
|
|
2013-03-14 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* symtab.c (error_in_psymtab_expansion): New function.
|
|
|
|
|
(lookup_symbol_aux_quick)
|
|
|
|
|
(basic_lookup_transparent_type_quick): Remove "last resort"
|
|
|
|
|
code. Use error_in_psymtab_expansion.
|
|
|
|
|
|
2013-03-14 16:36:27 +00:00
|
|
|
|
2013-03-14 Doug Evans <dje@google.com>
|
|
|
|
|
Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
* dwarf2read.c (dw2_map_symtabs_matching_filename): Put continue after
|
|
|
|
|
any successful compare_filenames_for_search or FILENAME_CMP.
|
|
|
|
|
* psymtab.c (partial_map_symtabs_matching_filename): Likewise.
|
|
|
|
|
* symtab.c (iterate_over_some_symtabs): Likewise.
|
|
|
|
|
|
2013-03-14 14:42:48 +00:00
|
|
|
|
2013-03-14 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
* source.c (print_source_lines_base): Make a local copy of
|
|
|
|
|
symtab_to_fullname.
|
|
|
|
|
|
2013-03-14 14:35:17 +00:00
|
|
|
|
2013-03-14 Hui Zhu <hui_zhu@mentor.com>
|
|
|
|
|
Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
* source.c (print_source_lines_base): Suppress "file" for TUI.
|
|
|
|
|
|
From: Sergio Durigan Junior <sergiodj@redhat.com>
Subject: [PATCH] Fix for PR c++/15203 and PR c++/15210
Date: Sat, 09 Mar 2013 02:50:49 -0300 (5 days, 4 hours, 57 minutes ago)
Message-ID: <m3a9qdnmti.fsf@redhat.com>
Hi,
This bug was reported internally at our Bugzilla, along with a proposed
fix. After talking to Keith about it, he investigated and came up with
another patch needed to really fix the issue on CVS HEAD.
The first part of the fix is the patch to cp-namespace.c. It handles
the case when we are accessing a static variable inside a function
(inside a class) by the full linespec (is it right, Keith?). E.g.:
class foo
{
public:
int bar()
{
static int var = 0;
}
};
And then, printing the value of `var':
(gdb) print 'foo::bar()::var'
GDB would fall in an internal_error:
gdb/cp-namespace.c:816: internal-error: cp_lookup_nested_symbol called on a non-aggregate type.
This is because `cp_lookup_nested_symbol' is not handling the case when
TYPE_CODE is either _FUNC or _METHOD. This patch fixes it by returning
NULL in this case.
The second part of the fix is the patch to elfread.c. It is needed
because the BSF_GNU_UNIQUE flag was added to some symbols in
<http://sourceware.org/ml/binutils/2009-06/msg00016.html>. Because of
that, (still) the command:
(gdb) print 'foo::bar()::var'
where `var' is a static variable returns:
"No symbol "foo::bar()::var" in current context."
So with the second patch applied the command finally DTRT:
(gdb) print 'foo::bar()::var'
$1 = 0
This may not be the ideal solution, according to Keith it would be good
to implement productions on c-exp.y in order to recognize
CLASS::FUNCTION::VARIABLE, but it is a solution which works with what we
have today.
I regtested it in Fedora 17 x86_64 with -m64 and -m32, including
gdbserver, without regressions.
gdb/:
2013-03-14 Keith Seitz <keiths@redhat.com>
Alan Matsuoka <alanm@redhat.com>
PR c++/15203
PR c++/15210
* cp-namespace.c (cp_lookup_nested_symbol): Handle TYPE_CODE_FUNC and
TYPE_CODE_METHOD.
* elfread.c (elf_symtab_read): Handle BSF_GNU_UNIQUE for certain
symbols.
gdb/testsuite/:
2013-03-14 Sergio Durigan Junior <sergiodj@redhat.com>
PR c++/15203
PR c++/15210
* gdb.cp/m-static.cc (keepalive_int): New function.
(gnu_obj_1::method): New variable `sintvar', call `keepalive_int'.
* gdb.cp/m-static.exp: New test for `sintvar'.
2013-03-14 11:13:36 +00:00
|
|
|
|
2013-03-14 Keith Seitz <keiths@redhat.com>
|
|
|
|
|
Alan Matsuoka <alanm@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR c++/15203
|
|
|
|
|
PR c++/15210
|
|
|
|
|
* cp-namespace.c (cp_lookup_nested_symbol): Handle TYPE_CODE_FUNC and
|
|
|
|
|
TYPE_CODE_METHOD.
|
|
|
|
|
* elfread.c (elf_symtab_read): Handle BSF_GNU_UNIQUE for certain
|
|
|
|
|
symbols.
|
|
|
|
|
|
2013-03-14 09:08:56 +00:00
|
|
|
|
2013-03-14 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* tracepoint.c (tfile_write_status): Write 'stop_desc' of trace
|
|
|
|
|
status to tfile if trace is stopped by command 'tstop'.
|
|
|
|
|
|
2013-03-14 09:06:40 +00:00
|
|
|
|
2013-03-14 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* tracepoint.c (tfile_write_status): Write trace notes and user
|
|
|
|
|
name into tfile if they are not NULL.
|
|
|
|
|
|
2013-03-14 09:02:30 +00:00
|
|
|
|
2013-03-14 Hui Zhu <hui@codesourcery.com>
|
|
|
|
|
Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* Makefile.in (REMOTE_OBS): Add ctf.o.
|
|
|
|
|
(SFILES): Add ctf.c.
|
|
|
|
|
(HFILES_NO_SRCDIR): Add ctf.h.
|
|
|
|
|
* ctf.c, ctf.h: New files.
|
|
|
|
|
* tracepoint.c: Include 'ctf.h'.
|
|
|
|
|
(collect_pseudocommand): Remove static.
|
|
|
|
|
(trace_save_command): Parse option "-ctf".
|
|
|
|
|
Produce different trace file writers per option.
|
|
|
|
|
Adjust output message.
|
|
|
|
|
(trace_save_tfile, trace_save_ctf): New.
|
|
|
|
|
* tracepoint.h (trace_save_tfile, trace_save_ctf): Declare.
|
|
|
|
|
* mi/mi-main.c: Include 'ctf.h'.
|
|
|
|
|
(mi_cmd_trace_save): Handle option '-ctf'. Call either
|
|
|
|
|
trace_save_tfile or trace_save_ctf.
|
|
|
|
|
* NEWS: Mention these changes.
|
|
|
|
|
|
2013-03-14 08:50:55 +00:00
|
|
|
|
2013-03-14 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* tracepoint.c (trace_file_writer_xfree): New.
|
|
|
|
|
(struct tfile_writer_data): New.
|
|
|
|
|
(tfile_dtor, tfile_can_target_save, tfile_start): New.
|
|
|
|
|
(tfile_write_header, tfile_write_regblock_type): New.
|
|
|
|
|
(tfile_write_status, tfile_write_uploaded_tsv): New.
|
|
|
|
|
(tfile_write_uploaded_tp, tfile_write_definition_end): New.
|
|
|
|
|
(tfile_write_raw_data, (tfile_end): New.
|
|
|
|
|
(tfile_write_ops): New global variable.
|
|
|
|
|
(TRACE_WRITE_R_BLOCK): New macro.
|
|
|
|
|
(TRACE_WRITE_M_BLOCK_HEADER): New macro.
|
|
|
|
|
(TRACE_WRITE_M_BLOCK_MEMORY): New macro.
|
|
|
|
|
(TRACE_WRITE_V_BLOCK): New macro.
|
|
|
|
|
(trace_save): Add extra one parameter WRITER. Make it static.
|
|
|
|
|
Use WRITER to writer trace.
|
|
|
|
|
(tfile_trace_file_writer_new): New.
|
|
|
|
|
(trace_save_command): Caller update.
|
|
|
|
|
(trace_save_tfile): Write trace data in TFILE format.
|
|
|
|
|
* tracepoint.h (struct trace_frame_write_ops): New.
|
|
|
|
|
(struct trace_file_write_ops): New.
|
|
|
|
|
(struct trace_file_writer): New.
|
|
|
|
|
(trace_save): Remove its declaration.
|
|
|
|
|
(trace_save_tfile): Declare it.
|
|
|
|
|
* mi/mi-main.c (mi_cmd_trace_save): Call trace_save_tfile
|
|
|
|
|
instead of trace_save.
|
|
|
|
|
|
2013-03-13 18:50:16 +00:00
|
|
|
|
2013-03-13 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* hppa-hpux-nat.c (hppa_hpux_save_state_offset): Make static.
|
|
|
|
|
|
Fix completer.c FIXME, and invalid pointer to pointer conversion.
As mentioned in the previous patch, I grepped for "\*\*) &" and found
one hit in completer.c.
I was about to post a patch that simply made
current_demangling_style_string const, and cast away constness at the
xfree site. However, looking deeper, it seem to be there's a lot of
dead code in the file.
First, all external callers of set_demangling_style are found in the
stabs reader, commented out for over 12 years:
http://sourceware.org/ml/gdb-patches/2000-12/msg00214.html
I don't think it's likely we'll ever make the older mangling schemes
work for stabs. If we do, we can rediscuss the approach then.
Then, set_demangling_command has special handling for unknown
demangling styles, but "set demangle-style" is an enum command, and
with those, the user can only specify a known enumeration value, by
design:
(gdb) set demangle-style gangnam-style
Undefined item: "gangnam-style".
This patch removes all that dead code, then makes
current_demangling_style_string point to an element of
demangling_style_names, as the FIXME suggests, and then makes
current_demangling_style_string, removing the need for the 'const char
**' cast.
gdb/
2013-03-13 Pedro Alves <palves@redhat.com>
* dbxread.c (read_ofile_symtab, process_one_symbol): Remove
commented out code.
* demangle.c (current_demangling_style_string): Make it const.
(set_demangling_command): Assert the demangling style is known.
Remove all handling of unknown styles. Set
'current_demangling_style_string' to an element of the
demangling_style_names array.
(set_demangling_style): Delete.
(_initialize_demangler): Set current_demangling_style_string to the
element of the demangling_style_names array that corresponds to
the default demangling style. Remove FIXME note. Don't call
set_demangling_style.
* gdb-demangle.h (set_demangling_style): Remove declaration.
2013-03-13 18:38:12 +00:00
|
|
|
|
2013-03-13 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* dbxread.c (read_ofile_symtab, process_one_symbol): Remove
|
|
|
|
|
commented out code.
|
|
|
|
|
* demangle.c (current_demangling_style_string): Make it const.
|
|
|
|
|
(set_demangling_command): Assert the demangling style is known.
|
|
|
|
|
Remove all handling of unknown styles. Set
|
|
|
|
|
'current_demangling_style_string' to an element of the
|
|
|
|
|
demangling_style_names array.
|
|
|
|
|
(set_demangling_style): Delete.
|
|
|
|
|
(_initialize_demangler): Set current_demangling_style_string to the
|
|
|
|
|
element of the demangling_style_names array that corresponds to
|
|
|
|
|
the default demangling style. Remove FIXME note. Don't call
|
|
|
|
|
set_demangling_style.
|
|
|
|
|
* gdb-demangle.h (set_demangling_style): Remove declaration.
|
|
|
|
|
|
Constify strings in tracepoint.c, lookup_cmd and the completers.
This is sort of a continuation of Keith's parse_exp_1 constification
patch. It started out by undoing these bits:
@@ -754,9 +754,12 @@ validate_actionline (char **line, struct
tmp_p = p;
for (loc = t->base.loc; loc; loc = loc->next)
{
- p = tmp_p;
- exp = parse_exp_1 (&p, loc->address,
+ const char *q;
+
+ q = tmp_p;
+ exp = parse_exp_1 (&q, loc->address,
block_for_pc (loc->address), 1);
+ p = (char *) q;
and progressively making more things const upwards, fixing fallout,
rinse repeat, until GDB built again (--enable-targets=all).
That ended up constifying lookup_cmd/add_cmd and (lots of) friends,
and the completers.
I didn't try to constify the command hooks themselves, because I know
upfront there are commands that write to the command string argument,
and I think I managed to stop at a nice non-hacky split point already.
I think the only non-really-super-obvious changes are
tracepoint.c:validate_actionline, and tracepoint.c:trace_dump_actions.
The rest is just mostly about 'char *' => 'const char *', 'char **'=>
'const char **', and the occasional (e.g., deprecated_cmd_warning)
case of 'char **'=> 'const char *', where/when I noticed that nothing
actually cares about the pointer to pointer output.
Tested on x86_64 Fedora 17, native and gdbserver.
gdb/
2013-03-13 Pedro Alves <palves@redhat.com>
* ada-lang.c (struct add_partial_datum) <text, text0, word>: Make
fields const.
(ada_make_symbol_completion_list): Make "text0" parameter const.
* ax-gdb.c (agent_eval_command_one): Make "exp" parameter const.
* breakpoint.c (condition_completer): Make "text" and "word"
parameters const. Adjust.
(check_tracepoint_command): Adjust to validate_actionline
prototype change.
(catch_syscall_completer): Make "text" and "word" parameters
const.
* cli/cli-cmds.c (show_user): Make "comname" local const.
(valid_command_p): Make "command" parameter const.
(alias_command): Make "alias_prefix" and "command_prefix" locals
const.
* cli/cli-decode.c (add_cmd): Make "name" parameter const.
(add_alias_cmd): Make "name" and "oldname" parameters const.
Adjust. No longer make copy of OLDNAME.
(add_prefix_cmd, add_abbrev_prefix_cmd, add_set_or_show_cmd)
(add_setshow_cmd_full, add_setshow_enum_cmd)
(add_setshow_auto_boolean_cmd, add_setshow_boolean_cmd)
(add_setshow_filename_cmd, add_setshow_string_cmd)
(add_setshow_string_noescape_cmd)
(add_setshow_optional_filename_cmd, add_setshow_integer_cmd)
(add_setshow_uinteger_cmd, add_setshow_zinteger_cmd)
(add_setshow_zuinteger_unlimited_cmd, add_setshow_zuinteger_cmd)
(delete_cmd, add_info, add_info_alias, add_com, add_com_alias):
Make "name" parameter const.
(help_cmd): Rename "command" parameter to "arg". New const local
"command".
(find_cmd): Make "command" parameter const.
(lookup_cmd_1): Make "text" parameter pointer to const. Adjust to
deprecated_cmd_warning prototype change.
(undef_cmd_error): Make "cmdtype" parameter const.
(lookup_cmd): Make "line" parameter const.
(deprecated_cmd_warning): Change type of "text" parameter to
pointer to const char, from pointer to pointer to char. Adjust.
(lookup_cmd_composition): Make "text" parameter const.
(complete_on_cmdlist, complete_on_enum): Make "text" and "word"
parameters const.
* cli/cli-decode.h (struct cmd_list_element) <name>: Make field
const.
* cli/cli-script.c (validate_comname): Make "tem" local const.
(define_command): New const local "tem_c". Use it in calls to
lookup_cmd.
(document_command): Make "tem" and "comfull" locals const.
(show_user_1): Make "prefix" and "name" parameters const.
* cli-script.h (show_user_1): Make "prefix" and "name" parameters
const.
* command.h (add_cmd, add_alias_cmd, add_prefix_cmd)
(add_abbrev_prefix_cmd, completer_ftype, lookup_cmd, lookup_cmd_1)
(deprecated_cmd_warning, lookup_cmd_composition, add_com)
(add_com_alias, add_info, add_info_alias, complete_on_cmdlist)
(complete_on_enum, add_setshow_enum_cmd)
(add_setshow_auto_boolean_cmd, add_setshow_boolean_cmd)
(add_setshow_filename_cmd, add_setshow_string_cmd)
(add_setshow_string_noescape_cmd)
(add_setshow_optional_filename_cmd, add_setshow_integer_cmd)
(add_setshow_uinteger_cmd, add_setshow_zinteger_cmd)
(add_setshow_zuinteger_cmd, add_setshow_zuinteger_unlimited_cmd):
Change prototypes, constifying strings.
* completer.c (noop_completer, filename_completer): Make "text"
and "prefix" parameters const.
(location_completer, expression_completer)
(complete_line_internal): Make "text" and "prefix" parameters
const and adjust.
(command_completer, signal_completer): Make "text" and "prefix"
parameters const.
* completer.h (noop_completer, filename_completer)
(expression_completer, location_completer, command_completer)
(signal_completer): Change prototypes.
* corefile.c (complete_set_gnutarget): Make "text" and "word"
parameters const.
* cp-abi.c (cp_abi_completer): Likewise.
* expression.h (parse_expression_for_completion): Change
prototype.
* f-lang.c (f_make_symbol_completion_list): Make "text" and "word"
parameters const.
* infcmd.c (_initialize_infcmd): Make "cmd_name" local const.
* infrun.c (handle_completer): Make "text" and "word" parameters
const.
* interps.c (interpreter_completer): Make "text" and "word"
parameters const.
* language.h (struct language_defn)
<la_make_symbol_completion_list>: Make "text" and "word"
parameters const.
* parse.c (parse_exp_1): Move const hack to parse_exp_in_context.
(parse_exp_in_context): Rename to ...
(parse_exp_in_context_1): ... this.
(parse_exp_in_context): Reimplement, with const hack from
parse_exp_1.
(parse_expression_for_completion): Make "string" parameter const.
* printcmd.c (decode_format): Make "string_ptr" parameter pointer
to pointer to const char. Adjust.
(print_command_1): Make "exp" parameter const.
(output_command): Rename to ...
(output_command_const): ... this. Make "exp" parameter const.
(output_command): Reimplement.
(x_command): Adjust.
(display_command): Rename "exp" parameter to "arg". New "exp"
local, const version of "arg".
* python/py-auto-load.c (gdbpy_initialize_auto_load): Make
"cmd_name" local const.
* python/py-cmd.c (cmdpy_destroyer): Cast const away in xfree
call.
(cmdpy_completer): Make "text" and "word" parameters const.
(gdbpy_parse_command_name): Make "prefix_text2" local const.
* python/py-param.c (add_setshow_generic): Make "tmp_name" local
const.
* remote.c (_initialize_remote): Make "cmd_name" local const.
* symtab.c (language_search_unquoted_string): Make "text" and "p"
parameters const. Adjust.
(completion_list_add_fields): Make "sym_text", "text" and "word"
parameters const.
(struct add_name_data) <sym_text, text, word>: Make fields const.
(default_make_symbol_completion_list_break_on): Make "text" and
"word" parameters const. Adjust locals.
(default_make_symbol_completion_list)
(make_symbol_completion_list, make_symbol_completion_type)
(make_symbol_completion_list_fn): Make "text" and "word"
parameters const.
(make_file_symbol_completion_list): Make "text", "word" and
"srcfile" parameters const. Adjust locals.
(add_filename_to_list): Make "text" and "word" parameters const.
(struct add_partial_filename_data) <text, word>: Make fields
const.
(make_source_files_completion_list): Make "text" and "word"
parameters const.
* symtab.h (default_make_symbol_completion_list_break_on)
(default_make_symbol_completion_list, make_symbol_completion_list)
(make_symbol_completion_type enum type_code)
(make_symbol_completion_list_fn make_file_symbol_completion_list)
(make_source_files_completion_list): Change prototype.
* top.c (execute_command): Adjust to pass pointer to pointer to
const char to lookup_cmd, and to deprecated_cmd_warning prototype
change.
(set_verbose): Make "cmdname" local const.
* tracepoint.c (decode_agent_options): Make "exp" parameter const,
and adjust.
(validate_actionline): Make "line" parameter a pointer to const
char, and adjust.
(encode_actions_1): Make "action_exp" local const, and adjust.
(encode_actions): Adjust.
(replace_comma): Delete.
(trace_dump_actions): Make "action_exp" and "next_comma" locals
const, and adjust. Don't frob the action string while splitting
it at commas. Instead, make a copy of each split substring in
turn.
(trace_dump_command): Adjust to validate_actionline prototype
change.
* tracepoint.h (decode_agent_options, decode_agent_options)
(encode_actions, validate_actionline): Change prototypes.
* valprint.h (output_command): Delete declaration.
(output_command_const): Declare.
* value.c (function_destroyer): Cast const away in xfree call.
2013-03-13 18:34:55 +00:00
|
|
|
|
2013-03-13 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* ada-lang.c (struct add_partial_datum) <text, text0, word>: Make
|
|
|
|
|
fields const.
|
|
|
|
|
(ada_make_symbol_completion_list): Make "text0" parameter const.
|
|
|
|
|
* ax-gdb.c (agent_eval_command_one): Make "exp" parameter const.
|
|
|
|
|
* breakpoint.c (condition_completer): Make "text" and "word"
|
|
|
|
|
parameters const. Adjust.
|
|
|
|
|
(check_tracepoint_command): Adjust to validate_actionline
|
|
|
|
|
prototype change.
|
|
|
|
|
(catch_syscall_completer): Make "text" and "word" parameters
|
|
|
|
|
const.
|
|
|
|
|
* cli/cli-cmds.c (show_user): Make "comname" local const.
|
|
|
|
|
(valid_command_p): Make "command" parameter const.
|
|
|
|
|
(alias_command): Make "alias_prefix" and "command_prefix" locals
|
|
|
|
|
const.
|
|
|
|
|
* cli/cli-decode.c (add_cmd): Make "name" parameter const.
|
|
|
|
|
(add_alias_cmd): Make "name" and "oldname" parameters const.
|
|
|
|
|
Adjust. No longer make copy of OLDNAME.
|
|
|
|
|
(add_prefix_cmd, add_abbrev_prefix_cmd, add_set_or_show_cmd)
|
|
|
|
|
(add_setshow_cmd_full, add_setshow_enum_cmd)
|
|
|
|
|
(add_setshow_auto_boolean_cmd, add_setshow_boolean_cmd)
|
|
|
|
|
(add_setshow_filename_cmd, add_setshow_string_cmd)
|
|
|
|
|
(add_setshow_string_noescape_cmd)
|
|
|
|
|
(add_setshow_optional_filename_cmd, add_setshow_integer_cmd)
|
|
|
|
|
(add_setshow_uinteger_cmd, add_setshow_zinteger_cmd)
|
|
|
|
|
(add_setshow_zuinteger_unlimited_cmd, add_setshow_zuinteger_cmd)
|
|
|
|
|
(delete_cmd, add_info, add_info_alias, add_com, add_com_alias):
|
|
|
|
|
Make "name" parameter const.
|
|
|
|
|
(help_cmd): Rename "command" parameter to "arg". New const local
|
|
|
|
|
"command".
|
|
|
|
|
(find_cmd): Make "command" parameter const.
|
|
|
|
|
(lookup_cmd_1): Make "text" parameter pointer to const. Adjust to
|
|
|
|
|
deprecated_cmd_warning prototype change.
|
|
|
|
|
(undef_cmd_error): Make "cmdtype" parameter const.
|
|
|
|
|
(lookup_cmd): Make "line" parameter const.
|
|
|
|
|
(deprecated_cmd_warning): Change type of "text" parameter to
|
|
|
|
|
pointer to const char, from pointer to pointer to char. Adjust.
|
|
|
|
|
(lookup_cmd_composition): Make "text" parameter const.
|
|
|
|
|
(complete_on_cmdlist, complete_on_enum): Make "text" and "word"
|
|
|
|
|
parameters const.
|
|
|
|
|
* cli/cli-decode.h (struct cmd_list_element) <name>: Make field
|
|
|
|
|
const.
|
|
|
|
|
* cli/cli-script.c (validate_comname): Make "tem" local const.
|
|
|
|
|
(define_command): New const local "tem_c". Use it in calls to
|
|
|
|
|
lookup_cmd.
|
|
|
|
|
(document_command): Make "tem" and "comfull" locals const.
|
|
|
|
|
(show_user_1): Make "prefix" and "name" parameters const.
|
|
|
|
|
* cli-script.h (show_user_1): Make "prefix" and "name" parameters
|
|
|
|
|
const.
|
|
|
|
|
* command.h (add_cmd, add_alias_cmd, add_prefix_cmd)
|
|
|
|
|
(add_abbrev_prefix_cmd, completer_ftype, lookup_cmd, lookup_cmd_1)
|
|
|
|
|
(deprecated_cmd_warning, lookup_cmd_composition, add_com)
|
|
|
|
|
(add_com_alias, add_info, add_info_alias, complete_on_cmdlist)
|
|
|
|
|
(complete_on_enum, add_setshow_enum_cmd)
|
|
|
|
|
(add_setshow_auto_boolean_cmd, add_setshow_boolean_cmd)
|
|
|
|
|
(add_setshow_filename_cmd, add_setshow_string_cmd)
|
|
|
|
|
(add_setshow_string_noescape_cmd)
|
|
|
|
|
(add_setshow_optional_filename_cmd, add_setshow_integer_cmd)
|
|
|
|
|
(add_setshow_uinteger_cmd, add_setshow_zinteger_cmd)
|
|
|
|
|
(add_setshow_zuinteger_cmd, add_setshow_zuinteger_unlimited_cmd):
|
|
|
|
|
Change prototypes, constifying strings.
|
|
|
|
|
* completer.c (noop_completer, filename_completer): Make "text"
|
|
|
|
|
and "prefix" parameters const.
|
|
|
|
|
(location_completer, expression_completer)
|
|
|
|
|
(complete_line_internal): Make "text" and "prefix" parameters
|
|
|
|
|
const and adjust.
|
|
|
|
|
(command_completer, signal_completer): Make "text" and "prefix"
|
|
|
|
|
parameters const.
|
|
|
|
|
* completer.h (noop_completer, filename_completer)
|
|
|
|
|
(expression_completer, location_completer, command_completer)
|
|
|
|
|
(signal_completer): Change prototypes.
|
|
|
|
|
* corefile.c (complete_set_gnutarget): Make "text" and "word"
|
|
|
|
|
parameters const.
|
|
|
|
|
* cp-abi.c (cp_abi_completer): Likewise.
|
|
|
|
|
* expression.h (parse_expression_for_completion): Change
|
|
|
|
|
prototype.
|
|
|
|
|
* f-lang.c (f_make_symbol_completion_list): Make "text" and "word"
|
|
|
|
|
parameters const.
|
|
|
|
|
* infcmd.c (_initialize_infcmd): Make "cmd_name" local const.
|
|
|
|
|
* infrun.c (handle_completer): Make "text" and "word" parameters
|
|
|
|
|
const.
|
|
|
|
|
* interps.c (interpreter_completer): Make "text" and "word"
|
|
|
|
|
parameters const.
|
|
|
|
|
* language.h (struct language_defn)
|
|
|
|
|
<la_make_symbol_completion_list>: Make "text" and "word"
|
|
|
|
|
parameters const.
|
|
|
|
|
* parse.c (parse_exp_1): Move const hack to parse_exp_in_context.
|
|
|
|
|
(parse_exp_in_context): Rename to ...
|
|
|
|
|
(parse_exp_in_context_1): ... this.
|
|
|
|
|
(parse_exp_in_context): Reimplement, with const hack from
|
|
|
|
|
parse_exp_1.
|
|
|
|
|
(parse_expression_for_completion): Make "string" parameter const.
|
|
|
|
|
* printcmd.c (decode_format): Make "string_ptr" parameter pointer
|
|
|
|
|
to pointer to const char. Adjust.
|
|
|
|
|
(print_command_1): Make "exp" parameter const.
|
|
|
|
|
(output_command): Rename to ...
|
|
|
|
|
(output_command_const): ... this. Make "exp" parameter const.
|
|
|
|
|
(output_command): Reimplement.
|
|
|
|
|
(x_command): Adjust.
|
|
|
|
|
(display_command): Rename "exp" parameter to "arg". New "exp"
|
|
|
|
|
local, const version of "arg".
|
|
|
|
|
* python/py-auto-load.c (gdbpy_initialize_auto_load): Make
|
|
|
|
|
"cmd_name" local const.
|
|
|
|
|
* python/py-cmd.c (cmdpy_destroyer): Cast const away in xfree
|
|
|
|
|
call.
|
|
|
|
|
(cmdpy_completer): Make "text" and "word" parameters const.
|
|
|
|
|
(gdbpy_parse_command_name): Make "prefix_text2" local const.
|
|
|
|
|
* python/py-param.c (add_setshow_generic): Make "tmp_name" local
|
|
|
|
|
const.
|
|
|
|
|
* remote.c (_initialize_remote): Make "cmd_name" local const.
|
|
|
|
|
* symtab.c (language_search_unquoted_string): Make "text" and "p"
|
|
|
|
|
parameters const. Adjust.
|
|
|
|
|
(completion_list_add_fields): Make "sym_text", "text" and "word"
|
|
|
|
|
parameters const.
|
|
|
|
|
(struct add_name_data) <sym_text, text, word>: Make fields const.
|
|
|
|
|
(default_make_symbol_completion_list_break_on): Make "text" and
|
|
|
|
|
"word" parameters const. Adjust locals.
|
|
|
|
|
(default_make_symbol_completion_list)
|
|
|
|
|
(make_symbol_completion_list, make_symbol_completion_type)
|
|
|
|
|
(make_symbol_completion_list_fn): Make "text" and "word"
|
|
|
|
|
parameters const.
|
|
|
|
|
(make_file_symbol_completion_list): Make "text", "word" and
|
|
|
|
|
"srcfile" parameters const. Adjust locals.
|
|
|
|
|
(add_filename_to_list): Make "text" and "word" parameters const.
|
|
|
|
|
(struct add_partial_filename_data) <text, word>: Make fields
|
|
|
|
|
const.
|
|
|
|
|
(make_source_files_completion_list): Make "text" and "word"
|
|
|
|
|
parameters const.
|
|
|
|
|
* symtab.h (default_make_symbol_completion_list_break_on)
|
|
|
|
|
(default_make_symbol_completion_list, make_symbol_completion_list)
|
|
|
|
|
(make_symbol_completion_type enum type_code)
|
|
|
|
|
(make_symbol_completion_list_fn make_file_symbol_completion_list)
|
|
|
|
|
(make_source_files_completion_list): Change prototype.
|
|
|
|
|
* top.c (execute_command): Adjust to pass pointer to pointer to
|
|
|
|
|
const char to lookup_cmd, and to deprecated_cmd_warning prototype
|
|
|
|
|
change.
|
|
|
|
|
(set_verbose): Make "cmdname" local const.
|
|
|
|
|
* tracepoint.c (decode_agent_options): Make "exp" parameter const,
|
|
|
|
|
and adjust.
|
|
|
|
|
(validate_actionline): Make "line" parameter a pointer to const
|
|
|
|
|
char, and adjust.
|
|
|
|
|
(encode_actions_1): Make "action_exp" local const, and adjust.
|
|
|
|
|
(encode_actions): Adjust.
|
|
|
|
|
(replace_comma): Delete.
|
|
|
|
|
(trace_dump_actions): Make "action_exp" and "next_comma" locals
|
|
|
|
|
const, and adjust. Don't frob the action string while splitting
|
|
|
|
|
it at commas. Instead, make a copy of each split substring in
|
|
|
|
|
turn.
|
|
|
|
|
(trace_dump_command): Adjust to validate_actionline prototype
|
|
|
|
|
change.
|
|
|
|
|
* tracepoint.h (decode_agent_options, decode_agent_options)
|
|
|
|
|
(encode_actions, validate_actionline): Change prototypes.
|
|
|
|
|
* valprint.h (output_command): Delete declaration.
|
|
|
|
|
(output_command_const): Declare.
|
|
|
|
|
* value.c (function_destroyer): Cast const away in xfree call.
|
|
|
|
|
|
2013-03-13 16:45:11 +00:00
|
|
|
|
2013-03-13 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* ada-lang.c (ada_decode_symbol): Cast away constness of GSYMBOL
|
|
|
|
|
rather than casting 'const char * const *' to 'const char **'.
|
|
|
|
|
* ada-lex.l (processInt): Make "trailer" local const. Remove
|
|
|
|
|
'const char **' cast.
|
|
|
|
|
* arm-linux-tdep.c (arm_stap_parse_special_token): Add 'char *'
|
|
|
|
|
locals, and use those as strtol output pointer, instead than doing
|
|
|
|
|
invalid casts to from 'const char **' to 'char **'.
|
|
|
|
|
(_initialize_demangle): Remove cast.
|
|
|
|
|
* i386-tdep.c (i386_stap_parse_special_token): : Add 'char *'
|
|
|
|
|
locals, and use those as strtol output pointer, instead than doing
|
|
|
|
|
invalid casts to from 'const char **' to 'char **'.
|
|
|
|
|
* solib-dsbt.c (dsbt_get_initial_loadmaps): Remove 'gdb_byte**'
|
|
|
|
|
casts.
|
|
|
|
|
* stap-probe.c (stap_parse_register_operand)
|
|
|
|
|
(stap_parse_single_operand): Likewise.
|
|
|
|
|
|
2013-03-13 03:40:27 +00:00
|
|
|
|
2013-03-13 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* tracepoint.c (tfile_get_trace_state_variable_value): Look for
|
|
|
|
|
the last matched 'V' blcok in trace frame.
|
|
|
|
|
|
2013-03-12 22:36:27 +00:00
|
|
|
|
2013-03-12 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* NEWS: Create a new section for the next release branch.
|
|
|
|
|
Rename the section of the current branch, now that it has
|
|
|
|
|
been cut.
|
|
|
|
|
|
2013-03-12 22:23:41 +00:00
|
|
|
|
2013-03-12 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
GDB 7.6 branch created (branch timestamp: 2013-03-12 22:15 UTC)
|
|
|
|
|
* version.in: Bump version to 7.6.50.20130312-cvs.
|
|
|
|
|
|
2013-03-12 18:50:39 +00:00
|
|
|
|
2013-03-12 Keith Seitz <keiths@redhat.com>
|
|
|
|
|
|
|
|
|
|
* mi/mi-cmds.h (mi_execute_command): Make "cmd" const.
|
|
|
|
|
* mi/mi-interp.c (mi_interpreter_exec): Make "command" const.
|
|
|
|
|
Remove temporary copy of input string.
|
|
|
|
|
(mi_execute_command_wrapper): Make "cmd" const.
|
|
|
|
|
* mi/mi-main.c (mi_execute_command): Make "string_ptr" const.
|
|
|
|
|
* mi/mi-parse.c (mi_parse_argv): Make "args" const.
|
|
|
|
|
Use const strings.
|
|
|
|
|
(mi_parse): Make "cmd" const.
|
|
|
|
|
Use const strings.
|
|
|
|
|
* mi/mi-parse.h (mi_parse): Make "cmd" const.
|
|
|
|
|
|
2013-03-12 17:39:45 +00:00
|
|
|
|
2013-03-12 Keith Seitz <keiths@redhat.com>
|
|
|
|
|
|
|
|
|
|
* ada-lang.c (ada_read_renaming_var_value): Pass const
|
|
|
|
|
pointer to expression string to parse_exp_1.
|
|
|
|
|
(create_excep_cond_exprs): Likewise.
|
|
|
|
|
* ax-gdb.c (agent_eval_command_one): Likewise.
|
|
|
|
|
(maint_agent_printf_command): Likewise.
|
|
|
|
|
Constify much of the string handling/parsing.
|
|
|
|
|
* breakpoint.c (set_breakpoint_condition): Pass const
|
|
|
|
|
pointer to expression string to parse_exp_1.
|
|
|
|
|
(update_watchpoint): Likewise.
|
|
|
|
|
(parse_cmd_to_aexpr): Constify string handling.
|
|
|
|
|
Pass const pointer to parse_exp_1.
|
|
|
|
|
(init_breakpoint_sal): Pass const pointer to parse_exp_1.
|
|
|
|
|
(find_condition_and_thread): Likewise.
|
|
|
|
|
Make TOK const.
|
|
|
|
|
(watch_command_1): Make "arg" const.
|
|
|
|
|
Constify string handling.
|
|
|
|
|
Copy the expression string instead of changing the input
|
|
|
|
|
string.
|
|
|
|
|
(update_breakpoint_location): Pass const pointer to
|
|
|
|
|
parse_exp_1.
|
|
|
|
|
* eval.c (parse_and_eval_address): Make "exp" const.
|
|
|
|
|
(parse_to_comma_and_eval): Make "expp" const.
|
|
|
|
|
(parse_and_eval): Make "exp" const.
|
|
|
|
|
* expression.h (parse_expression): Make argument const.
|
|
|
|
|
(parse_exp_1): Make first argument const.
|
|
|
|
|
* findcmd.c (parse_find_args): Treat "args" as const.
|
|
|
|
|
* linespec.c (parse_linespec): Pass const pointer to
|
|
|
|
|
linespec_expression_to_pc.
|
|
|
|
|
(linespec_expression_to_pc): Make "exp_ptr" const.
|
|
|
|
|
* parse.c (parse_exp_1): Make "stringptr" const.
|
|
|
|
|
Make a copy of the expression to pass to parse_exp_in_context until
|
|
|
|
|
this whole interface can be constified.
|
|
|
|
|
(parse_expression): Make "string" const.
|
|
|
|
|
* printcmd.c (ui_printf): Treat "arg" as const.
|
|
|
|
|
Handle const strings.
|
|
|
|
|
* tracepoint.c (validate_actionline): Pass const pointer to
|
|
|
|
|
all calls to parse_exp_1.
|
|
|
|
|
(encode_actions_1): Likewise.
|
|
|
|
|
* value.h (parse_to_comma_and_eval): Make argument const.
|
|
|
|
|
(parse_and_eval_address): Likewise.
|
|
|
|
|
(parse_and_eval): Likewise.
|
|
|
|
|
* varobj.c (varobj_create): Pass const pointer to parse_exp_1.
|
|
|
|
|
(varobj_set_value): Likewise.
|
|
|
|
|
* cli/cli-cmds.c (disassemble_command): Treat "arg" as const and
|
|
|
|
|
constify string handling.
|
|
|
|
|
Pass const pointers to parse_and_eval_address and
|
|
|
|
|
parse_to_comman_and_eval.
|
|
|
|
|
* cli/cli-utils.c (skip_to_space): Rename to ...
|
|
|
|
|
(skip_to_space_const): ... this. Handle const strings.
|
|
|
|
|
* cli/cli-utils.h (skip_to_space): Turn into macro which invokes
|
|
|
|
|
skip_to_space_const.
|
|
|
|
|
(skip_to_space_const): Declare.
|
|
|
|
|
* common/format.c (parse_format_string): Make "arg" const.
|
|
|
|
|
Handle const strings.
|
|
|
|
|
* common/format.h (parse_format_string): Make "arg" const.
|
|
|
|
|
* gdbserver/ax.c (ax_printf): Make "format" const.
|
|
|
|
|
* python/python.c (gdbpy_parse_and_eval): Do not make a copy
|
|
|
|
|
of the expression string.
|
|
|
|
|
|
2013-03-12 15:44:06 +00:00
|
|
|
|
2013-03-12 Hui Zhu <hui@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* dwarf2loc.c (dwarf2_compile_expr_to_ax): Update error message.
|
|
|
|
|
|
2013-03-12 14:44:56 +00:00
|
|
|
|
2013-03-12 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
Hui Zhu <hui@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* dwarf2loc.c (access_memory): Change nbits to nbytes in gdb_assert.
|
|
|
|
|
(dwarf2_compile_expr_to_ax): Call access_memory in DW_OP_deref and
|
|
|
|
|
DW_OP_deref_size.
|
|
|
|
|
|
Allow 'thread' to be used as a variable name in expressions.
GDB treats the identifiers 'if', 'thread', and 'task' unconditionally
as expression delimiters in Ada mode, which is correct for 'if' and 'task',
but wrong for 'thread' in cases such as
print thread
Borrowing from c-exp.y, we observe that 'thread' must be followed by
numerals, whereas identifiers never are and treat them as delimiters
only in that case.
In the process, the current also refactors and incidentally fixes the
code for rewinding the input to before the delimiting tokens. For
example, the code
watch expr if i > 2
fails because the input is only rewound to just before the 'i',
leaving the 'if' as part of the expression (and thus making the
rest look like trailing junk rather than a conditional clause).
gdb/ChangeLog:
* ada-lex.l (rules): Only recognize 'thread' as a
delimiter when followed by numerals, as for c-exp.y.
Use new rewind_to_char function to rewind the input for
expression-delimiting tokens.
(rewind_to_char): New function.
gdb/testsuite/ChangeLog:
* gdb.ada/expr_delims.exp: New file.
* gdb.ada/expr_delims/foo.adb: New file.
* gdb.ada/expr_delims/pck.ads: New file.
* gdb.ada/expr_delims/pck.adb: New file.
2013-03-12 09:03:11 +00:00
|
|
|
|
2013-03-12 Paul Hilfinger <hilfingr@adacore.com>
|
|
|
|
|
|
2013-05-06 18:03:33 +00:00
|
|
|
|
* ada-lex.l (rules): Only recognize 'thread' as a
|
|
|
|
|
delimiter when followed by numerals, as for c-exp.y.
|
|
|
|
|
Use new rewind_to_char function to rewind the input for
|
|
|
|
|
expression-delimiting tokens.
|
|
|
|
|
(rewind_to_char): New function.
|
Allow 'thread' to be used as a variable name in expressions.
GDB treats the identifiers 'if', 'thread', and 'task' unconditionally
as expression delimiters in Ada mode, which is correct for 'if' and 'task',
but wrong for 'thread' in cases such as
print thread
Borrowing from c-exp.y, we observe that 'thread' must be followed by
numerals, whereas identifiers never are and treat them as delimiters
only in that case.
In the process, the current also refactors and incidentally fixes the
code for rewinding the input to before the delimiting tokens. For
example, the code
watch expr if i > 2
fails because the input is only rewound to just before the 'i',
leaving the 'if' as part of the expression (and thus making the
rest look like trailing junk rather than a conditional clause).
gdb/ChangeLog:
* ada-lex.l (rules): Only recognize 'thread' as a
delimiter when followed by numerals, as for c-exp.y.
Use new rewind_to_char function to rewind the input for
expression-delimiting tokens.
(rewind_to_char): New function.
gdb/testsuite/ChangeLog:
* gdb.ada/expr_delims.exp: New file.
* gdb.ada/expr_delims/foo.adb: New file.
* gdb.ada/expr_delims/pck.ads: New file.
* gdb.ada/expr_delims/pck.adb: New file.
2013-03-12 09:03:11 +00:00
|
|
|
|
|
2013-03-11 18:49:37 +00:00
|
|
|
|
2013-03-11 Pedro Alves <palves@redhat.com>
|
|
|
|
|
Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
* configure.ac (check dynamic export flag): Link python test with
|
|
|
|
|
$PYTHON_LIBS.
|
|
|
|
|
|
2013-03-11 18:24:59 +00:00
|
|
|
|
2013-03-11 Doug Evans <dje@google.com>
|
|
|
|
|
Keith Seitz <keiths@redhat.com>
|
|
|
|
|
|
|
|
|
|
* linespec.c (find_linespec_symbols): Call find_function_symbols
|
|
|
|
|
first, and then call lookup_prefix_sym/find_method.
|
|
|
|
|
|
Avoid invalid pointer to pointer conversions.
Casts between 'char **' <-> 'unsigned char **' and 'char **' <-> const
char **' are actually invalid:
http://gcc.gnu.org/ml/gcc-help/2013-03/msg00118.html
In a nutshell, char (and variants) can alias anything, but pointers to
chars get no special treatment (cf. C99/N1256, 6.5/7).
Turns out older gcc's actually warn/complain on these constructs,
though newer one's don't:
http://sourceware.org/ml/gdb-patches/2013-03/msg00429.html
http://sourceware.org/ml/gdb-patches/2013-03/msg00430.html
This patch fixes the cases I added last week. It also fixes one other
preexisting case in charset.c, though it seems even older gccs don't
complain of char * <-> const char * aliasing.
Tested on x86_64 Fedora 17.
gdb/
2013-03-11 Pedro Alves <palves@redhat.com>
* charset.c (convert_between_encodings): Don't cast between
different pointer to pointer types. Instead, make the 'inp' local
be of the type iconv expects.
(wchar_iterate): Don't cast between different pointer to pointer
types. Instead, use new pointer local of the type iconv expects.
* target.c (target_read_stralloc, target_fileio_read_stralloc):
Add new local of type char pointer, and use it to get a
char/string view of the byte buffer, instead of casting between
pointer to pointer types.
2013-03-11 12:22:20 +00:00
|
|
|
|
2013-03-11 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* charset.c (convert_between_encodings): Don't cast between
|
|
|
|
|
different pointer to pointer types. Instead, make the 'inp' local
|
|
|
|
|
be of the type iconv expects.
|
|
|
|
|
(wchar_iterate): Don't cast between different pointer to pointer
|
|
|
|
|
types. Instead, use new pointer local of the type iconv expects.
|
|
|
|
|
* target.c (target_read_stralloc, target_fileio_read_stralloc):
|
|
|
|
|
Add new local of type char pointer, and use it to get a
|
|
|
|
|
char/string view of the byte buffer, instead of casting between
|
|
|
|
|
pointer to pointer types.
|
|
|
|
|
|
2013-03-11 12:20:52 +00:00
|
|
|
|
2013-03-11 Hafiz Abid Qadeer <abidh@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* remote.c (remote_set_trace_buffer_size): Move != operator
|
|
|
|
|
to the start of next line to fix an ARI warning.
|
|
|
|
|
|
2013-03-11 08:55:36 +00:00
|
|
|
|
2013-03-11 Markus Metzger <markus.t.metzger@intel.com>
|
|
|
|
|
|
|
|
|
|
* NEWS: Add record changes.
|
|
|
|
|
|
2013-03-11 08:53:17 +00:00
|
|
|
|
2013-03-11 Markus Metzger <markus.t.metzger@intel.com>
|
|
|
|
|
|
|
|
|
|
* record-btrace.c (btrace_insn_history): Omit the pc prefix in
|
|
|
|
|
the instruction history disassembly.
|
|
|
|
|
* disasm.c (dump_insns): Omit the pc prefix, if requested.
|
|
|
|
|
* disasm.h (DISASSEMBLY_OMIT_PC): New.
|
|
|
|
|
|
2013-03-11 08:51:58 +00:00
|
|
|
|
2013-03-11 Markus Metzger <markus.t.metzger@intel.com>
|
|
|
|
|
|
|
|
|
|
* Makefile.in (SFILES): Add record-btrace.c
|
|
|
|
|
(COMMON_OBS): Add record-btrace.o
|
|
|
|
|
* record-btrace.c: New.
|
|
|
|
|
* objfiles.c: Include btrace.h.
|
|
|
|
|
(free_objfile): call btrace_free_objfile.
|
|
|
|
|
|
2013-03-11 08:50:05 +00:00
|
|
|
|
2013-03-11 Markus Metzger <markus.t.metzger@intel.com>
|
|
|
|
|
|
|
|
|
|
* target.c (target_call_history, target_call_history_from,
|
|
|
|
|
target_call_history_range): New.
|
|
|
|
|
* target.h (target_ops) <to_call_history, to_call_history_from,
|
|
|
|
|
to_call_history_range>: New fields.
|
|
|
|
|
(target_call_history, target_call_history_from,
|
|
|
|
|
target_call_history_range): New declaration.
|
|
|
|
|
* record.c (get_call_history_modifiers, cmd_record_call_history,
|
|
|
|
|
record_call_history_size): New.
|
|
|
|
|
(_initialize_record): Add the "record function-call-history" command.
|
|
|
|
|
Add "set/show record function-call-history-size" commands.
|
|
|
|
|
* record.h (record_print_flag): New.
|
|
|
|
|
|
2013-03-11 08:48:38 +00:00
|
|
|
|
2013-03-11 Markus Metzger <markus.t.metzger@intel.com>
|
|
|
|
|
|
|
|
|
|
* target.h (target_ops) <to_insn_history, to_insn_history_from,
|
|
|
|
|
to_insn_history_range>: New fields.
|
|
|
|
|
(target_insn_history): New.
|
|
|
|
|
(target_insn_history_from): New.
|
|
|
|
|
(target_insn_history_range): New.
|
|
|
|
|
* target.c (target_insn_history): New.
|
|
|
|
|
(target_insn_history_from): New.
|
|
|
|
|
(target_insn_history_range): New.
|
|
|
|
|
* record.c: Include cli/cli-utils.h, disasm.h, ctype.h.
|
|
|
|
|
(record_insn_history_size): New.
|
|
|
|
|
(get_insn_number): New.
|
|
|
|
|
(get_context_size): New.
|
|
|
|
|
(no_chunk): New.
|
|
|
|
|
(get_insn_history_modifiers): New.
|
|
|
|
|
(cmd_record_insn_history): New.
|
|
|
|
|
(_initialize_record): Add "set/show record instruction-history-size"
|
|
|
|
|
command. Add "record instruction-history" command.
|
|
|
|
|
|
2013-03-11 08:47:10 +00:00
|
|
|
|
2013-03-11 Markus Metzger <markus.t.metzger@intel.com>
|
|
|
|
|
|
|
|
|
|
* record.h (record_disconnect): New.
|
|
|
|
|
(record_detach): New.
|
|
|
|
|
(record_mourn_inferior): New.
|
|
|
|
|
(record_kill): New.
|
|
|
|
|
* record-full.c (record_disconnect, record_detach,
|
|
|
|
|
record_mourn_inferior, record_kill): Move to...
|
|
|
|
|
* record.c: ...here.
|
|
|
|
|
(DEBUG): New.
|
|
|
|
|
(record_stop): New.
|
|
|
|
|
(record_unpush): New.
|
|
|
|
|
(cmd_record_stop): Call record_stop. Replace unpush_target
|
|
|
|
|
call with record_unpush call.
|
|
|
|
|
(record_disconnect, record_detach): Assert that the target
|
|
|
|
|
is of record stratum. Call record_unpush, record_stop, and
|
|
|
|
|
DEBUG.
|
|
|
|
|
(record_mourn_inferior, record_kill): Assert that the target
|
|
|
|
|
is of record stratum. Call record_unpush and DEBUG.
|
|
|
|
|
|
2013-03-11 08:45:54 +00:00
|
|
|
|
2013-03-11 Markus Metzger <markus.t.metzger@intel.com>
|
|
|
|
|
|
|
|
|
|
* record-full.h, record-full.c (record_memory_query): Rename
|
|
|
|
|
to ...
|
|
|
|
|
(record_full_memory_query): ...this. Update all users.
|
|
|
|
|
(record_arch_list_add_reg): Rename to ...
|
|
|
|
|
(record_full_arch_list_add_reg): ...this. Update all users.
|
|
|
|
|
(record_arch_list_add_mem): Rename to ...
|
|
|
|
|
(record_full_arch_list_add_mem): ...this. Update all users.
|
|
|
|
|
(record_arch_list_add_end): Rename to ...
|
|
|
|
|
(record_full_arch_list_add_end): ...this. Update all users.
|
|
|
|
|
(record_gdb_operation_disable_set): Rename to ...
|
|
|
|
|
(record_full_gdb_operation_disable_set): ...this.
|
|
|
|
|
Update all users.
|
|
|
|
|
|
2013-03-11 08:44:14 +00:00
|
|
|
|
2013-03-11 Markus Metzger <markus.t.metzger@intel.com>
|
|
|
|
|
|
|
|
|
|
* record-full.c (DEFAULT_RECORD_INSN_MAX_NUM): Renamed to ...
|
|
|
|
|
(DEFAULT_RECORD_FULL_INSN_MAX_NUM): ... this. Updated all users.
|
|
|
|
|
(RECORD_IS_REPLAY): Renamed to ...
|
|
|
|
|
(RECORD_FULL_IS_REPLAY): ... this. Updated all users.
|
|
|
|
|
(RECORD_FILE_MAGIC): Renamed to ...
|
|
|
|
|
(RECORD_FULL_FILE_MAGIC): ... this. Updated all users.
|
|
|
|
|
(record_mem_entry): Renamed to ...
|
|
|
|
|
(record_full_mem_entry): ... this. Updated all users.
|
|
|
|
|
(record_reg_entry): Renamed to ...
|
|
|
|
|
(record_full_reg_entry): ... this. Updated all users.
|
|
|
|
|
(record_end_entry): Renamed to ...
|
|
|
|
|
(record_full_end_entry): ... this. Updated all users.
|
|
|
|
|
(record_type) <record_end, record_reg, record_mem>: Renamed
|
|
|
|
|
to ...
|
|
|
|
|
(record_full_type) <record_full_end, record_full_reg,
|
|
|
|
|
record_full_mem>: ... this. Updated all users.
|
|
|
|
|
(record_entry): Renamed to ...
|
|
|
|
|
(record_full_entry): ... this. Updated all users.
|
|
|
|
|
(record_core_buf_entry): Renamed to ...
|
|
|
|
|
(record_full_core_buf_entry): ... this. Updated all users.
|
|
|
|
|
(record_core_regbuf): Renamed to ...
|
|
|
|
|
(record_full_core_regbuf): ... this. Updated all users.
|
|
|
|
|
(record_core_start): Renamed to ...
|
|
|
|
|
(record_full_core_start): ... this. Updated all users.
|
|
|
|
|
(record_core_end): Renamed to ...
|
|
|
|
|
(record_full_core_end): ... this. Updated all users.
|
|
|
|
|
(record_core_buf_list): Renamed to ...
|
|
|
|
|
(record_full_core_buf_list): ... this. Updated all users.
|
|
|
|
|
(record_first): Renamed to ...
|
|
|
|
|
(record_full_first): ... this. Updated all users.
|
|
|
|
|
(record_list): Renamed to ...
|
|
|
|
|
(record_full_list): ... this. Updated all users.
|
|
|
|
|
(record_arch_list_head): Renamed to ...
|
|
|
|
|
(record_full_arch_list_head): ... this. Updated all users.
|
|
|
|
|
(record_arch_list_tail): Renamed to ...
|
|
|
|
|
(record_full_arch_list_tail): ... this. Updated all users.
|
|
|
|
|
(record_stop_at_limit): Renamed to ...
|
|
|
|
|
(record_full_stop_at_limit): ... this. Updated all users.
|
|
|
|
|
(record_insn_max_num): Renamed to ...
|
|
|
|
|
(record_full_insn_max_num): ... this. Updated all users.
|
|
|
|
|
(record_insn_num): Renamed to ...
|
|
|
|
|
(record_full_insn_num): ... this. Updated all users.
|
|
|
|
|
(record_insn_count): Renamed to ...
|
|
|
|
|
(record_full_insn_count): ... this. Updated all users.
|
|
|
|
|
(record_ops): Renamed to ...
|
|
|
|
|
(record_full_ops): ... this. Updated all users.
|
|
|
|
|
(record_core_ops): Renamed to ...
|
|
|
|
|
(record_full_core_ops): ... this. Updated all users.
|
|
|
|
|
(set_record_cmdlist): Renamed to ...
|
|
|
|
|
(set_record_full_cmdlist): ... this. Updated all users.
|
|
|
|
|
(show_record_cmdlist): Renamed to ...
|
|
|
|
|
(show_record_full_cmdlist): ... this. Updated all users.
|
|
|
|
|
(record_cmdlist): Renamed to ...
|
|
|
|
|
(record_full_cmdlist): ... this. Updated all users.
|
|
|
|
|
(record_beneath_to_resume_ops): Renamed to ...
|
|
|
|
|
(record_full_beneath_to_resume_ops): ... this. Updated all users.
|
|
|
|
|
(record_beneath_to_resume): Renamed to ...
|
|
|
|
|
(record_full_beneath_to_resume): ... this. Updated all users.
|
|
|
|
|
(record_beneath_to_wait_ops): Renamed to ...
|
|
|
|
|
(record_full_beneath_to_wait_ops): ... this. Updated all users.
|
|
|
|
|
(record_beneath_to_wait): Renamed to ...
|
|
|
|
|
(record_full_beneath_to_wait): ... this. Updated all users.
|
|
|
|
|
(record_beneath_to_store_registers_ops): Renamed to ...
|
|
|
|
|
(record_full_beneath_to_store_registers_ops): ... this.
|
|
|
|
|
Updated all users.
|
|
|
|
|
(record_beneath_to_store_registers): Renamed to ...
|
|
|
|
|
(record_full_beneath_to_store_registers): ... this.
|
|
|
|
|
Updated all users.
|
|
|
|
|
(record_beneath_to_xfer_partial_ops): Renamed to ...
|
|
|
|
|
(record_full_beneath_to_xfer_partial_ops): ... this.
|
|
|
|
|
Updated all users.
|
|
|
|
|
(record_beneath_to_xfer_partial): Renamed to ...
|
|
|
|
|
(record_full_beneath_to_xfer_partial): ... this.
|
|
|
|
|
Updated all users.
|
|
|
|
|
(record_beneath_to_insert_breakpoint): Renamed to ...
|
|
|
|
|
(record_full_beneath_to_insert_breakpoint): ... this.
|
|
|
|
|
Updated all users.
|
|
|
|
|
(record_beneath_to_stopped_by_watchpoint): Renamed to ...
|
|
|
|
|
(record_full_beneath_to_stopped_by_watchpoint): ... this.
|
|
|
|
|
Updated all users.
|
|
|
|
|
(record_beneath_to_stopped_data_address): Renamed to ...
|
|
|
|
|
(record_full_beneath_to_stopped_data_address): ... this.
|
|
|
|
|
Updated all users.
|
|
|
|
|
(record_beneath_to_async): Renamed to ...
|
|
|
|
|
(record_full_beneath_to_async): ... this. Updated all users.
|
|
|
|
|
(record_goto_insn): Renamed to ...
|
|
|
|
|
(record_full_goto_insn): ... this. Updated all users.
|
|
|
|
|
(record_save): Renamed to ...
|
|
|
|
|
(record_full_save): ... this. Updated all users.
|
|
|
|
|
(record_reg_alloc): Renamed to ...
|
|
|
|
|
(record_full_reg_alloc): ... this. Updated all users.
|
|
|
|
|
(record_reg_release): Renamed to ...
|
|
|
|
|
(record_full_reg_release): ... this. Updated all users.
|
|
|
|
|
(record_mem_alloc): Renamed to ...
|
|
|
|
|
(record_full_mem_alloc): ... this. Updated all users.
|
|
|
|
|
(record_mem_release): Renamed to ...
|
|
|
|
|
(record_full_mem_release): ... this. Updated all users.
|
|
|
|
|
(record_end_alloc): Renamed to ...
|
|
|
|
|
(record_full_end_alloc): ... this. Updated all users.
|
|
|
|
|
(record_end_release): Renamed to ...
|
|
|
|
|
(record_full_end_release): ... this. Updated all users.
|
|
|
|
|
(record_entry_release): Renamed to ...
|
|
|
|
|
(record_full_entry_release): ... this. Updated all users.
|
|
|
|
|
(record_list_release): Renamed to ...
|
|
|
|
|
(record_full_list_release): ... this. Updated all users.
|
|
|
|
|
(record_list_release_following): Renamed to ...
|
|
|
|
|
(record_full_list_release_following): ... this.
|
|
|
|
|
Updated all users.
|
|
|
|
|
(record_list_release_first): Renamed to ...
|
|
|
|
|
(record_full_list_release_first): ... this. Updated all users.
|
|
|
|
|
(record_arch_list_add): Renamed to ...
|
|
|
|
|
(record_full_arch_list_add): ... this. Updated all users.
|
|
|
|
|
(record_get_loc): Renamed to ...
|
|
|
|
|
(record_full_get_loc): ... this. Updated all users.
|
|
|
|
|
(record_check_insn_num): Renamed to ...
|
|
|
|
|
(record_full_check_insn_num): ... this. Updated all users.
|
|
|
|
|
(record_arch_list_cleanups): Renamed to ...
|
|
|
|
|
(record_full_arch_list_cleanups): ... this. Updated all users.
|
|
|
|
|
(record_message): Renamed to ...
|
|
|
|
|
(record_full_message): ... this. Updated all users.
|
|
|
|
|
(record_message_wrapper): Renamed to ...
|
|
|
|
|
(record_full_message_wrapper): ... this. Updated all users.
|
|
|
|
|
(record_message_wrapper_safe): Renamed to ...
|
|
|
|
|
(record_full_message_wrapper_safe): ... this. Updated all users.
|
|
|
|
|
(record_gdb_operation_disable): Renamed to ...
|
|
|
|
|
(record_full_gdb_operation_disable): ... this. Updated all users.
|
|
|
|
|
(record_hw_watchpoint): Renamed to ...
|
|
|
|
|
(record_full_hw_watchpoint): ... this. Updated all users.
|
|
|
|
|
(record_exec_insn): Renamed to ...
|
|
|
|
|
(record_full_exec_insn): ... this. Updated all users.
|
|
|
|
|
(record_restore): Renamed to ...
|
|
|
|
|
(record_full_restore): ... this. Updated all users.
|
|
|
|
|
(record_async_inferior_event_token): Renamed to ...
|
|
|
|
|
(record_full_async_inferior_event_token): ... this.
|
|
|
|
|
Updated all users.
|
|
|
|
|
(record_async_inferior_event_handler): Renamed to ...
|
|
|
|
|
(record_full_async_inferior_event_handler): ... this.
|
|
|
|
|
Updated all users.
|
|
|
|
|
(record_core_open_1): Renamed to ...
|
|
|
|
|
(record_full_core_open_1): ... this. Updated all users.
|
|
|
|
|
(record_open_1): Renamed to ...
|
|
|
|
|
(record_full_open_1): ... this. Updated all users.
|
|
|
|
|
(record_open): Renamed to ...
|
|
|
|
|
(record_full_open): ... this. Updated all users.
|
|
|
|
|
(record_close): Renamed to ...
|
|
|
|
|
(record_full_close): ... this. Updated all users.
|
|
|
|
|
(record_resume_step): Renamed to ...
|
|
|
|
|
(record_full_resume_step): ... this. Updated all users.
|
|
|
|
|
(record_resumed): Renamed to ...
|
|
|
|
|
(record_full_resumed): ... this. Updated all users.
|
|
|
|
|
(record_execution_dir): Renamed to ...
|
|
|
|
|
(record_full_execution_dir): ... this. Updated all users.
|
|
|
|
|
(record_resume): Renamed to ...
|
|
|
|
|
(record_full_resume): ... this. Updated all users.
|
|
|
|
|
(record_get_sig): Renamed to ...
|
|
|
|
|
(record_full_get_sig): ... this. Updated all users.
|
|
|
|
|
(record_sig_handler): Renamed to ...
|
|
|
|
|
(record_full_sig_handler): ... this. Updated all users.
|
|
|
|
|
(record_wait_cleanups): Renamed to ...
|
|
|
|
|
(record_full_wait_cleanups): ... this. Updated all users.
|
|
|
|
|
(record_wait_1): Renamed to ...
|
|
|
|
|
(record_full_wait_1): ... this. Updated all users.
|
|
|
|
|
(record_wait): Renamed to ...
|
|
|
|
|
(record_full_wait): ... this. Updated all users.
|
|
|
|
|
(record_stopped_by_watchpoint): Renamed to ...
|
|
|
|
|
(record_full_stopped_by_watchpoint): ... this. Updated all users.
|
|
|
|
|
(record_disconnect): Renamed to ...
|
|
|
|
|
(record_full_disconnect): ... this. Updated all users.
|
|
|
|
|
(record_detach): Renamed to ...
|
|
|
|
|
(record_full_detach): ... this. Updated all users.
|
|
|
|
|
(record_mourn_inferior): Renamed to ...
|
|
|
|
|
(record_full_mourn_inferior): ... this. Updated all users.
|
|
|
|
|
(record_kill): Renamed to ...
|
|
|
|
|
(record_full_kill): ... this. Updated all users.
|
|
|
|
|
(record_stopped_data_address): Renamed to ...
|
|
|
|
|
(record_full_stopped_data_address): ... this. Updated all users.
|
|
|
|
|
(record_registers_change): Renamed to ...
|
|
|
|
|
(record_full_registers_change): ... this. Updated all users.
|
|
|
|
|
(record_store_registers): Renamed to ...
|
|
|
|
|
(record_full_store_registers): ... this. Updated all users.
|
|
|
|
|
(record_xfer_partial): Renamed to ...
|
|
|
|
|
(record_full_xfer_partial): ... this. Updated all users.
|
|
|
|
|
(record_breakpoint): Renamed to ...
|
|
|
|
|
(record_full_breakpoint): ... this. Updated all users.
|
|
|
|
|
(record_breakpoint_p): Renamed to ...
|
|
|
|
|
(record_full_breakpoint_p): ... this. Updated all users.
|
|
|
|
|
(record_breakpoints): Renamed to ...
|
|
|
|
|
(record_full_breakpoints): ... this. Updated all users.
|
|
|
|
|
(record_sync_record_breakpoints): Renamed to ...
|
|
|
|
|
(record_full_sync_record_breakpoints): ... this.
|
|
|
|
|
Updated all users.
|
|
|
|
|
(record_init_record_breakpoints): Renamed to ...
|
|
|
|
|
(record_full_init_record_breakpoints): ... this.
|
|
|
|
|
Updated all users.
|
|
|
|
|
(record_insert_breakpoint): Renamed to ...
|
|
|
|
|
(record_full_insert_breakpoint): ... this. Updated all users.
|
|
|
|
|
(record_remove_breakpoint): Renamed to ...
|
|
|
|
|
(record_full_remove_breakpoint): ... this. Updated all users.
|
|
|
|
|
(record_can_execute_reverse): Renamed to ...
|
|
|
|
|
(record_full_can_execute_reverse): ... this. Updated all users.
|
|
|
|
|
(record_get_bookmark): Renamed to ...
|
|
|
|
|
(record_full_get_bookmark): ... this. Updated all users.
|
|
|
|
|
(record_goto_bookmark): Renamed to ...
|
|
|
|
|
(record_full_goto_bookmark): ... this. Updated all users.
|
|
|
|
|
(record_async): Renamed to ...
|
|
|
|
|
(record_full_async): ... this. Updated all users.
|
|
|
|
|
(record_can_async_p): Renamed to ...
|
|
|
|
|
(record_full_can_async_p): ... this. Updated all users.
|
|
|
|
|
(record_is_async_p): Renamed to ...
|
|
|
|
|
(record_full_is_async_p): ... this. Updated all users.
|
|
|
|
|
(record_execution_direction): Renamed to ...
|
|
|
|
|
(record_full_execution_direction): ... this. Updated all users.
|
|
|
|
|
(record_info): Renamed to ...
|
|
|
|
|
(record_full_info): ... this. Updated all users.
|
|
|
|
|
(record_delete): Renamed to ...
|
|
|
|
|
(record_full_delete): ... this. Updated all users.
|
|
|
|
|
(record_is_replaying): Renamed to ...
|
|
|
|
|
(record_full_is_replaying): ... this. Updated all users.
|
|
|
|
|
(record_goto_entry): Renamed to ...
|
|
|
|
|
(record_full_goto_entry): ... this. Updated all users.
|
|
|
|
|
(record_goto_begin): Renamed to ...
|
|
|
|
|
(record_full_goto_begin): ... this. Updated all users.
|
|
|
|
|
(record_goto_end): Renamed to ...
|
|
|
|
|
(record_full_goto_end): ... this. Updated all users.
|
|
|
|
|
(record_goto): Renamed to ...
|
|
|
|
|
(record_full_goto): ... this. Updated all users.
|
|
|
|
|
(init_record_ops): Renamed to ...
|
|
|
|
|
(init_record_full_ops): ... this. Updated all users.
|
|
|
|
|
(record_core_resume): Renamed to ...
|
|
|
|
|
(record_full_core_resume): ... this. Updated all users.
|
|
|
|
|
(record_core_kill): Renamed to ...
|
|
|
|
|
(record_full_core_kill): ... this. Updated all users.
|
|
|
|
|
(record_core_fetch_registers): Renamed to ...
|
|
|
|
|
(record_full_core_fetch_registers): ... this. Updated all users.
|
|
|
|
|
(record_core_prepare_to_store): Renamed to ...
|
|
|
|
|
(record_full_core_prepare_to_store): ... this. Updated all users.
|
|
|
|
|
(record_core_store_registers): Renamed to ...
|
|
|
|
|
(record_full_core_store_registers): ... this. Updated all users.
|
|
|
|
|
(record_core_xfer_partial): Renamed to ...
|
|
|
|
|
(record_full_core_xfer_partial): ... this. Updated all users.
|
|
|
|
|
(record_core_insert_breakpoint): Renamed to ...
|
|
|
|
|
(record_full_core_insert_breakpoint): ... this. Updated all users.
|
|
|
|
|
(record_core_remove_breakpoint): Renamed to ...
|
|
|
|
|
(record_full_core_remove_breakpoint): ... this. Updated all users.
|
|
|
|
|
(record_core_has_execution): Renamed to ...
|
|
|
|
|
(record_full_core_has_execution): ... this. Updated all users.
|
|
|
|
|
(init_record_core_ops): Renamed to ...
|
|
|
|
|
(init_record_full_core_ops): ... this. Updated all users.
|
|
|
|
|
(cmd_record_restore): Renamed to ...
|
|
|
|
|
(cmd_record_full_restore): ... this. Updated all users.
|
|
|
|
|
(record_save_cleanups): Renamed to ...
|
|
|
|
|
(record_full_save_cleanups): ... this. Updated all users.
|
|
|
|
|
(cmd_record_start): Renamed to ...
|
|
|
|
|
(cmd_record_full_start): ... this. Updated all users.
|
|
|
|
|
(set_record_insn_max_num): Renamed to ...
|
|
|
|
|
(set_record_full_insn_max_num): ... this. Updated all users.
|
|
|
|
|
(set_record_command): Renamed to ...
|
|
|
|
|
(set_record_full_command): ... this. Updated all users.
|
|
|
|
|
(show_record_command): Renamed to ...
|
|
|
|
|
(show_record_full_command): ... this. Updated all users.
|
|
|
|
|
(_initialize_record): Renamed to ...
|
|
|
|
|
(_initialize_record_full): ... this. Updated all users.
|
|
|
|
|
|
Split record.h into record.h and record-full.h.
Split record.c into record.c and record-full.c.
The split leaves the command part in record.c and moves the target part into
record-full.c.
gdb/
* record.h: Split into this and ...
* record-full.h: ... this.
* record.c: Split into this and ...
* record-full.c: ... this.
* target.h (target_ops): Add new fields to_info_record,
to_save_record, to_delete_record, to_record_is_replaying,
to_goto_record_begin, to_goto_record_end, to_goto_record.
(target_info_record): New.
(target_save_record): New.
(target_supports_delete_record): New.
(target_delete_record): New.
(target_record_is_replaying): New.
(target_goto_record_begin): New.
(target_goto_record_end): New.
(target_goto_record): New.
* target.c (target_info_record): New.
(target_save_record): New.
(target_supports_delete_record): New.
(target_delete_record): New.
(target_record_is_replaying): New.
(target_goto_record_begin): New.
(target_goto_record_end): New.
(target_goto_record): New.
* record.h: Declare struct cmd_list_element.
(record_cmdlist): New declaration.
(set_record_cmdlist): New declaration.
(show_record_cmdlist): New declaration.
(info_record_cmdlist): New declaration.
(cmd_record_goto): New declaration.
* record.c: Remove unnecessary includes.
Include inferior.h.
(cmd_record_goto): Remove declaration.
(record_cmdlist): Now extern. Initialize.
(set_record_cmdlist): Now extern. Initialize.
(show_record_cmdlist): Now extern. Initialize.
(info_record_cmdlist): Now extern. Initialize.
(find_record_target): New.
(require_record_target): New.
(cmd_record_start): Update.
(cmd_record_delete): Remove target-specific code.
Call target_delete_record.
(cmd_record_stop): Unpush any record target.
(set_record_insn_max_num): Move to record-full.c
(set_record_command): Add comment.
(show_record_command): Add comment.
(info_record_command): Update comment.
Remove target-specific code.
Call the record target's to_info_record.
(cmd_record_start): New.
(cmd_record_goto): Now extern.
Remove target-specific code.
Call target_goto_begin, target_goto_end, or target_goto.
(_initialize_record): Move record target ops initialization to
record-full.c.
Change "record" command help text.
Move "record restore", "record set", and "record show" commands to
record-full.c.
* Makefile.in (SFILES): Add record-full.c.
(HFILES_NO_SRCDIR): Add record-full.h.
(COMMON_OBS): Add record-full.o.
* amd64-linux-tdep.c: Include record-full.h instead of record.h.
* arm-tdep.c: Include record-full.h.
* i386-linux-tdep.c: Include record-full.h instead of record.h.
* i386-tdep.c: Include record-full.h.
* infrun.c: Include record-full.h.
* linux-record.c: Include record-full.h.
* moxie-tdep.c: Include record-full.h.
* record-full.c: Include record-full.h.
Change module comment.
(set_record_full_cmdlist): New.
(show_record_full_cmdlist): New.
(record_full_cmdlist): New.
(record_goto_insn): New declaration.
(record_save): New declaration.
(record_check_insn_num): Change query string.
(record_info): New.
(record_delete): New.
(record_is_replaying): New.
(record_goto_entry): New.
(record_goto_begin): New.
(record_goto_end): New.
(record_goto): New.
(init_record_ops): Update.
(init_record_core_ops): Update.
(cmd_record_save): Rename to record_save. Remove target and arg checks.
(cmd_record_start): New.
(set_record_insn_max_num): Moved from record.c
(set_record_full_command): New.
(show_record_full_command): New.
(_initialize_record_full): New.
2013-03-11 08:42:55 +00:00
|
|
|
|
2013-03-11 Markus Metzger <markus.t.metzger@intel.com>
|
|
|
|
|
|
|
|
|
|
* record.h: Split into this and ...
|
|
|
|
|
* record-full.h: ... this.
|
|
|
|
|
* record.c: Split into this and ...
|
|
|
|
|
* record-full.c: ... this.
|
|
|
|
|
* target.h (target_ops): Add new fields to_info_record,
|
|
|
|
|
to_save_record, to_delete_record, to_record_is_replaying,
|
|
|
|
|
to_goto_record_begin, to_goto_record_end, to_goto_record.
|
|
|
|
|
(target_info_record): New.
|
|
|
|
|
(target_save_record): New.
|
|
|
|
|
(target_supports_delete_record): New.
|
|
|
|
|
(target_delete_record): New.
|
|
|
|
|
(target_record_is_replaying): New.
|
|
|
|
|
(target_goto_record_begin): New.
|
|
|
|
|
(target_goto_record_end): New.
|
|
|
|
|
(target_goto_record): New.
|
|
|
|
|
* target.c (target_info_record): New.
|
|
|
|
|
(target_save_record): New.
|
|
|
|
|
(target_supports_delete_record): New.
|
|
|
|
|
(target_delete_record): New.
|
|
|
|
|
(target_record_is_replaying): New.
|
|
|
|
|
(target_goto_record_begin): New.
|
|
|
|
|
(target_goto_record_end): New.
|
|
|
|
|
(target_goto_record): New.
|
|
|
|
|
* record.h: Declare struct cmd_list_element.
|
|
|
|
|
(record_cmdlist): New declaration.
|
|
|
|
|
(set_record_cmdlist): New declaration.
|
|
|
|
|
(show_record_cmdlist): New declaration.
|
|
|
|
|
(info_record_cmdlist): New declaration.
|
|
|
|
|
(cmd_record_goto): New declaration.
|
|
|
|
|
* record.c: Remove unnecessary includes.
|
|
|
|
|
Include inferior.h.
|
|
|
|
|
(cmd_record_goto): Remove declaration.
|
|
|
|
|
(record_cmdlist): Now extern. Initialize.
|
|
|
|
|
(set_record_cmdlist): Now extern. Initialize.
|
|
|
|
|
(show_record_cmdlist): Now extern. Initialize.
|
|
|
|
|
(info_record_cmdlist): Now extern. Initialize.
|
|
|
|
|
(find_record_target): New.
|
|
|
|
|
(require_record_target): New.
|
|
|
|
|
(cmd_record_start): Update.
|
|
|
|
|
(cmd_record_delete): Remove target-specific code.
|
|
|
|
|
Call target_delete_record.
|
|
|
|
|
(cmd_record_stop): Unpush any record target.
|
|
|
|
|
(set_record_insn_max_num): Move to record-full.c
|
|
|
|
|
(set_record_command): Add comment.
|
|
|
|
|
(show_record_command): Add comment.
|
|
|
|
|
(info_record_command): Update comment.
|
|
|
|
|
Remove target-specific code.
|
|
|
|
|
Call the record target's to_info_record.
|
|
|
|
|
(cmd_record_start): New.
|
|
|
|
|
(cmd_record_goto): Now extern.
|
|
|
|
|
Remove target-specific code.
|
|
|
|
|
Call target_goto_begin, target_goto_end, or target_goto.
|
|
|
|
|
(_initialize_record): Move record target ops initialization to
|
|
|
|
|
record-full.c.
|
|
|
|
|
Change "record" command help text.
|
|
|
|
|
Move "record restore", "record set", and "record show" commands to
|
|
|
|
|
record-full.c.
|
|
|
|
|
* Makefile.in (SFILES): Add record-full.c.
|
|
|
|
|
(HFILES_NO_SRCDIR): Add record-full.h.
|
|
|
|
|
(COMMON_OBS): Add record-full.o.
|
|
|
|
|
* amd64-linux-tdep.c: Include record-full.h instead of record.h.
|
|
|
|
|
* arm-tdep.c: Include record-full.h.
|
|
|
|
|
* i386-linux-tdep.c: Include record-full.h instead of record.h.
|
|
|
|
|
* i386-tdep.c: Include record-full.h.
|
|
|
|
|
* infrun.c: Include record-full.h.
|
|
|
|
|
* linux-record.c: Include record-full.h.
|
|
|
|
|
* moxie-tdep.c: Include record-full.h.
|
|
|
|
|
* record-full.c: Include record-full.h.
|
|
|
|
|
Change module comment.
|
|
|
|
|
(set_record_full_cmdlist): New.
|
|
|
|
|
(show_record_full_cmdlist): New.
|
|
|
|
|
(record_full_cmdlist): New.
|
|
|
|
|
(record_goto_insn): New declaration.
|
|
|
|
|
(record_save): New declaration.
|
|
|
|
|
(record_check_insn_num): Change query string.
|
|
|
|
|
(record_info): New.
|
|
|
|
|
(record_delete): New.
|
|
|
|
|
(record_is_replaying): New.
|
|
|
|
|
(record_goto_entry): New.
|
|
|
|
|
(record_goto_begin): New.
|
|
|
|
|
(record_goto_end): New.
|
|
|
|
|
(record_goto): New.
|
|
|
|
|
(init_record_ops): Update.
|
|
|
|
|
(init_record_core_ops): Update.
|
|
|
|
|
(cmd_record_save): Rename to record_save. Remove target and arg checks.
|
|
|
|
|
(cmd_record_start): New.
|
|
|
|
|
(set_record_insn_max_num): Moved from record.c
|
|
|
|
|
(set_record_full_command): New.
|
|
|
|
|
(show_record_full_command): New.
|
|
|
|
|
(_initialize_record_full): New.
|
|
|
|
|
|
2013-03-11 08:39:38 +00:00
|
|
|
|
2013-03-11 Markus Metzger <markus.t.metzger@intel.com>
|
|
|
|
|
|
|
|
|
|
* target.h (add_deprecated_target_alias): New.
|
|
|
|
|
* target.c (add_deprecated_target_alias): New.
|
|
|
|
|
|
2013-03-11 08:38:27 +00:00
|
|
|
|
2013-03-11 Markus Metzger <markus.t.metzger@intel.com>
|
|
|
|
|
|
|
|
|
|
* common/linux-btrace.c: Include sys/ptrace, sys/types, sys/wait.h,
|
|
|
|
|
and signal.h.
|
|
|
|
|
(linux_supports_btrace): Add kernel and
|
|
|
|
|
cpuid check.
|
|
|
|
|
(kernel_supports_btrace): New function.
|
|
|
|
|
(cpu_supports_btrace): New function.
|
|
|
|
|
(intel_supports_btrace): New function.
|
|
|
|
|
|
2013-03-11 08:35:11 +00:00
|
|
|
|
2013-03-11 Markus Metzger <markus.t.metzger@intel.com>
|
|
|
|
|
|
|
|
|
|
* target.h (enum target_object): Add TARGET_OBJECT_BTRACE.
|
|
|
|
|
* remote.c: Include btrace.h.
|
|
|
|
|
(struct btrace_target_info): New struct.
|
|
|
|
|
(remote_supports_btrace): New function.
|
|
|
|
|
(send_Qbtrace): New function.
|
|
|
|
|
(remote_enable_btrace): New function.
|
|
|
|
|
(remote_disable_btrace): New function.
|
|
|
|
|
(remote_teardown_btrace): New function.
|
|
|
|
|
(remote_read_btrace): New function.
|
|
|
|
|
(init_remote_ops): Add btrace ops.
|
|
|
|
|
(enum <unnamed>): Add btrace packets.
|
|
|
|
|
(struct protocol_feature remote_protocol_features[]): Add btrace packets.
|
|
|
|
|
(_initialize_remote): Add packet configuration for branch tracing.
|
|
|
|
|
|
2013-03-11 08:28:58 +00:00
|
|
|
|
2013-03-11 Markus Metzger <markus.t.metzger@intel.com>
|
|
|
|
|
|
|
|
|
|
* features/btrace.dtd: New file.
|
|
|
|
|
* Makefile.in (XMLFILES): Add btrace.dtd.
|
|
|
|
|
* btrace.h (parse_xml_btrace): New declaration.
|
|
|
|
|
* btrace.c: Include xml-support.h.
|
|
|
|
|
(parse_xml_btrace): New function.
|
|
|
|
|
(parse_xml_btrace_block): New function.
|
|
|
|
|
(block_attributes): New struct.
|
|
|
|
|
(btrace_attributes): New struct.
|
|
|
|
|
(btrace_children): New struct.
|
|
|
|
|
(btrace_elements): New struct.
|
|
|
|
|
|
2013-03-11 08:25:58 +00:00
|
|
|
|
2013-03-11 Markus Metzger <markus.t.metzger@intel.com>
|
|
|
|
|
|
|
|
|
|
* amd64-linux-nat.c: Include btrace.h and linux-btrace.h.
|
|
|
|
|
(amd64_linux_enable_btrace): New.
|
|
|
|
|
(amd64_linux_disable_btrace): New.
|
|
|
|
|
(amd64_linux_teardown_btrace): New.
|
|
|
|
|
(_initialize_amd64_linux_nat): Initialize btrace ops.
|
|
|
|
|
* i386-linux.nat.c: Include btrace.h and linux-btrace.h.
|
|
|
|
|
(i386_linux_enable_btrace): New.
|
|
|
|
|
(i386_linux_disable_btrace): New.
|
|
|
|
|
(i386_linux_teardown_btrace): New.
|
|
|
|
|
(_initialize_i386_linux_nat): Initialize btrace ops.
|
|
|
|
|
* config/i386/linux.mh: Add linux-btrace.o.
|
|
|
|
|
* config/i386/linux64.mh: Add linux-btrace.o.
|
|
|
|
|
|
2013-03-11 08:24:07 +00:00
|
|
|
|
2013-03-11 Markus Metzger <markus.t.metzger@intel.com>
|
|
|
|
|
|
|
|
|
|
* common/linux_btrace.h: New file.
|
|
|
|
|
* common/linux_btrace.c: New file.
|
|
|
|
|
* Makefile.in (SFILES): Add btrace.c.
|
|
|
|
|
(HFILES_NO_SRCDIR): Add common/linux-btrace.h.
|
|
|
|
|
(COMMON_OBS): Add btrace.o.
|
|
|
|
|
(linux-btrace.o): New rule.
|
|
|
|
|
|
2013-03-11 08:19:33 +00:00
|
|
|
|
2013-03-11 Markus Metzger <markus.t.metzger@intel.com>
|
2013-03-11 08:17:08 +00:00
|
|
|
|
|
|
|
|
|
* target.h: Include btrace.h.
|
|
|
|
|
(struct target_ops) <to_supports_btrace, to_enable_btrace,
|
|
|
|
|
to_disable_btrace, to_teardown_btrace, to_read_btrace>: New.
|
|
|
|
|
* target.c (target_supports_btrace): New function.
|
|
|
|
|
(target_enable_btrace): New function.
|
|
|
|
|
(target_disable_btrace): New function.
|
|
|
|
|
(target_teardown_btrace): New function.
|
|
|
|
|
(target_read_btrace): New function.
|
|
|
|
|
* btrace.h: New file.
|
|
|
|
|
* btrace.c: New file.
|
|
|
|
|
* Makefile.in: Add btrace.c.
|
|
|
|
|
* gdbthread.h: Include btrace.h.
|
|
|
|
|
(struct thread_info): Add btrace field.
|
|
|
|
|
* thread.c: Include btrace.h.
|
|
|
|
|
(clear_thread_inferior_resources): Call target_teardown_btrace.
|
|
|
|
|
* common/btrace-common.h: New file.
|
|
|
|
|
|
2013-03-10 18:07:57 +00:00
|
|
|
|
2013-03-10 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
* common/linux-ptrace.c (linux_ptrace_test_ret_to_nx): Call also kill
|
|
|
|
|
for CHILD, ignore PTRACE_KILL errors, move the inner block variable
|
|
|
|
|
kill_status to outer block.
|
|
|
|
|
|
2013-03-10 18:06:26 +00:00
|
|
|
|
2013-03-10 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
Fix entry-values if the callee called a noreturn function.
|
|
|
|
|
* dwarf2-frame-tailcall.c (dwarf2_tailcall_sniffer_first): Use
|
|
|
|
|
get_frame_address_in_block. Add new comment.
|
|
|
|
|
|
2013-03-10 18:04:00 +00:00
|
|
|
|
2013-03-10 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
Fix entry-values in C++ across CUs.
|
|
|
|
|
* dwarf2loc.c (call_site_to_target_addr) <FIELD_LOC_KIND_PHYSNAME>: Use
|
|
|
|
|
lookup_minimal_symbol. Add a comment.
|
|
|
|
|
* dwarf2read.c
|
|
|
|
|
(read_call_site_scope) <is_ref_attr> <die_is_declaration>: Prefer
|
|
|
|
|
DW_AT_linkage_name.
|
|
|
|
|
|
2013-03-08 15:35:06 +00:00
|
|
|
|
2013-03-08 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* tracepoint.c (_initialize_tracepoint): Indent the code.
|
|
|
|
|
|
2013-03-08 15:22:44 +00:00
|
|
|
|
2013-03-08 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* findcmd.c (put_bits): Change type of parameter to 'gdb_byte *'.
|
|
|
|
|
(parse_find_args, find_command): Change type of pattern buffer
|
|
|
|
|
locals to 'gdb_byte *'.
|
|
|
|
|
|
2013-03-09 12:05:20 +00:00
|
|
|
|
2013-03-08 Stan Shebs <stan@codesourcery.com>
|
2013-03-08 15:06:39 +00:00
|
|
|
|
Hafiz Abid Qadeer <abidh@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* NEWS: Mention set and show trace-buffer-size commands.
|
|
|
|
|
Mention new packet.
|
|
|
|
|
* target.h (struct target_ops): New method
|
|
|
|
|
to_set_trace_buffer_size.
|
|
|
|
|
(target_set_trace_buffer_size): New macro.
|
|
|
|
|
* target.c (update_current_target): Set up new method.
|
|
|
|
|
* tracepoint.c (trace_buffer_size): New global.
|
|
|
|
|
(start_tracing): Send it to the target.
|
|
|
|
|
(set_trace_buffer_size): New function.
|
|
|
|
|
(_initialize_tracepoint): Add new setshow for trace-buffer-size.
|
|
|
|
|
* remote.c (remote_set_trace_buffer_size): New function.
|
|
|
|
|
(_initialize_remote): Use it.
|
|
|
|
|
(QTBuffer:size) New remote command.
|
|
|
|
|
(PACKET_QTBuffer_size): New enum.
|
|
|
|
|
(remote_protocol_features): Add an entry for
|
|
|
|
|
PACKET_QTBuffer_size.
|
|
|
|
|
|
2013-03-08 14:42:23 +00:00
|
|
|
|
2013-03-08 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* remote-m32r-sdi.c (m32r_load): Call skip_spaces on correct
|
|
|
|
|
variable.
|
|
|
|
|
|
2013-03-07 23:53:12 +00:00
|
|
|
|
2013-03-07 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* target.c (target_read_stralloc, target_fileio_read_alloc):
|
|
|
|
|
*Cast pointer to 'gdb_byte *' in target call.
|
|
|
|
|
|
2013-03-07 23:36:01 +00:00
|
|
|
|
2013-03-07 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* corefile.c (read_memory_string): Cast pointer to gdb_byte* in
|
|
|
|
|
call.
|
|
|
|
|
|
2013-03-07 21:57:30 +00:00
|
|
|
|
2013-03-07 Keith Seitz <keiths@redhat.com>
|
|
|
|
|
|
|
|
|
|
* breakpoint.c (catch_syscall_split_args): Use skip_spaces.
|
|
|
|
|
(trace_pass_command): Likewise.
|
|
|
|
|
* cli/cli-cmds.c: Include cli/cli-utils.h.
|
|
|
|
|
(source_command): Use skip-spaces.
|
|
|
|
|
(disassemble_command): Likewise.
|
|
|
|
|
* findcmd.c: Include cli/cli-utils.h.
|
|
|
|
|
(parse_find_args): Use skip_spaces.
|
|
|
|
|
* go32-nat.c: Include cli/cli-utils.h.
|
|
|
|
|
(go32_sldt): Use skip_spaces.
|
|
|
|
|
(go32_sgdt): Likewise.
|
|
|
|
|
(go32_sidt): Likewise.
|
|
|
|
|
(go32_pde): Likewise.
|
|
|
|
|
(go32_pte): Likewise.
|
|
|
|
|
(go32_pte_for_address): Likewise.
|
|
|
|
|
* infcmd.c: Include cli/cli-utils.h.
|
|
|
|
|
(registers_info): Use skip_spaces.
|
|
|
|
|
* linux-tdep.c (read_mapping): Use skip_spaces_const.
|
|
|
|
|
(linux_info_proc): Likewise.
|
|
|
|
|
* linux-thread-db.c: Include cli/cli-utils.h.
|
|
|
|
|
(info_auto_load_libthread_db): Use skip_spaces_const.
|
|
|
|
|
* m32r-rom.c: Include cli/cli-utils.h.
|
|
|
|
|
(m32r_upload_command): Use skip_spaces.
|
|
|
|
|
* maint.c: Include cli/cli-utils.h.
|
|
|
|
|
(maintenance_translate_address): Use skip_spaces.
|
|
|
|
|
* mi/mi-parse.c: Include cli/cli-utils.h.
|
|
|
|
|
(mi_parse_argv): Use skip_spaces.
|
|
|
|
|
(mi_parse): Likewise.
|
|
|
|
|
* minsyms.c: Include cli/cli-utils.h.
|
|
|
|
|
(msymbol_hash_iw): Use skip_spaces_const.
|
|
|
|
|
* objc-lang.c: Include cli/cli-utils.h.
|
|
|
|
|
(parse_selector): Use skip_spaces.
|
|
|
|
|
(parse_method): Likewise.
|
|
|
|
|
* python/python.c: Include cli/cli-utils.h.
|
|
|
|
|
(python_interactive_command)[HAVE_PYTHON]: Use skip_spaces.
|
|
|
|
|
(python_command)[HAVE_PYTHON]: Likewise.
|
|
|
|
|
(python_interactive_command)[!HAVE_PYTHON]: Likewise.
|
|
|
|
|
* remote-m32r-sdi.c: Include cli/cli-utils.h.
|
|
|
|
|
(m32r_load): Use skip_spaces.
|
|
|
|
|
* serial.c: Include cli/cli-utils.h.
|
|
|
|
|
(serial_open): Use skip_spaces_const.
|
|
|
|
|
* stack.c: Include cli/cli-utils.h.
|
|
|
|
|
(parse_frame_specification_1): Use skip_spaces_const.
|
|
|
|
|
* symfile.c: Include cli/cli-utils.h.
|
|
|
|
|
(set_ext_lang_command): Use skip_spaces.
|
|
|
|
|
* symtab.c: Include cli/cli-utils.h.
|
|
|
|
|
(rbreak_command): Use skip_spaces.
|
|
|
|
|
* thread.c (thread_name_command): Use skip_spaces.
|
|
|
|
|
* tracepoint.c (validate_actionline): Use skip_spaces.
|
|
|
|
|
(encode_actions_1): Likewise.
|
|
|
|
|
(trace_find_range_command): Likewise.
|
|
|
|
|
(trace_find_outside_command): Likewise.
|
|
|
|
|
(trace_dump_actions): Likewise.
|
|
|
|
|
|
2013-03-07 19:24:32 +00:00
|
|
|
|
2013-03-07 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* c-lang.c (parse_one_string): Cast argument to gdb_byte *.
|
|
|
|
|
* expprint.c (print_subexp_standard): Likewise.
|
|
|
|
|
* utils.c (host_char_to_target): Likewise.
|
|
|
|
|
* valprint.c (generic_emit_char, generic_printstr): Likewise.
|
|
|
|
|
* varobj.c (value_get_print_value): Change type of local to char*.
|
|
|
|
|
Cast it gdb_byte * in call to language printer.
|
|
|
|
|
|
2013-03-07 19:10:46 +00:00
|
|
|
|
2013-03-07 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* charset.c (struct wchar_iterator) <input>: Change type to 'const
|
|
|
|
|
gdb_byte *'.
|
|
|
|
|
(make_wchar_iterator): Remove cast to char*.
|
|
|
|
|
(wchar_iterate): Change type of local.
|
|
|
|
|
|
2013-03-07 18:59:54 +00:00
|
|
|
|
2013-03-07 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* regcache.c (regcache_xmalloc_1): Call XCALLOC with signed char
|
|
|
|
|
for 'regcache->register_status'.
|
|
|
|
|
|
2013-03-07 18:50:53 +00:00
|
|
|
|
2013-03-07 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
2013-03-07 18:53:40 +00:00
|
|
|
|
* breakpoint.c (breakpoint_xfer_memory): Change type of local to
|
2013-03-07 18:50:53 +00:00
|
|
|
|
int.
|
|
|
|
|
|
2013-03-07 18:45:51 +00:00
|
|
|
|
2013-03-07 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* stap-probe.c (handle_stap_probe): Add cast to char*.
|
|
|
|
|
|
2013-03-07 18:29:05 +00:00
|
|
|
|
2013-03-07 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* linux-record.c (record_linux_system_call) <gdb_sys_msgrcv,
|
|
|
|
|
RECORD_MSGRCV>: Pass a signed variable to
|
|
|
|
|
regcache_raw_read_signed, instead of an unsigned one.
|
|
|
|
|
|
2013-03-07 17:52:58 +00:00
|
|
|
|
2013-03-07 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* remote-notif.c (notif_debug): Change type to int.
|
|
|
|
|
* remote-notif.h (notif_debug): Likewise.
|
|
|
|
|
|
2013-03-07 17:36:25 +00:00
|
|
|
|
2013-03-07 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* ser-tcp.c (tcp_retry_limit): Change type to unsigned int.
|
|
|
|
|
|
2013-03-07 17:29:32 +00:00
|
|
|
|
2013-03-07 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* remote.c (hex2bin, bin2hex): Move extern declarations to ...
|
|
|
|
|
* remote.h (hex2bin, bin2hex): ... here.
|
|
|
|
|
* tracepoint.c (hex2bin, bin2hex): Remove extern declarations.
|
|
|
|
|
|
2013-03-07 12:26:05 +00:00
|
|
|
|
2013-03-07 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
|
|
|
|
|
|
* utils.c (initialize_utils): Improve doc strings of "set/show
|
|
|
|
|
width", "set/show height", and "set/show pagination".
|
|
|
|
|
|
2013-03-07 00:48:25 +00:00
|
|
|
|
2013-03-06 Keith Seitz <keiths@redhat.com>
|
|
|
|
|
|
|
|
|
|
* ax-gdb.c (gen_printf): Make FORMAT const.
|
|
|
|
|
* ax-gdb.h (gen_printf): Likewise.
|
|
|
|
|
* ax-general.c (ax_string): Make STR const.
|
|
|
|
|
* ax.h (ax_string): Likewise.
|
|
|
|
|
|
2013-03-06 21:20:02 +00:00
|
|
|
|
2013-03-06 Doug Evans <dje@google.com>
|
|
|
|
|
|
|
|
|
|
* elfread.c (elf_symfile_read): Move debugging printf to more
|
|
|
|
|
logical location.
|
|
|
|
|
|
2013-03-06 19:51:18 +00:00
|
|
|
|
2013-03-06 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* python/py-utils.c (target_string_to_unicode): Delete function.
|
|
|
|
|
* python/python-internal.h (target_string_to_unicode): Delete
|
|
|
|
|
declaration.
|
|
|
|
|
|
2013-03-06 11:05:55 +00:00
|
|
|
|
2013-03-06 Pierre Muller <muller@sourceware.org>
|
|
|
|
|
|
|
|
|
|
* linespec.c (get_current_search_block): ARI fix, use (void)
|
|
|
|
|
for empty parameter list.
|
|
|
|
|
|
2013-03-05 21:15:34 +00:00
|
|
|
|
2013-03-05 Doug Evans <dje@google.com>
|
|
|
|
|
|
|
|
|
|
* ada-lang.c (ada_lookup_symbol_list_worker): New function, contents
|
|
|
|
|
of old ada_lookup_symbol_list. In !full_search case, don't
|
|
|
|
|
search superblocks.
|
|
|
|
|
(ada_lookup_symbol_list): Delete arg full_search, all callers
|
|
|
|
|
updated. Call ada_lookup_symbol_list_worker.
|
|
|
|
|
(ada_iterate_over_symbols): Call ada_lookup_symbol_list_worker.
|
|
|
|
|
* ada-lang.h (ada_lookup_symbol_list): Update.
|
|
|
|
|
* language.h (language_defn): Update comment for
|
|
|
|
|
la_iterate_over_symbols.
|
|
|
|
|
* linespec.c (iterate_over_file_blocks): New function.
|
|
|
|
|
(iterate_over_all_matching_symtabs): Call it.
|
|
|
|
|
(lookup_prefix_sym): Ditto.
|
|
|
|
|
(get_current_search_block): New function.
|
|
|
|
|
(get_search_block): Delete.
|
|
|
|
|
(find_label_symbols): Call get_current_search_block.
|
|
|
|
|
(add_matching_symbols_to_info): Call iterate_over_file_blocks.
|
|
|
|
|
* symtab.c (iterate_over_symbols): Don't search superblocks.
|
|
|
|
|
|
2013-03-05 14:23:23 +00:00
|
|
|
|
2013-03-05 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* cli/cli-decode.c (add_setshow_zuinteger_unlimited_cmd): Change
|
|
|
|
|
parameter VAR's type from "unsigned int" to "int".
|
|
|
|
|
* command.h (var_zuinteger_unlimited): Update its comments.
|
|
|
|
|
(add_setshow_zuinteger_unlimited_cmd): Update the declaration.
|
|
|
|
|
|
2013-03-05 13:39:00 +00:00
|
|
|
|
2013-03-05 Corinna Vinschen <vinschen@redhat.de>
|
|
|
|
|
|
|
|
|
|
* NEWS: Mention new target x86_64-*-cygwin*.
|
|
|
|
|
|
2013-03-05 13:37:11 +00:00
|
|
|
|
2013-03-05 Corinna Vinschen <vinschen@redhat.de>
|
|
|
|
|
|
|
|
|
|
* configure.host: Add x86_64-*-cygwin* as host.
|
|
|
|
|
* configure.tgt: Add x86_64-*-cygwin* as target.
|
|
|
|
|
* config/i386/cygwin64.mh: New file.
|
|
|
|
|
|
2013-03-04 19:38:02 +00:00
|
|
|
|
2013-03-04 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
* linespec.c (decode_line_2): Fix duplicate request off by two message.
|
|
|
|
|
|
2013-03-04 19:30:28 +00:00
|
|
|
|
2013-03-04 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
* linespec.c (struct linespec_canonical_name): New.
|
|
|
|
|
(struct linespec_state): Change canonical_names type to it.
|
|
|
|
|
(add_sal_to_sals): Change variable canonical_name to canonical. Change
|
|
|
|
|
xrealloc element size. Initialize the different CANONICAL fields.
|
|
|
|
|
(canonical_to_fullform): New.
|
|
|
|
|
(filter_results): Use it. Add variables canonical, fullform and
|
|
|
|
|
cleanup.
|
|
|
|
|
(struct decode_line_2_item, decode_line_2_compare_items): New.
|
|
|
|
|
(decode_line_2): Remove variables iter and item_names, add variables
|
|
|
|
|
items and items_count. Modify the code for these new variables.
|
|
|
|
|
|
2013-03-04 15:09:46 +00:00
|
|
|
|
2013-03-04 Corinna Vinschen <vinschen@redhat.com>
|
|
|
|
|
|
|
|
|
|
* coff-pe-read.c (read_pe_exported_syms): Don't return without
|
|
|
|
|
calling do_cleanup.
|
|
|
|
|
|
2013-03-04 13:52:46 +00:00
|
|
|
|
2013-03-04 Luis Machado <lgustavo@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* tracepoint.c (build_traceframe_info): Add code for byte order.
|
|
|
|
|
|
2013-03-02 18:26:30 +00:00
|
|
|
|
2013-03-02 Kevin Buettner <kevinb@redhat.com>
|
|
|
|
|
|
2013-03-02 18:34:13 +00:00
|
|
|
|
* v850-tdep.c: (v850e2_register_name): Revise system register
|
|
|
|
|
names to match current V850E2M architecture specifications.
|
|
|
|
|
Update register number enum comments too.
|
2013-03-02 18:26:30 +00:00
|
|
|
|
|
2013-03-02 01:34:40 +00:00
|
|
|
|
2013-03-01 Jiong Wang <jiwang@tilera.com>
|
|
|
|
|
Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* tilegx-tdep.c (tilegx_analyze_prologue): Limit bundle reading
|
|
|
|
|
to END_ADDR.
|
|
|
|
|
(tilegx_skip_prologue): Limit prologue analysis to section end.
|
|
|
|
|
|
2013-03-01 21:18:21 +00:00
|
|
|
|
2013-03-01 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
* dwarf2loc.c (call_site_find_chain_1): New variable save_callee_pc,
|
|
|
|
|
use it.
|
|
|
|
|
|
Use gdb_byte for bytes from the program being debugged.
gdb_byte should be used for bytes from the program being debugged. We
have many places using char or unsigned char instead all over the
existing ports, and more ends up added over time due to copy/paste as
new code is based on old code.
I've greped the tree for "char buf[", and fixed all I found.
Tested by building with --enable-targets=all.
2013-03-01 Pedro Alves <palves@redhat.com>
Use gdb_byte for bytes from the program being debugged.
* arm-tdep.c (arm_store_return_value, arm_get_longjmp_target):
Change type of local 'buf' to gdb_byte.
* avr-tdep.c (avr_frame_prev_register, avr_push_dummy_call): Likewise.
* bfin-tdep.c (bfin_push_dummy_call): Likewise.
* cris-tdep.c (cris_sigcontext_addr)
(cris_sigtramp_frame_unwind_cache): Likewise.
* frv-linux-tdep.c (frv_linux_pc_in_sigtramp)
(frv_linux_sigcontext_reg_addr, frv_linux_sigtramp_frame_cache):
Likewise.
* frv-tdep.c (frv_pseudo_register_write, frv_analyze_prologue): Likewise.
* hppa-hpux-tdep.c (hppa32_hpux_find_global_pointer)
(hppa32_hpux_search_dummy_call_sequence)
(hppa_hpux_supply_save_state): Likewise.
* hppa-linux-tdep.c (insns_match_pattern)
(hppa_linux_find_global_pointer): Likewise.
* hppa-tdep.c (hppa_in_function_epilogue_p)
(skip_prologue_hard_way, hppa_frame_cache): Likewise.
* i386-nto-tdep.c (i386nto_sigcontext_addr): Likewise.
* i386fbsd-tdep.c (i386fbsd_supply_uthread)
(i386fbsd_collect_uthread): Likewise.
* ia64-hpux-tdep.c (ia64_hpux_push_dummy_code): Likewise.
* ia64-linux-tdep.c (ia64_linux_sigcontext_register_address): Likewise.
* ia64-tdep.c (examine_prologue, ia64_frame_cache)
(ia64_frame_prev_register, ia64_sigtramp_frame_cache)
(ia64_sigtramp_frame_prev_register, ia64_access_reg)
(ia64_access_rse_reg, ia64_libunwind_frame_this_id)
(ia64_libunwind_frame_prev_register)
(ia64_libunwind_sigtramp_frame_this_id)
(ia64_find_global_pointer_from_dynamic_section)
(find_extant_func_descr, find_func_descr, ia64_dummy_id)
(ia64_unwind_pc): Likewise.
* iq2000-tdep.c (iq2000_store_return_value): Likewise.
* m68hc11-tdep.c (m68hc11_push_dummy_call)
(m68hc11_extract_return_value): Likewise.
* m68klinux-nat.c (fetch_register, store_register): Likewise.
* mep-tdep.c (mep_pseudo_cr32_read, mep_pseudo_cr32_write)
(mep_get_insn, mep_push_dummy_call): Likewise.
* mips-linux-tdep.c (mips_linux_get_longjmp_target)
(mips_linux_in_dynsym_stub): Likewise.
* mn10300-tdep.c (mep_pseudo_cr32_write): Likewise.
* ppc-linux-nat.c (fetch_register, store_register): Likewise.
* regcache.c (dump_endian_bytes): Change type of parameter 'buf'
to gdb_byte.
* remote-mips.c (mips_set_register): Likewise.
* remote-sim.c (gdbsim_fetch_register): Likewise.
* score-tdep.c (score7_fetch_inst): Change type of parameter
'memblock' and local 'buf' to gdb_byte.
(score7_malloc_and_get_memblock): Change return type to gdb_byte.
Change type of local 'buf' to gdb_byte. Adjust.
(score7_adjust_memblock_ptr): Change type of parameter 'memblock'
to gdb_byte**.
(score7_analyze_prologue): Change type of 'memblock' and
'memblock_ptr' locals to gdb_byte*.
* sh64-tdep.c (sh64_extract_return_value)
(sh64_store_return_value): Change type of local 'buf' to gdb_byte.
* solib-darwin.c (darwin_current_sos, darwin_read_exec_load_addr):
* solib-pa64.c (pa64_solib_create_inferior_hook)
(pa64_open_symbol_file_object): Remove local 'buf'.
* solib-som.c (som_solib_create_inferior_hook, link_map_start)
(som_open_symbol_file_object): Likewise.
* solib-spu.c (spu_current_sos): Likewise.
* spu-linux-nat.c (spu_fetch_inferior_registers): Likewise.
* spu-multiarch.c (parse_spufs_run, spu_fetch_registers)
(spu_store_registers): Likewise.
* target.c (debug_print_register): Likewise.
* tic6x-tdep.c (tic6x_get_longjmp_target): Likewise.
* xstormy16-tdep.c (xstormy16_store_return_value)
(xstormy16_push_dummy_call, xstormy16_resolve_jmp_table_entry)
(xstormy16_find_jmp_table_entry): Likewise.
2013-03-01 15:38:27 +00:00
|
|
|
|
2013-03-01 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
Use gdb_byte for bytes from the program being debugged.
|
|
|
|
|
|
|
|
|
|
* arm-tdep.c (arm_store_return_value, arm_get_longjmp_target):
|
|
|
|
|
Change type of local 'buf' to gdb_byte.
|
|
|
|
|
* avr-tdep.c (avr_frame_prev_register, avr_push_dummy_call): Likewise.
|
|
|
|
|
* bfin-tdep.c (bfin_push_dummy_call): Likewise.
|
|
|
|
|
* cris-tdep.c (cris_sigcontext_addr)
|
|
|
|
|
(cris_sigtramp_frame_unwind_cache): Likewise.
|
|
|
|
|
* frv-linux-tdep.c (frv_linux_pc_in_sigtramp)
|
|
|
|
|
(frv_linux_sigcontext_reg_addr, frv_linux_sigtramp_frame_cache):
|
|
|
|
|
Likewise.
|
|
|
|
|
* frv-tdep.c (frv_pseudo_register_write, frv_analyze_prologue): Likewise.
|
|
|
|
|
* hppa-hpux-tdep.c (hppa32_hpux_find_global_pointer)
|
|
|
|
|
(hppa32_hpux_search_dummy_call_sequence)
|
|
|
|
|
(hppa_hpux_supply_save_state): Likewise.
|
|
|
|
|
* hppa-linux-tdep.c (insns_match_pattern)
|
|
|
|
|
(hppa_linux_find_global_pointer): Likewise.
|
|
|
|
|
* hppa-tdep.c (hppa_in_function_epilogue_p)
|
|
|
|
|
(skip_prologue_hard_way, hppa_frame_cache): Likewise.
|
|
|
|
|
* i386-nto-tdep.c (i386nto_sigcontext_addr): Likewise.
|
|
|
|
|
* i386fbsd-tdep.c (i386fbsd_supply_uthread)
|
|
|
|
|
(i386fbsd_collect_uthread): Likewise.
|
|
|
|
|
* ia64-hpux-tdep.c (ia64_hpux_push_dummy_code): Likewise.
|
|
|
|
|
* ia64-linux-tdep.c (ia64_linux_sigcontext_register_address): Likewise.
|
|
|
|
|
* ia64-tdep.c (examine_prologue, ia64_frame_cache)
|
|
|
|
|
(ia64_frame_prev_register, ia64_sigtramp_frame_cache)
|
|
|
|
|
(ia64_sigtramp_frame_prev_register, ia64_access_reg)
|
|
|
|
|
(ia64_access_rse_reg, ia64_libunwind_frame_this_id)
|
|
|
|
|
(ia64_libunwind_frame_prev_register)
|
|
|
|
|
(ia64_libunwind_sigtramp_frame_this_id)
|
|
|
|
|
(ia64_find_global_pointer_from_dynamic_section)
|
|
|
|
|
(find_extant_func_descr, find_func_descr, ia64_dummy_id)
|
|
|
|
|
(ia64_unwind_pc): Likewise.
|
|
|
|
|
* iq2000-tdep.c (iq2000_store_return_value): Likewise.
|
|
|
|
|
* m68hc11-tdep.c (m68hc11_push_dummy_call)
|
|
|
|
|
(m68hc11_extract_return_value): Likewise.
|
|
|
|
|
* m68klinux-nat.c (fetch_register, store_register): Likewise.
|
|
|
|
|
* mep-tdep.c (mep_pseudo_cr32_read, mep_pseudo_cr32_write)
|
|
|
|
|
(mep_get_insn, mep_push_dummy_call): Likewise.
|
|
|
|
|
* mips-linux-tdep.c (mips_linux_get_longjmp_target)
|
|
|
|
|
(mips_linux_in_dynsym_stub): Likewise.
|
|
|
|
|
* mn10300-tdep.c (mep_pseudo_cr32_write): Likewise.
|
|
|
|
|
* ppc-linux-nat.c (fetch_register, store_register): Likewise.
|
|
|
|
|
* regcache.c (dump_endian_bytes): Change type of parameter 'buf'
|
|
|
|
|
to gdb_byte.
|
|
|
|
|
* remote-mips.c (mips_set_register): Likewise.
|
|
|
|
|
* remote-sim.c (gdbsim_fetch_register): Likewise.
|
|
|
|
|
* score-tdep.c (score7_fetch_inst): Change type of parameter
|
|
|
|
|
'memblock' and local 'buf' to gdb_byte.
|
|
|
|
|
(score7_malloc_and_get_memblock): Change return type to gdb_byte.
|
|
|
|
|
Change type of local 'buf' to gdb_byte. Adjust.
|
|
|
|
|
(score7_adjust_memblock_ptr): Change type of parameter 'memblock'
|
|
|
|
|
to gdb_byte**.
|
|
|
|
|
(score7_analyze_prologue): Change type of 'memblock' and
|
|
|
|
|
'memblock_ptr' locals to gdb_byte*.
|
|
|
|
|
* sh64-tdep.c (sh64_extract_return_value)
|
|
|
|
|
(sh64_store_return_value): Change type of local 'buf' to gdb_byte.
|
|
|
|
|
* solib-darwin.c (darwin_current_sos, darwin_read_exec_load_addr):
|
|
|
|
|
* solib-pa64.c (pa64_solib_create_inferior_hook)
|
|
|
|
|
(pa64_open_symbol_file_object): Remove local 'buf'.
|
|
|
|
|
* solib-som.c (som_solib_create_inferior_hook, link_map_start)
|
|
|
|
|
(som_open_symbol_file_object): Likewise.
|
|
|
|
|
* solib-spu.c (spu_current_sos): Likewise.
|
|
|
|
|
* spu-linux-nat.c (spu_fetch_inferior_registers): Likewise.
|
|
|
|
|
* spu-multiarch.c (parse_spufs_run, spu_fetch_registers)
|
|
|
|
|
(spu_store_registers): Likewise.
|
|
|
|
|
* target.c (debug_print_register): Likewise.
|
|
|
|
|
* tic6x-tdep.c (tic6x_get_longjmp_target): Likewise.
|
|
|
|
|
* xstormy16-tdep.c (xstormy16_store_return_value)
|
|
|
|
|
(xstormy16_push_dummy_call, xstormy16_resolve_jmp_table_entry)
|
|
|
|
|
(xstormy16_find_jmp_table_entry): Likewise.
|
|
|
|
|
|
2013-03-01 11:02:23 +00:00
|
|
|
|
2013-03-01 Jiong Wang <jiwang@tilera.com>
|
2013-03-01 10:45:28 +00:00
|
|
|
|
|
|
|
|
|
* tilegx-tdep.c (tilegx_get_longjmp_target): New function.
|
|
|
|
|
(tilegx_gdbarch_init): Install it.
|
|
|
|
|
|
2013-02-28 20:14:08 +00:00
|
|
|
|
2013-02-28 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* python/py-arch.c (archpy_disassemble): Use PyInt_Check and
|
|
|
|
|
PyLong_Check.
|
|
|
|
|
|
2013-02-28 20:01:10 +00:00
|
|
|
|
2013-02-28 Doug Evans <dje@google.com>
|
|
|
|
|
|
|
|
|
|
* python/py-finishbreakpoint.c (bpfinishpy_init): gcc -Wall lint.
|
|
|
|
|
* python/python.c (gdbpy_find_pc_line): Ditto.
|
|
|
|
|
|
2013-02-28 19:28:25 +00:00
|
|
|
|
2013-02-28 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* contrib/excheck.py: New file.
|
|
|
|
|
* contrib/exsummary.py: New file.
|
|
|
|
|
* contrib/gcc-with-excheck: New file.
|
|
|
|
|
|
2013-02-28 19:25:42 +00:00
|
|
|
|
2013-02-28 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* python/python.c (gdbpy_print_stack): Call begin_line and
|
|
|
|
|
fprintf_filtered inside TRY_CATCH.
|
|
|
|
|
|
2013-02-28 19:23:57 +00:00
|
|
|
|
2013-02-28 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* python/python.c (gdbpy_find_pc_line): Call find_pc_line
|
|
|
|
|
inside TRY_CATCH.
|
|
|
|
|
|
2013-02-28 19:21:44 +00:00
|
|
|
|
2013-02-28 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* py-finishbreakpoint.c (bpfinishpy_init): Reorganize to call
|
|
|
|
|
frame_object_to_frame_info inside TRY_CATCH.
|
|
|
|
|
|
2013-02-28 19:01:54 +00:00
|
|
|
|
2013-02-28 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* py-block.c (gdbpy_block_for_pc): Call block_for_pc inside
|
|
|
|
|
TRY_CATCH.
|
|
|
|
|
|
2013-02-28 19:00:31 +00:00
|
|
|
|
2013-02-28 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* objfiles.h (ALL_PSPACE_OBJFILES): Remove trailing backlash.
|
|
|
|
|
|
2013-02-27 19:42:26 +00:00
|
|
|
|
2013-02-27 Corinna Vinschen <vinschen@redhat.com>
|
|
|
|
|
|
|
|
|
|
* windows-nat.c: Throughout, fix format strings and casts of
|
|
|
|
|
printf-like functions to avoid type related warnings on all
|
|
|
|
|
platforms.
|
|
|
|
|
(handle_output_debug_string): Fetch context information address
|
|
|
|
|
from debug string using string_to_core_addr.
|
|
|
|
|
|
2013-02-27 14:58:18 +00:00
|
|
|
|
2013-02-27 Jiong Wang <jiwang@tilera.com>
|
|
|
|
|
|
|
|
|
|
* regformats/reg-tilegx.dat (name): Change abi name to "tilegx".
|
|
|
|
|
* regformats/reg-tilegx32.dat: New.
|
|
|
|
|
|
2013-02-27 14:49:15 +00:00
|
|
|
|
2013-02-27 Jiong Wang <jiwang@tilera.com>
|
|
|
|
|
|
|
|
|
|
* configure.tgt (tilegx-*-linux*): Enable gdbserver.
|
|
|
|
|
|
2013-02-27 14:47:13 +00:00
|
|
|
|
2013-02-27 Jiong Wang <jiwang@tilera.com>
|
|
|
|
|
|
|
|
|
|
* configure.tgt (tilegx-*-linux*): Replace whitespace with tab.
|
|
|
|
|
|
2013-02-27 01:39:26 +00:00
|
|
|
|
2013-02-27 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* tracepoint.c (tfile_trace_find): For tfind
|
2013-05-06 18:03:33 +00:00
|
|
|
|
pc/tp/range/outside, look for the next trace frame instead of
|
|
|
|
|
always starting from frame 0.
|
2013-02-27 01:39:26 +00:00
|
|
|
|
|
2013-02-26 22:12:47 +00:00
|
|
|
|
2013-02-26 Anthony Green <green@moxielogic.com>
|
|
|
|
|
|
|
|
|
|
* configure.tgt: Add support for moxie-*-rtems* target.
|
|
|
|
|
|
2013-02-25 17:32:06 +00:00
|
|
|
|
2013-02-25 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* common/linux-ptrace.c (linux_ptrace_test_ret_to_nx): Change
|
|
|
|
|
warning text.
|
|
|
|
|
|
2013-02-24 12:54:04 +00:00
|
|
|
|
2013-02-24 Maciej W. Rozycki <macro@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* mips-tdep.c (mips32_scan_prologue): Reset frame_offset to zero
|
|
|
|
|
if $fp is used as the virtual frame pointer.
|
|
|
|
|
|
2013-02-22 23:24:24 +00:00
|
|
|
|
2013-02-23 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* elfread.c (elf_symtab_read): Do not use udata.p here to find
|
|
|
|
|
symbol size.
|
|
|
|
|
* ppc64-tdep.c (ppc64_elf_make_msymbol_special): New function.
|
|
|
|
|
* ppc64-tdep.h (ppc64_elf_make_msymbol_special): Declare.
|
|
|
|
|
* ppc-linux-tdep.c (ppc_linux_init_abi): Set up to use the above.
|
|
|
|
|
* ppcfbsd-tdep.c (ppcfbsd_init_abi): Likewise.
|
|
|
|
|
|
2013-02-22 16:40:56 +00:00
|
|
|
|
2013-02-22 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
Code cleanup.
|
|
|
|
|
* elfread.c (build_id_bfd_get): Make the return type const.
|
|
|
|
|
(build_id_verify): Make the check parameter const.
|
|
|
|
|
(build_id_to_debug_filename): Make the build_id parameter and variable
|
|
|
|
|
data const.
|
|
|
|
|
(find_separate_debug_file_by_buildid): Make the variable build_id const.
|
|
|
|
|
|
bfd/
* elf-bfd.h (struct elf_build_id): Extracted from..
(struct elf_build_id_info): ..here. Delete.
(struct output_elf_obj_tdata): New, extracted from..
(struct elf_obj_tdata): ..here. Reorganize for better packing.
Add "o" field.
(elf_program_header_size): Reference tdata->o.
(elf_seg_map, elf_next_file_pos, elf_eh_frame_hdr, elf_linker,
elf_stack_flags, elf_shstrtab, elf_strtab_sec, elf_shstrtab_sec,
elf_section_syms, elf_num_section_syms, elf_flags_init): Likewise.
* elf.c (bfd_elf_allocate_object): Allocate output_elf_obj_tdata
when opening bfd in any mode that might write.
(_bfd_elf_write_object_contents): Use build_id field in
output_elf_obj_tdata.
(_bfd_elf_close_and_cleanup): Tweak elf_shstrtab test.
(elfobj_grok_gnu_build_id): Adjust for elf_tdata changes.
gdb/
* elfread.c (build_id_bfd_get): Adjust for elf_tdata changes.
ld/
* emultempl/elf32.em (write_build_id, setup_build_id): Adjust
for elf_tdata changes.
2013-02-21 04:35:22 +00:00
|
|
|
|
2013-02-21 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* elfread.c (build_id_bfd_get): Adjust for elf_tdata changes.
|
|
|
|
|
|
2013-02-21 01:46:57 +00:00
|
|
|
|
2013-02-20 Siva Chandra Reddy <sivachandra@google.com>
|
|
|
|
|
|
|
|
|
|
Add a new method 'disassemble' to gdb.Architecture class.
|
|
|
|
|
* python/py-arch.c (archpy_disassmble): Implementation of the
|
|
|
|
|
new method gdb.Architecture.disassemble.
|
|
|
|
|
(arch_object_methods): Add entry for the new method.
|
|
|
|
|
|
2013-02-20 07:45:14 +00:00
|
|
|
|
2013-02-20 Jiong Wang <jiwang@tilera.com>
|
|
|
|
|
|
|
|
|
|
* MAINTAINERS (Write After Approval): Add myself to the list.
|
|
|
|
|
|
2013-02-19 19:41:28 +00:00
|
|
|
|
2013-02-19 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
Garbage collect 'struct monitor_ops'::load_routine.
|
|
|
|
|
|
|
|
|
|
* monitor.h (struct monitor_ops) <load_routine>: Remove field.
|
|
|
|
|
* monitor.c (monitor_load): No longer call
|
|
|
|
|
current_monitor->load_routine.
|
|
|
|
|
* dbug-rom.c (init_dbug_cmds): Don't set 'load_routine'.
|
|
|
|
|
* m32r-rom.c (init_m32r_cmds): Don't set 'load_routine'.
|
|
|
|
|
* ppcbug-rom.c (init_ppc_cmds): Don't set 'load_routine'.
|
|
|
|
|
|
2013-02-19 19:27:21 +00:00
|
|
|
|
2013-02-19 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR gdb/15161
|
|
|
|
|
|
|
|
|
|
Harmonize with generic_load.
|
|
|
|
|
|
|
|
|
|
* monitor.c: Include "readline/readline.h".
|
|
|
|
|
(monitor_load): Rename parameter 'file' to 'args'. Use build_argv
|
|
|
|
|
instead of sscanf. Use CORE_ADDR/strtoulst instead of unsigned
|
|
|
|
|
long/strtol for the 'load_offset' local. Error out if no argument
|
|
|
|
|
is given or if too many arguments are given. Tilde expand the
|
|
|
|
|
passed in file name.
|
|
|
|
|
|
2013-02-19 18:31:49 +00:00
|
|
|
|
2013-02-19 Kai Tietz <ktietz@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR gdb/15161
|
|
|
|
|
* symfile.c (load_section_data): Change type of load_offset
|
|
|
|
|
to CORE_ADDR.
|
|
|
|
|
(generic_load): User strtoulst instead of strtoul for conversion
|
|
|
|
|
of load_offset.
|
|
|
|
|
|
2013-02-19 16:22:42 +00:00
|
|
|
|
2013-02-19 Jiong Wang <jiwang@tilera.com>
|
|
|
|
|
|
|
|
|
|
* tilegx-tdep.c (tilegx_analyze_prologue): add check for
|
|
|
|
|
for return address, "lr" register, saved on stack.
|
|
|
|
|
* tilegx-tdep.c (tilegx_frame_cache): update "PC" reg
|
|
|
|
|
after we invoke tilegx_analyze_prologue.
|
|
|
|
|
|
2013-02-19 16:20:47 +00:00
|
|
|
|
2013-02-19 Jiong Wang <jiwang@tilera.com>
|
|
|
|
|
|
2013-02-19 16:21:29 +00:00
|
|
|
|
* tilegx-tdep.c (itilegx_gdbarch_init): char type should be signed.
|
|
|
|
|
|
2013-02-19 16:22:42 +00:00
|
|
|
|
2013-02-19 Jiong Wang <jiwang@tilera.com>
|
2013-02-19 16:21:29 +00:00
|
|
|
|
|
2013-02-20 07:45:14 +00:00
|
|
|
|
* tilegx-tdep.c (tilegx_skip_prologue): Use skip_prologue_using_sal.
|
2013-02-19 16:20:47 +00:00
|
|
|
|
|
2013-02-19 16:19:33 +00:00
|
|
|
|
2013-02-19 Jiong Wang <jiwang@tilera.com>
|
|
|
|
|
|
2013-02-20 07:45:14 +00:00
|
|
|
|
* tilegx-tdep.c (INT_SWINT_1_SIGRETURN): New macro.
|
2013-02-19 16:19:33 +00:00
|
|
|
|
(tilegx_write_pc): New function.
|
|
|
|
|
(tilegx_cannot_reference_register): Return zero if REGNO
|
|
|
|
|
is TILEGX_FAULTNUM_REGNUM.
|
|
|
|
|
(tilegx_gdbarch_init): Add call to set_gdbarch_write_pc.
|
|
|
|
|
(tilegx_register_name): Add handling of "faultnum" register.
|
|
|
|
|
* tilegx-tdep.h (enum tilegx_regnum): Add TILEGX_FAULTNUM_REGNUM.
|
|
|
|
|
* tilegx-linux-tdep.c (tilegx_linux_supply_regset): Add
|
|
|
|
|
handling of TILEGX_FAULTNUM_REGNUM.
|
|
|
|
|
* tilegx-linux-nat.c (regmap): Add entry for TILEGX_FAULTNUM_REGNUM.
|
|
|
|
|
|
2013-02-19 16:09:13 +00:00
|
|
|
|
2013-02-19 Jiong Wang <jiwang@tilera.com>
|
|
|
|
|
|
|
|
|
|
* tilegx-tdep.c (tilegx_push_dummy_call): args pushed on stack
|
2013-02-20 07:45:14 +00:00
|
|
|
|
should be aligned to 64bit.
|
2013-02-19 16:09:13 +00:00
|
|
|
|
|
2013-02-19 15:46:32 +00:00
|
|
|
|
2013-02-19 Kai Tietz <ktietz@redhat.com>
|
|
|
|
|
|
|
|
|
|
* windows-nat.c (windows_xfer_memory): Fix debug-output
|
|
|
|
|
for LLP64.
|
|
|
|
|
|
2013-02-19 07:50:30 +00:00
|
|
|
|
2013-02-19 Lei Liu <lei.liu2@windriver.com>
|
|
|
|
|
|
|
|
|
|
* mips-linux-nat.c (mips64_linux_regsets_store_registers):
|
|
|
|
|
Don't check DSP register number if HAVE_DSP is not set.
|
|
|
|
|
|
2013-02-18 23:50:32 +00:00
|
|
|
|
2013-02-19 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* elfread.c (struct build_id): Delete. Use struct elf_build_id
|
|
|
|
|
throughout file instead.
|
|
|
|
|
(build_id_bfd_get): Update to use new elf_tdata build_id field.
|
|
|
|
|
Don't xmalloc return value.
|
|
|
|
|
(build_id_verify): Similarly. Don't xfree.
|
|
|
|
|
(build_id_to_debug_filename): Update.
|
|
|
|
|
(find_separate_debug_file_by_buildid): Update, don't xfree.
|
|
|
|
|
|
2013-02-18 21:04:28 +00:00
|
|
|
|
2013-02-18 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR gdb/15102:
|
|
|
|
|
* dwarf2read.c (read_subrange_type): Use result of
|
|
|
|
|
'check_typedef'.
|
|
|
|
|
|
2013-02-16 08:57:48 +00:00
|
|
|
|
2013-02-16 Yuanhui Zhang <asmwarrior@gmail.com>
|
|
|
|
|
|
|
|
|
|
* frame.c: Remove one extra white space after #include
|
|
|
|
|
directive.
|
|
|
|
|
|
2013-02-15 20:30:16 +00:00
|
|
|
|
2013-02-15 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
* contrib/cc-with-tweaks.sh: Extend the comment for -p option.
|
|
|
|
|
|
2013-02-15 20:28:24 +00:00
|
|
|
|
2013-02-15 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
* gdb-gdb.gdb.in: Wrap set complaints, b internal_error, b info_command
|
|
|
|
|
and dir commands into an if block.
|
|
|
|
|
|
2013-02-15 17:12:29 +00:00
|
|
|
|
2013-02-15 Sanimir Agovic <sanimir.agovic@intel.com>
|
|
|
|
|
|
|
|
|
|
* python/py-breakpoint (struct pybp_code): Use int instead of
|
|
|
|
|
enum type_code.
|
|
|
|
|
|
2013-02-15 09:47:50 +00:00
|
|
|
|
2013-02-15 Pedro Alves <pedro@codesourcery.com>
|
|
|
|
|
Hafiz Abid Qadeer <abidh@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* NEWS: Mention new field "trace-file".
|
|
|
|
|
* tracepoint.c (trace_status_mi): Output "trace-file" field.
|
|
|
|
|
(tfile_open): Record the trace file's filename in the trace
|
|
|
|
|
status.
|
|
|
|
|
(tfile_files_info): Mention the name of the trace file.
|
|
|
|
|
Check the "filename" field explicitely.
|
|
|
|
|
(trace_status_command): Explicitely check "filename" field.
|
|
|
|
|
(trace_find_command): Ditto.
|
|
|
|
|
(trace_find_pc_command): Ditto.
|
|
|
|
|
(trace_find_tracepoint_command): Ditto.
|
|
|
|
|
(trace_find_line_command): Ditto.
|
|
|
|
|
(trace_find_range_command): Ditto.
|
|
|
|
|
(trace_find_outside_command): Ditto.
|
|
|
|
|
* tracepoint.h (struct trace_status) <from_file>: Rename it
|
|
|
|
|
to "filename" and make it hold the trace file's filename
|
|
|
|
|
instead of a boolean.
|
|
|
|
|
* remote.c (remote_get_trace_status): Initialize "filename"
|
|
|
|
|
field with NULL instead of 0.
|
|
|
|
|
|
2013-02-15 03:37:12 +00:00
|
|
|
|
2013-02-15 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* remote.c: Fix a typo.
|
|
|
|
|
|
2013-02-14 21:08:35 +00:00
|
|
|
|
2013-02-14 Pierre Muller <muller@sourceware.org>
|
|
|
|
|
|
|
|
|
|
* contrib/ari/gdb_ari.sh (GNU/Linux rule): Remove.
|
|
|
|
|
|
2013-02-14 17:11:41 +00:00
|
|
|
|
2013-02-14 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* utils.c (savestring): Don't #undef it. Move function to
|
|
|
|
|
common/common-utils.c.
|
|
|
|
|
* common/common-utils.c: Include gdb_string.h.
|
|
|
|
|
(savestring): Move here from utils.c.
|
|
|
|
|
* common/common-utils.h (savestring): Declare.
|
|
|
|
|
|
2013-02-14 17:09:00 +00:00
|
|
|
|
2013-02-14 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* utils.c (savestring): Rename parameter 'size' to 'len'.
|
|
|
|
|
|
2013-02-14 13:50:30 +00:00
|
|
|
|
2013-02-14 Pedro Alves <palves@redhat.com>
|
|
|
|
|
Yufeng Zhang <yufeng.zhang@arm.com>
|
|
|
|
|
|
|
|
|
|
* aarch64-linux-nat.c (aarch64_init_debug_reg_state): Delete.
|
|
|
|
|
(aarch64_inferior_data, struct aarch64_inferior_data):
|
|
|
|
|
Delete.
|
|
|
|
|
(struct aarch64_process_info): New.
|
|
|
|
|
(aarch64_process_list): New global.
|
|
|
|
|
(aarch64_find_process_pid, aarch64_add_process)
|
|
|
|
|
(aarch64_process_info_get): New functions.
|
|
|
|
|
(aarch64_inferior_data_get): Delete.
|
|
|
|
|
(aarch64_process_info_get): New function.
|
|
|
|
|
(aarch64_forget_process): New function.
|
|
|
|
|
(aarch64_get_debug_reg_state): New parameter 'pid'. Reimplement.
|
|
|
|
|
(aarch64_linux_prepare_to_resume): Pass the lwp's pid to
|
|
|
|
|
aarch64_get_debug_reg_state.
|
|
|
|
|
(aarch64_notify_debug_reg_change): Use iterate_over_lwps
|
|
|
|
|
instead of linux_nat_iterate_watchpoint_lwps.
|
|
|
|
|
(aarch64_linux_new_fork): New function.
|
|
|
|
|
(aarch64_linux_child_post_startup_inferior): Use
|
|
|
|
|
aarch64_forget_process instead of aarch64_init_debug_reg_state.
|
|
|
|
|
(aarch64_handle_breakpoint, aarch64_linux_insert_hw_breakpoint)
|
|
|
|
|
(aarch64_linux_remove_hw_breakpoint)
|
|
|
|
|
(aarch64_handle_aligned_watchpoint)
|
|
|
|
|
(aarch64_handle_unaligned_watchpoint)
|
|
|
|
|
(aarch64_linux_insert_watchpoint)
|
|
|
|
|
(aarch64_linux_remove_watchpoint)
|
|
|
|
|
(aarch64_linux_stopped_data_address): Adjust to pass the current
|
|
|
|
|
process id to aarch64_debug_reg_state.
|
|
|
|
|
(_initialize_aarch64_linux_nat): Install aarch64_linux_new_fork as
|
|
|
|
|
linux_nat_new_fork hook, and aarch64_forget_process as
|
|
|
|
|
linux_nat_forget_process hook; remove the call to
|
|
|
|
|
register_inferior_data_with_cleanup.
|
|
|
|
|
|
2013-02-14 12:43:46 +00:00
|
|
|
|
2013-02-14 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* eval.c (evaluate_subexp_for_address) <default_case_after_eval,
|
|
|
|
|
EVAL_AVOID_SIDE_EFFECTS>: Swap and handle TYPE_CODE_REF before
|
|
|
|
|
lval_memory.
|
|
|
|
|
|
2013-02-14 10:19:39 +00:00
|
|
|
|
2013-02-14 Pedro Alves <pedro@codesourcery.com>
|
|
|
|
|
Hafiz Abid Qadeer <abidh@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* tracepoint.h (validate_trace_state_variable_name): Declare.
|
|
|
|
|
* tracepoint.c (validate_trace_state_variable_name): New.
|
|
|
|
|
(trace_variable_command): Parse the trace state variable's name
|
|
|
|
|
without using parse_expression. Do several validations.
|
|
|
|
|
* mi/mi-main.c (mi_cmd_trace_define_variable): Don't parse the
|
|
|
|
|
trace state variable's name with parse_expression. Validate it.
|
|
|
|
|
|
2013-02-14 04:00:16 +00:00
|
|
|
|
2013-02-14 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* infcmd.c (breakpoint_proceeded): Remove it.
|
|
|
|
|
|
2013-02-14 03:57:13 +00:00
|
|
|
|
2013-02-14 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* tracepoint.c (end_actions_pseudocommand): Make it static.
|
|
|
|
|
(while_stepping_pseudocommand): Likewise.
|
|
|
|
|
* tracepoint.h (end_actions_pseudocommand): Remove the
|
|
|
|
|
declaration.
|
|
|
|
|
(while_stepping_pseudocommand): Likewise.
|
|
|
|
|
|
2013-02-14 03:39:42 +00:00
|
|
|
|
2013-02-14 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* cli/cli-decode.c (help_cmd): Remove the declaration of
|
|
|
|
|
"cmdlist".
|
|
|
|
|
(help_all): Likewise.
|
|
|
|
|
|
[native x86 GNU/Linux] Access debug register mirror from the corresponding process.
While reviewing the native AArch64 patch, I noticed a problem:
On 02/06/2013 08:46 PM, Pedro Alves wrote:
>
>> > +static void
>> > +aarch64_linux_prepare_to_resume (struct lwp_info *lwp)
>> > +{
>> > + struct arch_lwp_info *info = lwp->arch_private;
>> > +
>> > + /* NULL means this is the main thread still going through the shell,
>> > + or, no watchpoint has been set yet. In that case, there's
>> > + nothing to do. */
>> > + if (info == NULL)
>> > + return;
>> > +
>> > + if (DR_HAS_CHANGED (info->dr_changed_bp)
>> > + || DR_HAS_CHANGED (info->dr_changed_wp))
>> > + {
>> > + int tid = GET_LWP (lwp->ptid);
>> > + struct aarch64_debug_reg_state *state = aarch64_get_debug_reg_state ();
> Hmm. This is always fetching the debug_reg_state of
> the current inferior, but may not be the inferior of lwp.
> I see the same bug on x86. Sorry about that. I'll fix it.
A natural fix would be to make xxx_get_debug_reg_state take an
inferior argument, but that doesn't work because of the case where we
detach breakpoints/watchpoints from the child fork, at a time there's
no inferior for the child fork at all. We do a nasty hack in
i386_inferior_data_get, but that relies on all callers pointing the
current inferior to the correct inferior, which isn't actually being
done by all callers, and I don't think we want to enforce that -- deep
in the bowls of linux-nat.c, there are many cases we resume lwps
behind the scenes, and it's be better to not have that code rely on
global state (as it doesn't today).
The fix is to decouple the watchpoints code from inferiors, making it
track target processes instead. This way, we can freely keep track of
the watchpoint mirrors for these processes behind the core's back.
Checkpoints also play dirty tricks with swapping the process behind
the inferior, so they get special treatment too in the patch (which
just amounts to calling a new hook). Instead of the old hack in
i386_inferior_data_get, where we returned a copy of the current
inferior's debug registers mirror, as soon as we detect a fork in the
target, we copy the debug register mirror from the parent to the child
process.
I don't have an old kernel handy to test, but I stepped through gdb doing
the watchpoint removal in the fork child in the watchpoint-fork test
seeing that the debug registers end up cleared in the child.
I didn't find the need for linux_nat_iterate_watchpoint_lwps. If
we use plain iterate_over_lwps instead, what happens is that
when removing watchpoints, that iterate_over_lwps doesn't actually
iterate over anything, since the fork child is not added to the
lwp list until later, at detach time, in linux_child_follow_fork.
And if we don't iterate over that lwp, we don't mark its debug
registers as needing update. But linux_child_follow_fork takes
care of doing that explicitly:
child_lp = add_lwp (inferior_ptid);
child_lp->stopped = 1;
child_lp->last_resume_kind = resume_stop;
make_cleanup (delete_lwp_cleanup, child_lp);
/* CHILD_LP has new PID, therefore linux_nat_new_thread is not called for it.
See i386_inferior_data_get for the Linux kernel specifics.
Ensure linux_nat_prepare_to_resume will reset the hardware debug
registers. It is done by the linux_nat_new_thread call, which is
being skipped in add_lwp above for the first lwp of a pid. */
gdb_assert (num_lwps (GET_PID (child_lp->ptid)) == 1);
if (linux_nat_new_thread != NULL)
linux_nat_new_thread (child_lp);
if (linux_nat_prepare_to_resume != NULL)
linux_nat_prepare_to_resume (child_lp);
ptrace (PTRACE_DETACH, child_pid, 0, 0);
so unless I'm missing something (quite possible) it ends up all
the same. But, the !detach-on-fork, and the "follow-fork child" paths
should also call linux_nat_new_thread, and they don't presently. It
seems to me in those cases we're not clearing debug regs correctly
when that's needed. Instead of copying that bit that works around
add_lwp bypassing the linux_nat_new_thread call, I thought it'd
be better to add an add_initial_lwp call to be used in the case we
really need to bypass linux_nat_new_thread, and make
add_lwp always call linux_nat_new_thread.
i386_cleanup_dregs is rewritten to forget about the current process
debug mirrors, which takes cares of other i386 ports. Only a couple
of extra tweaks here and there were needed, as some targets wheren't
actually calling i386_cleanup_dregs.
Tested on Fedora 17 x86_64 -m64/-m32.
GDBserver already fetches the i386_debug_reg_state from the right
process, and, it doesn't handle forks at all, so no fix is needed over
there.
gdb/
2013-02-13 Pedro Alves <palves@redhat.com>
* amd64-linux-nat.c (update_debug_registers_callback):
Update comment.
(amd64_linux_dr_set_control, amd64_linux_dr_set_addr): Use
iterate_over_lwps.
(amd64_linux_prepare_to_resume): Pass the lwp's pid to
i386_debug_reg_state.
(amd64_linux_new_fork): New function.
(_initialize_amd64_linux_nat): Install amd64_linux_new_fork as
linux_nat_new_fork hook, and i386_forget_process as
linux_nat_forget_process hook.
* i386-linux-nat.c (update_debug_registers_callback):
Update comment.
(amd64_linux_dr_set_control, amd64_linux_dr_set_addr): Use
iterate_over_lwps.
(i386_linux_prepare_to_resume): Pass the lwp's pid to
i386_debug_reg_state.
(i386_linux_new_fork): New function.
(_initialize_i386_linux_nat): Install i386_linux_new_fork as
linux_nat_new_fork hook, and i386_forget_process as
linux_nat_forget_process hook.
* i386-nat.c (i386_init_dregs): Delete.
(i386_inferior_data, struct i386_inferior_data):
Delete.
(struct i386_process_info): New.
(i386_process_list): New global.
(i386_find_process_pid, i386_add_process, i386_process_info_get):
New functions.
(i386_inferior_data_get): Delete.
(i386_process_info_get): New function.
(i386_debug_reg_state): New parameter 'pid'. Reimplement.
(i386_forget_process): New function.
(i386_cleanup_dregs): Rewrite.
(i386_update_inferior_debug_regs, i386_insert_watchpoint)
(i386_remove_watchpoint, i386_region_ok_for_watchpoint)
(i386_stopped_data_address, i386_insert_hw_breakpoint)
(i386_remove_hw_breakpoint): Adjust to pass the current process id
to i386_debug_reg_state.
(i386_use_watchpoints): Don't register inferior data.
* i386-nat.h (i386_debug_reg_state): Add new 'pid' parameter, and
adjust comment.
(i386_forget_process): Declare.
* linux-fork.c (delete_fork): Call linux_nat_forget_process.
* linux-nat.c (linux_nat_new_fork, linux_nat_forget_process_hook):
New static globals.
(linux_child_follow_fork): Don't call linux_nat_new_thread here.
(add_initial_lwp): New, factored out from ...
(add_lwp): ... this. Don't check the number of lwps before
calling linux_nat_new_thread.
(linux_nat_iterate_watchpoint_lwps): Delete.
(linux_nat_attach): Use add_initial_lwp instead of add_lwp.
(linux_handle_extended_wait): Call the linux_nat_new_fork hook on
forks and vforks.
(linux_nat_wait_1): Use add_initial_lwp instead of add_lwp for the
initial lwp.
(linux_nat_kill, linux_nat_mourn_inferior): Call
linux_nat_forget_process.
(linux_nat_set_new_fork, linux_nat_set_forget_process)
(linux_nat_forget_process): New functions.
* linux-nat.h (linux_nat_iterate_watchpoint_lwps_ftype): Delete
type.
(linux_nat_iterate_watchpoint_lwps): Delete declaration.
(linux_nat_new_fork_ftype, linux_nat_forget_process_ftype): New
types.
(linux_nat_set_new_fork, linux_nat_set_forget_process)
(linux_nat_forget_process): New declarations.
* amd64fbsd-nat.c (super_mourn_inferior): New global.
(amd64fbsd_mourn_inferior): New function.
(_initialize_amd64fbsd_nat): Override to_mourn_inferior.
* windows-nat.c (windows_detach): Call i386_cleanup_dregs.
2013-02-13 14:59:49 +00:00
|
|
|
|
2013-02-13 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* amd64-linux-nat.c (update_debug_registers_callback):
|
|
|
|
|
Update comment.
|
|
|
|
|
(amd64_linux_dr_set_control, amd64_linux_dr_set_addr): Use
|
|
|
|
|
iterate_over_lwps.
|
|
|
|
|
(amd64_linux_prepare_to_resume): Pass the lwp's pid to
|
|
|
|
|
i386_debug_reg_state.
|
|
|
|
|
(amd64_linux_new_fork): New function.
|
|
|
|
|
(_initialize_amd64_linux_nat): Install amd64_linux_new_fork as
|
|
|
|
|
linux_nat_new_fork hook, and i386_forget_process as
|
|
|
|
|
linux_nat_forget_process hook.
|
|
|
|
|
* i386-linux-nat.c (update_debug_registers_callback):
|
|
|
|
|
Update comment.
|
2013-02-13 15:06:50 +00:00
|
|
|
|
(i386_linux_dr_set_control, i386_linux_dr_set_addr): Use
|
[native x86 GNU/Linux] Access debug register mirror from the corresponding process.
While reviewing the native AArch64 patch, I noticed a problem:
On 02/06/2013 08:46 PM, Pedro Alves wrote:
>
>> > +static void
>> > +aarch64_linux_prepare_to_resume (struct lwp_info *lwp)
>> > +{
>> > + struct arch_lwp_info *info = lwp->arch_private;
>> > +
>> > + /* NULL means this is the main thread still going through the shell,
>> > + or, no watchpoint has been set yet. In that case, there's
>> > + nothing to do. */
>> > + if (info == NULL)
>> > + return;
>> > +
>> > + if (DR_HAS_CHANGED (info->dr_changed_bp)
>> > + || DR_HAS_CHANGED (info->dr_changed_wp))
>> > + {
>> > + int tid = GET_LWP (lwp->ptid);
>> > + struct aarch64_debug_reg_state *state = aarch64_get_debug_reg_state ();
> Hmm. This is always fetching the debug_reg_state of
> the current inferior, but may not be the inferior of lwp.
> I see the same bug on x86. Sorry about that. I'll fix it.
A natural fix would be to make xxx_get_debug_reg_state take an
inferior argument, but that doesn't work because of the case where we
detach breakpoints/watchpoints from the child fork, at a time there's
no inferior for the child fork at all. We do a nasty hack in
i386_inferior_data_get, but that relies on all callers pointing the
current inferior to the correct inferior, which isn't actually being
done by all callers, and I don't think we want to enforce that -- deep
in the bowls of linux-nat.c, there are many cases we resume lwps
behind the scenes, and it's be better to not have that code rely on
global state (as it doesn't today).
The fix is to decouple the watchpoints code from inferiors, making it
track target processes instead. This way, we can freely keep track of
the watchpoint mirrors for these processes behind the core's back.
Checkpoints also play dirty tricks with swapping the process behind
the inferior, so they get special treatment too in the patch (which
just amounts to calling a new hook). Instead of the old hack in
i386_inferior_data_get, where we returned a copy of the current
inferior's debug registers mirror, as soon as we detect a fork in the
target, we copy the debug register mirror from the parent to the child
process.
I don't have an old kernel handy to test, but I stepped through gdb doing
the watchpoint removal in the fork child in the watchpoint-fork test
seeing that the debug registers end up cleared in the child.
I didn't find the need for linux_nat_iterate_watchpoint_lwps. If
we use plain iterate_over_lwps instead, what happens is that
when removing watchpoints, that iterate_over_lwps doesn't actually
iterate over anything, since the fork child is not added to the
lwp list until later, at detach time, in linux_child_follow_fork.
And if we don't iterate over that lwp, we don't mark its debug
registers as needing update. But linux_child_follow_fork takes
care of doing that explicitly:
child_lp = add_lwp (inferior_ptid);
child_lp->stopped = 1;
child_lp->last_resume_kind = resume_stop;
make_cleanup (delete_lwp_cleanup, child_lp);
/* CHILD_LP has new PID, therefore linux_nat_new_thread is not called for it.
See i386_inferior_data_get for the Linux kernel specifics.
Ensure linux_nat_prepare_to_resume will reset the hardware debug
registers. It is done by the linux_nat_new_thread call, which is
being skipped in add_lwp above for the first lwp of a pid. */
gdb_assert (num_lwps (GET_PID (child_lp->ptid)) == 1);
if (linux_nat_new_thread != NULL)
linux_nat_new_thread (child_lp);
if (linux_nat_prepare_to_resume != NULL)
linux_nat_prepare_to_resume (child_lp);
ptrace (PTRACE_DETACH, child_pid, 0, 0);
so unless I'm missing something (quite possible) it ends up all
the same. But, the !detach-on-fork, and the "follow-fork child" paths
should also call linux_nat_new_thread, and they don't presently. It
seems to me in those cases we're not clearing debug regs correctly
when that's needed. Instead of copying that bit that works around
add_lwp bypassing the linux_nat_new_thread call, I thought it'd
be better to add an add_initial_lwp call to be used in the case we
really need to bypass linux_nat_new_thread, and make
add_lwp always call linux_nat_new_thread.
i386_cleanup_dregs is rewritten to forget about the current process
debug mirrors, which takes cares of other i386 ports. Only a couple
of extra tweaks here and there were needed, as some targets wheren't
actually calling i386_cleanup_dregs.
Tested on Fedora 17 x86_64 -m64/-m32.
GDBserver already fetches the i386_debug_reg_state from the right
process, and, it doesn't handle forks at all, so no fix is needed over
there.
gdb/
2013-02-13 Pedro Alves <palves@redhat.com>
* amd64-linux-nat.c (update_debug_registers_callback):
Update comment.
(amd64_linux_dr_set_control, amd64_linux_dr_set_addr): Use
iterate_over_lwps.
(amd64_linux_prepare_to_resume): Pass the lwp's pid to
i386_debug_reg_state.
(amd64_linux_new_fork): New function.
(_initialize_amd64_linux_nat): Install amd64_linux_new_fork as
linux_nat_new_fork hook, and i386_forget_process as
linux_nat_forget_process hook.
* i386-linux-nat.c (update_debug_registers_callback):
Update comment.
(amd64_linux_dr_set_control, amd64_linux_dr_set_addr): Use
iterate_over_lwps.
(i386_linux_prepare_to_resume): Pass the lwp's pid to
i386_debug_reg_state.
(i386_linux_new_fork): New function.
(_initialize_i386_linux_nat): Install i386_linux_new_fork as
linux_nat_new_fork hook, and i386_forget_process as
linux_nat_forget_process hook.
* i386-nat.c (i386_init_dregs): Delete.
(i386_inferior_data, struct i386_inferior_data):
Delete.
(struct i386_process_info): New.
(i386_process_list): New global.
(i386_find_process_pid, i386_add_process, i386_process_info_get):
New functions.
(i386_inferior_data_get): Delete.
(i386_process_info_get): New function.
(i386_debug_reg_state): New parameter 'pid'. Reimplement.
(i386_forget_process): New function.
(i386_cleanup_dregs): Rewrite.
(i386_update_inferior_debug_regs, i386_insert_watchpoint)
(i386_remove_watchpoint, i386_region_ok_for_watchpoint)
(i386_stopped_data_address, i386_insert_hw_breakpoint)
(i386_remove_hw_breakpoint): Adjust to pass the current process id
to i386_debug_reg_state.
(i386_use_watchpoints): Don't register inferior data.
* i386-nat.h (i386_debug_reg_state): Add new 'pid' parameter, and
adjust comment.
(i386_forget_process): Declare.
* linux-fork.c (delete_fork): Call linux_nat_forget_process.
* linux-nat.c (linux_nat_new_fork, linux_nat_forget_process_hook):
New static globals.
(linux_child_follow_fork): Don't call linux_nat_new_thread here.
(add_initial_lwp): New, factored out from ...
(add_lwp): ... this. Don't check the number of lwps before
calling linux_nat_new_thread.
(linux_nat_iterate_watchpoint_lwps): Delete.
(linux_nat_attach): Use add_initial_lwp instead of add_lwp.
(linux_handle_extended_wait): Call the linux_nat_new_fork hook on
forks and vforks.
(linux_nat_wait_1): Use add_initial_lwp instead of add_lwp for the
initial lwp.
(linux_nat_kill, linux_nat_mourn_inferior): Call
linux_nat_forget_process.
(linux_nat_set_new_fork, linux_nat_set_forget_process)
(linux_nat_forget_process): New functions.
* linux-nat.h (linux_nat_iterate_watchpoint_lwps_ftype): Delete
type.
(linux_nat_iterate_watchpoint_lwps): Delete declaration.
(linux_nat_new_fork_ftype, linux_nat_forget_process_ftype): New
types.
(linux_nat_set_new_fork, linux_nat_set_forget_process)
(linux_nat_forget_process): New declarations.
* amd64fbsd-nat.c (super_mourn_inferior): New global.
(amd64fbsd_mourn_inferior): New function.
(_initialize_amd64fbsd_nat): Override to_mourn_inferior.
* windows-nat.c (windows_detach): Call i386_cleanup_dregs.
2013-02-13 14:59:49 +00:00
|
|
|
|
iterate_over_lwps.
|
|
|
|
|
(i386_linux_prepare_to_resume): Pass the lwp's pid to
|
|
|
|
|
i386_debug_reg_state.
|
|
|
|
|
(i386_linux_new_fork): New function.
|
|
|
|
|
(_initialize_i386_linux_nat): Install i386_linux_new_fork as
|
|
|
|
|
linux_nat_new_fork hook, and i386_forget_process as
|
|
|
|
|
linux_nat_forget_process hook.
|
|
|
|
|
* i386-nat.c (i386_init_dregs): Delete.
|
|
|
|
|
(i386_inferior_data, struct i386_inferior_data):
|
|
|
|
|
Delete.
|
|
|
|
|
(struct i386_process_info): New.
|
|
|
|
|
(i386_process_list): New global.
|
|
|
|
|
(i386_find_process_pid, i386_add_process, i386_process_info_get):
|
|
|
|
|
New functions.
|
|
|
|
|
(i386_inferior_data_get): Delete.
|
|
|
|
|
(i386_process_info_get): New function.
|
|
|
|
|
(i386_debug_reg_state): New parameter 'pid'. Reimplement.
|
|
|
|
|
(i386_forget_process): New function.
|
|
|
|
|
(i386_cleanup_dregs): Rewrite.
|
|
|
|
|
(i386_update_inferior_debug_regs, i386_insert_watchpoint)
|
|
|
|
|
(i386_remove_watchpoint, i386_region_ok_for_watchpoint)
|
|
|
|
|
(i386_stopped_data_address, i386_insert_hw_breakpoint)
|
|
|
|
|
(i386_remove_hw_breakpoint): Adjust to pass the current process id
|
|
|
|
|
to i386_debug_reg_state.
|
|
|
|
|
(i386_use_watchpoints): Don't register inferior data.
|
|
|
|
|
* i386-nat.h (i386_debug_reg_state): Add new 'pid' parameter, and
|
|
|
|
|
adjust comment.
|
|
|
|
|
(i386_forget_process): Declare.
|
|
|
|
|
* linux-fork.c (delete_fork): Call linux_nat_forget_process.
|
|
|
|
|
* linux-nat.c (linux_nat_new_fork, linux_nat_forget_process_hook):
|
|
|
|
|
New static globals.
|
|
|
|
|
(linux_child_follow_fork): Don't call linux_nat_new_thread here.
|
|
|
|
|
(add_initial_lwp): New, factored out from ...
|
|
|
|
|
(add_lwp): ... this. Don't check the number of lwps before
|
|
|
|
|
calling linux_nat_new_thread.
|
|
|
|
|
(linux_nat_iterate_watchpoint_lwps): Delete.
|
|
|
|
|
(linux_nat_attach): Use add_initial_lwp instead of add_lwp.
|
|
|
|
|
(linux_handle_extended_wait): Call the linux_nat_new_fork hook on
|
|
|
|
|
forks and vforks.
|
|
|
|
|
(linux_nat_wait_1): Use add_initial_lwp instead of add_lwp for the
|
|
|
|
|
initial lwp.
|
|
|
|
|
(linux_nat_kill, linux_nat_mourn_inferior): Call
|
|
|
|
|
linux_nat_forget_process.
|
|
|
|
|
(linux_nat_set_new_fork, linux_nat_set_forget_process)
|
|
|
|
|
(linux_nat_forget_process): New functions.
|
|
|
|
|
* linux-nat.h (linux_nat_iterate_watchpoint_lwps_ftype): Delete
|
|
|
|
|
type.
|
|
|
|
|
(linux_nat_iterate_watchpoint_lwps): Delete declaration.
|
|
|
|
|
(linux_nat_new_fork_ftype, linux_nat_forget_process_ftype): New
|
|
|
|
|
types.
|
|
|
|
|
(linux_nat_set_new_fork, linux_nat_set_forget_process)
|
|
|
|
|
(linux_nat_forget_process): New declarations.
|
|
|
|
|
|
|
|
|
|
* amd64fbsd-nat.c (super_mourn_inferior): New global.
|
|
|
|
|
(amd64fbsd_mourn_inferior): New function.
|
|
|
|
|
(_initialize_amd64fbsd_nat): Override to_mourn_inferior.
|
|
|
|
|
* windows-nat.c (windows_detach): Call i386_cleanup_dregs.
|
|
|
|
|
|
2013-02-13 14:32:56 +00:00
|
|
|
|
2013-02-13 Marcus Shawcroft <marcus.shawcroft@arm.com>
|
|
|
|
|
|
2013-02-14 03:51:59 +00:00
|
|
|
|
* aarch64-linux-nat.c (aarch64_linux_get_debug_reg_capacity):
|
|
|
|
|
Adding _().
|
2013-02-13 14:32:56 +00:00
|
|
|
|
|
2013-02-13 13:42:39 +00:00
|
|
|
|
2013-02-13 Marcus Shawcroft <marcus.shawcroft@arm.com>
|
|
|
|
|
|
|
|
|
|
* aarch64-linux-nat.c (debug_reg_change_callback)
|
|
|
|
|
(aarch64_linux_get_debug_reg_capacity): ARI fix: Replace %llx with
|
|
|
|
|
%s and phex().
|
|
|
|
|
|
2013-02-13 13:41:12 +00:00
|
|
|
|
2013-02-13 Marcus Shawcroft <marcus.shawcroft@arm.com>
|
|
|
|
|
|
|
|
|
|
* aarch64-linux-nat.c (dr_changed_t): ARI fix: Replace long long
|
|
|
|
|
with LONGEST.
|
|
|
|
|
|
2013-02-13 10:41:11 +00:00
|
|
|
|
2013-02-13 Pedro Alves <palves@redhat.com>
|
|
|
|
|
Hafiz Abid Qadeer <abidh@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* c-lang.c (c_op_print_tab): Add entry for UNOP_PLUS.
|
|
|
|
|
|
2013-02-12 20:27:36 +00:00
|
|
|
|
2013-02-12 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR symtab/11464:
|
|
|
|
|
* c-exp.y (lex_one_token): Initialize other fields of yylval on
|
|
|
|
|
NAME return.
|
|
|
|
|
(classify_inner_name): Remove 'first_name' argument, add
|
|
|
|
|
'context'. Remove unused variable.
|
|
|
|
|
(yylex): Explicitly maintain the context type. Exit loop earlier
|
|
|
|
|
if NAME result is seen.
|
|
|
|
|
|
2013-02-12 19:03:57 +00:00
|
|
|
|
2013-02-12 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* amd64-darwin-tdep.c: Add (C) after Copyright.
|
|
|
|
|
* cli/cli-cmds.h: Ditto.
|
|
|
|
|
* cli/cli-decode.c: Ditto.
|
|
|
|
|
* cli/cli-decode.h: Ditto.
|
|
|
|
|
* cli/cli-dump.c: Ditto.
|
|
|
|
|
* cli/cli-dump.h: Ditto.
|
|
|
|
|
* cli/cli-interp.c: Ditto.
|
|
|
|
|
* cli/cli-logging.c: Ditto.
|
|
|
|
|
* cli/cli-script.c: Ditto.
|
|
|
|
|
* cli/cli-script.h: Ditto.
|
|
|
|
|
* cli/cli-setshow.c: Ditto.
|
|
|
|
|
* cli/cli-setshow.h: Ditto.
|
|
|
|
|
* cli/cli-utils.c: Ditto.
|
|
|
|
|
* cli/cli-utils.h: Ditto.
|
|
|
|
|
* config/alpha/nm-osf3.h: Ditto.
|
|
|
|
|
* config/djgpp/djconfig.sh: Ditto.
|
|
|
|
|
* config/i386/nm-fbsd.h: Ditto.
|
|
|
|
|
* config/i386/nm-i386gnu.h: Ditto.
|
|
|
|
|
* config/nm-linux.h: Ditto.
|
|
|
|
|
* config/nm-nto.h: Ditto.
|
|
|
|
|
* config/rs6000/nm-rs6000.h: Ditto.
|
|
|
|
|
* config/sparc/nm-sol2.h: Ditto.
|
|
|
|
|
* darwin-nat-info.c: Ditto.
|
|
|
|
|
* dfp.c: Ditto.
|
|
|
|
|
* dfp.h: Ditto.
|
|
|
|
|
* gdb-demangle.h: Ditto.
|
|
|
|
|
* i386-darwin-nat.c: Ditto.
|
|
|
|
|
* i386-darwin-tdep.c: Ditto.
|
|
|
|
|
* linux-fork.h: Ditto.
|
|
|
|
|
* m32c-tdep.c: Ditto.
|
|
|
|
|
* microblaze-linux-tdep.c: Ditto.
|
|
|
|
|
* microblaze-rom.c: Ditto.
|
|
|
|
|
* microblaze-tdep.c: Ditto.
|
|
|
|
|
* microblaze-tdep.h: Ditto.
|
|
|
|
|
* mips-linux-tdep.h: Ditto.
|
|
|
|
|
* ppc-ravenscar-thread.c: Ditto.
|
|
|
|
|
* ppc-ravenscar-thread.h: Ditto.
|
|
|
|
|
* prologue-value.c: Ditto.
|
|
|
|
|
* prologue-value.h: Ditto.
|
|
|
|
|
* ravenscar-thread.c: Ditto.
|
|
|
|
|
* ravenscar-thread.h: Ditto.
|
|
|
|
|
* sparc-ravenscar-thread.c: Ditto.
|
|
|
|
|
* sparc-ravenscar-thread.h: Ditto.
|
|
|
|
|
* tilegx-linux-tdep.c: Ditto.
|
|
|
|
|
* unwind_stop_reasons.def: Ditto.
|
|
|
|
|
* windows-nat.h: Ditto.
|
|
|
|
|
* xtensa-linux-tdep.c: Ditto.
|
|
|
|
|
* xtensa-xtregs.c: Ditto.
|
|
|
|
|
* regformats/regdat.sh: Ditto.
|
|
|
|
|
* regformats/regdef.h: Ditto.
|
|
|
|
|
|
2013-02-12 18:27:29 +00:00
|
|
|
|
2013-02-12 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* break-catch-sig.c: Update copyright years.
|
|
|
|
|
|
2013-02-12 01:47:49 +00:00
|
|
|
|
2013-02-11 Siva Chandra Reddy <sivachandra@google.com>
|
|
|
|
|
|
|
|
|
|
Add support for a destructor for ui_out data and use it to
|
|
|
|
|
provide a ui_out destructor.
|
|
|
|
|
* ui-out.h: Declare the new ui_out destructor.
|
|
|
|
|
(ui_out_impl): Add a field for data destructor in ui_out_impl.
|
|
|
|
|
* ui-out.c (default_data_destroy): Add a default data destructor
|
|
|
|
|
which does nothing.
|
|
|
|
|
(default_ui_out_impl): Set the new data_destroy field to
|
|
|
|
|
default_data_destroy
|
|
|
|
|
(uo_data_destroy): Local function which invokes the data
|
|
|
|
|
destructor if present.
|
|
|
|
|
(clear_table): Local function which clears the table data of a
|
|
|
|
|
ui_out object.
|
|
|
|
|
(ui_out_destroy): Public function which frees a ui_out object.
|
|
|
|
|
(ui_out_table_end): Use the new clear_table function.
|
|
|
|
|
* cli-out.c (cli_ui_out_impl): Set the new data_destroy field to
|
|
|
|
|
NULL.
|
|
|
|
|
* mi/mi-out.c (mi_ui_out_impl): Set the new data_destroy field
|
|
|
|
|
to NULL.
|
|
|
|
|
|
2013-02-11 22:04:58 +00:00
|
|
|
|
2013-02-11 Doug Evans <dje@google.com>
|
|
|
|
|
|
|
|
|
|
* printcmd.c (printf_c_string,printf_wide_c_string): New functions.
|
|
|
|
|
(printf_decfloat): New function. Broken out from ui_printf.
|
|
|
|
|
Remove unnecessary code to shift the entire format string down.
|
|
|
|
|
(printf_pointer): New function.
|
|
|
|
|
(ui_printf): Code to print C strings, wide C strings, decfloats,
|
|
|
|
|
and pointers moved to separate functions.
|
|
|
|
|
|
2013-02-11 18:05:35 +00:00
|
|
|
|
2013-02-11 Sergio Durigan Junior <sergiodj@redhat.com>
|
|
|
|
|
|
|
|
|
|
* valops.c (value_assign): Handling bitfield offset in
|
|
|
|
|
`lval_internalvar_component' case.
|
|
|
|
|
|
2013-02-08 22:52:20 +00:00
|
|
|
|
2013-02-08 Doug Evans <dje@google.com>
|
|
|
|
|
|
|
|
|
|
* common/format.c (parse_format_string): Fix whitespace.
|
|
|
|
|
|
2013-02-08 13:55:14 +00:00
|
|
|
|
2013-02-08 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
|
|
|
|
|
|
|
|
|
|
* stack.c (return_command): Work around uninitialized variable
|
|
|
|
|
warning.
|
|
|
|
|
|
2013-02-08 12:46:28 +00:00
|
|
|
|
2013-02-08 Yufeng Zhang <yufeng.zhang@arm.com>
|
|
|
|
|
|
|
|
|
|
* aarch64-linux-tdep.c (AARCH64_LINUX_SIZEOF_GREGSET): Change the
|
|
|
|
|
number of the registers from 36 to 34.
|
|
|
|
|
|
2013-02-08 11:11:47 +00:00
|
|
|
|
2013-02-08 Marcus Shawcroft <marcus.shawcroft@arm.com>
|
|
|
|
|
|
|
|
|
|
* NEWS: Mention new AArch64 native and target support.
|
|
|
|
|
|
2013-02-08 09:12:35 +00:00
|
|
|
|
2013-02-08 Marcus Shawcroft <marcus.shawcroft@arm.com>
|
|
|
|
|
|
|
|
|
|
* MAINTAINERS (Write After Approval): Add myself.
|
|
|
|
|
|
2013-02-08 09:00:35 +00:00
|
|
|
|
2013-02-08 Jim MacArthur <jim.macarthur@arm.com>
|
|
|
|
|
Marcus Shawcroft <marcus.shawcroft@arm.com>
|
|
|
|
|
Nigel Stephens <nigel.stephens@arm.com>
|
|
|
|
|
Yufeng Zhang <yufeng.zhang@arm.com>
|
|
|
|
|
|
|
|
|
|
* aarch64-linux-nat.c: New file.
|
|
|
|
|
* config/aarch64/linux.mh: New file.
|
|
|
|
|
* configure.host: Add AArch64.
|
|
|
|
|
* Makefile.in (ALLDEPFILES): Add aarch64-linux-nat.c.
|
|
|
|
|
|
2013-02-07 20:38:23 +00:00
|
|
|
|
2013-02-07 Doug Evans <dje@google.com>
|
|
|
|
|
|
|
|
|
|
* cli/cli-cmds.c (_initialize_cli_cmds): Clarify argument to
|
|
|
|
|
disassemble command.
|
|
|
|
|
|
2013-02-07 10:49:29 +00:00
|
|
|
|
2013-02-07 Marcus Shawcroft <marcus.shawcroft@arm.com>
|
|
|
|
|
|
|
|
|
|
* aarch64-linux-tdep.c (aarch64_linux_init_abi): Call
|
|
|
|
|
set_gdbarch_fetch_tls_load_module_address.
|
|
|
|
|
|
2013-02-06 19:40:04 +00:00
|
|
|
|
2013-02-06 David S. Miller <davem@davemloft.net>
|
|
|
|
|
|
|
|
|
|
* sparc-tdep.c (sparc32_return_value): Handle writing return value when
|
|
|
|
|
using RETURN_VALUE_ABI_PRESERVES_ADDRESS.
|
|
|
|
|
* value.c (struct_return_convention): New function.
|
|
|
|
|
(using_struct_return): Implement in terms of struct_return_convention.
|
|
|
|
|
* value.h (struct_return_convention): Declare.
|
|
|
|
|
* stack.c (return_command): Allow successful overriding of the return
|
|
|
|
|
value when RETURN_VALUE_ABI_PRESERVES_ADDRESS.
|
|
|
|
|
|
2013-02-06 17:05:22 +00:00
|
|
|
|
2013-02-06 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* python/py-type.c (typy_strip_typedefs): Don't call check_typedef
|
|
|
|
|
outside of TRY_CATCH.
|
|
|
|
|
|
2013-02-06 14:45:20 +00:00
|
|
|
|
2013-02-06 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* mi/mi-interp.c: Include "tracepoint.h".
|
|
|
|
|
(mi_tsv_modified): Declare.
|
|
|
|
|
(mi_tsv_created, mi_tsv_deleted): Update declaration.
|
|
|
|
|
(mi_interpreter_init): Call observer_attach_tsv_modified.
|
|
|
|
|
(mi_tsv_modified): New.
|
|
|
|
|
(mi_tsv_created, mi_tsv_deleted): Update.
|
|
|
|
|
* tracepoint.c (trace_variable_command): Call
|
|
|
|
|
observer_notify_tsv_modified if the initial value of tsv is
|
|
|
|
|
changed.
|
|
|
|
|
(delete_trace_state_variable): Call
|
|
|
|
|
observer_notify_tsv_deleted earlier.
|
|
|
|
|
(trace_variable_command): Caller update.
|
|
|
|
|
(create_tsv_from_upload): Likewise.
|
|
|
|
|
* observer.sh: Declare "struct trace_state_variable".
|
|
|
|
|
|
|
|
|
|
* NEWS: Mention the new MI notification "=tsv-modified".
|
|
|
|
|
|
2013-02-05 21:31:31 +00:00
|
|
|
|
2013-02-05 Doug Evans <dje@google.com>
|
|
|
|
|
|
|
|
|
|
* completer.c (location_completer): Fix typo in comment.
|
|
|
|
|
|
2013-02-05 20:23:19 +00:00
|
|
|
|
2013-02-05 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
* breakpoint.c (add_location_to_breakpoint): Insert the location with
|
|
|
|
|
ADDRESS sorted.
|
|
|
|
|
|
2013-02-05 13:54:38 +00:00
|
|
|
|
2013-02-05 Marcus Shawcroft <marcus.shawcroft@arm.com>
|
|
|
|
|
|
|
|
|
|
* aarch64-tdep.c (aarch64_analyze_prologue): ARI fix:
|
|
|
|
|
Refactor if statement to avoid trailing || operator.
|
|
|
|
|
|
2013-02-05 05:59:55 +00:00
|
|
|
|
2013-02-05 Andreas Tobler <andreast@fgznet.ch>
|
|
|
|
|
|
|
|
|
|
* NEWS: Add PowerPC FreeBSD as a new native configuration.
|
|
|
|
|
|
2013-02-04 20:48:53 +00:00
|
|
|
|
2013-02-04 Andreas Tobler <andreast@fgznet.ch>
|
|
|
|
|
|
|
|
|
|
* Makefile.in (ALL_TARGET_OBS): Add powerpc FreeBSD files.
|
|
|
|
|
* configure.host: Add powerpc*-*-freebsd* target.
|
|
|
|
|
* configure.tgt: Add target info for powerpc*-*-freebsd*.
|
|
|
|
|
* ppcfbsd-nat.c, ppcfbsd-tdep.h, ppcfbsd-tdep.c: New files.
|
|
|
|
|
* config/powerpc/fbsd.mh: New file.
|
|
|
|
|
|
2013-02-04 18:40:41 +00:00
|
|
|
|
2013-02-04 Sergio Durigan Junior <sergiodj@redhat.com>
|
|
|
|
|
Denys Vlasenko <dvlasenk@redhat.com>
|
|
|
|
|
Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* gdbarch.sh (elfcore_write_linux_prpsinfo): New F hook.
|
|
|
|
|
(struct elf_internal_linux_prpsinfo): Forward declare.
|
|
|
|
|
* gdbarch.h, gdbarch.c: Regenerate.
|
|
|
|
|
* linux-tdep.c: Include `cli/cli-utils.h'.
|
|
|
|
|
(linux_fill_prpsinfo): New function.
|
|
|
|
|
(linux_make_corefile_notes): Use linux_fill_prpsinfo. If there's
|
|
|
|
|
an elfcore_write_linux_prpsinfo hook, use it, otherwise, use
|
|
|
|
|
elfcore_write_linux_prpsinfo32 or elfcore_write_linux_prpsinfo64
|
|
|
|
|
depending on gdbarch pointer bitness.
|
|
|
|
|
* ppc-linux-tdep.c: Include elf-bfd.h.
|
|
|
|
|
(ppc_linux_init_abi): Hook in elfcore_write_ppc_linux_prpsinfo32
|
|
|
|
|
on 32-bit.
|
|
|
|
|
|
2013-02-04 18:20:05 +00:00
|
|
|
|
2013-02-04 Jim MacArthur <jim.macarthur@arm.com>
|
|
|
|
|
Marcus Shawcroft <marcus.shawcroft@arm.com>
|
|
|
|
|
Nigel Stephens <nigel.stephens@arm.com>
|
|
|
|
|
Yufeng Zhang <yufeng.zhang@arm.com>
|
|
|
|
|
|
|
|
|
|
* configure.tgt (aarch64*-*-linux*): Set build_gdbserver=yes.
|
|
|
|
|
|
2013-02-04 12:57:44 +00:00
|
|
|
|
2013-02-04 Jim MacArthur <jim.macarthur@arm.com>
|
|
|
|
|
Marcus Shawcroft <marcus.shawcroft@arm.com>
|
|
|
|
|
Nigel Stephens <nigel.stephens@arm.com>
|
|
|
|
|
Yufeng Zhang <yufeng.zhang@arm.com>
|
|
|
|
|
|
|
|
|
|
* aarch64-newlib-tdep.c: New file.
|
|
|
|
|
* configure.tgt: Add aarch64-newlib-tdep.o to gdb_target_obs of
|
|
|
|
|
aarch64*-*-elf.
|
|
|
|
|
* defs.h (enum gdb_osabi): Add GDB_OSABI_NEWLIB.
|
|
|
|
|
* Makefile.in (ALL_64_TARGET_OBS): Add aarch64-newlib-tdep.o.
|
|
|
|
|
(ALLDEPFILES): Add aarch64-newlib-tdep.c.
|
|
|
|
|
* osabi.c (gdb_osabi_names): Add "Newlib".
|
|
|
|
|
|
2013-02-04 12:53:59 +00:00
|
|
|
|
2013-02-04 Jim MacArthur <jim.macarthur@arm.com>
|
|
|
|
|
Marcus Shawcroft <marcus.shawcroft@arm.com>
|
|
|
|
|
Nigel Stephens <nigel.stephens@arm.com>
|
|
|
|
|
Yufeng Zhang <yufeng.zhang@arm.com>
|
|
|
|
|
|
|
|
|
|
* Makefile.in (ALL_64_TARGET_OBS): Add aarch64-linux-tdep.o.
|
|
|
|
|
(ALLDEPFILES): Add aarch64-linux-tdep.c.
|
|
|
|
|
* aarch64-linux-tdep.c: New file.
|
|
|
|
|
* aarch64-linux-tdep.h: New file.
|
|
|
|
|
* aarch64-tdep.h (gdbarch_tdep): Define gregset and fpregset.
|
|
|
|
|
* configure.tgt: Add aarch64-none-linux-gnu.
|
|
|
|
|
|
2013-02-04 12:48:37 +00:00
|
|
|
|
2013-02-04 Jim MacArthur <jim.macarthur@arm.com>
|
|
|
|
|
Marcus Shawcroft <marcus.shawcroft@arm.com>
|
|
|
|
|
Nigel Stephens <nigel.stephens@arm.com>
|
|
|
|
|
Yufeng Zhang <yufeng.zhang@arm.com>
|
|
|
|
|
|
|
|
|
|
* Makefile.in (ALL_64_TARGET_OBS): Add arch64-tdep.o.
|
|
|
|
|
(HFILES_NO_SRCDIR): Add aarch64-tdep.h.
|
|
|
|
|
(ALLDEPFILES): Add aarch64-tdep.c.
|
|
|
|
|
* aarch64-tdep.c: New file.
|
|
|
|
|
* aarch64-tdep.h: New file.
|
|
|
|
|
* configure.tgt: Add AArch64.
|
|
|
|
|
* features/Makefile (WHICH): Add aarch64 and aarch64-without-fpu.
|
|
|
|
|
(aarch64-expedite): New definition.
|
|
|
|
|
* features/aarch64-core.xml: New file.
|
|
|
|
|
* features/aarch64-fpu.xml: New file.
|
|
|
|
|
* features/aarch64-without-fpu.c: New file (generated).
|
|
|
|
|
* features/aarch64-without-fpu.xml: New file.
|
|
|
|
|
* features/aarch64.c: New file (generated).
|
|
|
|
|
* features/aarch64.xml: New file.
|
|
|
|
|
* regformats/aarch64-without-fpu.dat: New file (generated).
|
|
|
|
|
* regformats/aarch64.dat: New file (generated).
|
|
|
|
|
|
2013-02-03 16:27:57 +00:00
|
|
|
|
2013-02-03 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
* contrib/expect-read1.c: New file.
|
|
|
|
|
* contrib/expect-read1.sh: New file.
|
|
|
|
|
|
2013-02-03 16:25:56 +00:00
|
|
|
|
2013-02-03 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
* dwarf2read.c (file_file_name): New function with code from
|
|
|
|
|
file_full_name.
|
|
|
|
|
(file_full_name): Move most of the code to file_file_name.
|
|
|
|
|
(macro_start_file): Rename variable full_name to file_name and use
|
|
|
|
|
file_file_name for it. Add comp_dir parameter to new_macro_table.
|
|
|
|
|
* macrocmd.c (show_pp_source_pos): New variable fullname. Replace any
|
|
|
|
|
macro_source_file->filename access by macro_source_fullname call.
|
|
|
|
|
* macroscope.c (_initialize_macroscope): Update the new_macro_table
|
|
|
|
|
caller.
|
|
|
|
|
* macrotab.c (struct macro_table): New field comp_dir.
|
|
|
|
|
(macro_include): New variables link_fullname and source_fullname.
|
|
|
|
|
Replace any macro_source_file->filename access by macro_source_fullname
|
|
|
|
|
call.
|
|
|
|
|
(macro_lookup_inclusion): Remove the partial filenames checking code.
|
|
|
|
|
(check_for_redefinition): New variables source_fullname and
|
|
|
|
|
found_key_fullname. Replace any macro_source_file->filename access by
|
|
|
|
|
macro_source_fullname call.
|
|
|
|
|
(macro_undef): New variables source_fullname and key_fullname. Replace
|
|
|
|
|
any macro_source_file->filename access by macro_source_fullname call.
|
|
|
|
|
(macro_lookup_definition): New variables retval and source_fullname.
|
|
|
|
|
Replace any macro_source_file->filename access by macro_source_fullname
|
|
|
|
|
call.
|
|
|
|
|
(foreach_macro): New variable key_fullname. Replace any
|
|
|
|
|
macro_source_file->filename access by macro_source_fullname call.
|
|
|
|
|
(foreach_macro_in_scope): New variable datum_fullname. Replace any
|
|
|
|
|
macro_source_file->filename access by macro_source_fullname call.
|
|
|
|
|
(new_macro_table): Add parameter comp_dir. Initialize T with it.
|
|
|
|
|
(macro_source_fullname): New function.
|
|
|
|
|
* macrotab.h (struct macro_source_file): Extent the filename field
|
|
|
|
|
comment.
|
|
|
|
|
(new_macro_table): New parameter comp_dir, add a comment for it.
|
|
|
|
|
(macro_source_fullname): new declaration.
|
|
|
|
|
|
2013-02-03 16:22:29 +00:00
|
|
|
|
2013-02-03 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
* dwarf2read.c (dw2_map_symtabs_matching_filename): Move variable
|
|
|
|
|
this_real_name to outer block. Use it also for
|
|
|
|
|
compare_filenames_for_search.
|
|
|
|
|
(dw2_expand_symtabs_matching): New variable this_real_name. Use it
|
|
|
|
|
with dw2_get_real_path for file_matcher, considering also
|
|
|
|
|
BASENAMES_MAY_DIFFER.
|
|
|
|
|
(file_full_name): Prepend COMP_DIR even for relative lh->INCLUDE_DIRS.
|
|
|
|
|
|
2013-02-03 16:20:20 +00:00
|
|
|
|
2013-02-03 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
* dwarf2read.c (dw2_expand_symtabs_matching): Add basenames parameter
|
|
|
|
|
to the file_matcher parameter. Pass 0 to it.
|
|
|
|
|
(dwarf2_create_include_psymtab): Copy also DIRNAME.
|
|
|
|
|
* psymtab.c (partial_map_symtabs_matching_filename): Drop handling of
|
|
|
|
|
NULL psymtab_to_fullname result.
|
|
|
|
|
(psymtab_to_fullname): Remove variable r. Never return NULL, assemble
|
|
|
|
|
an expected filename instead.
|
|
|
|
|
(expand_symtabs_matching_via_partial): Add basenames parameter to the
|
|
|
|
|
file_matcher parameter. Call also psymtab_to_fullname, after newly
|
|
|
|
|
considering BASENAMES_MAY_DIFFER.
|
|
|
|
|
* source.c (rewrite_source_path): Remove static.
|
|
|
|
|
* source.h (rewrite_source_path): New declaration.
|
|
|
|
|
* symfile.h (struct quick_symbol_functions): Add basenames parameter to
|
|
|
|
|
the expand_symtabs_matching field. Comment it.
|
|
|
|
|
* symtab.c (file_matches): New function comment. Add parameter
|
|
|
|
|
basenames, implement it.
|
|
|
|
|
(search_symbols_file_matches): Add basenames parameter. Update the
|
|
|
|
|
file_matches caller.
|
|
|
|
|
(search_symbols): Match FILES also against symtab_to_fullname.
|
|
|
|
|
Optimize it for BASENAMES_MAY_DIFFER.
|
|
|
|
|
|
2013-02-03 16:16:42 +00:00
|
|
|
|
2013-02-03 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
* source.c (print_source_lines_base): Print for TUI also "fullname".
|
|
|
|
|
* tui/tui-data.c (init_content_element): Change tui_locator_element
|
|
|
|
|
field to full_name.
|
|
|
|
|
* tui/tui-data.h (struct tui_locator_element): Likewise.
|
|
|
|
|
* tui/tui-disasm.c (tui_show_disassem_and_update_source): Rename
|
|
|
|
|
tui_update_locator_filename calls to tui_update_locator_fullname.
|
|
|
|
|
Replace symtab->filename refererence by symtab_to_fullname call.
|
|
|
|
|
* tui/tui-out.c (tui_field_string): Check for "fullname" now.
|
|
|
|
|
* tui/tui-source.c (tui_set_source_content): Change tui_locator_element
|
|
|
|
|
field to full_name. Replace symtab->filename refererence by
|
|
|
|
|
symtab_to_fullname call.
|
|
|
|
|
(tui_show_symtab_source): Rename parameter to fullname. Change
|
|
|
|
|
tui_locator_element field to full_name.
|
|
|
|
|
* tui/tui-stack.c: Include source.h.
|
|
|
|
|
(tui_set_locator_filename): Rename the declaration to ...
|
|
|
|
|
(tui_set_locator_fullname): ... here. Rename its parameter to
|
|
|
|
|
fullname, updates its comment.
|
|
|
|
|
(tui_set_locator_info): Rename its parameter to fullname.
|
|
|
|
|
(tui_set_locator_filename): Rename the definition to ...
|
|
|
|
|
(tui_set_locator_fullname): ... here. Rename its parameter to
|
|
|
|
|
fullname, updates its comment. Change tui_locator_element field to
|
|
|
|
|
full_name.
|
|
|
|
|
(tui_set_locator_info): Rename its parameter to fullname.
|
|
|
|
|
(tui_set_locator_info): Rename callee to tui_set_locator_fullname.
|
|
|
|
|
(tui_update_locator_filename): Rename to ...
|
|
|
|
|
(tui_update_locator_fullname): ... here. Rename callee to
|
|
|
|
|
tui_set_locator_fullname.
|
|
|
|
|
(tui_show_frame_info): Replace symtab->filename refererence by
|
|
|
|
|
symtab_to_fullname call.
|
|
|
|
|
* tui/tui-stack.h (tui_update_locator_filename): Rename to ...
|
|
|
|
|
(tui_update_locator_fullname): ... here.
|
|
|
|
|
* tui/tui-winsource.c (tui_display_main): Rename the callee to
|
|
|
|
|
tui_update_locator_fullname. Replace symtab->filename refererence by
|
|
|
|
|
symtab_to_fullname call.
|
|
|
|
|
* tui/tui.c (tui_show_source): Rename its parameter to fullname.
|
|
|
|
|
Rename the callee to tui_update_locator_fullname.
|
|
|
|
|
* tui/tui.h (tui_show_source): Rename its parameter to fullname.
|
|
|
|
|
|
gdb/
* ada-lang.c (user_select_syms): Replace symtab->filename refererences
by symtab_to_filename_for_display calls.
* breakpoint.c (print_breakpoint_location, resolve_sal_pc): Likewise.
(clear_command): New variable sal_fullname, initialize it. Replace
compare_filenames_for_search by filename_cmp with sal_fullname.
(say_where, update_static_tracepoint): Replace symtab->filename
refererences by symtab_to_filename_for_display calls.
* cli/cli-cmds.c (edit_command, list_command, ambiguous_line_spec):
Likewise.
* dwarf2read.c: Include source.h.
(fixup_go_packaging): Replace symtab->filename refererences by
symtab_to_filename_for_display calls.
* linespec.c (add_sal_to_sals): Rename variable filename to fullname.
Replace symtab->filename refererences by symtab_to_filename_for_display
calls.
(create_sals_line_offset, convert_linespec_to_sals): New variable
fullname, initialize it, replace symtab->filename reference by the
variable.
* linux-fork.c: Include source.h.
(info_checkpoints_command): Replace symtab->filename refererences by
symtab_to_filename_for_display calls.
* macroscope.c (sal_macro_scope): Replace symtab->filename refererences
by symtab_to_filename_for_display calls.
* mdebugread.c: Include source.h.
(psymtab_to_symtab_1): Replace symtab->filename refererences by
symtab_to_filename_for_display calls.
* mi/mi-cmd-file.c (mi_cmd_file_list_exec_source_file)
(mi_cmd_file_list_exec_source_files): Likewise.
* printcmd.c: Include source.h.
(build_address_symbolic): Replace symtab->filename refererences by
symtab_to_filename_for_display calls.
* psymtab.c (partial_map_symtabs_matching_filename)
(read_psymtabs_with_fullname): Call compare_filenames_for_search also
with psymtab_to_fullname.
* python/py-symtab.c (stpy_str): Replace symtab->filename refererences
by symtab_to_filename_for_display calls.
(stpy_get_filename): New variable filename, initialize it, use instead
of symtab->filename refererences.
(salpy_str): Make variable filename const char *. Replace
symtab->filename refererences by symtab_to_filename_for_display calls.
* skip.c: Include source.h and filenames.h.
(skip_file_command): Remove const from the symtab variable. Replace
symtab->filename refererences by symtab_to_fullname call.
(function_name_is_marked_for_skip): New variables searched_for_fullname
and fullname. Use them to search also with symtab's fullname.
* source.c (find_source_lines): Replace symtab->filename refererences
by symtab_to_filename_for_display calls.
(print_source_lines_base): New variable filename, use it instead of
symtab->filename. Replace symtab->filename refererences by
symtab_to_filename_for_display calls.
(line_info, forward_search_command): Replace symtab->filename
refererences by symtab_to_filename_for_display calls.
(reverse_search_command): Replace symtab->filename refererences by
symtab_to_filename_for_display calls. New variable filename for it.
* stack.c (frame_info): Likewise.
* symmisc.c: Include source.h.
(dump_objfile, dump_symtab_1, maintenance_print_symbols)
(maintenance_info_symtabs): Replace symtab->filename refererences by
symtab_to_filename_for_display calls.
* symtab.c (iterate_over_some_symtabs): Call
compare_filenames_for_search also with symtab_to_fullname.
(lookup_symbol_aux_quick, basic_lookup_transparent_type_quick): Replace
symtab->filename refererences by symtab_to_filename_for_display calls.
(find_line_symtab): Replace symtab->filename refererences by
symtab_to_filename_for_display calls.
(file_matches): Replace filename_cmp by compare_filenames_for_search.
(print_symbol_info): Make the last parameter const char *. New
variable s_filename. Use it in the function.
(symtab_symbol_info): Make the last_filename variable const char *.
Replace symtab->filename refererences by symtab_to_filename_for_display
calls.
(rbreak_command): New variable fullname. Use it. Replace
symtab->filename refererence by symtab_to_filename_for_display call.
* tracepoint.c (set_traceframe_context, trace_find_line_command)
(print_one_static_tracepoint_marker): Replace symtab->filename
refererences by symtab_to_filename_for_display calls.
* tui/tui-source.c (tui_set_source_content): New variables filename and
s_filename. Replace symtab->filename refererences by this variable.
Replace other symtab->filename refererences by
symtab_to_filename_for_display calls.
2013-02-03 16:13:31 +00:00
|
|
|
|
2013-02-03 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
* ada-lang.c (user_select_syms): Replace symtab->filename refererences
|
|
|
|
|
by symtab_to_filename_for_display calls.
|
|
|
|
|
* breakpoint.c (print_breakpoint_location, resolve_sal_pc): Likewise.
|
|
|
|
|
(clear_command): New variable sal_fullname, initialize it. Replace
|
|
|
|
|
compare_filenames_for_search by filename_cmp with sal_fullname.
|
|
|
|
|
(say_where, update_static_tracepoint): Replace symtab->filename
|
|
|
|
|
refererences by symtab_to_filename_for_display calls.
|
|
|
|
|
* cli/cli-cmds.c (edit_command, list_command, ambiguous_line_spec):
|
|
|
|
|
Likewise.
|
|
|
|
|
* dwarf2read.c: Include source.h.
|
|
|
|
|
(fixup_go_packaging): Replace symtab->filename refererences by
|
|
|
|
|
symtab_to_filename_for_display calls.
|
|
|
|
|
* linespec.c (add_sal_to_sals): Rename variable filename to fullname.
|
|
|
|
|
Replace symtab->filename refererences by symtab_to_filename_for_display
|
|
|
|
|
calls.
|
|
|
|
|
(create_sals_line_offset, convert_linespec_to_sals): New variable
|
|
|
|
|
fullname, initialize it, replace symtab->filename reference by the
|
|
|
|
|
variable.
|
|
|
|
|
* linux-fork.c: Include source.h.
|
|
|
|
|
(info_checkpoints_command): Replace symtab->filename refererences by
|
|
|
|
|
symtab_to_filename_for_display calls.
|
|
|
|
|
* macroscope.c (sal_macro_scope): Replace symtab->filename refererences
|
|
|
|
|
by symtab_to_filename_for_display calls.
|
|
|
|
|
* mdebugread.c: Include source.h.
|
|
|
|
|
(psymtab_to_symtab_1): Replace symtab->filename refererences by
|
|
|
|
|
symtab_to_filename_for_display calls.
|
|
|
|
|
* mi/mi-cmd-file.c (mi_cmd_file_list_exec_source_file)
|
|
|
|
|
(mi_cmd_file_list_exec_source_files): Likewise.
|
|
|
|
|
* printcmd.c: Include source.h.
|
|
|
|
|
(build_address_symbolic): Replace symtab->filename refererences by
|
|
|
|
|
symtab_to_filename_for_display calls.
|
|
|
|
|
* psymtab.c (partial_map_symtabs_matching_filename)
|
|
|
|
|
(read_psymtabs_with_fullname): Call compare_filenames_for_search also
|
|
|
|
|
with psymtab_to_fullname.
|
|
|
|
|
* python/py-symtab.c (stpy_str): Replace symtab->filename refererences
|
|
|
|
|
by symtab_to_filename_for_display calls.
|
|
|
|
|
(stpy_get_filename): New variable filename, initialize it, use instead
|
|
|
|
|
of symtab->filename refererences.
|
|
|
|
|
(salpy_str): Make variable filename const char *. Replace
|
|
|
|
|
symtab->filename refererences by symtab_to_filename_for_display calls.
|
|
|
|
|
* skip.c: Include source.h and filenames.h.
|
|
|
|
|
(skip_file_command): Remove const from the symtab variable. Replace
|
|
|
|
|
symtab->filename refererences by symtab_to_fullname call.
|
|
|
|
|
(function_name_is_marked_for_skip): New variables searched_for_fullname
|
|
|
|
|
and fullname. Use them to search also with symtab's fullname.
|
|
|
|
|
* source.c (find_source_lines): Replace symtab->filename refererences
|
|
|
|
|
by symtab_to_filename_for_display calls.
|
|
|
|
|
(print_source_lines_base): New variable filename, use it instead of
|
|
|
|
|
symtab->filename. Replace symtab->filename refererences by
|
|
|
|
|
symtab_to_filename_for_display calls.
|
|
|
|
|
(line_info, forward_search_command): Replace symtab->filename
|
|
|
|
|
refererences by symtab_to_filename_for_display calls.
|
|
|
|
|
(reverse_search_command): Replace symtab->filename refererences by
|
|
|
|
|
symtab_to_filename_for_display calls. New variable filename for it.
|
|
|
|
|
* stack.c (frame_info): Likewise.
|
|
|
|
|
* symmisc.c: Include source.h.
|
|
|
|
|
(dump_objfile, dump_symtab_1, maintenance_print_symbols)
|
|
|
|
|
(maintenance_info_symtabs): Replace symtab->filename refererences by
|
|
|
|
|
symtab_to_filename_for_display calls.
|
|
|
|
|
* symtab.c (iterate_over_some_symtabs): Call
|
|
|
|
|
compare_filenames_for_search also with symtab_to_fullname.
|
|
|
|
|
(lookup_symbol_aux_quick, basic_lookup_transparent_type_quick): Replace
|
|
|
|
|
symtab->filename refererences by symtab_to_filename_for_display calls.
|
|
|
|
|
(find_line_symtab): Replace symtab->filename refererences by
|
|
|
|
|
symtab_to_filename_for_display calls.
|
|
|
|
|
(file_matches): Replace filename_cmp by compare_filenames_for_search.
|
|
|
|
|
(print_symbol_info): Make the last parameter const char *. New
|
|
|
|
|
variable s_filename. Use it in the function.
|
|
|
|
|
(symtab_symbol_info): Make the last_filename variable const char *.
|
|
|
|
|
Replace symtab->filename refererences by symtab_to_filename_for_display
|
|
|
|
|
calls.
|
|
|
|
|
(rbreak_command): New variable fullname. Use it. Replace
|
|
|
|
|
symtab->filename refererence by symtab_to_filename_for_display call.
|
|
|
|
|
* tracepoint.c (set_traceframe_context, trace_find_line_command)
|
|
|
|
|
(print_one_static_tracepoint_marker): Replace symtab->filename
|
|
|
|
|
refererences by symtab_to_filename_for_display calls.
|
|
|
|
|
* tui/tui-source.c (tui_set_source_content): New variables filename and
|
|
|
|
|
s_filename. Replace symtab->filename refererences by this variable.
|
|
|
|
|
Replace other symtab->filename refererences by
|
|
|
|
|
symtab_to_filename_for_display calls.
|
|
|
|
|
|
2013-02-03 16:09:33 +00:00
|
|
|
|
2013-02-03 Eldar Gaynetdinov <hal9000ed2k@gmail.com>
|
|
|
|
|
Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
Add a new variable that controls a way in which filenames are
|
|
|
|
|
displayed.
|
|
|
|
|
* NEWS (set filename-display): New entry.
|
|
|
|
|
* source.c (filename_display_basename, filename_display_relative)
|
|
|
|
|
(filename_display_absolute, filename_display_kind_names)
|
|
|
|
|
(filename_display_string, show_filename_display_string)
|
|
|
|
|
(symtab_to_filename_for_display): New.
|
|
|
|
|
(_initialize_source): Added initialization of 'filename-display'
|
|
|
|
|
variable.
|
|
|
|
|
* source.h (symtab_to_filename_for_display): Added declaration.
|
|
|
|
|
* stack.c (print_frame): Added new variable and calling of a new
|
|
|
|
|
function and condition with this variable. Changed third argument of
|
|
|
|
|
calling of a function.
|
|
|
|
|
|
2013-02-03 16:05:09 +00:00
|
|
|
|
2013-02-03 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
* tui/tui-data.c (init_win_info, tui_del_window, tui_free_window):
|
|
|
|
|
Rename field reference filename to fullname.
|
|
|
|
|
* tui/tui-data.h (struct tui_source_info): Rename field filename to
|
|
|
|
|
fullname. New comment for it.
|
|
|
|
|
* tui/tui-source.c (tui_set_source_content): Rename field reference
|
|
|
|
|
filename to fullname. Initialize field by symtab_to_fullname now.
|
|
|
|
|
* tui/tui-winsource.c (tui_update_breakpoint_info): Rename field
|
|
|
|
|
reference filename to fullname. Use symtab_to_fullname during
|
|
|
|
|
comparison.
|
|
|
|
|
|
2013-02-03 16:03:07 +00:00
|
|
|
|
2013-02-03 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
Code cleanup.
|
|
|
|
|
* dwarf2read.c (dw2_expand_symtabs_with_filename): Rename to ...
|
|
|
|
|
(dw2_expand_symtabs_with_fullname): ... here. Rename parameter
|
|
|
|
|
filename to fullname. Rename variable this_name to this_fullname.
|
|
|
|
|
Lowercase FILENAME_CMP call.
|
|
|
|
|
(dw2_find_symbol_file): New comment for the returned string.
|
|
|
|
|
(dwarf2_gdb_index_functions): Rename the function to
|
|
|
|
|
dw2_expand_symtabs_with_fullname.
|
|
|
|
|
* psymtab.c (read_psymtabs_with_filename): Rename to ...
|
|
|
|
|
(read_psymtabs_with_fullname): ... here. Rename parameter filename to
|
|
|
|
|
fullname.
|
|
|
|
|
(psym_functions): Rename the function to read_psymtabs_with_fullname.
|
|
|
|
|
* symfile.h (struct quick_symbol_functions): Rename field
|
|
|
|
|
expand_symtabs_with_filename to expand_symtabs_with_fullname and its
|
|
|
|
|
parameter filename to fullname. Document returned string meaning for
|
|
|
|
|
find_symbol_file.
|
|
|
|
|
* symtab.c (find_line_symtab): Rename the called function to
|
|
|
|
|
expand_symtabs_with_fullname.
|
|
|
|
|
|
2013-02-03 16:00:36 +00:00
|
|
|
|
2013-02-03 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
Code cleanup.
|
|
|
|
|
* breakpoint.c (clear_command): Remove variable is_abs, unify the
|
|
|
|
|
call of filename_cmp with compare_filenames_for_search.
|
|
|
|
|
* dwarf2read.c (dw2_map_symtabs_matching_filename): Remove variable
|
|
|
|
|
is_abs, unify the call of FILENAME_CMP with
|
|
|
|
|
compare_filenames_for_search. New gdb_asserts for real_path and name.
|
|
|
|
|
Unify the call of compare_filenames_for_search with FILENAME_CMP.
|
|
|
|
|
* psymtab.c (partial_map_symtabs_matching_filename): Likewise.
|
|
|
|
|
* symfile.h (struct quick_symbol_functions): Extend the comment for
|
|
|
|
|
map_symtabs_matching_filename.
|
|
|
|
|
* symtab.c (compare_filenames_for_search): Remove the function comment
|
|
|
|
|
relative path requirement. Handle absolute filenames, with a comment.
|
|
|
|
|
(iterate_over_some_symtabs): Remove variable is_abs, unify the call of
|
|
|
|
|
FILENAME_CMP with compare_filenames_for_search. New gdb_asserts for
|
|
|
|
|
real_path and name. Unify the call of compare_filenames_for_search
|
|
|
|
|
with FILENAME_CMP.
|
|
|
|
|
(iterate_over_symtabs): New gdb_assert on REAL_PATH.
|
|
|
|
|
|
2013-02-03 15:57:07 +00:00
|
|
|
|
2013-02-03 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
Code cleanup.
|
|
|
|
|
* breakpoint.c (print_breakpoint_location): Replace bp_location field
|
|
|
|
|
source_file references by symtab field references. Remove variables
|
|
|
|
|
sal and fullname.
|
|
|
|
|
(momentary_breakpoint_from_master, add_location_to_breakpoint):
|
|
|
|
|
(clear_command, say_where): Replace bp_location field source_file
|
|
|
|
|
references by symtab field references.
|
|
|
|
|
(bp_location_dtor): Remove the source_file reference.
|
|
|
|
|
(update_static_tracepoint): Replace bp_location field source_file
|
|
|
|
|
references by symtab field references.
|
|
|
|
|
(breakpoint_free_objfile): New function.
|
|
|
|
|
* breakpoint.h (struct bp_location): Extend the comment for line_number.
|
|
|
|
|
Replace the field source_file by field symtab, extend its comment.
|
|
|
|
|
(breakpoint_free_objfile): New declaration.
|
|
|
|
|
* objfiles.c (free_objfile): Call breakpoint_free_objfile.
|
|
|
|
|
* tui/tui-winsource.c (tui_update_breakpoint_info): Replace bp_location
|
|
|
|
|
field source_file references by symtab field references.
|
|
|
|
|
|
2013-02-03 15:54:18 +00:00
|
|
|
|
2013-02-03 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
Replace xfullpath calls by gdb_realpath calls.
|
|
|
|
|
* cli/cli-cmds.c (find_and_open_script): Remove xfullpath from the
|
|
|
|
|
function comment.
|
|
|
|
|
* dwarf2read.c (dw2_map_expand_apply): Remove parameter full_path.
|
|
|
|
|
Remove it from the iterate_over_some_symtabs call.
|
|
|
|
|
(dw2_map_symtabs_matching_filename): Remove parameter full_path.
|
|
|
|
|
Remove it from the dw2_map_expand_apply calls, remove a block handling
|
|
|
|
|
it.
|
|
|
|
|
* psymtab.c (partial_map_expand_apply): Remove parameter full_path.
|
|
|
|
|
Remove it from the iterate_over_some_symtabs call.
|
|
|
|
|
(partial_map_symtabs_matching_filename): Remove parameter full_path.
|
|
|
|
|
Remove it from the partial_map_expand_apply calls, remove a block
|
|
|
|
|
handling it. Drop gdb_realpath call and cleanups from the real_path
|
|
|
|
|
handling.
|
|
|
|
|
* source.c (openp): Drop the comment part about xfullpath. Replace
|
|
|
|
|
xfullpath calls by gdb_realpath calls.
|
|
|
|
|
(find_and_open_source): Replace xfullpath call by gdb_realpath call.
|
|
|
|
|
* symfile.h (struct quick_symbol_functions): Remove parameter full_path
|
|
|
|
|
from method map_symtabs_matching_filename and its comment.
|
|
|
|
|
* symmisc.c (maintenance_print_msymbols): Replace xfullpath call by
|
|
|
|
|
gdb_realpath call.
|
|
|
|
|
* symtab.c (iterate_over_some_symtabs): Remove parameter full_path,
|
|
|
|
|
remove it also from the function comment, remove a block handling it.
|
|
|
|
|
Drop gdb_realpath call and cleanups from the real_path handling.
|
|
|
|
|
(iterate_over_symtabs): Drop variable full_path and its use.
|
|
|
|
|
* symtab.h (iterate_over_some_symtabs): Remove parameter full_path.
|
|
|
|
|
* utils.c (xfullpath): Remove.
|
|
|
|
|
* utils.h (xfullpath): Remove.
|
|
|
|
|
|
2013-02-01 20:54:18 +00:00
|
|
|
|
2013-02-01 Andreas Tobler <andreast@fgznet.ch>
|
|
|
|
|
|
|
|
|
|
* Makefile.in (ALL_TARGET_OBS): Add ppc64-tdep.o.
|
|
|
|
|
(HFILES_NO_SRCDIR): Add ppc64-tdep.h.
|
|
|
|
|
(ALLDEPFILES): Add ppc64-tdep.c.
|
|
|
|
|
* configure.tgt (powerpc-*-linux* | powerpc64-*-linux*): Add
|
|
|
|
|
ppc64-tdep.o to gdb_target_obs.
|
|
|
|
|
* ppc64-tdep.h: New file.
|
|
|
|
|
* ppc64-tdep.c: New file.
|
|
|
|
|
(insn_d, insn_ds, insn_xfx, ppc64_desc_entry_point): Move from
|
|
|
|
|
ppc-linux-tdep.c to here.
|
|
|
|
|
(PPC64_STANDARD_LINKAGE1_LEN, PPC64_STANDARD_LINKAGE2_LEN)
|
|
|
|
|
(PPC64_STANDARD_LINKAGE2_LEN): Likewise and use ARRAY_SIZE macro.
|
|
|
|
|
(ppc64_standard_linkage1_target, ppc64_standard_linkage2_target)
|
|
|
|
|
(ppc64_standard_linkage3_target, ppc64_skip_trampoline_code): Move
|
|
|
|
|
from ppc-linux-tdep.c to here.
|
|
|
|
|
(ppc64_convert_from_func_ptr_addr): Rename from
|
|
|
|
|
ppc64_linux_convert_from_func_ptr_addr to
|
|
|
|
|
ppc64_convert_from_func_ptr_addr and move from ppc-linux-tdep.c to
|
|
|
|
|
here.
|
|
|
|
|
* rs6000-tdep.c:
|
|
|
|
|
(read_insn): Move from ppc-linux-tdep.c to here.
|
|
|
|
|
(insns_match_pattern, insn_d_field, insn_ds_field): Move
|
|
|
|
|
from ppc-linux-tdep.c to here and rename them with the ppc_ prefix.
|
|
|
|
|
* ppc-linux-tdep.c: Include ppc64-tdep.h.
|
|
|
|
|
Removed above functions.
|
|
|
|
|
(ppc_linux_init_abi): Adjust.
|
|
|
|
|
|
2013-02-01 20:08:45 +00:00
|
|
|
|
2013-02-01 Aleksandar Ristovski <aristovski@qnx.com>
|
|
|
|
|
|
|
|
|
|
* ada-valprint.c (ada_print_floating): Remove unused 'len'.
|
|
|
|
|
|
2013-02-01 20:06:35 +00:00
|
|
|
|
2013-02-01 Aleksandar Ristovski <aristovski@qnx.com>
|
|
|
|
|
|
|
|
|
|
* ada-lang.c (assign_aggregate): Remove unused 'is_array_aggregate'.
|
|
|
|
|
|
2013-02-01 19:58:04 +00:00
|
|
|
|
2013-02-01 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* dummy-frame.c (deprecated_pc_in_call_dummy): Delete function.
|
|
|
|
|
* frame.h (deprecated_pc_in_call_dummy): Delete declaration.
|
|
|
|
|
|
2013-02-01 19:39:04 +00:00
|
|
|
|
2013-02-01 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
* elfread.c (elf_symfile_read): Limit separate debug info additions to
|
|
|
|
|
files with no separate debug info.
|
|
|
|
|
* objfiles.c (add_separate_debug_objfile): Add gdb_assert calls.
|
|
|
|
|
* symfile.c (read_symbols): Call find_separate_debug_file_in_section
|
|
|
|
|
only for files with no separate debug info.
|
|
|
|
|
|
2013-01-31 19:55:15 +00:00
|
|
|
|
2013-01-31 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* jit.c (jit_program_space_data): Rename from jit_inferior_data;
|
|
|
|
|
change type.
|
|
|
|
|
(struct jit_program_space_data): Rename from jit_inferior_data.
|
|
|
|
|
Update comments.
|
|
|
|
|
(get_jit_program_space_data): Rename from get_jit_inferior_data.
|
|
|
|
|
Change return type. Attach data to program space.
|
|
|
|
|
(jit_program_space_data_cleanup): Rename from
|
|
|
|
|
jit_inferior_data_cleanup; change argument type.
|
|
|
|
|
(jit_read_descriptor): Change 'inf_data' argument to 'ps_data',
|
|
|
|
|
change type.
|
|
|
|
|
(jit_register_code): Update.
|
|
|
|
|
(jit_update_inferior_cache): Remove.
|
|
|
|
|
(jit_breakpoint_deleted): Get jit data from the location's program
|
|
|
|
|
space.
|
|
|
|
|
(jit_breakpoint_re_set_internal): Rename 'inf_data' argument to
|
|
|
|
|
'ps_data', change type.
|
|
|
|
|
(jit_inferior_init, jit_breakpoint_re_set_internal)
|
|
|
|
|
(jit_event_handler): Update.
|
|
|
|
|
(free_objfile_data): Get data from objfile's program space.
|
|
|
|
|
(_initialize_jit): Update.
|
|
|
|
|
|
2013-01-31 19:52:03 +00:00
|
|
|
|
2013-01-31 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR gdb/13987:
|
|
|
|
|
* jit.c (struct jit_inferior_data) <cached_code_address,
|
|
|
|
|
jit_breakpoint>: New fields.
|
|
|
|
|
(jit_breakpoint_re_set_internal): Fix logging. Only create
|
|
|
|
|
breakpoint if cached address has changed.
|
|
|
|
|
(jit_update_inferior_cache, jit_breakpoint_deleted): New
|
|
|
|
|
functions.
|
|
|
|
|
(_initialize_jit): Register breakpoint deleted observer.
|
|
|
|
|
|
2013-01-31 19:18:59 +00:00
|
|
|
|
2013-01-31 Aleksandar Ristovski <aristovski@qnx.com>
|
|
|
|
|
|
|
|
|
|
* infrun.c (handle_syscall_event): Remove unused gdbarch.
|
|
|
|
|
(save_infcall_suspend_state): Ifdef out unused inf.
|
|
|
|
|
(restore_infcall_suspend_state): Ifdef out unused inf.
|
|
|
|
|
* jit.c (jit_register_code): Remove unused i, b, inf_data.
|
|
|
|
|
(jit_frame_sniffer): Remove unused inf_data.
|
|
|
|
|
|
2013-01-31 Aleksandar Ristovski <aristovski@qnx.com>
* c-exp.y (classify_inner_name): Remove unused type.
* c-lang.c (c_printstr): Remove unused byte_order, i, things_printed,
in_quotes, need_comma, wchar_buf, output, cleanup, iter, finished,
need_escape.
(c_get_string): Remove unused kind.
* c-typeprint.c (c_type_print_args): Remove unused i, len, args, table2.
Reference: http://sourceware.org/ml/gdb-patches/2013-01/msg00759.html
2013-01-31 18:46:11 +00:00
|
|
|
|
2013-01-31 Aleksandar Ristovski <aristovski@qnx.com>
|
|
|
|
|
|
|
|
|
|
* c-exp.y (classify_inner_name): Remove unused type.
|
|
|
|
|
* c-lang.c (c_printstr): Remove unused byte_order, i, things_printed,
|
|
|
|
|
in_quotes, need_comma, wchar_buf, output, cleanup, iter, finished,
|
|
|
|
|
need_escape.
|
|
|
|
|
(c_get_string): Remove unused kind.
|
|
|
|
|
* c-typeprint.c (c_type_print_args): Remove unused i, len, args, table2.
|
|
|
|
|
|
2013-01-31 18:37:39 +00:00
|
|
|
|
2013-01-31 Aleksandar Ristovski <aristovski@qnx.com>
|
|
|
|
|
|
|
|
|
|
* charset.c (intermediate_encoding): Remove unused i.
|
|
|
|
|
* completer.c (signal_completer): Remove unused i.
|
|
|
|
|
* continuations.c (discard_my_continuations_1): Remove unused
|
|
|
|
|
continuation_ptr.
|
|
|
|
|
* corelow.c (core_close): Remove unuseD name.
|
|
|
|
|
(get_core_siginfo): Remove unused pid.
|
|
|
|
|
* cp-namespace.c (cp_lookup_symbol_imports_or_template): Remove unused
|
|
|
|
|
i, cps.
|
|
|
|
|
* dwarf2loc.c (dwarf2_compile_expr_to_ax): Remove unused base_offset.
|
|
|
|
|
(loclist_describe_location): Remove unused first.
|
|
|
|
|
* event-top.c (command_line_handler): Remove unused got_eof.
|
|
|
|
|
* exec.c (exec_close_1): Remove unused need_symtab_cleanup.
|
|
|
|
|
(resize_section_table): Remove unused old_value.
|
|
|
|
|
* gdb_bfd.c (gdb_bfd_map_section): Remove unused header.
|
|
|
|
|
* gnu-v3-abi.c (compute_vtable_size): Remove unused addr.
|
|
|
|
|
* i386-tdep.c (i386_process_record): Remove unused rex.
|
|
|
|
|
* infcmd.c (get_return_value): Remove unused uiout.
|
|
|
|
|
* jv-lang.c (type_from_class): Remove unused is_array.
|
|
|
|
|
* jv-valprint.c (java_val_print): Remove unused i.
|
|
|
|
|
* linux-nat.c (linux_nat_stop_lwp): Remove unused ptid.
|
|
|
|
|
* linux-thread-db.c (thread_db_find_new_threads_2): Remove unuseD pid.
|
|
|
|
|
* m2-typeprint.c (m2_print_type): Remove unused code.
|
|
|
|
|
* macroexp.c (get_character_constant): Remove unused body_start.
|
|
|
|
|
(macro_stringify): Remove unused result.
|
|
|
|
|
* objc-lang.c (find_methods): Remove unused gdbarch.
|
|
|
|
|
* objfiles.c (filter_overlapping_sections): Remove unused abfd1, abfd2.
|
|
|
|
|
* regcache.c (regcache_cooked_read): Remove unused gdbarch.
|
|
|
|
|
* stack.c (print_frame_args): Remove unused summary.
|
|
|
|
|
* thread.c (thread_apply_command): Remove unused p.
|
|
|
|
|
* valarith.c (value_x_unop): Remove unused mangle_ptr.
|
|
|
|
|
* valops.c (search_struct_method): Remove unused skip.
|
|
|
|
|
* valprint.c (generic_val_print): Remove unused byte_order.
|
|
|
|
|
* varobj.c (varobj_update): Remove unused changed.
|
|
|
|
|
* cli/cli-cmds.c (complete_command): Remove unused next_item.
|
|
|
|
|
(alias_command): Remove unused c.
|
|
|
|
|
* mi/mi-cmd-catch.c (mi_catch_load_unload): Remove unused c.
|
|
|
|
|
* mi/mi-main.c (mi_cmd_data_write_register_values): Remove unused
|
|
|
|
|
format.
|
|
|
|
|
(mi_cmd_data_write_memory): Remove unused word_format.
|
|
|
|
|
(mi_cmd_data_write_memory_bytes): Remove unused r.
|
|
|
|
|
* python/py-gdb-readline.c (gdbpy_readline_wrapper): Remove unused
|
|
|
|
|
p_start, p_end.
|
|
|
|
|
* python/python.c (_initialize_python): Remove unused cmd_name, cmd.
|
|
|
|
|
* tui/tui-disasm.c (tui_set_disassem_content): Remove unused
|
|
|
|
|
line_width.
|
|
|
|
|
|
2013-01-31 18:31:48 +00:00
|
|
|
|
2013-01-31 Aleksandar Ristovski <aristovski@qnx.com>
|
|
|
|
|
|
|
|
|
|
* dwarf2-frame.c (dwarf2_compile_cfa_to_ax): Remove unused num_regs.
|
|
|
|
|
* symtab.c (iterate_over_symtabs): Remove unused s.
|
|
|
|
|
(find_pc_sect_symtab): Remove unused pspAce.
|
|
|
|
|
(find_pc_sect_line): Remove unused alt_symtab.
|
|
|
|
|
(find_pcs_for_symtab_line): Remove unused ix, previous_function.
|
|
|
|
|
(completion_list_add_name): Remove unused newsize.
|
|
|
|
|
|
2013-01-31 17:41:09 +00:00
|
|
|
|
2013-01-31 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR c++/14998:
|
|
|
|
|
* dwarf2read.c (read_tag_ptr_to_member_type): Handle
|
|
|
|
|
TYPE_CODE_FUNC.
|
|
|
|
|
|
2013-01-31 16:32:44 +00:00
|
|
|
|
2013-01-31 Aleksandar Ristovski <aristovski@qnx.com>
|
|
|
|
|
|
|
|
|
|
* target.c (target_read_string): Remove unused origlen.
|
|
|
|
|
|
2013-01-31 16:27:50 +00:00
|
|
|
|
2013-01-31 Aleksandar Ristovski <aristovski@qnx.com>
|
|
|
|
|
|
|
|
|
|
* auto-load.c (auto_load_expand_dir_vars): Remove unused dir_vec.
|
|
|
|
|
* ax-gdb.c (gen_printf): Remove unused expr, i, bot, fr, flen, fmt.
|
|
|
|
|
* ax-general.c (ax_print): Remove unused is_float.
|
|
|
|
|
* blockframe.c (block_innermost_frame): Remove unused start, end.
|
|
|
|
|
* break-catch-sig.c (catch_signal_command): Remove unused gdbarch.
|
|
|
|
|
|
2013-01-31 13:52:52 +00:00
|
|
|
|
2013-01-31 Aleksandar Ristovski <aristovski@qnx.com>
|
|
|
|
|
|
|
|
|
|
* solib-svr4.c (svr4_keep_data_in_core): Remove unused lmo.
|
|
|
|
|
(svr4_read_so_list): Remove unused lmo.
|
|
|
|
|
* solib-target.c (solib_target_relocate_section_addresses): Remove
|
|
|
|
|
unused flags.
|
|
|
|
|
|
2013-01-30 20:42:11 +00:00
|
|
|
|
2013-01-30 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* hppa-tdep.c (read_unwind_info): Use SECT_OFF_TEXT, not "0".
|
|
|
|
|
|
2013-01-30 20:38:04 +00:00
|
|
|
|
2013-01-30 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* symfile.c (get_file_crc): Use bfd_calc_gnu_debuglink_crc32.
|
|
|
|
|
* utils.c (gnu_debuglink_crc32): Remove.
|
|
|
|
|
* utils.h (gnu_debuglink_crc32): Don't declare.
|
|
|
|
|
|
2013-01-30 18:45:39 +00:00
|
|
|
|
2013-01-30 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* dwarf2read.c (compute_delayed_physnames, read_call_site_scope)
|
|
|
|
|
(read_structure_type, read_enumeration_type): Remove cast.
|
|
|
|
|
|
2013-01-30 17:19:57 +00:00
|
|
|
|
2013-01-30 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* dwarf2read.c (read_namespace_type): Remove cast.
|
|
|
|
|
(read_typedef): Likewise.
|
|
|
|
|
|
2013-01-29 19:26:22 +00:00
|
|
|
|
2013-01-29 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* dwarf2read.c (free_dwo_file): Remove assert.
|
|
|
|
|
|
2013-01-29 18:54:24 +00:00
|
|
|
|
2013-01-29 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* value.c (deprecated_set_value_modifiable): Remove.
|
|
|
|
|
* value.h (deprecated_set_value_modifiable): Remove.
|
|
|
|
|
|
2013-01-28 18:02:48 +00:00
|
|
|
|
2013-01-28 Doug Evans <dje@google.com>
|
|
|
|
|
|
|
|
|
|
* dwarf2loc.c (dwarf2_find_location_expression): Don't add base address
|
|
|
|
|
to addresses from dwo files.
|
|
|
|
|
|
2013-01-25 22:31:43 +00:00
|
|
|
|
2013-01-25 Siva Chandra Reddy <sivachandra@google.com>
|
|
|
|
|
|
|
|
|
|
* valops.c (find_overload_match): Remove unused argument 'lax'.
|
|
|
|
|
* value.h: Remove unused argument 'lax' from the declaration of
|
|
|
|
|
find_overload_match.
|
|
|
|
|
* eval.c (value_subexp_standard): Do not pass a 'lax' argument
|
|
|
|
|
to find_overload_match.
|
|
|
|
|
* valarith.c (value_user_defined_cpp_op): Do not pass a 'lax'
|
|
|
|
|
argument to find_overload_match.
|
|
|
|
|
|
2013-01-25 17:57:31 +00:00
|
|
|
|
2013-01-25 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* dwarf2read.c (processing_has_namespace_info): Remove.
|
|
|
|
|
(struct dwarf2_cu) <processing_has_namespace_info>: New field.
|
|
|
|
|
(process_die, read_func_scope, dwarf2_start_symtab)
|
|
|
|
|
(new_symbol_full): Update.
|
|
|
|
|
|
2013-01-25 17:55:24 +00:00
|
|
|
|
2013-01-25 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* cp-namespace.c (cp_set_block_scope): Remove.
|
|
|
|
|
* cp-support.h (cp_set_block_scope): Remove.
|
|
|
|
|
* dbxread.c: Include block.h.
|
|
|
|
|
(cp_set_block_scope): New function.
|
|
|
|
|
(process_one_symbol): Update.
|
|
|
|
|
* dwarf2read.c (read_func_scope): Use block_set_scope.
|
|
|
|
|
|
2013-01-25 17:38:00 +00:00
|
|
|
|
2013-01-25 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* remote.c (add_current_inferior_and_thread): Tweak comment.
|
|
|
|
|
|
2013-01-25 17:36:01 +00:00
|
|
|
|
2013-01-25 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* cp-namespace.c (cp_scan_for_anonymous_namespaces): Update.
|
|
|
|
|
(cp_add_using_directive): Add 'copy_names' argument.
|
|
|
|
|
* cp-support.h (cp_add_using_directive): Update.
|
|
|
|
|
(struct using_direct) <import_src, import_dest, alias,
|
|
|
|
|
declaration>: Now const.
|
|
|
|
|
* dwarf2read.c (read_import_statement): Use obconcat.
|
|
|
|
|
Don't copy names passed to cp_add_using_directive.
|
|
|
|
|
|
2013-01-25 17:34:03 +00:00
|
|
|
|
2013-01-25 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* c-exp.y (qualified_name): Use TYPE_SAFE_NAME.
|
|
|
|
|
|
Fix GDB internal error against targets that return a thread in T stop replies but don't support qC.
Yao writes:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
GDB gets an internal error when it connects to GDBserver started with
'--disable-packet=qC'.
Sending packet: $QNonStop:0#8c...Packet received: OK
Sending packet: $?#3f...Packet received: T0505:00000000;04:00f0ffbf;08:b0c2e44c;thread:p4255.4255;core:1;
Sending packet: $Hc-1#09...Packet received: E01
Sending packet: $qC#b4...Packet received:
Sending packet: $qAttached:a410#bf...Packet received: E01
Packet qAttached (query-attached) is supported
warning: Remote failure reply: E01
Sending packet: $qOffsets#4b...Packet received:
../../../git/gdb/target.c:3248: internal-error: Can't determine the current address space of thread Thread 16981
When start remote, the call chain is as follows,
remote_start_remote
add_current_inferior_and_thread <--[1]
...
start_remote
wait_for_inferior
remote_wait_as
process_stop_reply
get_thread_arch_regcache <--[2]
remote_notice_new_inferior <--[3]
GDB sends packet "qC" in [1] and adds the thread/inferior if the remote
stubs understands "qC". In [2], GDB looks for the inferior to build a
regcache, and notices a new inferior in [3]. As we can see, GDB assumes
that the inferior can be found in [2]. Once the remote stub doesn't
support "qC", GDB can't look for the inferior in [2], and emits an
internal error.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Right after the initial connection, we query the target for its state,
with the ? packet. We store the resulting wait status / stop reply
aside, and query the target for the current thread, using qC, which
fails, so we fake a ptid for the target's thread. We then later,
after the initial setup, end up consuming that set-aside wait status,
parsing the T stop reply, which contains a "thread" "register" (which
was the thread the target would have replied to qC). We get into
trouble because the ptid in that stop reply doesn't match our faked up
ptid in the initial setup, although the target threads are the same...
So we had the T stop reply handy all along. We might as well extract
the thread's ptid from it, and avoid all the resulting issues.
qC is also used after vRun, in order to discover the new process'es
main thread. But, vRun's reply is also a wait status, just like
'?''s, which is quite convenient.
This means that if we have a "Txx thread: ptid" reply, then we don't
really need qC. The patch makes GDB look in the T reply first, and if
not found, try with qC. The packet handling seems to have been added
in gdb-4.18 (1999), and I see that in that same release, "Txx thread:
ptid" didn't exist yet, which probably explains why nobody though of
doing this before.
Regression tested against a gdbserver with qC disabled (and then
enabled), on x86_64 Fedora 17.
2013-01-25 Pedro Alves <palves@redhat.com>
* remote.c (stop_reply_extract_thread): New.
(add_current_inferior_and_thread): New parameter 'wait_status'.
Handle it.
(remote_start_remote): Pass wait status to
add_current_inferior_and_thread.
(extended_remote_run): Update comment.
(extended_remote_create_inferior_1): Pass wait status to
add_current_inferior_and_thread.
2013-01-25 17:25:59 +00:00
|
|
|
|
2013-01-25 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* remote.c (stop_reply_extract_thread): New.
|
|
|
|
|
(add_current_inferior_and_thread): New parameter 'wait_status'.
|
|
|
|
|
Handle it.
|
|
|
|
|
(remote_start_remote): Pass wait status to
|
|
|
|
|
add_current_inferior_and_thread.
|
|
|
|
|
(extended_remote_run): Update comment.
|
|
|
|
|
(extended_remote_create_inferior_1): Pass wait status to
|
|
|
|
|
add_current_inferior_and_thread.
|
|
|
|
|
|
2013-01-25 17:16:43 +00:00
|
|
|
|
2013-01-25 Andrew Burgess <aburgess@broadcom.com>
|
|
|
|
|
Ulrich Weigand <uweigand@de.ibm.com>
|
|
|
|
|
|
|
|
|
|
* valarith.c (value_vector_widen): New function for replicating a
|
|
|
|
|
scalar into a vector.
|
|
|
|
|
(value_binop): Use value_vector_widen to widen scalar to vector
|
|
|
|
|
rather than casting, this better matches gcc C behaviour.
|
|
|
|
|
* valops.c (value_casst): Update logic for casting between vector
|
|
|
|
|
types, and for casting from scalar to vector, try to match gcc C
|
|
|
|
|
behaviour.
|
|
|
|
|
* value.h (value_vector_widen): Declare.
|
|
|
|
|
* opencl-lang.c (opencl_value_cast): New opencl specific casting
|
|
|
|
|
function, handle special case for casting scalar to vector.
|
|
|
|
|
(opencl_relop): Use opencl_value_cast.
|
|
|
|
|
(evaluate_subexp_opencl): Use opencl_value_cast instead of
|
|
|
|
|
value_cast, and handle BINOP_ASSIGN, UNOP_CAST, and UNOP_CAST_TYPE
|
|
|
|
|
in order to use opencl_value_cast.
|
|
|
|
|
|
2013-01-25 14:17:10 +00:00
|
|
|
|
2013-01-25 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* event-loop.c: Include "queue.h".
|
|
|
|
|
(gdb_event_p): New typedef.
|
|
|
|
|
(DECLARE_QUEUE_P): Use.
|
|
|
|
|
(DEFINE_QUEUE_P): Use.
|
|
|
|
|
(async_queue_event): Remove.
|
|
|
|
|
(gdb_event_xfree): New.
|
|
|
|
|
(initialize_event_loop): New.
|
|
|
|
|
(process_event): Use QUEUE macros.
|
|
|
|
|
(event_queue): Remove.
|
|
|
|
|
(gdb_wait_for_event): Caller update.
|
|
|
|
|
(check_async_event_handlers): Likewise.
|
|
|
|
|
(poll_timers): Likewise.
|
|
|
|
|
* event-loop.h (initialize_event_loop): Declare.
|
|
|
|
|
* event-loop.c (gdb_event_xfree): New.
|
|
|
|
|
* top.c (gdb_init): Call initialize_event_loop.
|
|
|
|
|
|
2013-01-25 14:14:18 +00:00
|
|
|
|
2013-01-25 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* event-loop.c (async_queue_event): Remove one parameter
|
|
|
|
|
'position'. Remove code handling 'position' == TAIL.
|
|
|
|
|
(gdb_wait_for_event): Caller update.
|
|
|
|
|
(check_async_event_handlers): Caller update.
|
|
|
|
|
(poll_timers): Caller update.
|
|
|
|
|
* event-loop.h (enum queue_position): Remove.
|
|
|
|
|
|
2013-01-25 04:22:01 +00:00
|
|
|
|
2013-01-25 Maxim Kuvyrkov <maxim@kugelworks.com>
|
|
|
|
|
|
|
|
|
|
* MAINTAINERS: Update my email.
|
|
|
|
|
|
2013-01-25 00:46:19 +00:00
|
|
|
|
2013-01-25 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* main.c (print_gdb_help): Remove "--epoch" from the help
|
|
|
|
|
message.
|
|
|
|
|
|
2013-01-24 20:36:03 +00:00
|
|
|
|
2013-01-24 Ulrich Weigand <uweigand@de.ibm.com>
|
|
|
|
|
|
|
|
|
|
* symtab.c (skip_prologue_using_sal): Consider a file
|
|
|
|
|
change the same as an increased line number
|
|
|
|
|
|
2013-01-24 20:25:18 +00:00
|
|
|
|
2013-01-24 Tiago Stürmer Daitx <tdaitx@linux.vnet.ibm.com>
|
|
|
|
|
|
2013-02-18 23:50:32 +00:00
|
|
|
|
* MAINTAINERS (Write After Approval): Add myself to the list.
|
2013-01-24 20:25:18 +00:00
|
|
|
|
|
2013-01-24 18:04:34 +00:00
|
|
|
|
2013-01-24 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* ada-lang.h (ada_decode_symbol): Make return type const.
|
|
|
|
|
* ada-lang.c (ada_decode_symbol): Likewise.
|
|
|
|
|
|
2013-01-23 20:07:39 +00:00
|
|
|
|
2013-01-23 Doug Evans <dje@google.com>
|
|
|
|
|
|
|
|
|
|
* linespec.c (find_linespec_symbols): Make static.
|
|
|
|
|
|
2013-01-23 20:03:18 +00:00
|
|
|
|
2013-01-23 Tiago Stürmer Daitx <tdaitx@linux.vnet.ibm.com>
|
|
|
|
|
|
|
|
|
|
* ppc-sysv-tdep.c (ppc64_sysv_abi_return_value): Set correct
|
|
|
|
|
type on float conversion for complex type.
|
|
|
|
|
|
2013-01-23 19:59:13 +00:00
|
|
|
|
2013-01-23 Siva Chandra Reddy <sivachandra@google.com>
|
|
|
|
|
|
|
|
|
|
Add a new class gdb.Architecture which exposes GDB's
|
|
|
|
|
internal representation of architecture via GDB Python API.
|
|
|
|
|
* Makefile.in: Add entries corresponding to the new file
|
|
|
|
|
python/py-arch.c.
|
|
|
|
|
* NEWS (Python Scripting): Add entries for the new class
|
|
|
|
|
gdb.Architecture and the new method gdb.Frame.architecture.
|
|
|
|
|
* python/py-arch.c: Implement gdb.Architecture class.
|
|
|
|
|
* python/py-frame.c (frapy_arch): Implement the method
|
|
|
|
|
gdb.Frame.architecture().
|
|
|
|
|
(frame_object_methods): Add 'architecture' to the method table.
|
|
|
|
|
* python/python-internal.h: Add declarations of new utility
|
|
|
|
|
functions.
|
|
|
|
|
* python/python.c (_initialize_python): Initialize
|
|
|
|
|
gdb.Architecture class.
|
|
|
|
|
|
2013-01-23 18:47:51 +00:00
|
|
|
|
2013-01-23 Doug Evans <dje@google.com>
|
|
|
|
|
|
|
|
|
|
Work around binutils/15021.
|
|
|
|
|
* dwarf2read.c (dwarf2_per_cu_data): Split imported_symtabs and
|
|
|
|
|
type_unit_group out of union s. All uses updated.
|
|
|
|
|
(read_index_from_section): Watch for index version 8.
|
|
|
|
|
(follow_die_sig): If using .gdb_index version <= 7, record the TU as
|
|
|
|
|
an imported symtab.
|
|
|
|
|
(write_psymtabs_to_index): Increment version number to 8.
|
|
|
|
|
|
2013-01-22 20:22:39 +00:00
|
|
|
|
2013-01-22 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* annotate.c (breakpoint_changed): Skip if breakpoint is not
|
|
|
|
|
user-visible.
|
|
|
|
|
|
All annotate_breakpoints_changed calls are along-side
observer_notify_breakpoints_changed calls. All, except the
init_raw_breakpoint one. But that one is actually wrong. The
breakpoint is being constructed at that point, and hasn't been placed
on the breakpoint chain yet. It would be better placed in
install_breakpoint, and I actually started out that way. But once the
annotate_breakpoints_changed are parallel to the observer calls, we
can fully move annotations to observers too.
One issue is that this changes the order of annotations a bit.
Before, we'd emit the annotation, and after call "mention()" on the
breakpoint (which prints the breakpoint number, etc.). But, we call
the observers _after_ mention is called, so the annotation output will
change a little:
void
install_breakpoint (int internal, struct breakpoint *b, int update_gll)
{
add_to_breakpoint_chain (b);
set_breakpoint_number (internal, b);
if (is_tracepoint (b))
set_tracepoint_count (breakpoint_count);
if (!internal)
mention (b);
observer_notify_breakpoint_created (b);
if (update_gll)
update_global_location_list (1);
}
I believe this order doesn't really matter (the frontend needs to wait
for the prompt anyway), so I just adjust the expected output in the
tests. Emacs in annotations mode doesn't seem to complain. Couple
that with the previous patch that suppressed duplicated annotations,
and, the fact that some annotations calls were actually missing (were
we do have observer calls), more changes to the tests are needed
anyway.
Tested on x86_64 Fedora 17.
gdb/
2013-01-22 Pedro Alves <palves@redhat.com>
* annotate.c (annotate_breakpoints_changed): Rename to ...
(annotate_breakpoints_invalid): ... this. Make static.
(breakpoint_changed): Adjust.
(_initialize_annotate): Always install the observers. Install a
"breakpoint_created" observer.
* annotate.h (annotate_breakpoints_changed): Delete declaration.
* breakpoint.c (set_breakpoint_condition)
(breakpoint_set_commands, do_map_commands_command)
(init_raw_breakpoint, clear_command, set_ignore_count)
(enable_breakpoint_disp): No longer call
annotate_breakpoints_changed.
gdb/testsuite/
2013-01-22 Pedro Alves <palves@redhat.com>
* gdb.base/annota1.exp (breakpoints_invalid): New variable.
Adjust tests to breakpoints-invalid changes.
* gdb.cp/annota2.exp (breakpoints_invalid, frames_invalid): New
variables.
Adjust tests to breakpoints-invalid changes.
2013-01-22 20:19:40 +00:00
|
|
|
|
2013-01-22 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* annotate.c (annotate_breakpoints_changed): Rename to ...
|
|
|
|
|
(annotate_breakpoints_invalid): ... this. Make static.
|
|
|
|
|
(breakpoint_changed): Adjust.
|
|
|
|
|
(_initialize_annotate): Always install the observers. Install a
|
|
|
|
|
"breakpoint_created" observer.
|
|
|
|
|
* annotate.h (annotate_breakpoints_changed): Delete declaration.
|
|
|
|
|
* breakpoint.c (set_breakpoint_condition)
|
|
|
|
|
(breakpoint_set_commands, do_map_commands_command)
|
|
|
|
|
(init_raw_breakpoint, clear_command, set_ignore_count)
|
|
|
|
|
(enable_breakpoint_disp): No longer call
|
|
|
|
|
annotate_breakpoints_changed.
|
|
|
|
|
|
With some changes to how software single-step (SSS) breakpoints are
handled, one of those being to place SSS breakpoints on the breakpoint
chain as all other breakpoints, annota1.exp times out with lots and
lots of breakpoint-invalid and frame-changed annotations. All those
extra annotations are actually unnecessary. For one, SSS breakpoints
are internal breakpoints, so the frontend shouldn't care if they were
added, removed or changed. Then, there's really no point in emitting
"breakpoints-invalid" or "frames-invalid" more than once between times
the frontend/user can actually issues GDB commands; the frontend will
have to wait for the GDB prompt to refresh its state, so emitting
those annotations at most once between prompts is enough. Non-stop or
async would complicate this, but no frontend will be using annotations
in those modes (one of goes of emacs switching to MI was non-stop mode
support, AFAIK). The previous patch reveals there has been an
intention in the past to suppress multiple breakpoints-invalid
annotations caused by ignore count changes. As the previous patch
shows, that's always been broken, but in any case, this patch actually
makes it work. The next patch will remove several annotation-specific
calls in breakpoint.c in favor of always using the breakpoint modified
& friends observers, and that causes yet more of these annotations,
because several calls to the corresponding annotate_* functions in
breakpoint.c are missing, particularly in newer code.
So all in all, here's a simple mechanism that avoids sending the same
annotation to the frontend more than once until gdb is ready to accept
further commands.
Tested on x86_64 Fedora 17.
2013-01-22 Pedro Alves <palves@redhat.com>
* annotate.c: Include "inferior.h".
(frames_invalid_emitted)
(breakpoints_invalid_emitted): New globals.
(async_background_execution_p): New function.
(annotate_breakpoints_changed, annotate_frames_invalid): Skip
emitting the annotation if it has already been emitted.
(annotate_display_prompt): New function.
* annotate.h (annotate_display_prompt): New declaration.
* event-top.c: Include annotate.h.
(display_gdb_prompt): Call annotate_display_prompt.
2013-01-22 20:17:10 +00:00
|
|
|
|
2013-01-22 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* annotate.c: Include "inferior.h".
|
|
|
|
|
(frames_invalid_emitted)
|
|
|
|
|
(breakpoints_invalid_emitted): New globals.
|
|
|
|
|
(async_background_execution_p): New function.
|
|
|
|
|
(annotate_breakpoints_changed, annotate_frames_invalid): Skip
|
|
|
|
|
emitting the annotation if it has already been emitted.
|
|
|
|
|
(annotate_display_prompt): New function.
|
|
|
|
|
* annotate.h (annotate_display_prompt): New declaration.
|
|
|
|
|
* event-top.c: Include annotate.h.
|
|
|
|
|
(display_gdb_prompt): Call annotate_display_prompt.
|
|
|
|
|
|
There's code in annotate.c and breakpoint.c that is supposed to
suppress multiple breakpoints-invalid annotations when the ignore
count of a breakpoint changes, up until the target actually stops.
But, the code is bogus:
void
annotate_breakpoints_changed (void)
{
if (annotation_level == 2)
{
target_terminal_ours ();
printf_unfiltered (("\n\032\032breakpoints-invalid\n"));
if (ignore_count_changed)
ignore_count_changed = 0; /* Avoid multiple break annotations. */
}
}
The "ignore_count_changed" flag isn't actually guarding the output of
the annotation at all. It would have been better written something
like:
void
annotate_breakpoints_changed (void)
{
if (annotation_level == 2 && !ignore_count_changed)
{
target_terminal_ours ();
printf_unfiltered (("\n\032\032breakpoints-invalid\n"));
ignore_count_changed = 0; /* Avoid multiple break annotations. */
}
}
but, it wasn't. AFAICS, that goes all the way back to the original
patch'es submission and check in, at
<http://sourceware.org/ml/gdb-patches/1999-q4/msg00106.html>. I
looked a tar of HP's wdb from 1999, and even though that contains
local changes in the annotate code, this suppression seems borked
there too to me.
The original patch added a test to supposedly exercise this
suppression, but, it actually doesn't. It merely tests that
"breakpoints-invalid" is output after "stopped", but doesn't check
whether the duplicates supression actually works (IOW, check that only
_one_ annotation is seen). I was going to simply delete the tests
too, but a following patch will eliminate the duplicates in a
different way (which I needed for a different reason), so instead, I'm
making the tests actually fail if a duplicate annotation is seen.
Worry not, the test doesn't actually fail! The reason is that
breakpoint.c does:
else if (b->ignore_count > 0)
{
b->ignore_count--;
annotate_ignore_count_change ();
bs->stop = 0;
/* Increase the hit count even though we don't stop. */
++(b->hit_count);
observer_notify_breakpoint_modified (b);
}
where the annotate_ignore_count_change call is meant to inform the
"breakpoint_modified" annotation observer to ignore the notification.
All sounds good. But, the trouble is that nowadays annotate.c only
installs the observers if GDB is started with annotations enabled with
a command line option (gdb --annotate=2):
void
_initialize_annotate (void)
{
if (annotation_level == 2)
{
observer_attach_breakpoint_deleted (breakpoint_changed);
observer_attach_breakpoint_modified (breakpoint_changed);
}
}
and annota1.exp, to enable annotations, starts GDB normally, and
afterwards does "set annotate 2", so the observers aren't installed
when annota1.exp is run, and therefore changing the ignore count isn't
triggering any annotation at all...
gdb/
2013-01-22 Pedro Alves <palves@redhat.com>
* annotate.c (ignore_count_changed): Delete.
(annotate_breakpoints_changed): Don't clear ignore_count_changed.
(annotate_ignore_count_change): Delete.
(annotate_stopped): Don't emit a delayed breakpoints-changed
annotation.
* annotate.h (annotate_ignore_count_change): Delete.
* breakpoint.c (bpstat_check_breakpoint_conditions): Don't call
annotate_ignore_count_change.
gdb/testsuite/
2013-01-22 Pedro Alves <palves@redhat.com>
* gdb.base/annota1.exp (annotate ignore count change): Add
expected output for failure case.
2013-01-22 20:08:30 +00:00
|
|
|
|
2013-01-22 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* annotate.c (ignore_count_changed): Delete.
|
|
|
|
|
(annotate_breakpoints_changed): Don't clear ignore_count_changed.
|
|
|
|
|
(annotate_ignore_count_change): Delete.
|
|
|
|
|
(annotate_stopped): Don't emit a delayed breakpoints-changed
|
|
|
|
|
annotation.
|
|
|
|
|
* annotate.h (annotate_ignore_count_change): Delete.
|
|
|
|
|
* breakpoint.c (bpstat_check_breakpoint_conditions): Don't call
|
|
|
|
|
annotate_ignore_count_change.
|
|
|
|
|
|
2013-01-22 15:57:28 +00:00
|
|
|
|
2013-01-22 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* dwarf2loc.c (dwarf2_compile_expr_to_ax) <DW_OP_fbreg>: Only
|
|
|
|
|
require_rvalue for a register location.
|
|
|
|
|
|
2013-01-22 00:06:26 +00:00
|
|
|
|
2013-01-21 Marc Khouzam <marc.khouzam@ericsson.com>
|
|
|
|
|
|
|
|
|
|
* breakpoint.c (print_one_breakpoint_location): Add MI
|
|
|
|
|
field 'thread-groups' when printing a breakpoint.
|
|
|
|
|
(output_thread_groups): New function.
|
|
|
|
|
|
2013-01-21 21:44:57 +00:00
|
|
|
|
2013-01-21 Siva Chandra Reddy <sivachandra@google.com>
|
|
|
|
|
|
|
|
|
|
* python/lib/gdb/commands/explore.py
|
|
|
|
|
(CompoundExplorer.explore_expr): Correct the name of a method
|
|
|
|
|
being invoked.
|
|
|
|
|
(ExploreTypeCommand.invoke): Add a missing 'return'.
|
|
|
|
|
|
2013-01-21 18:15:32 +00:00
|
|
|
|
2013-01-21 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* gdb_obstack.h (obconcat): Move declaration here, from...
|
|
|
|
|
* symfile.h (obconcat): ... here.
|
|
|
|
|
* gdb_obstack.c: New file.
|
|
|
|
|
(obconcat): Move from...
|
|
|
|
|
* symfile.c (obconcat): ... here.
|
|
|
|
|
* Makefile.in (SFILES): Add gdb_obstack.c.
|
|
|
|
|
(COMMON_OBS): Add gdb_obstack.o.
|
|
|
|
|
|
* symfile.h (obsavestring): Don't declare.
* symfile.c (obsavestring): Remove.
* ada-exp.y: Use obstack_copy0, not obsavestring.
* ada-lang.c: Use obstack_copy0, not obsavestring.
* coffread.c: Use obstack_copy0, not obsavestring.
* cp-namespace.c: Use obstack_copy0, not obsavestring.
* dbxread.c: Use obstack_copy0, not obsavestring.
* dwarf2read.c: Use obstack_copy0, not obsavestring.
* jit.c: Use obstack_copy0, not obsavestring.
* mdebugread.c: Use obstack_copy0, not obsavestring.
* psymtab.c: Use obstack_copy0, not obsavestring.
* stabsread.c: Use obstack_copy0, not obsavestring.
* xcoffread.c: Use obstack_copy0, not obsavestring.
2013-01-21 18:13:14 +00:00
|
|
|
|
2013-01-21 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* symfile.h (obsavestring): Don't declare.
|
|
|
|
|
* symfile.c (obsavestring): Remove.
|
|
|
|
|
* ada-exp.y: Use obstack_copy0, not obsavestring.
|
|
|
|
|
* ada-lang.c: Use obstack_copy0, not obsavestring.
|
|
|
|
|
* coffread.c: Use obstack_copy0, not obsavestring.
|
|
|
|
|
* cp-namespace.c: Use obstack_copy0, not obsavestring.
|
|
|
|
|
* dbxread.c: Use obstack_copy0, not obsavestring.
|
|
|
|
|
* dwarf2read.c: Use obstack_copy0, not obsavestring.
|
|
|
|
|
* jit.c: Use obstack_copy0, not obsavestring.
|
|
|
|
|
* mdebugread.c: Use obstack_copy0, not obsavestring.
|
|
|
|
|
* psymtab.c: Use obstack_copy0, not obsavestring.
|
|
|
|
|
* stabsread.c: Use obstack_copy0, not obsavestring.
|
|
|
|
|
* xcoffread.c: Use obstack_copy0, not obsavestring.
|
|
|
|
|
|
2013-01-21 18:10:33 +00:00
|
|
|
|
2013-01-21 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* dwarf2read.c (fixup_go_packaging): Save package name
|
|
|
|
|
on objfile obstack.
|
|
|
|
|
* gdbtypes.c (init_type): Don't copy name.
|
|
|
|
|
|
* dwarf2read.c (struct partial_die_info) <name, scope>: Now
const.
(struct attribute) <u.str>: Now const.
(struct fnfieldlist) <name>: Now const.
(dw2_get_file_names_reader, init_cutu_and_read_dies): Update.
(partial_die_parent_scope): Make return type const.
(partial_die_full_name, add_partial_symbol): Update.
(dwarf2_compute_name, dwarf2_full_name, dwarf2_physname): Make
'name' const.
(find_file_and_directory): Make 'name' and 'comp_dir' const.
(read_file_scope, read_func_scope, dwarf2_add_field)
(dwarf2_add_member_fn, read_structure_type)
(process_enumeration_scope, read_array_type, read_module_type)
(read_base_type, read_subrange_type): Update.
(dwarf2_start_symtab): Make 'name' and 'comp_dir' const.
(new_symbol_full, guess_full_die_structure_name): Update.
(dwarf2_canonicalize_name): Return const type. Make 'name' const.
(dwarf2_name): Return const type.
(dwarf_decode_macro_bytes, dwarf_decode_macros): Make 'comp_dir'
const.
2013-01-21 18:08:53 +00:00
|
|
|
|
2013-01-21 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* dwarf2read.c (struct partial_die_info) <name, scope>: Now
|
|
|
|
|
const.
|
|
|
|
|
(struct attribute) <u.str>: Now const.
|
|
|
|
|
(struct fnfieldlist) <name>: Now const.
|
|
|
|
|
(dw2_get_file_names_reader, init_cutu_and_read_dies): Update.
|
|
|
|
|
(partial_die_parent_scope): Make return type const.
|
|
|
|
|
(partial_die_full_name, add_partial_symbol): Update.
|
|
|
|
|
(dwarf2_compute_name, dwarf2_full_name, dwarf2_physname): Make
|
|
|
|
|
'name' const.
|
|
|
|
|
(find_file_and_directory): Make 'name' and 'comp_dir' const.
|
|
|
|
|
(read_file_scope, read_func_scope, dwarf2_add_field)
|
|
|
|
|
(dwarf2_add_member_fn, read_structure_type)
|
|
|
|
|
(process_enumeration_scope, read_array_type, read_module_type)
|
|
|
|
|
(read_base_type, read_subrange_type): Update.
|
|
|
|
|
(dwarf2_start_symtab): Make 'name' and 'comp_dir' const.
|
|
|
|
|
(new_symbol_full, guess_full_die_structure_name): Update.
|
|
|
|
|
(dwarf2_canonicalize_name): Return const type. Make 'name' const.
|
|
|
|
|
(dwarf2_name): Return const type.
|
|
|
|
|
(dwarf_decode_macro_bytes, dwarf_decode_macros): Make 'comp_dir'
|
|
|
|
|
const.
|
|
|
|
|
|
2013-01-21 18:07:03 +00:00
|
|
|
|
2013-01-21 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* gdbtypes.c (init_type): Make 'name' const.
|
|
|
|
|
* gdbtypes.h (init_type): Update.
|
|
|
|
|
|
2013-01-21 18:05:13 +00:00
|
|
|
|
2013-01-21 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* buildsym.c (patch_subfile_names): Use set_last_source_file.
|
|
|
|
|
(start_symtab): Make 'name' and 'dirname' const. Use
|
|
|
|
|
set_last_source_file.
|
|
|
|
|
(restart_symtab, reset_symtab_globals): Use set_last_source_file.
|
|
|
|
|
(last_source_file): Define. Now static.
|
|
|
|
|
(set_last_source_file, get_last_source_file): New functions.
|
|
|
|
|
* buildsym.h (last_source_file): Don't declare.
|
|
|
|
|
(start_symtab): Update.
|
|
|
|
|
(set_last_source_file, get_last_source_file): Declare.
|
|
|
|
|
* coffread.c (complete_symtab): Use set_last_source_file.
|
|
|
|
|
(coff_end_symtab): Likewise.
|
|
|
|
|
(coff_symtab_read): Use set_last_source_file, get_last_source_file.
|
|
|
|
|
* dbxread.c (read_dbx_symtab, read_ofile_symtab): Use
|
|
|
|
|
set_last_source_file.
|
|
|
|
|
(process_one_symbol): Use get_last_source_file.
|
|
|
|
|
* mdebugread.c (parse_partial_symbols): Use set_last_source_file.
|
|
|
|
|
(psymtab_to_symtab_1): Use get_last_source_file.
|
|
|
|
|
* xcoffread.c (process_linenos): Use get_last_source_file.
|
|
|
|
|
(complete_symtab): Use set_last_source_file.
|
|
|
|
|
(read_xcoff_symtab): Use set_last_source_file, get_last_source_file.
|
|
|
|
|
(scan_xcoff_symtab): Use set_last_source_file.
|
|
|
|
|
|
2013-01-21 18:03:08 +00:00
|
|
|
|
2013-01-21 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* symtab.c (struct demangled_name_entry) <mangled>: Now const.
|
|
|
|
|
(symbol_set_names): Remove casts. Handle field const-ness.
|
|
|
|
|
|
2013-01-21 18:01:34 +00:00
|
|
|
|
2013-01-21 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* dwarf2read.c (new_symbol_full): Remove cast.
|
|
|
|
|
* symtab.c (symbol_set_demangled_name): Make 'name' const.
|
|
|
|
|
* symtab.h (symbol_set_demangled_name): Update.
|
|
|
|
|
|
2013-01-21 17:32:10 +00:00
|
|
|
|
2013-01-21 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* main.c (captured_main): Call bfd_init.
|
|
|
|
|
|
2013-01-21 17:29:39 +00:00
|
|
|
|
2013-01-21 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* gnu-v2-abi.c (_initialize_gnu_v2_abi): Don't set default ABI.
|
|
|
|
|
* gnu-v3-abi.c (_initialize_gnu_v3_abi): Set default ABI.
|
|
|
|
|
* minsyms.c (install_minimal_symbols): Don't check for _Z symbols.
|
|
|
|
|
* NEWS: Update.
|
|
|
|
|
|
2013-01-21 17:14:33 +00:00
|
|
|
|
2013-01-21 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
* symmisc.c (maintenance_print_msymbols): Check also ST_DEV.
|
|
|
|
|
|
2013-01-21 16:46:12 +00:00
|
|
|
|
2013-01-21 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
Fix gdb.fortran/common-block.exp crash in PIE mode.
|
|
|
|
|
* dwarf2read.c (new_symbol_full) <DW_TAG_common_block>: Use
|
|
|
|
|
LOC_COMMON_BLOCK.
|
|
|
|
|
* f-valprint.c (info_common_command_for_block): Expect
|
|
|
|
|
LOC_COMMON_BLOCK in gdb_assert.
|
|
|
|
|
* symtab.h (struct general_symbol_info): Update comment for the
|
|
|
|
|
common_block member.
|
|
|
|
|
(domain_enum): Extend comment for the COMMON_BLOCK_DOMAIN member.
|
|
|
|
|
(enum address_class): New member LOC_COMMON_BLOCK.
|
|
|
|
|
|
2013-01-18 21:42:58 +00:00
|
|
|
|
2013-01-18 David Blaikie <dblaikie@gmail.com>
|
|
|
|
|
|
|
|
|
|
* MAINTAINERS (Write After Approval): Add "David Blaikie".
|
2013-01-18 19:26:07 +00:00
|
|
|
|
|
2013-01-18 18:32:35 +00:00
|
|
|
|
2013-01-18 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR c++/14999:
|
|
|
|
|
* dwarf2loc.c (dwarf2_compile_expr_to_ax) <DW_OP_fbreg>:
|
|
|
|
|
Call require_rvalue.
|
|
|
|
|
|
2013-01-18 03:09:42 +00:00
|
|
|
|
2013-01-18 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* dbxread.c (dbx_psymtab_to_symtab): Delete the declaration.
|
|
|
|
|
(dbx_read_symtab): New declaration.
|
|
|
|
|
(dbx_psymtab_to_symtab): Delete.
|
|
|
|
|
(dbx_read_symtab): Rename from dbx_psymtab_to_symtab.
|
|
|
|
|
Rename parameter PST to SELF. Exchanged two parameters.
|
|
|
|
|
(start_psymtab): Caller update.
|
|
|
|
|
* dwarf2read.c (dwarf2_psymtab_to_symtab): Delete the declaration.
|
|
|
|
|
(dwarf2_read_symtab): New declaration.
|
|
|
|
|
(dwarf2_psymtab_to_symtab): Delete.
|
|
|
|
|
(dwarf2_read_symtab): Rename from dwarf2_psymtab_to_symtab.
|
|
|
|
|
Rename parameter PST to SELF. Exchanged two parameters.
|
|
|
|
|
(create_partial_symtab): Caller update.
|
|
|
|
|
* mdebugread.c (mdebug_psymtab_to_symtab): Delete.
|
|
|
|
|
(mdebug_read_symtab): Rename from mdebug_psymtab_to_symtab.
|
|
|
|
|
Rename parameter PST to SELF. Exchanged two parameters.
|
|
|
|
|
(parse_partial_symbols, new_psymtab): Caller update.
|
|
|
|
|
* psympriv.h (struct partial_symtab) <read_symtab>: Exchange
|
|
|
|
|
two parameters.
|
|
|
|
|
* psymtab.c (psymtab_to_symtab): Caller update.
|
|
|
|
|
* xcoffread.c (xcoff_psymtab_to_symtab): Delete.
|
|
|
|
|
(xcoff_read_symtab): Rename from xcoff_psymtab_to_symtab.
|
|
|
|
|
Rename parameter PST to SELF. Exchanged two parameters.
|
|
|
|
|
(xcoff_start_psymtab): Caller update.
|
|
|
|
|
|
2013-01-18 03:03:42 +00:00
|
|
|
|
2013-01-18 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* infrun.c (proceed): Rename local variable 'oneproc' to
|
|
|
|
|
'force_step'.
|
|
|
|
|
|
2013-01-17 23:17:43 +00:00
|
|
|
|
2013-01-17 Doug Evans <dje@google.com>
|
|
|
|
|
|
2013-01-17 23:21:41 +00:00
|
|
|
|
* dwarf2read.c (dw2_build_type_unit_groups_reader): Delete.
|
|
|
|
|
(dw2_build_type_unit_groups): Delete. All uses updated.
|
|
|
|
|
|
2013-01-17 23:17:43 +00:00
|
|
|
|
* symtab.h (struct symbol_search): Add comment.
|
|
|
|
|
|
2013-01-17 20:40:44 +00:00
|
|
|
|
2013-01-17 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
* symtab.c (compare_filenames_for_search): New comment for
|
|
|
|
|
HAS_DRIVE_SPEC.
|
|
|
|
|
|
2013-01-17 20:26:14 +00:00
|
|
|
|
2013-01-17 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* cp-abi.c (cp_abi_completer): Fix typo in assignment.
|
|
|
|
|
|
2013-01-17 19:55:18 +00:00
|
|
|
|
2013-01-17 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
* symtab.c (iterate_over_some_symtabs): New variable cleanups,
|
|
|
|
|
initialize it by existing make_cleanup. Call new do_cleanups.
|
|
|
|
|
|
2013-01-17 16:27:35 +00:00
|
|
|
|
2013-01-17 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* cp-abi.c (cp_abi_completer): New function.
|
|
|
|
|
(_initialize_cp_abi): Set completer for "set cp-abi".
|
|
|
|
|
|
2013-01-17 15:23:38 +00:00
|
|
|
|
2013-01-17 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* mem-break.c: Remove obsolete comment.
|
|
|
|
|
* bfin-tdep.c (bfin_breakpoint_from_pc): Fix comment.
|
|
|
|
|
|
2013-01-17 14:17:16 +00:00
|
|
|
|
2012-01-17 Sanjoy Das <sanjoy@playingwithpointers.com>
|
|
|
|
|
|
|
|
|
|
* jit.c (jit_reader_load_command): Interpret the jit reader name
|
|
|
|
|
as an absolute path if it begins with a forward slash.
|
|
|
|
|
|
2013-01-17 14:11:27 +00:00
|
|
|
|
2012-01-17 Sanjoy Das <sanjoy@playingwithpointers.com>
|
|
|
|
|
|
|
|
|
|
PR gdb/14550
|
|
|
|
|
|
|
|
|
|
* jit.c (finalize_symtab): Ensure that only the global block has a
|
|
|
|
|
NULL superblock.
|
|
|
|
|
|
2013-01-17 11:06:26 +00:00
|
|
|
|
2013-01-17 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* acinclude.m4: Include ../config/plugins.m4,
|
|
|
|
|
../config/largefile.m4 and ../config/lead-dot.m4. Add comments.
|
|
|
|
|
* Makefile.in (aclocal_m4_deps): Update.
|
|
|
|
|
* aclocal.m4: Renegerate.
|
|
|
|
|
|
2013-01-16 22:02:16 +00:00
|
|
|
|
2013-01-16 Doug Evans <dje@google.com>
|
|
|
|
|
|
|
|
|
|
* contrib/cc-with-tweaks.sh: Add references to Fission docs.
|
|
|
|
|
|
2013-01-16 17:31:40 +00:00
|
|
|
|
2013-01-16 Pedro Alves <palves@redhat.com>
|
|
|
|
|
Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR cli/7221:
|
|
|
|
|
* NEWS: Add "catch signal".
|
|
|
|
|
* breakpoint.c (base_breakpoint_ops): No longer static.
|
|
|
|
|
(bpstat_explains_signal): New function.
|
|
|
|
|
(init_catchpoint): No longer static.
|
|
|
|
|
(base_breakpoint_explains_signal): New function.
|
|
|
|
|
(base_breakpoint_ops): Initialize new field.
|
|
|
|
|
* breakpoint.h (enum bpstat_signal_value): New.
|
|
|
|
|
(struct breakpoint_ops) <explains_signal>: New field.
|
|
|
|
|
(bpstat_explains_signal): Remove macro, declare as function.
|
|
|
|
|
(base_breakpoint_ops, init_catchpoint): Declare.
|
|
|
|
|
* break-catch-sig.c: New file.
|
|
|
|
|
* inferior.h (signal_catch_update): Declare.
|
|
|
|
|
* infrun.c (signal_catch): New global.
|
|
|
|
|
(handle_syscall_event): Update for change to
|
|
|
|
|
bpstat_explains_signal.
|
|
|
|
|
(handle_inferior_event): Likewise. Always handle random signals
|
|
|
|
|
via bpstats.
|
|
|
|
|
(signal_cache_update): Check signal_catch.
|
|
|
|
|
(signal_catch_update): New function.
|
|
|
|
|
(_initialize_infrun): Initialize signal_catch.
|
|
|
|
|
* Makefile.in (SFILES): Add break-catch-sig.c.
|
|
|
|
|
(COMMON_OBS): Add break-catch-sig.o.
|
|
|
|
|
|
2013-01-16 17:27:53 +00:00
|
|
|
|
2013-01-16 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* breakpoint.c (print_one_catch_fork, print_one_catch_vfork)
|
|
|
|
|
(print_one_catch_solib, print_one_catch_syscall)
|
|
|
|
|
(print_one_catch_exec, print_one_exception_catchpoint): Emit
|
|
|
|
|
"catch-type".
|
|
|
|
|
|
2013-01-16 14:53:24 +00:00
|
|
|
|
2013-01-16 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* printcmd.c (current_display_number): Make it static.
|
|
|
|
|
|
2013-01-16 14:44:03 +00:00
|
|
|
|
2013-01-16 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* infcmd.c (step_once): Don't check '!single_inst' as it was
|
|
|
|
|
checked before.
|
|
|
|
|
|
2013-01-15 21:32:36 +00:00
|
|
|
|
2013-01-15 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
* dwarf2read.c (psymtab_include_file_name): Extend the function comment.
|
|
|
|
|
|
2013-01-14 21:05:07 +00:00
|
|
|
|
2013-01-14 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* cli/cli-decode.c (add_setshow_string_noescape_cmd): Return the
|
|
|
|
|
set command.
|
|
|
|
|
* command.h (add_setshow_string_noescape_cmd): Update.
|
|
|
|
|
* corefile.c (set_gnutarget_command): Remove trailing whitespace.
|
|
|
|
|
(complete_set_gnutarget): New function.
|
|
|
|
|
(_initialize_core): Set the "set gnutarget" completer.
|
|
|
|
|
|
2013-01-14 20:59:27 +00:00
|
|
|
|
2013-01-14 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR symtab/14442:
|
|
|
|
|
* c-typeprint.c (cp_type_print_method_args): Handle 'restrict'.
|
|
|
|
|
(c_type_print_modifier): Likewise.
|
|
|
|
|
* dwarf2read.c (read_tag_restrict_type): New function.
|
|
|
|
|
(read_type_die_1): Handle DW_TAG_restrict_type.
|
|
|
|
|
* gdbtypes.c (make_restrict_type): New function.
|
|
|
|
|
(recursive_dump_type): Handle TYPE_RESTRICT.
|
|
|
|
|
* gdbtypes.h (enum type_flag_values): Renumber.
|
|
|
|
|
(enum type_instance_flag_value): Add
|
|
|
|
|
TYPE_INSTANCE_FLAG_RESTRICT.
|
|
|
|
|
(TYPE_RESTRICT): New macro.
|
|
|
|
|
(make_restrict_type): Declare.
|
|
|
|
|
|
2013-01-14 20:51:48 +00:00
|
|
|
|
2013-01-14 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR symtab/14931:
|
|
|
|
|
* psymtab.c (struct psymtab_state): New.
|
|
|
|
|
(discard_psymtabs_upto, make_cleanup_discard_psymtabs): New
|
|
|
|
|
functions.
|
|
|
|
|
* psympriv.h (make_cleanup_discard_psymtabs): Declare.
|
|
|
|
|
* dwarf2read.c (dwarf2_build_psymtabs): Catch exceptions.
|
|
|
|
|
|
2013-01-14 18:06:21 +00:00
|
|
|
|
2013-01-14 Richard Sharman <richard_sharman@mitel.com>
|
|
|
|
|
Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR remote/14786
|
|
|
|
|
|
|
|
|
|
* remote.c (remote_threads_info): Make a copy of the reply from
|
|
|
|
|
qfThreadInfo and use that instead of rs->buf.
|
|
|
|
|
|
2013-01-14 10:39:33 +00:00
|
|
|
|
2013-01-14 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* dbxread.c (dbx_psymtab_to_symtab_1): Don't check PST is NULL.
|
|
|
|
|
(dbx_psymtab_to_symtab): Likewise.
|
|
|
|
|
* dwarf2read.c (dwarf2_psymtab_to_symtab): Likewise.
|
|
|
|
|
* mdebugread.c (mdebug_psymtab_to_symtab): Likewise.
|
|
|
|
|
* xcoffread.c (xcoff_psymtab_to_symtab_1): Likewise.
|
|
|
|
|
|
2013-01-13 18:57:01 +00:00
|
|
|
|
2013-01-13 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
* parse.c (parse_exp_in_context): New variable inner_chain. Call
|
|
|
|
|
make_cleanup_restore_current_language. Call set_language. Move
|
|
|
|
|
OLD_CHAIN and INNER_CHAIN cleanups.
|
|
|
|
|
* utils.c (do_restore_current_language)
|
|
|
|
|
(make_cleanup_restore_current_language): New functions.
|
|
|
|
|
* utils.h (make_cleanup_restore_current_language): New declaration.
|
|
|
|
|
|
2013-01-13 18:52:45 +00:00
|
|
|
|
2013-01-13 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
* source.c (symtab_to_fullname): Apply rewrite_source_path also for
|
|
|
|
|
non-existing files.
|
|
|
|
|
|
2013-01-13 18:53:51 +00:00
|
|
|
|
* source.c (symtab_to_fullname): Do not prepend DIRNAME for
|
|
|
|
|
non-existing files if FILENAME is already absolute.
|
|
|
|
|
|
2013-01-11 21:34:29 +00:00
|
|
|
|
2013-01-11 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
* macrocmd.c (macro_inform_no_debuginfo): Use puts_filtered instead of
|
|
|
|
|
fputs_filtered. Append trailing newline.
|
|
|
|
|
|
2013-01-11 00:56:05 +00:00
|
|
|
|
2013-01-11 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
Stan Shebs <stan@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* psymtab.c (init_psymbol_list): Clarify the comment.
|
|
|
|
|
|
2013-01-11 00:41:08 +00:00
|
|
|
|
2013-01-11 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* breakpoint.c (print_one_breakpoint_location): Remove dead code.
|
|
|
|
|
(update_dprintf_command_list): Assert that 'printf_line' is
|
|
|
|
|
non-null. Remove condition check.
|
|
|
|
|
|
2013-01-10 21:15:51 +00:00
|
|
|
|
2013-01-10 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
|
|
|
|
|
|
|
|
Code cleanup.
|
|
|
|
|
* psymtab.c (psymtab_to_fullname, psymtab_to_fullname): Make the return
|
|
|
|
|
type const char *.
|
|
|
|
|
* tui/tui-source.c (tui_source_is_displayed): Make the parameter fname
|
|
|
|
|
const char *.
|
|
|
|
|
* tui/tui-source.h (tui_source_is_displayed): Likewise.
|
|
|
|
|
|
2013-01-09 21:51:18 +00:00
|
|
|
|
2013-01-09 Anthony Green <green@moxielogic.com>
|
|
|
|
|
|
|
|
|
|
* cp-abi.c (cplus_print_vtable): Don't return value from void
|
|
|
|
|
function.
|
|
|
|
|
* ada-lang.c (re_set_catch_assert): Ditto.
|
|
|
|
|
|
2013-01-09 20:46:03 +00:00
|
|
|
|
2013-01-09 Doug Evans <dje@google.com>
|
|
|
|
|
|
|
|
|
|
* symfile.h (quick_symbol_functions): Delete member
|
|
|
|
|
pre_expand_symtabs_matching. All uses removed.
|
|
|
|
|
* dwarf2read.c (dw2_lookup_symbol): Implement.
|
|
|
|
|
(dw2_do_expand_symtabs_matching): Delete.
|
|
|
|
|
(dw2_pre_expand_symtabs_matching): Delete.
|
|
|
|
|
(struct dw2_symtab_iterator): New type.
|
|
|
|
|
(dw2_symtab_iter_init, dw2_symtab_iter_next): New functions.
|
|
|
|
|
(dw2_expand_symtabs_for_function): Rewrite.
|
|
|
|
|
(dwarf2_gdb_index_functions): Update.
|
|
|
|
|
* psymtab.c (pre_expand_symtabs_matching_psymtabs): Delete.
|
|
|
|
|
(psym_functions): Update.
|
|
|
|
|
|
2013-01-09 17:21:36 +00:00
|
|
|
|
2013-01-09 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* config/pa/hpux.mh (NATDEPFILES): Remove somread.o.
|
|
|
|
|
* configure: Rebuild.
|
|
|
|
|
* configure.ac: Add somread.o to the build if BFD has SOM
|
|
|
|
|
support.
|
|
|
|
|
* somread.c: Include som/aout.h, not syms.h.
|
|
|
|
|
(som_symtab_read): Use som_external_symbol_dictionary_record.
|
|
|
|
|
Unpack records manually.
|
|
|
|
|
(_initialize_somread): Declare.
|
|
|
|
|
|
2013-01-08 19:38:51 +00:00
|
|
|
|
2012-01-08 Mike Frysinger <vapier@gentoo.org>
|
|
|
|
|
|
|
|
|
|
* common/linux-ptrace.c (linux_ptrace_test_ret_to_nx) [__x86_64__]:
|
|
|
|
|
Cast return_address to 64bits.
|
|
|
|
|
|
2013-01-08 02:00:34 +00:00
|
|
|
|
2013-01-08 Hui Zhu <hui_zhu@mentor.com>
|
|
|
|
|
|
|
|
|
|
* printcmd.c: Remove define of function output_command.
|
|
|
|
|
* tracepoint.c: Remove extern of function output_command.
|
|
|
|
|
* valprint.h: (output_command): New extern.
|
|
|
|
|
|
2013-01-07 16:51:47 +00:00
|
|
|
|
2013-01-07 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* objc-lang.c (objc_emit_char, objc_printchar, objc_printstr):
|
|
|
|
|
Remove.
|
|
|
|
|
(objc_language_defn): Use c_printchar, c_printstr,
|
|
|
|
|
c_emit_char.
|
|
|
|
|
|
2013-01-07 16:40:39 +00:00
|
|
|
|
2013-01-07 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR cli/7719:
|
|
|
|
|
* NEWS: Update.
|
|
|
|
|
* ada-valprint.c (printstr, print_field_values): Remove
|
|
|
|
|
"inspect_it" code.
|
|
|
|
|
* cp-valprint.c (cp_print_value_fields): Remove "inspect_it"
|
|
|
|
|
code.
|
|
|
|
|
* jv-valprint.c (java_print_value_fields): Remove "inspect_it"
|
|
|
|
|
code.
|
|
|
|
|
* m2-lang.c (m2_printstr): Remove "inspect_it" code.
|
|
|
|
|
* main.c (captured_main): Remove "epoch" argument.
|
|
|
|
|
* objc-lang.c (objc_printstr): Remove "inspect_it" code.
|
|
|
|
|
* p-lang.c (pascal_printstr): Remove "inspect_it" code.
|
|
|
|
|
* p-valprint.c (pascal_object_print_value_fields): Remove
|
|
|
|
|
"inspect_it" code.
|
|
|
|
|
* printcmd.c (print_command_1): Remove 'inspect' argument.
|
|
|
|
|
(print_command, call_command): Update.
|
|
|
|
|
(inspect_command): Remove.
|
|
|
|
|
(_initialize_printcmd): Make "inspect" an alias for "print".
|
|
|
|
|
* top.c (epoch_interface): Remove.
|
|
|
|
|
* top.h (epoch_interface): Remove.
|
|
|
|
|
* valprint.c (user_print_options): Update.
|
|
|
|
|
(print_converted_chars_to_obstack): Remove "inspect_it" code.
|
|
|
|
|
* valprint.h (struct value_print_options) <inspect_it>: Remove
|
|
|
|
|
field.
|
|
|
|
|
|
|
|
|
|
2013-01-04 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* valprint.h (read_string): Add 'extern'.
|
|
|
|
|
|
2013-01-07 11:14:37 +00:00
|
|
|
|
2013-01-07 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* darwin-nat.c: Fix typo in TASK_DYLD_INFO_COUNT macro test
|
|
|
|
|
used to decide whether to define darwin_read_dyld_info or not.
|
|
|
|
|
|
2013-01-03 22:18:35 +00:00
|
|
|
|
2013-01-03 Pierre Muller <muller@sourceware.org>
|
|
|
|
|
|
|
|
|
|
* main.c (relocate_gdb_directory): Avoid calling stat function
|
|
|
|
|
if DIR is empty.
|
|
|
|
|
|
2013-01-03 07:17:52 +00:00
|
|
|
|
2013-01-03 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* psymtab.c (fixup_psymbol_section): Update declaration.
|
|
|
|
|
(fixup_psymbol_section): Remove code returning value.
|
|
|
|
|
|
2013-01-03 07:13:28 +00:00
|
|
|
|
2013-01-03 Yao Qi <yao@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* symtab.h: Remove some out of date comments.
|
|
|
|
|
(enum exception_event_kind): Move it ...
|
|
|
|
|
* breakpoint.c: ... here.
|
|
|
|
|
|
2013-01-02 21:06:30 +00:00
|
|
|
|
2013-01-02 Iain Sandoe <developer@sandoe-acoustics.co.uk>
|
|
|
|
|
|
2013-01-02 21:07:53 +00:00
|
|
|
|
PR gdb/14405
|
2013-01-02 21:06:30 +00:00
|
|
|
|
* darwin-nat.c (darwin_read_dyld_info): Only build if
|
|
|
|
|
TASK_DYLD_INFO_COUNT is defined.
|
|
|
|
|
(darwin_xfer_partial): Call darwin_read_dyld_info only if
|
|
|
|
|
TASK_DYLD_INFO_COUNT is defined.
|
|
|
|
|
|
2013-01-02 18:52:07 +00:00
|
|
|
|
2013-01-02 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* symfile.h (struct ecoff_debug_hack): Remove.
|
|
|
|
|
* objfiles.c: Don't include mdebugread.h.
|
|
|
|
|
|
2013-01-02 14:58:15 +00:00
|
|
|
|
2013-01-02 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* config/i386/darwin.mh (NATDEPFILES): Remove machoread.o.
|
|
|
|
|
* configure.ac: Check for Mach-O support in BFD. Update
|
|
|
|
|
CONFIG_OBS.
|
|
|
|
|
* configure: Rebuild.
|
|
|
|
|
|
2013-01-02 14:54:17 +00:00
|
|
|
|
2013-01-02 Tom Tromey <tromey@redhat.com>
|
|
|
|
|
|
|
|
|
|
* acinclude.m4 (GDB_AC_CHECK_BFD): New macro.
|
|
|
|
|
* configure.ac: Use GDB_AC_CHECK_BFD.
|
|
|
|
|
* configure: Rebuild.
|
|
|
|
|
|
2013-01-02 04:49:56 +00:00
|
|
|
|
2013-01-01 Maxim Kuvyrkov <maxim.kuvyrkov@gmail.com>
|
|
|
|
|
|
|
|
|
|
* MAINTAINERS: Update my email.
|
|
|
|
|
|
2013-01-01 07:38:02 +00:00
|
|
|
|
2013-01-01 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* cli/cli-script.h (make_cleanup_free_command_lines): Make extern.
|
|
|
|
|
|
2013-01-01 11:04:34 +00:00
|
|
|
|
2013-01-01 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* rs6000-nat.c (bss_data_overlap): New function.
|
|
|
|
|
(vmap_symtab): Use it to adjust the .bss section's offset.
|
|
|
|
|
|
2013-01-01 06:33:28 +00:00
|
|
|
|
2013-01-01 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
Update year range in copyright notice of all files.
|
|
|
|
|
|
2013-01-07 16:40:39 +00:00
|
|
|
|
2013-01-01, 13 Joel Brobecker <brobecker@adacore.com>
|
2013-01-01 05:45:22 +00:00
|
|
|
|
|
|
|
|
|
* top.c (print_gdb_version): Update copyright year.
|
|
|
|
|
|
2013-01-01 05:30:40 +00:00
|
|
|
|
For older changes see ChangeLog-2012.
|
1999-04-16 01:35:26 +00:00
|
|
|
|
|
|
|
|
|
Local Variables:
|
|
|
|
|
mode: change-log
|
|
|
|
|
left-margin: 8
|
|
|
|
|
fill-column: 74
|
|
|
|
|
version-control: never
|
2007-08-09 22:44:38 +00:00
|
|
|
|
coding: utf-8
|
1999-04-16 01:35:26 +00:00
|
|
|
|
End:
|