2019-01-27 20:51:36 +01:00
|
|
|
|
2019-02-07 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* yy-remap.h: Add include guard.
|
|
|
|
|
* xtensa-tdep.h: Add include guard.
|
|
|
|
|
* xcoffread.h: Rename include guard.
|
|
|
|
|
* varobj-iter.h: Add include guard.
|
|
|
|
|
* tui/tui.h: Rename include guard.
|
|
|
|
|
* tui/tui-winsource.h: Rename include guard.
|
|
|
|
|
* tui/tui-wingeneral.h: Rename include guard.
|
|
|
|
|
* tui/tui-windata.h: Rename include guard.
|
|
|
|
|
* tui/tui-win.h: Rename include guard.
|
|
|
|
|
* tui/tui-stack.h: Rename include guard.
|
|
|
|
|
* tui/tui-source.h: Rename include guard.
|
|
|
|
|
* tui/tui-regs.h: Rename include guard.
|
|
|
|
|
* tui/tui-out.h: Rename include guard.
|
|
|
|
|
* tui/tui-layout.h: Rename include guard.
|
|
|
|
|
* tui/tui-io.h: Rename include guard.
|
|
|
|
|
* tui/tui-hooks.h: Rename include guard.
|
|
|
|
|
* tui/tui-file.h: Rename include guard.
|
|
|
|
|
* tui/tui-disasm.h: Rename include guard.
|
|
|
|
|
* tui/tui-data.h: Rename include guard.
|
|
|
|
|
* tui/tui-command.h: Rename include guard.
|
|
|
|
|
* tic6x-tdep.h: Add include guard.
|
|
|
|
|
* target/waitstatus.h: Rename include guard.
|
|
|
|
|
* target/wait.h: Rename include guard.
|
|
|
|
|
* target/target.h: Rename include guard.
|
|
|
|
|
* target/resume.h: Rename include guard.
|
|
|
|
|
* target-float.h: Rename include guard.
|
|
|
|
|
* stabsread.h: Add include guard.
|
|
|
|
|
* rs6000-tdep.h: Add include guard.
|
|
|
|
|
* riscv-fbsd-tdep.h: Add include guard.
|
|
|
|
|
* regformats/regdef.h: Rename include guard.
|
|
|
|
|
* record.h: Rename include guard.
|
|
|
|
|
* python/python.h: Rename include guard.
|
|
|
|
|
* python/python-internal.h: Rename include guard.
|
|
|
|
|
* python/py-stopevent.h: Rename include guard.
|
|
|
|
|
* python/py-ref.h: Rename include guard.
|
|
|
|
|
* python/py-record.h: Rename include guard.
|
|
|
|
|
* python/py-record-full.h: Rename include guard.
|
|
|
|
|
* python/py-record-btrace.h: Rename include guard.
|
|
|
|
|
* python/py-instruction.h: Rename include guard.
|
|
|
|
|
* python/py-events.h: Rename include guard.
|
|
|
|
|
* python/py-event.h: Rename include guard.
|
|
|
|
|
* procfs.h: Add include guard.
|
|
|
|
|
* proc-utils.h: Add include guard.
|
|
|
|
|
* p-lang.h: Add include guard.
|
|
|
|
|
* or1k-tdep.h: Rename include guard.
|
|
|
|
|
* observable.h: Rename include guard.
|
|
|
|
|
* nto-tdep.h: Rename include guard.
|
|
|
|
|
* nat/x86-linux.h: Rename include guard.
|
|
|
|
|
* nat/x86-linux-dregs.h: Rename include guard.
|
|
|
|
|
* nat/x86-gcc-cpuid.h: Add include guard.
|
|
|
|
|
* nat/x86-dregs.h: Rename include guard.
|
|
|
|
|
* nat/x86-cpuid.h: Rename include guard.
|
|
|
|
|
* nat/ppc-linux.h: Rename include guard.
|
|
|
|
|
* nat/mips-linux-watch.h: Rename include guard.
|
|
|
|
|
* nat/linux-waitpid.h: Rename include guard.
|
|
|
|
|
* nat/linux-ptrace.h: Rename include guard.
|
|
|
|
|
* nat/linux-procfs.h: Rename include guard.
|
|
|
|
|
* nat/linux-osdata.h: Rename include guard.
|
|
|
|
|
* nat/linux-nat.h: Rename include guard.
|
|
|
|
|
* nat/linux-namespaces.h: Rename include guard.
|
|
|
|
|
* nat/linux-btrace.h: Rename include guard.
|
|
|
|
|
* nat/glibc_thread_db.h: Rename include guard.
|
|
|
|
|
* nat/gdb_thread_db.h: Rename include guard.
|
|
|
|
|
* nat/gdb_ptrace.h: Rename include guard.
|
|
|
|
|
* nat/fork-inferior.h: Rename include guard.
|
|
|
|
|
* nat/amd64-linux-siginfo.h: Rename include guard.
|
|
|
|
|
* nat/aarch64-sve-linux-sigcontext.h: Rename include guard.
|
|
|
|
|
* nat/aarch64-sve-linux-ptrace.h: Rename include guard.
|
|
|
|
|
* nat/aarch64-linux.h: Rename include guard.
|
|
|
|
|
* nat/aarch64-linux-hw-point.h: Rename include guard.
|
|
|
|
|
* mn10300-tdep.h: Add include guard.
|
|
|
|
|
* mips-linux-tdep.h: Add include guard.
|
|
|
|
|
* mi/mi-parse.h: Rename include guard.
|
|
|
|
|
* mi/mi-out.h: Rename include guard.
|
|
|
|
|
* mi/mi-main.h: Rename include guard.
|
|
|
|
|
* mi/mi-interp.h: Rename include guard.
|
|
|
|
|
* mi/mi-getopt.h: Rename include guard.
|
|
|
|
|
* mi/mi-console.h: Rename include guard.
|
|
|
|
|
* mi/mi-common.h: Rename include guard.
|
|
|
|
|
* mi/mi-cmds.h: Rename include guard.
|
|
|
|
|
* mi/mi-cmd-break.h: Rename include guard.
|
|
|
|
|
* m2-lang.h: Add include guard.
|
|
|
|
|
* location.h: Rename include guard.
|
|
|
|
|
* linux-record.h: Rename include guard.
|
|
|
|
|
* linux-nat.h: Add include guard.
|
|
|
|
|
* linux-fork.h: Add include guard.
|
|
|
|
|
* i386-darwin-tdep.h: Rename include guard.
|
|
|
|
|
* hppa-linux-offsets.h: Add include guard.
|
|
|
|
|
* guile/guile.h: Rename include guard.
|
|
|
|
|
* guile/guile-internal.h: Rename include guard.
|
|
|
|
|
* gnu-nat.h: Rename include guard.
|
|
|
|
|
* gdb-stabs.h: Rename include guard.
|
|
|
|
|
* frv-tdep.h: Add include guard.
|
|
|
|
|
* f-lang.h: Add include guard.
|
|
|
|
|
* event-loop.h: Add include guard.
|
|
|
|
|
* darwin-nat.h: Rename include guard.
|
|
|
|
|
* cp-abi.h: Rename include guard.
|
|
|
|
|
* config/sparc/nm-sol2.h: Rename include guard.
|
|
|
|
|
* config/nm-nto.h: Rename include guard.
|
|
|
|
|
* config/nm-linux.h: Add include guard.
|
|
|
|
|
* config/i386/nm-i386gnu.h: Rename include guard.
|
|
|
|
|
* config/djgpp/nl_types.h: Rename include guard.
|
|
|
|
|
* config/djgpp/langinfo.h: Rename include guard.
|
|
|
|
|
* compile/gcc-cp-plugin.h: Add include guard.
|
|
|
|
|
* compile/gcc-c-plugin.h: Add include guard.
|
|
|
|
|
* compile/compile.h: Rename include guard.
|
|
|
|
|
* compile/compile-object-run.h: Rename include guard.
|
|
|
|
|
* compile/compile-object-load.h: Rename include guard.
|
|
|
|
|
* compile/compile-internal.h: Rename include guard.
|
|
|
|
|
* compile/compile-cplus.h: Rename include guard.
|
|
|
|
|
* compile/compile-c.h: Rename include guard.
|
|
|
|
|
* common/xml-utils.h: Rename include guard.
|
|
|
|
|
* common/x86-xstate.h: Rename include guard.
|
|
|
|
|
* common/version.h: Rename include guard.
|
|
|
|
|
* common/vec.h: Rename include guard.
|
|
|
|
|
* common/tdesc.h: Rename include guard.
|
|
|
|
|
* common/selftest.h: Rename include guard.
|
|
|
|
|
* common/scoped_restore.h: Rename include guard.
|
|
|
|
|
* common/scoped_mmap.h: Rename include guard.
|
|
|
|
|
* common/scoped_fd.h: Rename include guard.
|
|
|
|
|
* common/safe-iterator.h: Rename include guard.
|
|
|
|
|
* common/run-time-clock.h: Rename include guard.
|
|
|
|
|
* common/refcounted-object.h: Rename include guard.
|
|
|
|
|
* common/queue.h: Rename include guard.
|
|
|
|
|
* common/ptid.h: Rename include guard.
|
|
|
|
|
* common/print-utils.h: Rename include guard.
|
|
|
|
|
* common/preprocessor.h: Rename include guard.
|
|
|
|
|
* common/pathstuff.h: Rename include guard.
|
|
|
|
|
* common/observable.h: Rename include guard.
|
|
|
|
|
* common/netstuff.h: Rename include guard.
|
|
|
|
|
* common/job-control.h: Rename include guard.
|
|
|
|
|
* common/host-defs.h: Rename include guard.
|
|
|
|
|
* common/gdb_wait.h: Rename include guard.
|
|
|
|
|
* common/gdb_vecs.h: Rename include guard.
|
|
|
|
|
* common/gdb_unlinker.h: Rename include guard.
|
|
|
|
|
* common/gdb_unique_ptr.h: Rename include guard.
|
|
|
|
|
* common/gdb_tilde_expand.h: Rename include guard.
|
|
|
|
|
* common/gdb_sys_time.h: Rename include guard.
|
|
|
|
|
* common/gdb_string_view.h: Rename include guard.
|
|
|
|
|
* common/gdb_splay_tree.h: Rename include guard.
|
|
|
|
|
* common/gdb_setjmp.h: Rename include guard.
|
|
|
|
|
* common/gdb_ref_ptr.h: Rename include guard.
|
|
|
|
|
* common/gdb_optional.h: Rename include guard.
|
|
|
|
|
* common/gdb_locale.h: Rename include guard.
|
|
|
|
|
* common/gdb_assert.h: Rename include guard.
|
|
|
|
|
* common/filtered-iterator.h: Rename include guard.
|
|
|
|
|
* common/filestuff.h: Rename include guard.
|
|
|
|
|
* common/fileio.h: Rename include guard.
|
|
|
|
|
* common/environ.h: Rename include guard.
|
|
|
|
|
* common/common-utils.h: Rename include guard.
|
|
|
|
|
* common/common-types.h: Rename include guard.
|
|
|
|
|
* common/common-regcache.h: Rename include guard.
|
|
|
|
|
* common/common-inferior.h: Rename include guard.
|
|
|
|
|
* common/common-gdbthread.h: Rename include guard.
|
|
|
|
|
* common/common-exceptions.h: Rename include guard.
|
|
|
|
|
* common/common-defs.h: Rename include guard.
|
|
|
|
|
* common/common-debug.h: Rename include guard.
|
|
|
|
|
* common/cleanups.h: Rename include guard.
|
|
|
|
|
* common/buffer.h: Rename include guard.
|
|
|
|
|
* common/btrace-common.h: Rename include guard.
|
|
|
|
|
* common/break-common.h: Rename include guard.
|
|
|
|
|
* cli/cli-utils.h: Rename include guard.
|
|
|
|
|
* cli/cli-style.h: Rename include guard.
|
|
|
|
|
* cli/cli-setshow.h: Rename include guard.
|
|
|
|
|
* cli/cli-script.h: Rename include guard.
|
|
|
|
|
* cli/cli-interp.h: Rename include guard.
|
|
|
|
|
* cli/cli-decode.h: Rename include guard.
|
|
|
|
|
* cli/cli-cmds.h: Rename include guard.
|
|
|
|
|
* charset-list.h: Add include guard.
|
|
|
|
|
* buildsym-legacy.h: Rename include guard.
|
|
|
|
|
* bfin-tdep.h: Add include guard.
|
|
|
|
|
* ax.h: Rename include guard.
|
|
|
|
|
* arm-linux-tdep.h: Add include guard.
|
|
|
|
|
* arm-fbsd-tdep.h: Add include guard.
|
|
|
|
|
* arch/xtensa.h: Rename include guard.
|
|
|
|
|
* arch/tic6x.h: Add include guard.
|
|
|
|
|
* arch/i386.h: Add include guard.
|
|
|
|
|
* arch/arm.h: Rename include guard.
|
|
|
|
|
* arch/arm-linux.h: Rename include guard.
|
|
|
|
|
* arch/arm-get-next-pcs.h: Rename include guard.
|
|
|
|
|
* arch/amd64.h: Add include guard.
|
|
|
|
|
* arch/aarch64-insn.h: Rename include guard.
|
|
|
|
|
* arch-utils.h: Rename include guard.
|
|
|
|
|
* annotate.h: Add include guard.
|
|
|
|
|
* amd64-darwin-tdep.h: Rename include guard.
|
|
|
|
|
* aarch64-linux-tdep.h: Add include guard.
|
|
|
|
|
* aarch64-fbsd-tdep.h: Add include guard.
|
|
|
|
|
* aarch32-linux-nat.h: Add include guard.
|
|
|
|
|
|
2019-01-26 12:32:45 +01:00
|
|
|
|
2019-02-06 Philippe Waroquiers <philippe.waroquiers@skynet.be>
|
|
|
|
|
|
|
|
|
|
* macrotab.c (macro_define_internal): New function that
|
|
|
|
|
factorizes macro_define_object_internal and macro_define_function
|
|
|
|
|
code.
|
|
|
|
|
(macro_define_object_internal): Use macro_define_internal.
|
|
|
|
|
(macro_define_function): Likewise.
|
|
|
|
|
|
Fix leak of identifier in macro definition.
Valgrind detects leaks like the following (gdb.base/macscp.exp).
This patch fixes 1 of the 3 leaks (the last one in the list below).
The remaining leaks are better fixed in splay_tree_remove and
splay_tree_insert in libiberty.
Tested on debian/amd64, natively and under valgrind.
==22285== 64 (48 direct, 16 indirect) bytes in 1 blocks are definitely lost in loss record 737 of 3,377
==22285== at 0x4C2BE6D: malloc (vg_replace_malloc.c:309)
==22285== by 0x4049E7: xmalloc (common-utils.c:44)
==22285== by 0x533A20: new_macro_key(macro_table*, char const*, macro_source_file*, int) (macrotab.c:355)
==22285== by 0x53438B: macro_define_function(macro_source_file*, int, char const*, int, char const**, char const*) (macrotab.c:822)
==22285== by 0x52F945: macro_define_command(char const*, int) (macrocmd.c:409)
...
==22285== 128 (96 direct, 32 indirect) bytes in 2 blocks are definitely lost in loss record 1,083 of 3,377
==22285== at 0x4C2BE6D: malloc (vg_replace_malloc.c:309)
==22285== by 0x4049E7: xmalloc (common-utils.c:44)
==22285== by 0x533A20: new_macro_key(macro_table*, char const*, macro_source_file*, int) (macrotab.c:355)
==22285== by 0x534277: macro_define_object_internal(macro_source_file*, int, char const*, char const*, macro_special_kind) (macrotab.c:776)
==22285== by 0x52F7E0: macro_define_command(char const*, int) (macrocmd.c:414)
...
==22285== 177 bytes in 19 blocks are definitely lost in loss record 1,193 of 3,377
==22285== at 0x4C2BE6D: malloc (vg_replace_malloc.c:309)
==22285== by 0x4049E7: xmalloc (common-utils.c:44)
==22285== by 0x52F5BD: extract_identifier(char const**, int) (macrocmd.c:316)
==22285== by 0x52F77D: macro_define_command(char const*, int) (macrocmd.c:355)
gdb/ChangeLog
2019-02-06 Philippe Waroquiers <philippe.waroquiers@skynet.be>
* macrocmd.c (extract_identifier): Return
a gdb::unique_xmalloc_ptr<char> instead of a char *, and update
callers.
2019-01-26 12:29:00 +01:00
|
|
|
|
2019-02-06 Philippe Waroquiers <philippe.waroquiers@skynet.be>
|
|
|
|
|
|
|
|
|
|
* macrocmd.c (extract_identifier): Return
|
|
|
|
|
a gdb::unique_xmalloc_ptr<char> instead of a char *, and update
|
|
|
|
|
callers.
|
|
|
|
|
|
2019-02-06 18:45:50 +01:00
|
|
|
|
2019-02-06 John Baldwin <jhb@FreeBSD.org>
|
|
|
|
|
|
|
|
|
|
* fbsd-nat.c (fbsd_fetch_cmdline): Join arguments with spaces.
|
|
|
|
|
|
2019-02-05 12:59:11 +01:00
|
|
|
|
2019-02-05 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* target.c (target_stack::unpush): Move assertion earlier.
|
|
|
|
|
|
2018-09-08 04:02:21 +02:00
|
|
|
|
2019-01-30 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
PR python/23615:
|
|
|
|
|
* python/python.c (execute_gdb_command): Use gdbpy_allow_threads.
|
|
|
|
|
(gdbpy_parse_and_eval): Likewise.
|
|
|
|
|
* python/python-internal.h (gdbpy_allow_threads): New class.
|
|
|
|
|
|
2019-01-28 19:16:58 +01:00
|
|
|
|
2019-01-28 John Baldwin <jhb@FreeBSD.org>
|
|
|
|
|
|
|
|
|
|
* aarch64-fbsd-tdep.c (aarch64_fbsd_gregmap)
|
|
|
|
|
(aarch64_fbsd_fpregmap): Move earlier.
|
|
|
|
|
(AARCH64_MCONTEXT_REG_SIZE, AARCH64_MCONTEXT_FPREG_SIZE): Delete.
|
|
|
|
|
(aarch64_fbsd_sigframe_init): Use trad_frame_set_reg_regmap
|
|
|
|
|
instead of individual calls to trad_frame_set_reg_addr.
|
|
|
|
|
* arm-fbsd-tdep.c (arm_fbsd_gregmap, arm_fbsd_vfpregmap): Move
|
|
|
|
|
earlier.
|
|
|
|
|
(ARM_MCONTEXT_REG_SIZE, ARM_MCONTEXT_VFP_REG_SIZE): Delete.
|
|
|
|
|
(arm_fbsd_sigframe_init): Use trad_frame_set_reg_regmap
|
|
|
|
|
instead of individual calls to trad_frame_set_reg_addr.
|
|
|
|
|
|
2019-01-28 10:39:55 +01:00
|
|
|
|
2019-01-28 Alan Hayward <alan.hayward@arm.com>
|
|
|
|
|
|
|
|
|
|
* CONTRIBUTE: Replace contribution list with wiki link.
|
|
|
|
|
|
2019-01-22 08:26:45 +01:00
|
|
|
|
2019-01-25 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* Makefile.in (GDB_CFLAGS): Don't add -I for common.
|
|
|
|
|
|
2019-01-23 18:21:39 +01:00
|
|
|
|
2019-01-25 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* xtensa-linux-nat.c: Fix common/ includes.
|
|
|
|
|
* xml-support.h: Fix common/ includes.
|
|
|
|
|
* xml-support.c: Fix common/ includes.
|
|
|
|
|
* x86-linux-nat.c: Fix common/ includes.
|
|
|
|
|
* windows-nat.c: Fix common/ includes.
|
|
|
|
|
* varobj.h: Fix common/ includes.
|
|
|
|
|
* varobj.c: Fix common/ includes.
|
|
|
|
|
* value.c: Fix common/ includes.
|
|
|
|
|
* valops.c: Fix common/ includes.
|
|
|
|
|
* utils.c: Fix common/ includes.
|
|
|
|
|
* unittests/xml-utils-selftests.c: Fix common/ includes.
|
|
|
|
|
* unittests/utils-selftests.c: Fix common/ includes.
|
|
|
|
|
* unittests/unpack-selftests.c: Fix common/ includes.
|
|
|
|
|
* unittests/tracepoint-selftests.c: Fix common/ includes.
|
|
|
|
|
* unittests/style-selftests.c: Fix common/ includes.
|
|
|
|
|
* unittests/string_view-selftests.c: Fix common/ includes.
|
|
|
|
|
* unittests/scoped_restore-selftests.c: Fix common/ includes.
|
|
|
|
|
* unittests/scoped_mmap-selftests.c: Fix common/ includes.
|
|
|
|
|
* unittests/scoped_fd-selftests.c: Fix common/ includes.
|
|
|
|
|
* unittests/rsp-low-selftests.c: Fix common/ includes.
|
|
|
|
|
* unittests/parse-connection-spec-selftests.c: Fix common/
|
|
|
|
|
includes.
|
|
|
|
|
* unittests/optional-selftests.c: Fix common/ includes.
|
|
|
|
|
* unittests/offset-type-selftests.c: Fix common/ includes.
|
|
|
|
|
* unittests/observable-selftests.c: Fix common/ includes.
|
|
|
|
|
* unittests/mkdir-recursive-selftests.c: Fix common/ includes.
|
|
|
|
|
* unittests/memrange-selftests.c: Fix common/ includes.
|
|
|
|
|
* unittests/memory-map-selftests.c: Fix common/ includes.
|
|
|
|
|
* unittests/lookup_name_info-selftests.c: Fix common/ includes.
|
|
|
|
|
* unittests/function-view-selftests.c: Fix common/ includes.
|
|
|
|
|
* unittests/environ-selftests.c: Fix common/ includes.
|
|
|
|
|
* unittests/copy_bitwise-selftests.c: Fix common/ includes.
|
|
|
|
|
* unittests/common-utils-selftests.c: Fix common/ includes.
|
|
|
|
|
* unittests/cli-utils-selftests.c: Fix common/ includes.
|
|
|
|
|
* unittests/array-view-selftests.c: Fix common/ includes.
|
|
|
|
|
* ui-file.c: Fix common/ includes.
|
|
|
|
|
* tui/tui-io.c: Fix common/ includes.
|
|
|
|
|
* tracepoint.h: Fix common/ includes.
|
|
|
|
|
* tracepoint.c: Fix common/ includes.
|
|
|
|
|
* tracefile-tfile.c: Fix common/ includes.
|
|
|
|
|
* top.h: Fix common/ includes.
|
|
|
|
|
* top.c: Fix common/ includes.
|
|
|
|
|
* thread.c: Fix common/ includes.
|
|
|
|
|
* target/waitstatus.h: Fix common/ includes.
|
|
|
|
|
* target/waitstatus.c: Fix common/ includes.
|
|
|
|
|
* target.h: Fix common/ includes.
|
|
|
|
|
* target.c: Fix common/ includes.
|
|
|
|
|
* target-memory.c: Fix common/ includes.
|
|
|
|
|
* target-descriptions.c: Fix common/ includes.
|
|
|
|
|
* symtab.h: Fix common/ includes.
|
|
|
|
|
* symfile.c: Fix common/ includes.
|
|
|
|
|
* stap-probe.c: Fix common/ includes.
|
|
|
|
|
* spu-linux-nat.c: Fix common/ includes.
|
|
|
|
|
* sparc-nat.c: Fix common/ includes.
|
|
|
|
|
* source.c: Fix common/ includes.
|
|
|
|
|
* solib.c: Fix common/ includes.
|
|
|
|
|
* solib-target.c: Fix common/ includes.
|
|
|
|
|
* ser-unix.c: Fix common/ includes.
|
|
|
|
|
* ser-tcp.c: Fix common/ includes.
|
|
|
|
|
* ser-pipe.c: Fix common/ includes.
|
|
|
|
|
* ser-base.c: Fix common/ includes.
|
|
|
|
|
* selftest-arch.c: Fix common/ includes.
|
|
|
|
|
* s12z-tdep.c: Fix common/ includes.
|
|
|
|
|
* rust-exp.y: Fix common/ includes.
|
|
|
|
|
* rs6000-aix-tdep.c: Fix common/ includes.
|
|
|
|
|
* riscv-tdep.c: Fix common/ includes.
|
|
|
|
|
* remote.c: Fix common/ includes.
|
|
|
|
|
* remote-notif.h: Fix common/ includes.
|
|
|
|
|
* remote-fileio.h: Fix common/ includes.
|
|
|
|
|
* remote-fileio.c: Fix common/ includes.
|
|
|
|
|
* regcache.h: Fix common/ includes.
|
|
|
|
|
* regcache.c: Fix common/ includes.
|
|
|
|
|
* record-btrace.c: Fix common/ includes.
|
|
|
|
|
* python/python.c: Fix common/ includes.
|
|
|
|
|
* python/py-type.c: Fix common/ includes.
|
|
|
|
|
* python/py-inferior.c: Fix common/ includes.
|
|
|
|
|
* progspace.h: Fix common/ includes.
|
|
|
|
|
* producer.c: Fix common/ includes.
|
|
|
|
|
* procfs.c: Fix common/ includes.
|
|
|
|
|
* proc-api.c: Fix common/ includes.
|
|
|
|
|
* printcmd.c: Fix common/ includes.
|
|
|
|
|
* ppc-linux-nat.c: Fix common/ includes.
|
|
|
|
|
* parser-defs.h: Fix common/ includes.
|
|
|
|
|
* osdata.c: Fix common/ includes.
|
|
|
|
|
* obsd-nat.c: Fix common/ includes.
|
|
|
|
|
* nat/x86-linux.c: Fix common/ includes.
|
|
|
|
|
* nat/x86-linux-dregs.c: Fix common/ includes.
|
|
|
|
|
* nat/x86-dregs.h: Fix common/ includes.
|
|
|
|
|
* nat/x86-dregs.c: Fix common/ includes.
|
|
|
|
|
* nat/ppc-linux.c: Fix common/ includes.
|
|
|
|
|
* nat/mips-linux-watch.h: Fix common/ includes.
|
|
|
|
|
* nat/mips-linux-watch.c: Fix common/ includes.
|
|
|
|
|
* nat/linux-waitpid.c: Fix common/ includes.
|
|
|
|
|
* nat/linux-ptrace.h: Fix common/ includes.
|
|
|
|
|
* nat/linux-ptrace.c: Fix common/ includes.
|
|
|
|
|
* nat/linux-procfs.c: Fix common/ includes.
|
|
|
|
|
* nat/linux-personality.c: Fix common/ includes.
|
|
|
|
|
* nat/linux-osdata.c: Fix common/ includes.
|
|
|
|
|
* nat/linux-namespaces.c: Fix common/ includes.
|
|
|
|
|
* nat/linux-btrace.h: Fix common/ includes.
|
|
|
|
|
* nat/linux-btrace.c: Fix common/ includes.
|
|
|
|
|
* nat/fork-inferior.c: Fix common/ includes.
|
|
|
|
|
* nat/amd64-linux-siginfo.c: Fix common/ includes.
|
|
|
|
|
* nat/aarch64-sve-linux-ptrace.c: Fix common/ includes.
|
|
|
|
|
* nat/aarch64-linux.c: Fix common/ includes.
|
|
|
|
|
* nat/aarch64-linux-hw-point.h: Fix common/ includes.
|
|
|
|
|
* nat/aarch64-linux-hw-point.c: Fix common/ includes.
|
|
|
|
|
* namespace.h: Fix common/ includes.
|
|
|
|
|
* mips-linux-tdep.c: Fix common/ includes.
|
|
|
|
|
* minsyms.c: Fix common/ includes.
|
|
|
|
|
* mi/mi-parse.h: Fix common/ includes.
|
|
|
|
|
* mi/mi-main.c: Fix common/ includes.
|
|
|
|
|
* mi/mi-cmd-env.c: Fix common/ includes.
|
|
|
|
|
* memrange.h: Fix common/ includes.
|
|
|
|
|
* memattr.c: Fix common/ includes.
|
|
|
|
|
* maint.h: Fix common/ includes.
|
|
|
|
|
* maint.c: Fix common/ includes.
|
|
|
|
|
* main.c: Fix common/ includes.
|
|
|
|
|
* machoread.c: Fix common/ includes.
|
|
|
|
|
* location.c: Fix common/ includes.
|
|
|
|
|
* linux-thread-db.c: Fix common/ includes.
|
|
|
|
|
* linux-nat.c: Fix common/ includes.
|
|
|
|
|
* linux-fork.c: Fix common/ includes.
|
|
|
|
|
* inline-frame.c: Fix common/ includes.
|
|
|
|
|
* infrun.c: Fix common/ includes.
|
|
|
|
|
* inflow.c: Fix common/ includes.
|
|
|
|
|
* inferior.h: Fix common/ includes.
|
|
|
|
|
* inferior.c: Fix common/ includes.
|
|
|
|
|
* infcmd.c: Fix common/ includes.
|
|
|
|
|
* inf-ptrace.c: Fix common/ includes.
|
|
|
|
|
* inf-child.c: Fix common/ includes.
|
|
|
|
|
* ia64-linux-nat.c: Fix common/ includes.
|
|
|
|
|
* i387-tdep.c: Fix common/ includes.
|
|
|
|
|
* i386-tdep.c: Fix common/ includes.
|
|
|
|
|
* i386-linux-tdep.c: Fix common/ includes.
|
|
|
|
|
* i386-linux-nat.c: Fix common/ includes.
|
|
|
|
|
* i386-go32-tdep.c: Fix common/ includes.
|
|
|
|
|
* i386-fbsd-tdep.c: Fix common/ includes.
|
|
|
|
|
* i386-fbsd-nat.c: Fix common/ includes.
|
|
|
|
|
* guile/scm-type.c: Fix common/ includes.
|
|
|
|
|
* guile/guile.c: Fix common/ includes.
|
|
|
|
|
* go32-nat.c: Fix common/ includes.
|
|
|
|
|
* gnu-nat.c: Fix common/ includes.
|
|
|
|
|
* gdbthread.h: Fix common/ includes.
|
|
|
|
|
* gdbarch-selftests.c: Fix common/ includes.
|
|
|
|
|
* gdb_usleep.c: Fix common/ includes.
|
|
|
|
|
* gdb_select.h: Fix common/ includes.
|
|
|
|
|
* gdb_bfd.c: Fix common/ includes.
|
|
|
|
|
* gcore.c: Fix common/ includes.
|
|
|
|
|
* fork-child.c: Fix common/ includes.
|
|
|
|
|
* findvar.c: Fix common/ includes.
|
|
|
|
|
* fbsd-nat.c: Fix common/ includes.
|
|
|
|
|
* event-top.c: Fix common/ includes.
|
|
|
|
|
* event-loop.c: Fix common/ includes.
|
|
|
|
|
* dwarf2read.c: Fix common/ includes.
|
|
|
|
|
* dwarf2loc.c: Fix common/ includes.
|
|
|
|
|
* dwarf2-frame.c: Fix common/ includes.
|
|
|
|
|
* dwarf-index-cache.c: Fix common/ includes.
|
|
|
|
|
* dtrace-probe.c: Fix common/ includes.
|
|
|
|
|
* disasm-selftests.c: Fix common/ includes.
|
|
|
|
|
* defs.h: Fix common/ includes.
|
|
|
|
|
* csky-tdep.c: Fix common/ includes.
|
|
|
|
|
* cp-valprint.c: Fix common/ includes.
|
|
|
|
|
* cp-support.h: Fix common/ includes.
|
|
|
|
|
* cp-support.c: Fix common/ includes.
|
|
|
|
|
* corelow.c: Fix common/ includes.
|
|
|
|
|
* completer.h: Fix common/ includes.
|
|
|
|
|
* completer.c: Fix common/ includes.
|
|
|
|
|
* compile/compile.c: Fix common/ includes.
|
|
|
|
|
* compile/compile-loc2c.c: Fix common/ includes.
|
|
|
|
|
* compile/compile-cplus-types.c: Fix common/ includes.
|
|
|
|
|
* compile/compile-cplus-symbols.c: Fix common/ includes.
|
|
|
|
|
* command.h: Fix common/ includes.
|
|
|
|
|
* cli/cli-dump.c: Fix common/ includes.
|
|
|
|
|
* cli/cli-cmds.c: Fix common/ includes.
|
|
|
|
|
* charset.c: Fix common/ includes.
|
|
|
|
|
* build-id.c: Fix common/ includes.
|
|
|
|
|
* btrace.h: Fix common/ includes.
|
|
|
|
|
* btrace.c: Fix common/ includes.
|
|
|
|
|
* breakpoint.h: Fix common/ includes.
|
|
|
|
|
* breakpoint.c: Fix common/ includes.
|
|
|
|
|
* ax.h:
|
|
|
|
|
(enum agent_op): Fix common/ includes.
|
|
|
|
|
* ax-general.c (struct aop_map): Fix common/ includes.
|
|
|
|
|
* ax-gdb.c: Fix common/ includes.
|
|
|
|
|
* auxv.c: Fix common/ includes.
|
|
|
|
|
* auto-load.c: Fix common/ includes.
|
|
|
|
|
* arm-tdep.c: Fix common/ includes.
|
|
|
|
|
* arch/riscv.c: Fix common/ includes.
|
|
|
|
|
* arch/ppc-linux-common.c: Fix common/ includes.
|
|
|
|
|
* arch/i386.c: Fix common/ includes.
|
|
|
|
|
* arch/arm.c: Fix common/ includes.
|
|
|
|
|
* arch/arm-linux.c: Fix common/ includes.
|
|
|
|
|
* arch/arm-get-next-pcs.c: Fix common/ includes.
|
|
|
|
|
* arch/amd64.c: Fix common/ includes.
|
|
|
|
|
* arch/aarch64.c: Fix common/ includes.
|
|
|
|
|
* arch/aarch64-insn.c: Fix common/ includes.
|
|
|
|
|
* arch-utils.c: Fix common/ includes.
|
|
|
|
|
* amd64-windows-tdep.c: Fix common/ includes.
|
|
|
|
|
* amd64-tdep.c: Fix common/ includes.
|
|
|
|
|
* amd64-sol2-tdep.c: Fix common/ includes.
|
|
|
|
|
* amd64-obsd-tdep.c: Fix common/ includes.
|
|
|
|
|
* amd64-nbsd-tdep.c: Fix common/ includes.
|
|
|
|
|
* amd64-linux-tdep.c: Fix common/ includes.
|
|
|
|
|
* amd64-linux-nat.c: Fix common/ includes.
|
|
|
|
|
* amd64-fbsd-tdep.c: Fix common/ includes.
|
|
|
|
|
* amd64-fbsd-nat.c: Fix common/ includes.
|
|
|
|
|
* amd64-dicos-tdep.c: Fix common/ includes.
|
|
|
|
|
* amd64-darwin-tdep.c: Fix common/ includes.
|
|
|
|
|
* agent.c: Fix common/ includes.
|
|
|
|
|
* ada-lang.h: Fix common/ includes.
|
|
|
|
|
* ada-lang.c: Fix common/ includes.
|
|
|
|
|
* aarch64-tdep.c: Fix common/ includes.
|
|
|
|
|
|
2019-01-22 07:03:23 +01:00
|
|
|
|
2019-01-25 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* common/create-version.sh: Use common/version.h.
|
|
|
|
|
|
target_pass_signals/target_program_signals: Use gdb::array_view
This replaces the pointer and length parameters of target_pass_signals
and target_program_signals with a gdb::array_view parameter, and fixes
the fallout.
In infrun.c, the signal_stop, signal_print, signal_program,
signal_catch, signal_pass globals are currently pointers to
heap-allocated memory. I see no point in that, so I converted them to
arrays. This allows simplifying the calls to
target_pass_signals/target_program_signals, since we can pass the
array directly, which can implicitly convert to gdb::array_view.
gdb/ChangeLog:
2019-01-24 Pedro Alves <palves@redhat.com>
* infrun.c (signal_stop, signal_print, signal_program)
(signal_catch, signal_pass): Now arrays instead of pointers.
(update_signals_program_target, do_target_resume)
(signal_catch_update, handle_command, _initialize_infrun): Adjust.
* linux-nat.c (linux_nat_target::pass_signals)
(linux_nat_target::create_inferior, linux_nat_target::attach):
Adjust.
* linux-nat.h (linux_nat_target::pass_signals): Adjust.
* nto-procfs.c (nto_procfs_target::pass_signals): Adjust.
* procfs.c (procfs_target::pass_signals): Adjust.
* record-full.c (record_full_target::resume): Adjust.
* remote.c (remote_target::pass_signals)
(remote_target::program_signals): Adjust.
* target-debug.h (target_debug_print_signals): Now takes a
gdb::array_view as parameter. Adjust.
* target.h (target_ops) <pass_signals, program_signals>: Replace
pointer and length parameters with gdb::array_view.
(target_pass_signals, target_program_signals): Likewise.
* target-delegates.c: Regenerate.
2019-01-24 19:25:06 +01:00
|
|
|
|
2019-01-24 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* infrun.c (signal_stop, signal_print, signal_program)
|
|
|
|
|
(signal_catch, signal_pass): Now arrays instead of pointers.
|
|
|
|
|
(update_signals_program_target, do_target_resume)
|
|
|
|
|
(signal_catch_update, handle_command, _initialize_infrun): Adjust.
|
|
|
|
|
* linux-nat.c (linux_nat_target::pass_signals)
|
|
|
|
|
(linux_nat_target::create_inferior, linux_nat_target::attach):
|
|
|
|
|
Adjust.
|
|
|
|
|
* linux-nat.h (linux_nat_target::pass_signals): Adjust.
|
|
|
|
|
* nto-procfs.c (nto_procfs_target::pass_signals): Adjust.
|
|
|
|
|
* procfs.c (procfs_target::pass_signals): Adjust.
|
|
|
|
|
* record-full.c (record_full_target::resume): Adjust.
|
|
|
|
|
* remote.c (remote_target::pass_signals)
|
|
|
|
|
(remote_target::program_signals): Adjust.
|
|
|
|
|
* target-debug.h (target_debug_print_signals): Now takes a
|
|
|
|
|
gdb::array_view as parameter. Adjust.
|
|
|
|
|
* target.h (target_ops) <pass_signals, program_signals>: Replace
|
|
|
|
|
pointer and length parameters with gdb::array_view.
|
|
|
|
|
(target_pass_signals, target_program_signals): Likewise.
|
|
|
|
|
* target-delegates.c: Regenerate.
|
|
|
|
|
|
Fix clang/libc++ build
This fixes the following build error with clang/libc++, reported at
<https://sourceware.org/ml/gdb-patches/2019-01/msg00537.html>:
(...)
In file included from breakpoint.c:34:
In file included from ./inferior.h:54:
./common/forward-scope-exit.h:98:7: error: no matching constructor for
initialization of 'decltype(std::bind(&delete_longjmp_breakpoint,
std::declval<int>()))' (aka '__bind<void (*)(int), int>')
: m_bind_function (std::bind (function, args...))
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./common/gdb_optional.h:155:19: note: in instantiation of member
function 'detail::forward_scope_exit<void (int),
&delete_longjmp_breakpoint, void (int)>::forward_scope_exit' requested
here
new (&m_item) T (std::forward<Args>(args)...);
^
breakpoint.c:11127:18: note: in instantiation of function template
specialization 'gdb::optional<detail::forward_scope_exit<void (int),
&delete_longjmp_breakpoint, void (int)> >::emplace<int &>' requested
here
lj_deleter.emplace (thread);
^
/Applications/Xcode-10.1.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional:2220:7:
note: candidate constructor (the implicit copy constructor) not
viable: no known conversion from '__bind<[...], int &>' to 'const
__bind<[...], int>' for 1st argument
class __bind
^
(...)
I don't really know why I ended up with a copy here. We can just pass
the arguments directly to the being-constructed bind.
gdb/ChangeLog:
2019-01-24 Pedro Alves <palves@redhat.com>
* common/forward-scope-exit.h
(forward_scope_exit::forward_scope_exit): Pass arguments to
m_bind_function directly, instead of creating a std::bind and
copying that.
2019-01-24 19:01:49 +01:00
|
|
|
|
2019-01-24 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* common/forward-scope-exit.h
|
|
|
|
|
(forward_scope_exit::forward_scope_exit): Pass arguments to
|
|
|
|
|
m_bind_function directly, instead of creating a std::bind and
|
|
|
|
|
copying that.
|
|
|
|
|
|
2019-01-24 09:17:39 +01:00
|
|
|
|
2019-01-24 Alan Hayward <alan.hayward@arm.com>
|
|
|
|
|
|
|
|
|
|
* aarch64-tdep.c (aapcs_is_vfp_call_or_return_candidate_1): Check
|
|
|
|
|
for static members.
|
|
|
|
|
(pass_in_v_vfp_candidate): Likewise.
|
|
|
|
|
|
2019-01-23 19:58:37 +01:00
|
|
|
|
2019-01-23 Tom Tromey <tom@tromey.com>
|
|
|
|
|
Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* regcache.c (class regcache_invalidator): Remove.
|
|
|
|
|
(regcache::raw_write): Use make_scope_exit.
|
|
|
|
|
|
2019-01-23 19:58:36 +01:00
|
|
|
|
2019-01-23 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* ui-out.h (class ui_out_emit_type): Update comment.
|
|
|
|
|
|
2019-01-23 19:58:36 +01:00
|
|
|
|
2019-01-23 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* infrun.c (fetch_inferior_event): Update comment.
|
|
|
|
|
|
2019-01-23 19:58:35 +01:00
|
|
|
|
2019-01-23 Tom Tromey <tom@tromey.com>
|
|
|
|
|
Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* infrun.c (reinstall_readline_callback_handler_cleanup): Remove
|
|
|
|
|
parameter.
|
|
|
|
|
(fetch_inferior_event): Use SCOPE_EXIT.
|
|
|
|
|
|
|
|
|
|
|
2019-01-23 19:58:35 +01:00
|
|
|
|
2019-01-23 Tom Tromey <tom@tromey.com>
|
|
|
|
|
Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* infrun.c (disable_thread_events): Delete.
|
|
|
|
|
(stop_all_threads): Use SCOPE_EXIT.
|
|
|
|
|
|
2019-01-23 19:58:34 +01:00
|
|
|
|
2019-01-23 Tom Tromey <tom@tromey.com>
|
|
|
|
|
Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* symfile.c: Include forward-scope-exit.h.
|
|
|
|
|
(clear_symtab_users_cleanup): Replace forward declaration with
|
|
|
|
|
a FORWARD_SCOPE_EXIT.
|
|
|
|
|
(syms_from_objfile_1): Use the forward_scope_exit and
|
|
|
|
|
gdb::optional instead of cleanup_function.
|
|
|
|
|
(reread_symbols): Use the forward_scope_exit instead of
|
|
|
|
|
cleanup_function.
|
|
|
|
|
(clear_symtab_users_cleanup): Remove function.
|
|
|
|
|
|
2019-01-23 19:58:34 +01:00
|
|
|
|
2019-01-23 Tom Tromey <tom@tromey.com>
|
|
|
|
|
Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* linux-nat.c: Include scope-exit.h.
|
|
|
|
|
(cleanup_target_stop): Remove.
|
|
|
|
|
(linux_nat_target::static_tracepoint_markers_by_strid): Use
|
|
|
|
|
SCOPE_EXIT.
|
|
|
|
|
|
2019-01-23 19:58:33 +01:00
|
|
|
|
2019-01-23 Tom Tromey <tom@tromey.com>
|
|
|
|
|
Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* infcall.c (cleanup_delete_std_terminate_breakpoint): Remove.
|
|
|
|
|
(call_function_by_hand_dummy): Use SCOPE_EXIT.
|
|
|
|
|
|
2019-01-23 19:58:33 +01:00
|
|
|
|
2019-01-23 Tom Tromey <tom@tromey.com>
|
|
|
|
|
Andrew Burgess <andrew.burgess@embecosm.com>
|
|
|
|
|
Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* infrun.c (fetch_inferior_event): Use scope_exit.
|
|
|
|
|
* utils.h (make_bpstat_clear_actions_cleanup): Don't declare.
|
|
|
|
|
* top.c (execute_command): Use scope_exit.
|
|
|
|
|
* breakpoint.c (bpstat_do_actions): Use scope_exit.
|
|
|
|
|
* utils.c (do_bpstat_clear_actions_cleanup)
|
|
|
|
|
(make_bpstat_clear_actions_cleanup): Remove.
|
|
|
|
|
|
2019-01-23 19:58:32 +01:00
|
|
|
|
2019-01-23 Tom Tromey <tom@tromey.com>
|
|
|
|
|
Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* infrun.c: Include "common/scope-exit.h"
|
|
|
|
|
(delete_just_stopped_threads_infrun_breakpoints_cleanup): Remove.
|
|
|
|
|
(wait_for_inferior): Use SCOPE_EXIT.
|
|
|
|
|
(fetch_inferior_event): Use scope_exit.
|
|
|
|
|
|
2019-01-23 19:58:31 +01:00
|
|
|
|
2019-01-23 Tom Tromey <tom@tromey.com>
|
|
|
|
|
Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* breakpoint.c (create_breakpoint): Remove cleanup.
|
|
|
|
|
|
2019-01-23 19:58:31 +01:00
|
|
|
|
2019-01-23 Tom Tromey <tom@tromey.com>
|
|
|
|
|
Andrew Burgess <andrew.burgess@embecosm.com>
|
|
|
|
|
Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
2019-01-23 19:58:30 +01:00
|
|
|
|
2019-01-23 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* gdbarch-selftests.c (struct on_exit): Use SCOPE_EXIT.
|
|
|
|
|
|
2019-01-23 19:58:30 +01:00
|
|
|
|
2019-01-23 Pedro Alves <palves@redhat.com>
|
|
|
|
|
Andrew Burgess <andrew.burgess@embecosm.com>
|
|
|
|
|
|
|
|
|
|
* gdbthread.h: Include "common/forward-scope-exit.h".
|
|
|
|
|
(scoped_finish_thread_state): Redefine custom class in terms of
|
|
|
|
|
forward_scope_exit.
|
|
|
|
|
|
2019-01-23 19:58:29 +01:00
|
|
|
|
2019-01-23 Pedro Alves <palves@redhat.com>
|
|
|
|
|
Andrew Burgess <andrew.burgess@embecosm.com>
|
|
|
|
|
|
|
|
|
|
* common/forward-scope-exit.h: New file.
|
|
|
|
|
|
2019-01-23 19:58:29 +01:00
|
|
|
|
2019-01-23 Pedro Alves <palves@redhat.com>
|
|
|
|
|
Andrew Burgess <andrew.burgess@embecosm.com>
|
|
|
|
|
Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* common/scope-exit.h: New file.
|
|
|
|
|
|
2019-01-23 19:58:28 +01:00
|
|
|
|
2019-01-23 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* common/preprocessor.h (ESC): Rename to ...
|
|
|
|
|
(ESC_PARENS): ... this.
|
|
|
|
|
* common/valid-expr.h (CHECK_VALID_EXPR_1, CHECK_VALID_EXPR_2)
|
|
|
|
|
(CHECK_VALID_EXPR_3, CHECK_VALID_EXPR_4): Adjust.
|
|
|
|
|
|
2019-01-18 15:45:01 +01:00
|
|
|
|
2019-01-23 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* language.h (class scoped_switch_to_sym_language_if_auto):
|
|
|
|
|
Initialize m_lang in both cases.
|
|
|
|
|
|
2019-01-23 12:31:40 +01:00
|
|
|
|
2019-01-23 Alan Hayward <alan.hayward@arm.com>
|
|
|
|
|
|
|
|
|
|
* nat/aarch64-linux.c (aarch64_linux_new_thread): Replace XNEW
|
|
|
|
|
with XCNEW.
|
|
|
|
|
|
2019-01-21 23:18:50 +01:00
|
|
|
|
2019-01-22 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* corelow.c: Do not include sys/file.h.
|
|
|
|
|
|
2019-01-21 22:18:25 +01:00
|
|
|
|
2019-01-22 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* tui/tui-wingeneral.h: Include gdb_curses.h.
|
|
|
|
|
|
2019-01-21 22:17:32 +01:00
|
|
|
|
2019-01-22 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* source-cache.h (class source_cache) <get_source_lines,
|
|
|
|
|
get_plain_source_lines, extract_lines>: Rename "lines" parameter.
|
|
|
|
|
|
2019-01-21 22:08:59 +01:00
|
|
|
|
2019-01-22 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* remote-fileio.h (struct remote_target): Declare.
|
|
|
|
|
|
2019-01-21 21:49:06 +01:00
|
|
|
|
2019-01-22 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* python/py-arch.c: Do not include py-ref.h.
|
|
|
|
|
* python/py-bpevent.c: Do not include py-ref.h.
|
|
|
|
|
* python/py-cmd.c: Do not include py-ref.h.
|
|
|
|
|
* python/py-continueevent.c: Do not include py-ref.h.
|
|
|
|
|
* python/py-event.h: Do not include py-ref.h.
|
|
|
|
|
* python/py-evtregistry.c: Do not include py-ref.h.
|
|
|
|
|
* python/py-finishbreakpoint.c: Do not include py-ref.h.
|
|
|
|
|
* python/py-frame.c: Do not include py-ref.h.
|
|
|
|
|
* python/py-framefilter.c: Do not include py-ref.h.
|
|
|
|
|
* python/py-function.c: Do not include py-ref.h.
|
|
|
|
|
* python/py-infevents.c: Do not include py-ref.h.
|
|
|
|
|
* python/py-linetable.c: Do not include py-ref.h.
|
|
|
|
|
* python/py-objfile.c: Do not include py-ref.h.
|
|
|
|
|
* python/py-param.c: Do not include py-ref.h.
|
|
|
|
|
* python/py-prettyprint.c: Do not include py-ref.h.
|
|
|
|
|
* python/py-progspace.c: Do not include py-ref.h.
|
|
|
|
|
* python/py-symbol.c: Do not include py-ref.h.
|
|
|
|
|
* python/py-symtab.c: Do not include py-ref.h.
|
|
|
|
|
* python/py-type.c: Do not include py-ref.h.
|
|
|
|
|
* python/py-unwind.c: Do not include py-ref.h.
|
|
|
|
|
* python/py-utils.c: Do not include py-ref.h.
|
|
|
|
|
* python/py-value.c: Do not include py-ref.h.
|
|
|
|
|
* python/py-varobj.c: Do not include py-ref.h.
|
|
|
|
|
* python/py-xmethods.c: Do not include py-ref.h.
|
|
|
|
|
* python/python.c: Do not include py-ref.h.
|
|
|
|
|
* varobj.c: Do not include py-ref.h.
|
|
|
|
|
|
2019-01-21 21:45:00 +01:00
|
|
|
|
2019-01-22 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* objfiles.h (struct objfile_per_bfd_storage): Use "struct"
|
|
|
|
|
keyword for bcache.
|
|
|
|
|
|
2019-01-21 21:43:16 +01:00
|
|
|
|
2019-01-22 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* compile/compile-cplus-types.c: Remove a comment by #include.
|
|
|
|
|
|
2019-01-21 21:42:36 +01:00
|
|
|
|
2019-01-22 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* compile/gcc-c-plugin.h: Include compile-internal.h.
|
|
|
|
|
|
2019-01-22 09:58:59 +01:00
|
|
|
|
2019-01-22 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* stabsread.c (EXTERN): Do not define.
|
|
|
|
|
(symnum, next_symbol_text_func, processing_gcc_compilation)
|
|
|
|
|
(within_function, global_sym_chain, global_stabs)
|
|
|
|
|
(previous_stab_code, this_object_header_files)
|
|
|
|
|
(n_this_object_header_files)
|
|
|
|
|
(n_allocated_this_object_header_files): Define.
|
|
|
|
|
* stabsread.h (EXTERN): Never define. Use "extern".
|
|
|
|
|
|
2019-01-20 16:59:00 +01:00
|
|
|
|
2019-01-22 Philippe Waroquiers <philippe.waroquiers@skynet.be>
|
|
|
|
|
|
|
|
|
|
* event-top.c (handle_line_of_input): use unique_xmalloc_ptr for
|
|
|
|
|
history_value.
|
|
|
|
|
|
2019-01-19 22:08:48 +01:00
|
|
|
|
2019-01-21 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* ui-out.c: Fix includes.
|
|
|
|
|
* tui/tui-source.c: Fix includes.
|
|
|
|
|
* target.c: Fix includes.
|
|
|
|
|
* remote.c: Fix includes.
|
|
|
|
|
* regcache.c: Fix includes.
|
|
|
|
|
* python/py-block.c: Fix includes.
|
|
|
|
|
* printcmd.c: Fix includes.
|
|
|
|
|
* or1k-tdep.c: Fix includes.
|
|
|
|
|
* mi/mi-main.c: Fix includes.
|
|
|
|
|
* m32r-tdep.c: Fix includes.
|
|
|
|
|
* csky-tdep.c: Fix includes.
|
|
|
|
|
* compile/compile-cplus-types.c: Fix includes.
|
|
|
|
|
* cli/cli-interp.c: Fix includes.
|
|
|
|
|
|
2019-01-21 16:51:49 +01:00
|
|
|
|
2019-01-21 Alan Hayward <alan.hayward@arm.com>
|
|
|
|
|
|
|
|
|
|
* aarch64-tdep.c (aapcs_is_vfp_call_or_return_candidate_1): Check
|
|
|
|
|
for padding.
|
|
|
|
|
|
2019-01-16 15:18:58 +01:00
|
|
|
|
2019-01-16 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* objfiles.h (struct minimal_symbol_iterator): Rename. Move
|
|
|
|
|
earlier.
|
|
|
|
|
(struct objfile) <msymbols_range>: Move from top level.
|
|
|
|
|
<msymbols>: New method.
|
|
|
|
|
(class objfile_msymbols): Remove.
|
|
|
|
|
* symtab.c (default_collect_symbol_completion_matches_break_on):
|
|
|
|
|
Update.
|
|
|
|
|
* symmisc.c (dump_msymbols): Update.
|
|
|
|
|
* stabsread.c (scan_file_globals): Update.
|
|
|
|
|
* objc-lang.c (info_selectors_command, info_classes_command)
|
|
|
|
|
(find_methods): Update.
|
|
|
|
|
* minsyms.c (find_solib_trampoline_target): Update.
|
|
|
|
|
* hppa-tdep.c (hppa_lookup_stub_minimal_symbol): Update.
|
|
|
|
|
* coffread.c (coff_symfile_read): Update.
|
|
|
|
|
* ada-lang.c (ada_lookup_simple_minsym)
|
|
|
|
|
(ada_collect_symbol_completion_matches): Update.
|
|
|
|
|
|
2019-01-16 15:09:55 +01:00
|
|
|
|
2019-01-16 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* objfiles.h (class objfile_msymbols) <iterator>: Change argument
|
|
|
|
|
type. Remove no-argument constructor.
|
|
|
|
|
<iterator::operator++>: Simplify.
|
|
|
|
|
<begin>: Update.
|
|
|
|
|
<end>: Use minimal_symbol_count.
|
|
|
|
|
|
2019-01-16 14:37:15 +01:00
|
|
|
|
2019-01-16 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* objfiles.h (struct objfile) <psymtabs>: New method.
|
|
|
|
|
(class objfile_psymtabs): Remove.
|
|
|
|
|
* psymtab.h (class psymtab_storage) <partial_symtab_range>: New
|
|
|
|
|
typedef.
|
|
|
|
|
<range>: New method.
|
|
|
|
|
(require_partial_symbols): Change return type.
|
|
|
|
|
* psymtab.c (require_partial_symbols)
|
|
|
|
|
(psym_expand_symtabs_matching): Update.
|
|
|
|
|
* mdebugread.c (parse_partial_symbols): Update.
|
|
|
|
|
* dbxread.c (dbx_end_psymtab): Update.
|
|
|
|
|
|
2019-01-16 04:06:48 +01:00
|
|
|
|
2019-01-15 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* symtab.c (lookup_objfile_from_block)
|
|
|
|
|
(lookup_symbol_in_objfile_symtabs)
|
|
|
|
|
(basic_lookup_transparent_type_1, find_pc_sect_compunit_symtab)
|
|
|
|
|
(find_line_symtab, info_sources_command)
|
|
|
|
|
(default_collect_symbol_completion_matches_break_on)
|
|
|
|
|
(make_source_files_completion_list): Update.
|
|
|
|
|
* symmisc.c (print_objfile_statistics, dump_objfile)
|
|
|
|
|
(maintenance_print_symbols, maintenance_info_symtabs)
|
|
|
|
|
(maintenance_check_symtabs, maintenance_info_line_tables):
|
|
|
|
|
Update.
|
|
|
|
|
* source.c (select_source_symtab)
|
|
|
|
|
(forget_cached_source_info_for_objfile): Update.
|
|
|
|
|
* objfiles.h (class objfile_compunits): Remove.
|
|
|
|
|
(struct objfile) <compunits_range>: New typedef.
|
|
|
|
|
(compunits): New method.
|
|
|
|
|
* objfiles.c (objfile_relocate1): Update.
|
|
|
|
|
* mi/mi-cmd-file.c (mi_cmd_file_list_exec_source_files): Update.
|
|
|
|
|
* maint.c (count_symtabs_and_blocks): Update.
|
|
|
|
|
* linespec.c (iterate_over_all_matching_symtabs): Update.
|
|
|
|
|
* cp-support.c (add_symbol_overload_list_qualified): Update.
|
|
|
|
|
* coffread.c (coff_symtab_read): Update.
|
|
|
|
|
* ada-lang.c (add_nonlocal_symbols)
|
|
|
|
|
(ada_collect_symbol_completion_matches)
|
|
|
|
|
(ada_add_global_exceptions): Update.
|
|
|
|
|
|
2019-01-16 01:06:38 +01:00
|
|
|
|
2019-01-15 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* progspace.h (program_space) <objfiles_safe_range>: New
|
|
|
|
|
typedef.
|
|
|
|
|
<objfiles_safe>: New method.
|
|
|
|
|
* objfiles.h (class all_objfiles_safe): Remove.
|
|
|
|
|
* objfiles.c (free_all_objfiles, objfile_purge_solibs): Update.
|
|
|
|
|
* jit.c (jit_inferior_exit_hook): Update.
|
|
|
|
|
|
Change all_objfiles adapter to be a method on program_space
This changes the all_objfiles range adapter to be a method on the
program space, and fixes up all the users.
gdb/ChangeLog
2019-01-17 Tom Tromey <tom@tromey.com>
* progspace.h (program_space) <objfiles_range>: New typedef.
<objfiles>: New method.
<objfiles_head>: Rename from objfiles.
(object_files): Update.
* guile/scm-progspace.c (gdbscm_progspace_objfiles): Update.
* guile/scm-pretty-print.c
(ppscm_find_pretty_printer_from_objfiles): Update.
* guile/scm-objfile.c (gdbscm_objfiles): Update.
* python/py-xmethods.c (gdbpy_get_matching_xmethod_workers):
Update.
* python/py-progspace.c (pspy_get_objfiles): Update.
* python/py-prettyprint.c (find_pretty_printer_from_objfiles):
Update.
* python/py-objfile.c (objfpy_lookup_objfile_by_name)
(objfpy_lookup_objfile_by_build_id): Update.
* mi/mi-cmd-file.c (mi_cmd_file_list_exec_source_files): Update.
* windows-tdep.c (windows_iterate_over_objfiles_in_search_order):
Update.
* symtab.c (iterate_over_symtabs, matching_obj_sections)
(expand_symtab_containing_pc, lookup_objfile_from_block)
(lookup_static_symbol, basic_lookup_transparent_type)
(find_pc_sect_compunit_symtab, find_symbol_at_address)
(find_line_symtab, info_sources_command)
(default_collect_symbol_completion_matches_break_on)
(make_source_files_completion_list, find_main_name): Update.
* symmisc.c (print_symbol_bcache_statistics)
(print_objfile_statistics, maintenance_print_symbols)
(maintenance_print_msymbols, maintenance_print_objfiles)
(maintenance_info_symtabs, maintenance_check_symtabs)
(maintenance_expand_symtabs, maintenance_info_line_tables):
Update.
* symfile.c (remove_symbol_file_command, overlay_invalidate_all)
(find_pc_overlay, find_pc_mapped_section, list_overlays_command)
(map_overlay_command, unmap_overlay_command)
(simple_overlay_update, expand_symtabs_matching)
(map_symbol_filenames): Update.
* symfile-debug.c (set_debug_symfile): Update.
* spu-tdep.c (spu_overlay_update, spu_objfile_from_frame):
Update.
* source.c (select_source_symtab, forget_cached_source_info):
Update.
* solib.c (solib_read_symbols): Update.
* solib-spu.c (append_ocl_sos): Update.
* psymtab.c (maintenance_print_psymbols)
(maintenance_info_psymtabs, maintenance_check_psymtabs): Update.
* probe.c (parse_probes_in_pspace, find_probe_by_pc): Update.
* printcmd.c (info_symbol_command): Update.
* ppc-linux-tdep.c (ppc_linux_spe_context_inferior_created):
Update.
* objfiles.h (class all_objfiles): Remove.
* objfiles.c (have_partial_symbols, have_full_symbols)
(have_minimal_symbols, qsort_cmp, update_section_map)
(shared_objfile_contains_address_p)
(default_iterate_over_objfiles_in_search_order): Update.
* objc-lang.c (info_selectors_command, info_classes_command)
(find_methods): Update.
* minsyms.c (find_solib_trampoline_target): Update.
* maint.c (maintenance_info_sections)
(maintenance_translate_address, count_symtabs_and_blocks):
Update.
* main.c (captured_main_1): Update.
* linux-thread-db.c (try_thread_db_load_from_pdir)
(has_libpthread): Update.
* linespec.c (iterate_over_all_matching_symtabs)
(search_minsyms_for_name): Update.
* jit.c (jit_find_objf_with_entry_addr): Update.
* hppa-tdep.c (find_unwind_entry)
(hppa_lookup_stub_minimal_symbol): Update.
* gcore.c (gcore_create_callback, objfile_find_memory_regions):
Update.
* elfread.c (elf_gnu_ifunc_resolve_by_cache)
(elf_gnu_ifunc_resolve_by_got): Update.
* dwarf2-frame.c (dwarf2_frame_find_fde): Update.
* dwarf-index-write.c (save_gdb_index_command): Update.
* cp-support.c (add_symbol_overload_list_qualified): Update.
* breakpoint.c (create_overlay_event_breakpoint)
(create_longjmp_master_breakpoint)
(create_std_terminate_master_breakpoint)
(create_exception_master_breakpoint): Update.
* blockframe.c (find_pc_partial_function): Update.
* ada-lang.c (ada_lookup_simple_minsym, add_nonlocal_symbols)
(ada_collect_symbol_completion_matches)
(ada_add_global_exceptions): Update.
2019-01-16 00:55:05 +01:00
|
|
|
|
2019-01-17 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* progspace.h (program_space) <objfiles_range>: New typedef.
|
|
|
|
|
<objfiles>: New method.
|
|
|
|
|
<objfiles_head>: Rename from objfiles.
|
|
|
|
|
(object_files): Update.
|
|
|
|
|
* guile/scm-progspace.c (gdbscm_progspace_objfiles): Update.
|
|
|
|
|
* guile/scm-pretty-print.c
|
|
|
|
|
(ppscm_find_pretty_printer_from_objfiles): Update.
|
|
|
|
|
* guile/scm-objfile.c (gdbscm_objfiles): Update.
|
|
|
|
|
* python/py-xmethods.c (gdbpy_get_matching_xmethod_workers):
|
|
|
|
|
Update.
|
|
|
|
|
* python/py-progspace.c (pspy_get_objfiles): Update.
|
|
|
|
|
* python/py-prettyprint.c (find_pretty_printer_from_objfiles):
|
|
|
|
|
Update.
|
|
|
|
|
* python/py-objfile.c (objfpy_lookup_objfile_by_name)
|
|
|
|
|
(objfpy_lookup_objfile_by_build_id): Update.
|
|
|
|
|
* mi/mi-cmd-file.c (mi_cmd_file_list_exec_source_files): Update.
|
|
|
|
|
* windows-tdep.c (windows_iterate_over_objfiles_in_search_order):
|
|
|
|
|
Update.
|
|
|
|
|
* symtab.c (iterate_over_symtabs, matching_obj_sections)
|
|
|
|
|
(expand_symtab_containing_pc, lookup_objfile_from_block)
|
|
|
|
|
(lookup_static_symbol, basic_lookup_transparent_type)
|
|
|
|
|
(find_pc_sect_compunit_symtab, find_symbol_at_address)
|
|
|
|
|
(find_line_symtab, info_sources_command)
|
|
|
|
|
(default_collect_symbol_completion_matches_break_on)
|
|
|
|
|
(make_source_files_completion_list, find_main_name): Update.
|
|
|
|
|
* symmisc.c (print_symbol_bcache_statistics)
|
|
|
|
|
(print_objfile_statistics, maintenance_print_symbols)
|
|
|
|
|
(maintenance_print_msymbols, maintenance_print_objfiles)
|
|
|
|
|
(maintenance_info_symtabs, maintenance_check_symtabs)
|
|
|
|
|
(maintenance_expand_symtabs, maintenance_info_line_tables):
|
|
|
|
|
Update.
|
|
|
|
|
* symfile.c (remove_symbol_file_command, overlay_invalidate_all)
|
|
|
|
|
(find_pc_overlay, find_pc_mapped_section, list_overlays_command)
|
|
|
|
|
(map_overlay_command, unmap_overlay_command)
|
|
|
|
|
(simple_overlay_update, expand_symtabs_matching)
|
|
|
|
|
(map_symbol_filenames): Update.
|
|
|
|
|
* symfile-debug.c (set_debug_symfile): Update.
|
|
|
|
|
* spu-tdep.c (spu_overlay_update, spu_objfile_from_frame):
|
|
|
|
|
Update.
|
|
|
|
|
* source.c (select_source_symtab, forget_cached_source_info):
|
|
|
|
|
Update.
|
|
|
|
|
* solib.c (solib_read_symbols): Update.
|
|
|
|
|
* solib-spu.c (append_ocl_sos): Update.
|
|
|
|
|
* psymtab.c (maintenance_print_psymbols)
|
|
|
|
|
(maintenance_info_psymtabs, maintenance_check_psymtabs): Update.
|
|
|
|
|
* probe.c (parse_probes_in_pspace, find_probe_by_pc): Update.
|
|
|
|
|
* printcmd.c (info_symbol_command): Update.
|
|
|
|
|
* ppc-linux-tdep.c (ppc_linux_spe_context_inferior_created):
|
|
|
|
|
Update.
|
|
|
|
|
* objfiles.h (class all_objfiles): Remove.
|
|
|
|
|
* objfiles.c (have_partial_symbols, have_full_symbols)
|
|
|
|
|
(have_minimal_symbols, qsort_cmp, update_section_map)
|
|
|
|
|
(shared_objfile_contains_address_p)
|
|
|
|
|
(default_iterate_over_objfiles_in_search_order): Update.
|
|
|
|
|
* objc-lang.c (info_selectors_command, info_classes_command)
|
|
|
|
|
(find_methods): Update.
|
|
|
|
|
* minsyms.c (find_solib_trampoline_target): Update.
|
|
|
|
|
* maint.c (maintenance_info_sections)
|
|
|
|
|
(maintenance_translate_address, count_symtabs_and_blocks):
|
|
|
|
|
Update.
|
|
|
|
|
* main.c (captured_main_1): Update.
|
|
|
|
|
* linux-thread-db.c (try_thread_db_load_from_pdir)
|
|
|
|
|
(has_libpthread): Update.
|
|
|
|
|
* linespec.c (iterate_over_all_matching_symtabs)
|
|
|
|
|
(search_minsyms_for_name): Update.
|
|
|
|
|
* jit.c (jit_find_objf_with_entry_addr): Update.
|
|
|
|
|
* hppa-tdep.c (find_unwind_entry)
|
|
|
|
|
(hppa_lookup_stub_minimal_symbol): Update.
|
|
|
|
|
* gcore.c (gcore_create_callback, objfile_find_memory_regions):
|
|
|
|
|
Update.
|
|
|
|
|
* elfread.c (elf_gnu_ifunc_resolve_by_cache)
|
|
|
|
|
(elf_gnu_ifunc_resolve_by_got): Update.
|
|
|
|
|
* dwarf2-frame.c (dwarf2_frame_find_fde): Update.
|
|
|
|
|
* dwarf-index-write.c (save_gdb_index_command): Update.
|
|
|
|
|
* cp-support.c (add_symbol_overload_list_qualified): Update.
|
|
|
|
|
* breakpoint.c (create_overlay_event_breakpoint)
|
|
|
|
|
(create_longjmp_master_breakpoint)
|
|
|
|
|
(create_std_terminate_master_breakpoint)
|
|
|
|
|
(create_exception_master_breakpoint): Update.
|
|
|
|
|
* blockframe.c (find_pc_partial_function): Update.
|
|
|
|
|
* ada-lang.c (ada_lookup_simple_minsym, add_nonlocal_symbols)
|
|
|
|
|
(ada_collect_symbol_completion_matches)
|
|
|
|
|
(ada_add_global_exceptions): Update.
|
|
|
|
|
|
2019-01-17 05:46:00 +01:00
|
|
|
|
2019-01-17 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* solib-target.c (lm_info_target_p): Remove typedef. Don't
|
|
|
|
|
declare VEC.
|
|
|
|
|
(solib_target_parse_libraries): Change return type.
|
|
|
|
|
(library_list_start_segment, library_list_start_section)
|
|
|
|
|
(library_list_end_library, library_list_start_library); Update.
|
|
|
|
|
(solib_target_free_library_list): Remove.
|
|
|
|
|
(solib_target_parse_libraries): Remove cleanup. Change return
|
|
|
|
|
type.
|
|
|
|
|
(solib_target_current_sos): Update.
|
|
|
|
|
|
2019-01-17 18:19:44 +01:00
|
|
|
|
2019-01-17 Tom Tromey <tromey@bapiya>
|
|
|
|
|
|
|
|
|
|
* valprint.c: Replace "the the" with "the".
|
|
|
|
|
* symtab.c: Replace "the the" with "the".
|
|
|
|
|
* solib.c: Replace "the the" with "the".
|
|
|
|
|
* solib-dsbt.c: Replace "the the" with "the".
|
|
|
|
|
* linespec.c: Replace "the the" with "the".
|
|
|
|
|
* dwarf2loc.h: Replace "the the" with "the".
|
|
|
|
|
* amd64-windows-tdep.c: Replace "the the" with "the".
|
|
|
|
|
* aarch64-tdep.c: Replace "the the" with "the".
|
|
|
|
|
|
2019-01-16 20:38:06 +01:00
|
|
|
|
2019-01-16 Keith Seitz <keiths@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR gdb/23773
|
|
|
|
|
* dwarf2read.c (dwarf2_cu) <ancestor>: New field.
|
|
|
|
|
<builder>: Rename to ..
|
|
|
|
|
<m_builder>: ... this and make private.
|
|
|
|
|
(dwarf2_cu::get_builder): New method. Change all users of
|
|
|
|
|
`builder' to use this method.
|
|
|
|
|
(dwarf2_start_symtab): Move to ...
|
|
|
|
|
(dwarf2_cu::start_symtab): ... here. Update all callers
|
|
|
|
|
(setup_type_unit_groups): Move to ...
|
|
|
|
|
(dwarf2_cu::setup_type_unit_groups): ... here. Update all
|
|
|
|
|
callers.
|
|
|
|
|
(dwarf2_cu::reset_builder): New method.
|
|
|
|
|
(process_full_compunit, process_full_type_unit): Use
|
|
|
|
|
dwarf2_cu::reset_builder.
|
|
|
|
|
(follow_die_offset): Record the ancestor CU if it is different
|
|
|
|
|
from the followed DIE's CU.
|
|
|
|
|
(follow_die_sig_1): Likewise.
|
|
|
|
|
|
2019-01-06 19:15:05 +01:00
|
|
|
|
2019-01-15 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* remote.c (class remote_state) <buf>: Now a char_vector.
|
|
|
|
|
<buf_size>: Remove.
|
|
|
|
|
(remote_target::getpkt): Change type of buf. Remove sizeof_buf
|
|
|
|
|
parameter.
|
|
|
|
|
(remote_target::getpkt_or_notif_sane_1)
|
|
|
|
|
(remote_target::getpkt_sane)
|
|
|
|
|
(remote_target::getpkt_or_notif_sane): Likewise.
|
|
|
|
|
(class remote_target) <putpkt>: New overload.
|
|
|
|
|
(remote_target::read_frame): Change type of "buf_p". Remove
|
|
|
|
|
sizeof_p parameter.
|
|
|
|
|
(packet_ok): New overload.
|
|
|
|
|
(packet_check_result): New overload.
|
|
|
|
|
Update all uses.
|
|
|
|
|
|
2019-01-06 21:30:00 +01:00
|
|
|
|
2019-01-14 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* remote-notif.c (handle_notification, remote_notif_ack)
|
|
|
|
|
(remote_notif_parse): Make "buf" const.
|
|
|
|
|
* remote-notif.h (struct notif_client) <parse, ack>: Make "buf"
|
|
|
|
|
const.
|
|
|
|
|
(remote_notif_parse, remote_notif_ack, handle_notification):
|
|
|
|
|
Likewise.
|
|
|
|
|
* remote.c (remote_notif_stop_parse): Make "buf" const.
|
|
|
|
|
(remote_target::remote_parse_stop_reply): Make "buf" const.
|
|
|
|
|
(remote_notif_stop_ack): Make "buf" const.
|
|
|
|
|
|
2019-01-06 21:26:22 +01:00
|
|
|
|
2019-01-14 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* remote.c (remote_console_output): Make parameter const.
|
|
|
|
|
|
2019-01-06 21:24:11 +01:00
|
|
|
|
2019-01-14 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* target-debug.h (target_debug_print_signals): Constify.
|
|
|
|
|
* nto-procfs.c (nto_procfs_target::pass_signals): Update.
|
|
|
|
|
* procfs.c (procfs_target::pass_signals): Update.
|
|
|
|
|
* linux-nat.c (linux_nat_target::pass_signals): Update.
|
|
|
|
|
* linux-nat.h (class linux_nat_target) <pass_signals>: Update.
|
|
|
|
|
* target-delegates.c: Rebuild.
|
|
|
|
|
* remote.c (remote_target::program_signals): Update.
|
|
|
|
|
(remote_target::pass_signals): Update.
|
|
|
|
|
* target.c (target_pass_signals): Constify argument.
|
|
|
|
|
(target_program_signals): Likewise.
|
|
|
|
|
* target.h (struct target_ops) <pass_signals, program_signals>:
|
|
|
|
|
Constify argument.
|
|
|
|
|
(target_pass_signals, target_program_signals): Constify argument.
|
|
|
|
|
|
2019-01-12 21:35:06 +01:00
|
|
|
|
2019-01-14 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
PR tui/28819:
|
|
|
|
|
* tui/tui-io.c (gdb_wgetch): Print \r when needed.
|
|
|
|
|
|
2019-01-14 20:28:53 +01:00
|
|
|
|
2019-01-14 Pedro Franco de Carvalho <pedromfc@linux.ibm.com>
|
|
|
|
|
|
|
|
|
|
* ppc-tdep.h (struct gdbarch_tdep) <ppc_v0_alias_regnum>: New
|
|
|
|
|
field.
|
|
|
|
|
* rs6000-tdep.c: Include reggroups.h.
|
|
|
|
|
(IS_V_ALIAS_PSEUDOREG): Define.
|
|
|
|
|
(rs6000_register_name): Return names for the "vX" aliases.
|
|
|
|
|
(rs6000_pseudo_register_type): Return type for the "vX" aliases.
|
|
|
|
|
(rs6000_pseudo_register_reggroup_p): Restore. Handle "vX"
|
|
|
|
|
aliases. Call default_register_reggroup_p for all other
|
|
|
|
|
pseudo-registers.
|
|
|
|
|
(v_alias_pseudo_register_read, v_alias_pseudo_register_write):
|
|
|
|
|
New functions.
|
|
|
|
|
(rs6000_pseudo_register_read, rs6000_pseudo_register_write):
|
|
|
|
|
Handle "vX" aliases.
|
|
|
|
|
(v_alias_pseudo_register_collect): New function.
|
|
|
|
|
(rs6000_ax_pseudo_register_collect): Handle "vX" aliases.
|
|
|
|
|
(rs6000_gdbarch_init): Initialize "vX" aliases as
|
|
|
|
|
pseudo-registers. Restore registration of
|
|
|
|
|
rs6000_pseudo_register_reggroup_p with
|
|
|
|
|
set_tdesc_pseudo_register_reggroup_p.
|
|
|
|
|
|
2018-11-17 02:31:22 +01:00
|
|
|
|
2019-01-13 Max Filippov <jcmvbkbc@gmail.com>
|
|
|
|
|
|
|
|
|
|
* xtensa-linux-tdep.c (xtensa_linux_init_abi): Update
|
|
|
|
|
tdep->num_pseudo_regs. Add calls to set_gdbarch_num_regs and
|
|
|
|
|
set_gdbarch_num_pseudo_regs.
|
|
|
|
|
|
2018-12-31 14:37:09 +01:00
|
|
|
|
2019-01-12 Philippe Waroquiers <philippe.waroquiers@skynet.be>
|
|
|
|
|
|
|
|
|
|
* cli/cli-style.h (class cli_style_option): <add_setshow_commands>
|
|
|
|
|
Remove arg prefixname, add do_set and do_show.
|
|
|
|
|
Add member functions set_list and show_list.
|
|
|
|
|
* cli/cli-style.c (class cli_style_option): Update accordingly.
|
|
|
|
|
(style_set_list): Move to file scope.
|
|
|
|
|
(style_show_list): Likewise.
|
|
|
|
|
(set_style): Call help_list.
|
|
|
|
|
(show_style): Call cmd_show_list.
|
|
|
|
|
(_initialize_cli_style): New macro STYLE_ADD_SETSHOW_COMMANDS.
|
|
|
|
|
Update to use the new macro.
|
|
|
|
|
|
2019-01-12 15:47:58 +01:00
|
|
|
|
2019-10-12 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* ada-lang.c (_initialize_ada_language): Expand the help text
|
|
|
|
|
for the "catch exception" command.
|
|
|
|
|
|
2019-01-12 07:37:36 +01:00
|
|
|
|
2019-01-12 Philippe Waroquiers <philippe.waroquiers@skynet.be>
|
|
|
|
|
|
|
|
|
|
* symtab.c (matching_obj_sections): Initialize obj,
|
|
|
|
|
declare it closer to its usage.
|
|
|
|
|
|
2019-01-10 18:50:43 +01:00
|
|
|
|
2019-01-10 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* thread-iter.h (inf_threads_iterator): Use next_iterator.
|
|
|
|
|
(basic_inf_threads_range): Remove.
|
|
|
|
|
(inf_threads_range, inf_non_exited_threads_range)
|
|
|
|
|
(safe_inf_threads_range): Use next_adapter.
|
|
|
|
|
|
2019-01-10 22:57:08 +01:00
|
|
|
|
2019-01-10 Keith Seitz <keiths@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR gdb/23712
|
|
|
|
|
PR symtab/23010
|
|
|
|
|
* dwarf2read.c (dw2_add_symbol_to_list): Remove.
|
|
|
|
|
(fixup_go_packaging, new_symbol): Use add_symbol_to_list.
|
|
|
|
|
|
gdb/23712: Cleanup/Remove temporary dictionary functions
Now that multidictionary's are being used, there is no longer any need
to retain the four temporary functions introduced in the beginning of
this series.
This patch removes them.
As an additional cleanup, since the single-language dictionaries are
no longer used outside dictionary.c, make all of those functions
static.
gdb/ChangeLog:
PR gdb/23712
PR symtab/23010
* dictionary.c (pending_to_vector): Remove.
(dict_create_hashed_1, dict_create_linear_1, dict_add_pending_1):
Remove _1 suffix, replacing functions of the same name. Update
all callers.
(dict_create_hashed, dict_create_hashed_expandable)
(dict_create_linear, dict_create_linear_expandable, dict_free)
(dict_add_symbol, dict_add_pending, dict_size, dict_empty):
Make functions static.
2019-01-10 22:57:08 +01:00
|
|
|
|
2019-01-10 Keith Seitz <keiths@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR gdb/23712
|
|
|
|
|
PR symtab/23010
|
|
|
|
|
* dictionary.c (pending_to_vector): Remove.
|
|
|
|
|
(dict_create_hashed_1, dict_create_linear_1, dict_add_pending_1):
|
|
|
|
|
Remove _1 suffix, replacing functions of the same name. Update
|
|
|
|
|
all callers.
|
|
|
|
|
(dict_create_hashed, dict_create_hashed_expandable)
|
|
|
|
|
(dict_create_linear, dict_create_linear_expandable, dict_free)
|
|
|
|
|
(dict_add_symbol, dict_add_pending, dict_size, dict_empty):
|
|
|
|
|
Make functions static.
|
|
|
|
|
|
gdb/23712: Use new multidictionary API
This patch builds on the previous by enabling the `new' multidictionary
API. A lot of the hunks are simply textual replacements of "dict_"
with "mdict_" and similar transformations.
A word of warning, even with the use of multidictionaries, the code
still does not satisfactorily fix the reported problems with gdb/23712
(or gdb/23010). We still have additional changes to make before that
happens.
gdb/ChangeLog:
PR gdb/23712
PR symtab/23010
* dictionary.h (struct dictionary): Replace declaration with
multidictionary.
(dict_create_hashed, dict_create_hashed_expandable)
(dict_create_linear, dict_create_linear_expandable)
(dict_free, dict_add_symbol, dict_add_pending, dict_empty)
(dict_iterator_first, dict_iterator_next, dict_iter_match_first)
(dict_iter_match_next, dict_size): Rename to "mdict_" versions
taking multidictionary argument.
[ALL_DICT_SYMBOLS]: Update for multidictionary.
* block.h (struct block) <dict>: Change to multidictionary
and rename `multidict'.
* block.c, buildsym.c, jit.c, mdebugread.c, objfiles.c,
symmisc.c: Update all dictionary references to multidictionary.
2019-01-10 22:57:08 +01:00
|
|
|
|
2019-01-10 Keith Seitz <keiths@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR gdb/23712
|
|
|
|
|
PR symtab/23010
|
|
|
|
|
* dictionary.h (struct dictionary): Replace declaration with
|
|
|
|
|
multidictionary.
|
|
|
|
|
(dict_create_hashed, dict_create_hashed_expandable)
|
|
|
|
|
(dict_create_linear, dict_create_linear_expandable)
|
|
|
|
|
(dict_free, dict_add_symbol, dict_add_pending, dict_empty)
|
|
|
|
|
(dict_iterator_first, dict_iterator_next, dict_iter_match_first)
|
|
|
|
|
(dict_iter_match_next, dict_size): Rename to "mdict_" versions
|
|
|
|
|
taking multidictionary argument.
|
|
|
|
|
[ALL_DICT_SYMBOLS]: Update for multidictionary.
|
|
|
|
|
* block.h (struct block) <dict>: Change to multidictionary
|
|
|
|
|
and rename `multidict'.
|
|
|
|
|
* block.c, buildsym.c, jit.c, mdebugread.c, objfiles.c,
|
|
|
|
|
symmisc.c: Update all dictionary references to multidictionary.
|
|
|
|
|
|
gdb/23712: Introduce multidictionary's
gdb/23712 is a new manifestation of the now-infamous (at least to me)
symtab/23010 assertion failure (DICT_LANGUAGE == SYMBOL_LANGAUGE).
An example of the problem (using test case from symtab/23010):
Reading symbols from /home/rdiez/rdiez/arduino/JtagDue/BuildOutput/JtagDue-obj-release/firmware.elf...done.
(gdb) p SysTick_Handler
dwarf2read.c:9715: internal-error: void dw2_add_symbol_to_list(symbol*, pending**): Assertion `(*listhead) == NULL || (SYMBOL_LANGUAGE ((*listhead)->symbol[0]) == SYMBOL_LANGUAGE (symbol))' failed.
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Quit this debugging session? (y or n)
This assertion was added specifically to catch this condition (of adding
symbols of different languages to a single pending list).
The problems we're now seeing on systems utilizing DWARF debugging seem to
be caused by the use of LTO, which adds a CU with an artificial DIE of
language C99 which references DIEs in other CUs of language C++.
Thus, we create a dictionary containing symbols of C99 but end up
stuffing C++ symbols into it, and the dw2_add_symbol_to_list triggers.
The approach taken here to fix this is to introduce multi-language
dictionaries to "replace" the standard, single-language dictionaries
used today.
Note to reviewers: This patch introduces some temporary functions to
aide with review. This and other artifacts (such as "See dictionary.h"
which appear incorrect) will all be valid at the end of the series.
This first patch introduces the new multidictionary and its API (which
is, by design, identical to the old dictionary interface). It also
mutates dict_create_hashed and dict_create_linear so that they take
a std::vector instead of the usual struct pending linked list. This will
be needed later on.
This patch does /not/ actually enable multidictionary's. That is left
for a subsequent patch in the series.
I've done exhaustive performance testing with this approach, and I've
attempted to minimize the overhead for the (overwhelmingly) most common
one-language scenario.
On average, a -g3 -O0 GDB (the one we developers use) will see
approximately a 4% slowdown when initially reading symbols. [I've
tested only GDB and firefox with -readnow.] When using -O2, this
difference shrinks to ~0.5%. Since a number of runs with these
patches actually run /faster/ than unpatched GDB, I conclude that
these tests have at least a 0.5% error margin.
On our own gdb.perf test suite, again, results appear to be pretty
negligible. Differences to unpatched GDB range from -7.8% (yes,
patched version is again faster than unpatched) to 27%. All tests
lying outside "negligible," such as the 27% slowdown, involve a total
run time of 0.0007 (or less) with smaller numbers of CUs/DSOs (usually 10
or 100). In all cases, the follow-up tests with more CUs/DSOs is never
more than 3% difference to the baseline, unpatched GDB.
In my opinion, these results are satisfactory.
gdb/ChangeLog:
PR gdb/23712
PR symtab/23010
* dictionary.c: Include unordered_map.
(pending_to_vector): New function.
(dict_create_hashed_1, dict_create_linear_1, dict_add_pending_1):
Rewrite the non-"_1" functions to take vector instead
of linked list.
(dict_create_hashed, dict_create_linear, dict_add_pending): Use the
"new" _1 versions of the same name.
(multidictionary): Define.
(std::hash<enum language): New definition.
(collate_pending_symbols_by_language, mdict_create_hashed)
(mdict_create_hashed_expandable, mdict_create_linear)
(mdict_create_linear_expandable, mdict_free)
(find_language_dictionary, create_new_language_dictionary)
(mdict_add_symbol, mdict_add_pending, mdict_iterator_first)
(mdict_iterator_next, mdict_iter_match_first, mdict_iter_match_next)
(mdict_size, mdict_empty): New functions.
* dictionary.h (mdict_iterator): Define.
2019-01-10 22:57:08 +01:00
|
|
|
|
2019-01-10 Keith Seitz <keiths@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR gdb/23712
|
|
|
|
|
PR symtab/23010
|
|
|
|
|
* dictionary.c: Include unordered_map.
|
|
|
|
|
(pending_to_vector): New function.
|
|
|
|
|
(dict_create_hashed_1, dict_create_linear_1, dict_add_pending_1):
|
|
|
|
|
Rewrite the non-"_1" functions to take vector instead
|
|
|
|
|
of linked list.
|
|
|
|
|
(dict_create_hashed, dict_create_linear, dict_add_pending): Use the
|
|
|
|
|
"new" _1 versions of the same name.
|
|
|
|
|
(multidictionary): Define.
|
|
|
|
|
(std::hash<enum language): New definition.
|
|
|
|
|
(collate_pending_symbols_by_language, mdict_create_hashed)
|
|
|
|
|
(mdict_create_hashed_expandable, mdict_create_linear)
|
|
|
|
|
(mdict_create_linear_expandable, mdict_free)
|
|
|
|
|
(find_language_dictionary, create_new_language_dictionary)
|
|
|
|
|
(mdict_add_symbol, mdict_add_pending, mdict_iterator_first)
|
|
|
|
|
(mdict_iterator_next, mdict_iter_match_first, mdict_iter_match_next)
|
|
|
|
|
(mdict_size, mdict_empty): New functions.
|
|
|
|
|
* dictionary.h (mdict_iterator): Define.
|
|
|
|
|
|
Fix tracepoint.c:parse_tracepoint_definition leak (and one more)
Coverity points out that gdb/tracepoint.c:parse_tracepoint_definition
can leak 'cond' in this line:
cond = (char *) xmalloc (2 * xlen + 1);
That can leak because we're in a loop and 'cond' may have already been
xmalloc'ed into in a previous iteration. That won't normally happen,
because we don't expect to see a tracepoint definition with multiple
conditions listed, but, it doesn't hurt to be pedantically correct,
in case some stub manages to send something odd back to GDB.
At first I thought I'd just replace the xmalloc call with:
cond = (char *) xrealloc (cond, 2 * xlen + 1);
and be done with it. However, my pedantic self realizes that
warning() can throw as well (due to pagination + Ctrl-C), so I fixed
it using gdb::unique_xmalloc_ptr instead.
While doing this, I noticed that these vectors in struct uploaded_tp:
std::vector<char *> actions;
std::vector<char *> step_actions;
hold heap-allocated strings, but nothing is freeing the strings,
AFAICS.
So I ended up switching all the heap-allocated strings in uploaded_tp
to unique pointers. This patch is the result of that.
I also wrote an alternative, but similar patch that uses std::string
throughout instead of gdb::unique_xmalloc_ptr, but in the end reverted
it because the code didn't look that much better, and I kind of
dislike replacing pointers with fat std::string's (3 or 4 times the
size of a pointer) in structures.
gdb/ChangeLog:
2019-01-10 Pedro Alves <palves@redhat.com>
* breakpoint.c (read_uploaded_action)
(create_tracepoint_from_upload): Adjust to use
gdb::unique_xmalloc_ptr.
* ctf.c (ctf_write_uploaded_tp):
(SET_ARRAY_FIELD): Use emplace_back.
(SET_STRING_FIELD): Adjust to use gdb::unique_xmalloc_ptr.
* tracefile-tfile.c (tfile_write_uploaded_tp):
* tracepoint.c (parse_tracepoint_definition): Adjust to use
gdb::unique_xmalloc_ptr.
* tracepoint.h (struct uploaded_tp) <cond, actions, step_actions,
at_string, cond_string, cmd_strings>: Replace char pointers
with gdb::unique_xmalloc_ptr.
2019-01-10 18:52:39 +01:00
|
|
|
|
2019-01-10 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* breakpoint.c (read_uploaded_action)
|
|
|
|
|
(create_tracepoint_from_upload): Adjust to use
|
|
|
|
|
gdb::unique_xmalloc_ptr.
|
|
|
|
|
* ctf.c (ctf_write_uploaded_tp):
|
|
|
|
|
(SET_ARRAY_FIELD): Use emplace_back.
|
|
|
|
|
(SET_STRING_FIELD): Adjust to use gdb::unique_xmalloc_ptr.
|
|
|
|
|
* tracefile-tfile.c (tfile_write_uploaded_tp):
|
|
|
|
|
* tracepoint.c (parse_tracepoint_definition): Adjust to use
|
|
|
|
|
gdb::unique_xmalloc_ptr.
|
|
|
|
|
* tracepoint.h (struct uploaded_tp) <cond, actions, step_actions,
|
|
|
|
|
at_string, cond_string, cmd_strings>: Replace char pointers
|
|
|
|
|
with gdb::unique_xmalloc_ptr.
|
|
|
|
|
|
2019-01-10 18:52:39 +01:00
|
|
|
|
2019-01-10 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* solib-target.c (library_list_start_library): Don't xstrdup name.
|
|
|
|
|
|
2019-01-10 18:52:38 +01:00
|
|
|
|
2019-01-10 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* mdebugread.c (parse_partial_symbols): Use
|
|
|
|
|
gdb::unique_xmalloc_ptr to manage heap-allocated 'stabsstring'.
|
|
|
|
|
|
2019-01-10 18:00:48 +01:00
|
|
|
|
2019-01-10 Andrew Burgess <andrew.burgess@embecosm.com>
|
|
|
|
|
|
|
|
|
|
* linux-fork.c (scoped_switch_fork_info)
|
|
|
|
|
<~scoped_switch_fork_info>: Fix incorrect variable name.
|
|
|
|
|
|
2019-01-09 15:02:39 +01:00
|
|
|
|
2019-01-10 Andrew Burgess <andrew.burgess@embecosm.com>
|
|
|
|
|
|
|
|
|
|
* linux-fork.c (scoped_switch_fork_info)
|
|
|
|
|
<scoped_switch_fork_info>: Make explicit.
|
|
|
|
|
<~scoped_switch_fork_info>: Wrap core in TRY/CATCH.
|
|
|
|
|
|
2018-05-11 00:23:57 +02:00
|
|
|
|
2019-01-10 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* objfiles.h (objfile::reset_psymtabs): Update.
|
|
|
|
|
* objfiles.c (objfile::objfile): Update.
|
|
|
|
|
* psymtab.h (psymtab_storage::obstack): Update.
|
|
|
|
|
(psymtab_storage::m_obstack): Use gdb::optional.
|
|
|
|
|
(class psymtab_storage): Update comment. Remove objfile
|
|
|
|
|
parameter.
|
|
|
|
|
* psymtab.c (psymtab_storage::psymtab_storage): Update.
|
|
|
|
|
|
2018-05-11 00:23:56 +02:00
|
|
|
|
2019-01-10 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* psymtab.h (psymtab_storage::allocate_psymtab): New method.
|
|
|
|
|
<free_psymtabs>: Now private.
|
|
|
|
|
* psymtab.c (psymtab_storage::allocate_psymtab): Implement.
|
|
|
|
|
(allocate_psymtab): Use new method.
|
|
|
|
|
|
2018-05-11 00:23:55 +02:00
|
|
|
|
2019-01-10 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* xcoffread.c (xcoff_end_psymtab): Use allocate_dependencies.
|
|
|
|
|
* psymtab.h (psymtab_storage::allocate_dependencies): New method.
|
|
|
|
|
* mdebugread.c (parse_partial_symbols): Use
|
|
|
|
|
allocate_dependencies.
|
|
|
|
|
* dwarf2read.c (dwarf2_create_include_psymtab): Use
|
|
|
|
|
allocate_dependencies.
|
|
|
|
|
(process_psymtab_comp_unit_reader)
|
|
|
|
|
(build_type_psymtab_dependencies): Likewise.
|
|
|
|
|
* dbxread.c (dbx_end_psymtab): Use allocate_dependencies.
|
|
|
|
|
|
2018-05-11 00:23:54 +02:00
|
|
|
|
2019-01-10 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* psymtab.c (add_psymbol_to_bcache): Pass psymtab obstack to
|
|
|
|
|
PSYMBOL_SET_LANGUAGE.
|
|
|
|
|
(allocate_psymtab): Allocate psymtab on the psymtab obstack.
|
|
|
|
|
|
2018-05-11 00:23:53 +02:00
|
|
|
|
2019-01-10 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* psymtab.h (psymtab_storage::obstack): New method.
|
|
|
|
|
<m_obstack>: Rename from obstack; now private.
|
|
|
|
|
* psymtab.c (psymtab_storage): Update.
|
|
|
|
|
* dwarf2read.c (create_addrmap_from_index)
|
|
|
|
|
(create_addrmap_from_aranges, dwarf2_build_psymtabs_hard):
|
|
|
|
|
Update.
|
|
|
|
|
|
2018-05-11 00:23:52 +02:00
|
|
|
|
2019-01-10 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* symfile.c (reread_symbols): Call objfile->reset_psymtabs.
|
|
|
|
|
* objfiles.h (objfile::reset_psymtabs): New method.
|
|
|
|
|
|
Introduce class psymtab_storage
This introduces a new psymtab_storage class, which holds all
psymbol-related objects that are independent of the objfile. (This
latter contraint explains why psymbol_map was not moved; though this
could still be done with some work.)
This patch does not yet change where psymtab allocation is done --
that comes later. This just wraps everything in a single object to
make further transformations simpler.
Note that a shared_ptr is used to link from the objfile to the
psymtab_storage object. The end goal here is to allow a given symbol
reader to simply attach to the psymtab_storage object to the BFD, then
reuse it in later invocations; shared_ptr makes this simple to reason
about.
gdb/ChangeLog
2019-01-10 Tom Tromey <tom@tromey.com>
* symmisc.c (print_symbol_bcache_statistics): Update.
(print_objfile_statistics): Update.
* symfile.c (reread_symbols): Update.
* psymtab.h (class psymtab_storage): New.
* psymtab.c (psymtab_storage): New constructor.
(~psymtab_storage): New destructor.
(require_partial_symbols): Update.
(ALL_OBJFILE_PSYMTABS_REQUIRED): Rewrite.
(find_pc_sect_psymtab, find_pc_sect_psymbol)
(match_partial_symbol, lookup_partial_symbol, dump_psymtab)
(psym_dump, recursively_search_psymtabs, psym_has_symbols)
(psym_find_compunit_symtab_by_address, sort_pst_symbols)
(start_psymtab_common, end_psymtab_common)
(add_psymbol_to_bcache, add_psymbol_to_list, init_psymbol_list)
(allocate_psymtab): Update.
(psymtab_storage::discard_psymtab): Rename from discard_psymtab.
Update.
(dump_psymtab_addrmap, maintenance_print_psymbols)
(maintenance_check_psymtabs): Update.
(class objfile_psymtabs): Move to objfiles.h.
* psympriv.h (discard_psymtab): Now inline.
(psymtab_discarder::psymtab_discarder): Update.
(psymtab_discarder::~psymtab_discarder): Update.
(ALL_OBJFILE_PSYMTABS): Rewrite.
* objfiles.h (struct objfile) <psymtabs, psymtabs_addrmap,
free_psymtabs, psymbol_cache, global_psymbols, static_psymbols>:
Remove fields.
<partial_symtabs>: New field.
(class objfile_psymtabs): Move from psymtab.h. Update.
* objfiles.c (objfile::objfile): Initialize partial_symtabs, not
psymbol_cache.
(objfile::~objfile): Don't destroy psymbol_cache.
* mdebugread.c (parse_partial_symbols): Update.
* dwarf2read.c (create_addrmap_from_index)
(create_addrmap_from_aranges, dw2_find_pc_sect_compunit_symtab)
(process_psymtab_comp_unit_reader, dwarf2_build_psymtabs_hard)
(add_partial_subprogram, dwarf2_ranges_read): Update.
* dwarf-index-write.c (write_address_map)
(write_one_signatured_type, recursively_write_psymbols)
(class debug_names, class debug_names, write_psymtabs_to_index):
Update.
2018-05-11 00:23:51 +02:00
|
|
|
|
2019-01-10 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* symmisc.c (print_symbol_bcache_statistics): Update.
|
|
|
|
|
(print_objfile_statistics): Update.
|
|
|
|
|
* symfile.c (reread_symbols): Update.
|
|
|
|
|
* psymtab.h (class psymtab_storage): New.
|
|
|
|
|
* psymtab.c (psymtab_storage): New constructor.
|
|
|
|
|
(~psymtab_storage): New destructor.
|
|
|
|
|
(require_partial_symbols): Update.
|
|
|
|
|
(ALL_OBJFILE_PSYMTABS_REQUIRED): Rewrite.
|
|
|
|
|
(find_pc_sect_psymtab, find_pc_sect_psymbol)
|
|
|
|
|
(match_partial_symbol, lookup_partial_symbol, dump_psymtab)
|
|
|
|
|
(psym_dump, recursively_search_psymtabs, psym_has_symbols)
|
|
|
|
|
(psym_find_compunit_symtab_by_address, sort_pst_symbols)
|
|
|
|
|
(start_psymtab_common, end_psymtab_common)
|
|
|
|
|
(add_psymbol_to_bcache, add_psymbol_to_list, init_psymbol_list)
|
|
|
|
|
(allocate_psymtab): Update.
|
|
|
|
|
(psymtab_storage::discard_psymtab): Rename from discard_psymtab.
|
|
|
|
|
Update.
|
|
|
|
|
(dump_psymtab_addrmap, maintenance_print_psymbols)
|
|
|
|
|
(maintenance_check_psymtabs): Update.
|
|
|
|
|
(class objfile_psymtabs): Move to objfiles.h.
|
|
|
|
|
* psympriv.h (discard_psymtab): Now inline.
|
|
|
|
|
(psymtab_discarder::psymtab_discarder): Update.
|
|
|
|
|
(psymtab_discarder::~psymtab_discarder): Update.
|
|
|
|
|
(ALL_OBJFILE_PSYMTABS): Rewrite.
|
|
|
|
|
* objfiles.h (struct objfile) <psymtabs, psymtabs_addrmap,
|
|
|
|
|
free_psymtabs, psymbol_cache, global_psymbols, static_psymbols>:
|
|
|
|
|
Remove fields.
|
|
|
|
|
<partial_symtabs>: New field.
|
|
|
|
|
(class objfile_psymtabs): Move from psymtab.h. Update.
|
|
|
|
|
* objfiles.c (objfile::objfile): Initialize partial_symtabs, not
|
|
|
|
|
psymbol_cache.
|
|
|
|
|
(objfile::~objfile): Don't destroy psymbol_cache.
|
|
|
|
|
* mdebugread.c (parse_partial_symbols): Update.
|
|
|
|
|
* dwarf2read.c (create_addrmap_from_index)
|
|
|
|
|
(create_addrmap_from_aranges, dw2_find_pc_sect_compunit_symtab)
|
|
|
|
|
(process_psymtab_comp_unit_reader, dwarf2_build_psymtabs_hard)
|
|
|
|
|
(add_partial_subprogram, dwarf2_ranges_read): Update.
|
|
|
|
|
* dwarf-index-write.c (write_address_map)
|
|
|
|
|
(write_one_signatured_type, recursively_write_psymbols)
|
|
|
|
|
(class debug_names, class debug_names, write_psymtabs_to_index):
|
|
|
|
|
Update.
|
|
|
|
|
|
2018-05-11 00:23:49 +02:00
|
|
|
|
2019-01-10 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* symtab.h (SYMBOL_SET_NAMES): Update.
|
|
|
|
|
(symbol_set_names): Update.
|
|
|
|
|
(MSYMBOL_SET_NAMES): Update.
|
|
|
|
|
* symtab.c (symbol_set_names): Change argument to be an
|
|
|
|
|
objfile_per_bfd_storage.
|
|
|
|
|
* psymtab.c (add_psymbol_to_bcache): Update.
|
|
|
|
|
* psympriv.h (PSYMBOL_SET_NAMES): Take per_bfd argument.
|
|
|
|
|
|
2018-05-11 00:23:48 +02:00
|
|
|
|
2019-01-10 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* symtab.c (create_demangled_names_hash): Change argument to be an
|
|
|
|
|
objfile_per_bfd_storage.
|
|
|
|
|
(symbol_set_names): Update.
|
|
|
|
|
|
2018-05-11 00:23:47 +02:00
|
|
|
|
2019-01-10 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* xcoffread.c (xcoff_initial_scan): Unconditionally call
|
|
|
|
|
init_psymbol_list.
|
|
|
|
|
* psymtab.c (init_psymbol_list): Do nothing if already called.
|
|
|
|
|
* psympriv.h (init_psymbol_list): Add comment.
|
|
|
|
|
* dwarf2read.c (dwarf2_build_psymtabs): Unconditionally call
|
|
|
|
|
init_psymbol_list.
|
|
|
|
|
* dbxread.c (dbx_symfile_read): Unconditionally call
|
|
|
|
|
init_psymbol_list.
|
|
|
|
|
|
2018-05-11 00:23:46 +02:00
|
|
|
|
2019-01-10 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* xcoffread.c (scan_xcoff_symtab): Update.
|
|
|
|
|
* psymtab.c (add_psymbol_to_list): Replace "list" parameter with
|
|
|
|
|
"where".
|
|
|
|
|
* mdebugread.c (parse_partial_symbols)
|
|
|
|
|
(handle_psymbol_enumerators): Update.
|
|
|
|
|
* dwarf2read.c (add_partial_symbol, load_partial_dies): Update.
|
|
|
|
|
* dbxread.c (read_dbx_symtab): Update.
|
|
|
|
|
* psympriv.h (psymbol_placement): New enum.
|
|
|
|
|
(add_psymbol_to_list): Update.
|
|
|
|
|
|
2018-05-11 00:23:45 +02:00
|
|
|
|
2019-01-10 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* xcoffread.c (xcoff_start_psymtab): Remove global_psymbols and
|
|
|
|
|
static_psymbols parameters.
|
|
|
|
|
(scan_xcoff_symtab): Update.
|
|
|
|
|
* psymtab.c (start_psymtab_common): Remove global_psymbols and
|
|
|
|
|
static_psymbols parameters.
|
|
|
|
|
* psympriv.h (start_psymtab_common): Update.
|
|
|
|
|
* mdebugread.c (parse_partial_symbols): Update.
|
|
|
|
|
* dwarf2read.c (create_partial_symtab): Update.
|
|
|
|
|
* dbxread.c (read_dbx_symtab): Update.
|
|
|
|
|
(start_psymtab): Remove global_psymbols and static_psymbols
|
|
|
|
|
parameters.
|
|
|
|
|
|
2018-05-11 00:23:44 +02:00
|
|
|
|
2019-01-10 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* xcoffread.c (xcoff_end_psymtab): Remove some initializations.
|
|
|
|
|
* psymtab.c (allocate_psymtab): Add comment.
|
|
|
|
|
* psympriv.h (allocate_psymtab): Add comment.
|
|
|
|
|
* dwarf2read.c (dwarf2_create_include_psymtab): Remove some
|
|
|
|
|
initializations.
|
|
|
|
|
* dbxread.c (dbx_end_psymtab): Remove some initializations.
|
|
|
|
|
|
2018-05-11 00:23:43 +02:00
|
|
|
|
2019-01-10 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* symfile.h (mdebug_build_psymtabs, elfmdebug_build_psymtabs):
|
|
|
|
|
Don't declare.
|
|
|
|
|
* mipsread.c: Include mdebugread.h.
|
|
|
|
|
* mdebugread.h (mdebug_build_psymtabs, elfmdebug_build_psymtabs):
|
|
|
|
|
Declare.
|
|
|
|
|
* elfread.c: Include mdebugread.h.
|
|
|
|
|
|
2018-11-24 22:22:25 +01:00
|
|
|
|
2019-01-09 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* dbxread.c (dbx_end_psymtab): Use objfile_psymtabs.
|
|
|
|
|
* mdebugread.c (parse_partial_symbols): Use objfile_psymtabs.
|
|
|
|
|
* psymtab.c (ALL_OBJFILE_PSYMTABS_REQUIRED): Remove.
|
|
|
|
|
(psym_map_symtabs_matching_filename, find_pc_sect_psymtab)
|
|
|
|
|
(psym_lookup_symbol, psym_find_last_source_symtab)
|
|
|
|
|
(psym_forget_cached_source_info, psym_print_stats)
|
|
|
|
|
(psym_expand_symtabs_for_function, psym_expand_all_symtabs)
|
|
|
|
|
(psym_expand_symtabs_with_fullname, psym_map_symbol_filenames)
|
|
|
|
|
(psym_map_matching_symbols, psym_expand_symtabs_matching)
|
|
|
|
|
(psym_find_compunit_symtab_by_address)
|
|
|
|
|
(maintenance_print_psymbols, maintenance_info_psymtabs)
|
|
|
|
|
(maintenance_check_psymtabs): Use ranged for.
|
|
|
|
|
* psymtab.h (class objfile_psymtabs): New.
|
|
|
|
|
(require_partial_symbols): Return objfile_psymtabs.
|
|
|
|
|
* psympriv.h (ALL_OBJFILE_PSYMTABS): Remove.
|
|
|
|
|
|
2018-11-24 19:54:26 +01:00
|
|
|
|
2019-01-09 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* symfile.c (overlay_invalidate_all, find_pc_overlay)
|
|
|
|
|
(find_pc_mapped_section, list_overlays_command)
|
|
|
|
|
(map_overlay_command, unmap_overlay_command)
|
|
|
|
|
(simple_overlay_update): Use all_objfiles.
|
|
|
|
|
* spu-tdep.c (spu_overlay_update): Use all_objfiles.
|
|
|
|
|
* printcmd.c (info_symbol_command): Use all_objfiles.
|
|
|
|
|
* objfiles.h (ALL_OBJSECTIONS): Remove.
|
|
|
|
|
* maint.c (maintenance_translate_address): Use all_objfiles.
|
|
|
|
|
* gcore.c (gcore_create_callback): Use all_objfiles.
|
|
|
|
|
(objfile_find_memory_regions): Likewise.
|
|
|
|
|
|
2018-11-24 17:58:20 +01:00
|
|
|
|
2019-01-09 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* symtab.c (find_line_symtab, info_sources_command)
|
|
|
|
|
(make_source_files_completion_list): Use objfile_compunits.
|
|
|
|
|
* source.c (select_source_symtab): Use objfile_compunits.
|
|
|
|
|
* objfiles.h (struct objfile): Update comment.
|
|
|
|
|
(ALL_OBJFILES): Remove.
|
|
|
|
|
(ALL_FILETABS): Remove.
|
|
|
|
|
* mi/mi-cmd-file.c (mi_cmd_file_list_exec_source_files): Use
|
|
|
|
|
objfile_compunits.
|
|
|
|
|
|
2018-11-24 17:51:44 +01:00
|
|
|
|
2019-01-09 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* symmisc.c (print_objfile_statistics, dump_objfile)
|
|
|
|
|
(maintenance_print_symbols): Use compunit_filetabs.
|
|
|
|
|
* source.c (forget_cached_source_info_for_objfile): Use
|
|
|
|
|
compunit_filetabs.
|
|
|
|
|
* objfiles.h (ALL_OBJFILE_FILETABS): Remove.
|
|
|
|
|
(ALL_FILETABS): Use compunit_filetabs.
|
|
|
|
|
* objfiles.c (objfile_relocate1): Use compunit_filetabs.
|
|
|
|
|
* coffread.c (coff_symtab_read): Use compunit_filetabs.
|
|
|
|
|
|
2018-11-24 17:49:24 +01:00
|
|
|
|
2019-01-09 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* symtab.h (ALL_COMPUNIT_FILETABS): Remove.
|
|
|
|
|
(compunit_filetabs): New.
|
|
|
|
|
* symtab.c (iterate_over_some_symtabs, find_pc_sect_line): Use
|
|
|
|
|
compunit_filetabs.
|
|
|
|
|
(info_sources_command, make_source_files_completion_list): Remove
|
|
|
|
|
declaration.
|
|
|
|
|
* symmisc.c (print_objfile_statistics, dump_objfile)
|
|
|
|
|
(maintenance_print_symbols): Remove declaration.
|
|
|
|
|
(maintenance_info_symtabs): Use compunit_filetabs.
|
|
|
|
|
(maintenance_info_line_tables): Likewise.
|
|
|
|
|
* source.c (select_source_symtab): Change local variable name.
|
|
|
|
|
(forget_cached_source_info_for_objfile): Remove declaration.
|
|
|
|
|
* objfiles.h (ALL_OBJFILE_FILETABS): Use compunit_filetabs.
|
|
|
|
|
* objfiles.c (objfile_relocate1): Remove declaration.
|
|
|
|
|
* mi/mi-cmd-file.c (mi_cmd_file_list_exec_source_files): Remove
|
|
|
|
|
declaration.
|
|
|
|
|
* maint.c (count_symtabs_and_blocks): Use compunit_filetabs.
|
|
|
|
|
* coffread.c (coff_symtab_read): Remove declaration.
|
|
|
|
|
* buildsym.c (buildsym_compunit::end_symtab_with_blockvector): Use
|
|
|
|
|
compunit_filetabs.
|
|
|
|
|
|
2018-11-24 17:20:18 +01:00
|
|
|
|
2019-01-09 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* symtab.c (lookup_objfile_from_block)
|
|
|
|
|
(find_pc_sect_compunit_symtab, search_symbols)
|
|
|
|
|
(default_collect_symbol_completion_matches_break_on): Use
|
|
|
|
|
objfile_compunits.
|
|
|
|
|
* objfiles.h (ALL_COMPUNITS): Remove.
|
|
|
|
|
* maint.c (count_symtabs_and_blocks): Use objfile_compunits.
|
|
|
|
|
* cp-support.c (add_symbol_overload_list_qualified): Use
|
|
|
|
|
objfile_compunits.
|
|
|
|
|
* ada-lang.c (ada_collect_symbol_completion_matches)
|
|
|
|
|
(ada_add_global_exceptions): Use objfile_compunits.
|
|
|
|
|
|
2018-11-24 17:00:42 +01:00
|
|
|
|
2019-01-09 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* source.c (select_source_symtab)
|
|
|
|
|
(forget_cached_source_info_for_objfile): Remove declaration.
|
|
|
|
|
* mi/mi-cmd-file.c (mi_cmd_file_list_exec_source_files): Remove
|
|
|
|
|
declaration.
|
|
|
|
|
* maint.c (count_symtabs_and_blocks): Remove declaration.
|
|
|
|
|
* cp-support.c (add_symbol_overload_list_qualified): Remove
|
|
|
|
|
declaration.
|
|
|
|
|
* coffread.c (coff_symtab_read): Remove declaration.
|
|
|
|
|
* symtab.c (lookup_symbol_in_objfile_symtabs)
|
|
|
|
|
(basic_lookup_transparent_type_1): Use objfile_compunits.
|
|
|
|
|
(lookup_objfile_from_block, find_pc_sect_compunit_symtab)
|
|
|
|
|
(info_sources_command, search_symbols)
|
|
|
|
|
(default_collect_symbol_completion_matches_break_on)
|
|
|
|
|
(make_source_files_completion_list): Remove declaration.
|
|
|
|
|
* ada-lang.c (add_nonlocal_symbols): Use objfile_compunits.
|
|
|
|
|
(ada_collect_symbol_completion_matches)
|
|
|
|
|
(ada_add_global_exceptions): Remove declaration.
|
|
|
|
|
* linespec.c (iterate_over_all_matching_symtabs): Use
|
|
|
|
|
objfile_compunits.
|
|
|
|
|
* objfiles.h (ALL_OBJFILE_COMPUNITS): Remove.
|
|
|
|
|
(class objfile_compunits): New.
|
|
|
|
|
(ALL_COMPUNITS): Use objfile_compunits.
|
|
|
|
|
* symmisc.c (print_objfile_statistics, maintenance_info_symtabs)
|
|
|
|
|
(maintenance_check_symtabs, maintenance_info_line_tables): Use
|
|
|
|
|
objfile_compunits.
|
|
|
|
|
* objfiles.c (objfile_relocate1): Use objfile_compunits.
|
|
|
|
|
|
2018-11-24 01:32:08 +01:00
|
|
|
|
2019-01-09 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* symtab.c (search_symbols)
|
|
|
|
|
(default_collect_symbol_completion_matches_break_on): Use
|
|
|
|
|
objfile_msymbols.
|
|
|
|
|
* ada-lang.c (ada_lookup_simple_minsym)
|
|
|
|
|
(ada_collect_symbol_completion_matches): Use objfile_msymbols.
|
|
|
|
|
* minsyms.c (find_solib_trampoline_target): Use objfile_msymbols.
|
|
|
|
|
* hppa-tdep.c (hppa_lookup_stub_minimal_symbol): Use
|
|
|
|
|
objfile_msymbols.
|
|
|
|
|
* coffread.c (coff_symfile_read): Use objfile_msymbols.
|
|
|
|
|
* symmisc.c (dump_msymbols): Use objfile_msymbols.
|
|
|
|
|
* objc-lang.c (find_methods): Use objfile_msymbols.
|
|
|
|
|
(info_selectors_command, info_classes_command): Likewise.
|
|
|
|
|
* stabsread.c (scan_file_globals): Use objfile_msymbols.
|
|
|
|
|
* objfiles.h (class objfile_msymbols): New.
|
|
|
|
|
(ALL_OBJFILE_MSYMBOLS): Remove.
|
|
|
|
|
(ALL_MSYMBOLS): Remove.
|
|
|
|
|
|
2018-11-24 01:09:34 +01:00
|
|
|
|
2019-01-09 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* common/next-iterator.h (next_adapter): Add Iterator template
|
|
|
|
|
parameter.
|
|
|
|
|
* objfiles.h (ALL_OBJFILES_SAFE): Remove.
|
|
|
|
|
(class all_objfiles_safe): New.
|
|
|
|
|
* jit.c (jit_inferior_exit_hook): Use all_objfiles_safe.
|
|
|
|
|
* objfiles.c (put_objfile_before): Update comment.
|
|
|
|
|
(add_separate_debug_objfile): Likewise.
|
|
|
|
|
(free_all_objfiles): Use all_objfiles_safe.
|
|
|
|
|
(objfile_purge_solibs): Likewise.
|
|
|
|
|
|
Remove most uses of ALL_OBJFILES
This removes most uses of ALL_OBJFILES, replacing them with ranged for
loops. The remaining uses are all in macros, and will be removed in
subsequent patches.
gdb/ChangeLog
2019-01-09 Tom Tromey <tom@tromey.com>
* symtab.c (iterate_over_symtabs, matching_obj_sections)
(expand_symtab_containing_pc, lookup_static_symbol)
(basic_lookup_transparent_type, find_pc_sect_compunit_symtab)
(find_symbol_at_address, find_line_symtab, find_main_name): Use
all_objfiles.
* probe.c (find_probe_by_pc, collect_probes): Use all_objfiles.
* breakpoint.c (create_overlay_event_breakpoint)
(create_longjmp_master_breakpoint)
(create_std_terminate_master_breakpoint)
(create_exception_master_breakpoint): Use all_objfiles.
* linux-thread-db.c (try_thread_db_load_from_pdir)
(has_libpthread): Use all_objfiles.
* ada-lang.c (add_nonlocal_symbols): Use all_objfiles.
* linespec.c (iterate_over_all_matching_symtabs)
(search_minsyms_for_name): Use all_objfiles.
* maint.c (maintenance_info_sections): Use all_objfiles.
* main.c (captured_main_1): Use all_objfiles.
* spu-tdep.c (spu_objfile_from_frame): Use all_objfiles.
* guile/scm-objfile.c (gdbscm_objfiles): Use all_objfiles.
* guile/scm-pretty-print.c
(ppscm_find_pretty_printer_from_objfiles): Use all_objfiles.
* solib-spu.c (append_ocl_sos): Use all_objfiles.
* symmisc.c (maintenance_print_symbols): Use all_objfiles.
(maintenance_print_msymbols): Use all_objfiles.
* source.c (select_source_symtab): Use all_objfiles.
* jit.c (jit_find_objf_with_entry_addr): Use all_objfiles.
* symfile.c (remove_symbol_file_command)
(expand_symtabs_matching, map_symbol_filenames): Use
all_objfiles.
* ppc-linux-tdep.c (ppc_linux_spe_context_inferior_created): Use
all_objfiles.
* dwarf2-frame.c (dwarf2_frame_find_fde): Use all_objfiles.
* objc-lang.c (find_methods): Use all_objfiles.
* objfiles.c (have_partial_symbols, have_full_symbols)
(have_minimal_symbols, qsort_cmp)
(default_iterate_over_objfiles_in_search_order): Use
all_objfiles.
* hppa-tdep.c (find_unwind_entry): Use all_objfiles.
* psymtab.c (maintenance_print_psymbols): Use all_objfiles.
(maintenance_check_psymtabs): Use all_objfiles.
(ALL_PSYMTABS): Remove.
* compile/compile-object-run.c (do_module_cleanup): Use
all_objfiles.
* blockframe.c (find_pc_partial_function): Use all_objfiles.
* cp-support.c (add_symbol_overload_list_qualified): Use
all_objfiles.
* windows-tdep.c (windows_iterate_over_objfiles_in_search_order):
Use all_objfiles.
* dwarf-index-write.c (save_gdb_index_command): Use all_objfiles.
* python/py-xmethods.c (gdbpy_get_matching_xmethod_workers): Use
all_objfiles.
* python/py-objfile.c (objfpy_lookup_objfile_by_name)
(objfpy_lookup_objfile_by_build_id): Use all_objfiles.
* python/py-prettyprint.c (find_pretty_printer_from_objfiles):
Uses all_objfiles.
* solib.c (solib_read_symbols): Use all_objfiles
2018-11-23 20:20:05 +01:00
|
|
|
|
2019-01-09 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* symtab.c (iterate_over_symtabs, matching_obj_sections)
|
|
|
|
|
(expand_symtab_containing_pc, lookup_static_symbol)
|
|
|
|
|
(basic_lookup_transparent_type, find_pc_sect_compunit_symtab)
|
|
|
|
|
(find_symbol_at_address, find_line_symtab, find_main_name): Use
|
|
|
|
|
all_objfiles.
|
|
|
|
|
* probe.c (find_probe_by_pc, collect_probes): Use all_objfiles.
|
|
|
|
|
* breakpoint.c (create_overlay_event_breakpoint)
|
|
|
|
|
(create_longjmp_master_breakpoint)
|
|
|
|
|
(create_std_terminate_master_breakpoint)
|
|
|
|
|
(create_exception_master_breakpoint): Use all_objfiles.
|
|
|
|
|
* linux-thread-db.c (try_thread_db_load_from_pdir)
|
|
|
|
|
(has_libpthread): Use all_objfiles.
|
|
|
|
|
* ada-lang.c (add_nonlocal_symbols): Use all_objfiles.
|
|
|
|
|
* linespec.c (iterate_over_all_matching_symtabs)
|
|
|
|
|
(search_minsyms_for_name): Use all_objfiles.
|
|
|
|
|
* maint.c (maintenance_info_sections): Use all_objfiles.
|
|
|
|
|
* main.c (captured_main_1): Use all_objfiles.
|
|
|
|
|
* spu-tdep.c (spu_objfile_from_frame): Use all_objfiles.
|
|
|
|
|
* guile/scm-objfile.c (gdbscm_objfiles): Use all_objfiles.
|
|
|
|
|
* guile/scm-pretty-print.c
|
|
|
|
|
(ppscm_find_pretty_printer_from_objfiles): Use all_objfiles.
|
|
|
|
|
* solib-spu.c (append_ocl_sos): Use all_objfiles.
|
|
|
|
|
* symmisc.c (maintenance_print_symbols): Use all_objfiles.
|
|
|
|
|
(maintenance_print_msymbols): Use all_objfiles.
|
|
|
|
|
* source.c (select_source_symtab): Use all_objfiles.
|
|
|
|
|
* jit.c (jit_find_objf_with_entry_addr): Use all_objfiles.
|
|
|
|
|
* symfile.c (remove_symbol_file_command)
|
|
|
|
|
(expand_symtabs_matching, map_symbol_filenames): Use
|
|
|
|
|
all_objfiles.
|
|
|
|
|
* ppc-linux-tdep.c (ppc_linux_spe_context_inferior_created): Use
|
|
|
|
|
all_objfiles.
|
|
|
|
|
* dwarf2-frame.c (dwarf2_frame_find_fde): Use all_objfiles.
|
|
|
|
|
* objc-lang.c (find_methods): Use all_objfiles.
|
|
|
|
|
* objfiles.c (have_partial_symbols, have_full_symbols)
|
|
|
|
|
(have_minimal_symbols, qsort_cmp)
|
|
|
|
|
(default_iterate_over_objfiles_in_search_order): Use
|
|
|
|
|
all_objfiles.
|
|
|
|
|
* hppa-tdep.c (find_unwind_entry): Use all_objfiles.
|
|
|
|
|
* psymtab.c (maintenance_print_psymbols): Use all_objfiles.
|
|
|
|
|
(maintenance_check_psymtabs): Use all_objfiles.
|
|
|
|
|
(ALL_PSYMTABS): Remove.
|
|
|
|
|
* compile/compile-object-run.c (do_module_cleanup): Use
|
|
|
|
|
all_objfiles.
|
|
|
|
|
* blockframe.c (find_pc_partial_function): Use all_objfiles.
|
|
|
|
|
* cp-support.c (add_symbol_overload_list_qualified): Use
|
|
|
|
|
all_objfiles.
|
|
|
|
|
* windows-tdep.c (windows_iterate_over_objfiles_in_search_order):
|
|
|
|
|
Use all_objfiles.
|
|
|
|
|
* dwarf-index-write.c (save_gdb_index_command): Use all_objfiles.
|
|
|
|
|
* python/py-xmethods.c (gdbpy_get_matching_xmethod_workers): Use
|
|
|
|
|
all_objfiles.
|
|
|
|
|
* python/py-objfile.c (objfpy_lookup_objfile_by_name)
|
|
|
|
|
(objfpy_lookup_objfile_by_build_id): Use all_objfiles.
|
|
|
|
|
* python/py-prettyprint.c (find_pretty_printer_from_objfiles):
|
|
|
|
|
Uses all_objfiles.
|
|
|
|
|
* solib.c (solib_read_symbols): Use all_objfiles
|
|
|
|
|
|
2018-11-23 19:58:27 +01:00
|
|
|
|
2019-01-09 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* probe.c (parse_probes_in_pspace): Use all_objfiles.
|
|
|
|
|
* guile/scm-progspace.c (gdbscm_progspace_objfiles): Use
|
|
|
|
|
all_objfiles.
|
|
|
|
|
* objfiles.h (ALL_PSPACE_OBJFILES): Remove.
|
|
|
|
|
* symmisc.c (print_symbol_bcache_statistics)
|
|
|
|
|
(print_objfile_statistics, maintenance_print_objfiles)
|
|
|
|
|
(maintenance_info_symtabs, maintenance_check_symtabs)
|
|
|
|
|
(maintenance_expand_symtabs, maintenance_info_line_tables): Use
|
|
|
|
|
all_objfiles.
|
|
|
|
|
* source.c (forget_cached_source_info): Use all_objfiles.
|
|
|
|
|
* symfile-debug.c (set_debug_symfile): Use all_objfiles.
|
|
|
|
|
* elfread.c (elf_gnu_ifunc_resolve_by_cache)
|
|
|
|
|
(elf_gnu_ifunc_resolve_by_got): Use all_objfiles.
|
|
|
|
|
* objfiles.c (update_section_map): Use all_objfiles.
|
|
|
|
|
(shared_objfile_contains_address_p): Likewise.
|
|
|
|
|
* psymtab.c (maintenance_info_psymtabs): Use all_objfiles.
|
|
|
|
|
* python/py-progspace.c (pspy_get_objfiles): Use all_objfiles.
|
|
|
|
|
|
2018-06-15 07:12:16 +02:00
|
|
|
|
2019-01-09 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* common/next-iterator.h: New file.
|
|
|
|
|
* objfiles.h (class all_objfiles): New.
|
|
|
|
|
(struct objfile_iterator): New.
|
|
|
|
|
|
2019-01-09 22:37:52 +01:00
|
|
|
|
2019-01-09 Philippe Waroquiers <philippe.waroquiers@skynet.be>
|
|
|
|
|
|
|
|
|
|
* NEWS: Move the description of the changed "frame", "select-frame",
|
|
|
|
|
and "info frame" commands to the Changed commands section.
|
|
|
|
|
|
gdb: Remove support for old mangling schemes
An upcoming sync with gcc's libiberty [1] will remove support for old
mangling schemes (GNU v2, Lucid, ARM, HP and EDG). It will remove the
cplus_demangle_opname function, so we need to get rid of its usages in
GDB (it's a GNU v2 specific function).
I think the changes are mostly relatively obvious, some hacks that were
necessary to support overloaded operators with GNU v2 mangling are not
needed anymore.
The change in stabsread.c is perhaps less obvious. I think we could get
rid of more code in that region that is specific to old mangling
schemes, but I chose to do only the minimal changes required to remove
the cplus_demangle_opname uses. There is also a detailed comment just
above that explaining how GNU v2 and v3 mangled symbols are handled, I
decided to leave it as-is, since I wasn't sure which part to remove,
change or leave there.
[1] The commit "Remove support for demangling GCC 2.x era mangling
schemes.", specifically.
gdb/ChangeLog:
* gdbtypes.c (check_stub_method_group): Remove handling of old
mangling schemes.
* linespec.c (find_methods): Likewise.
* stabsread.c (read_member_functions): Likewise.
* valops.c (search_struct_method): Likewise.
(value_struct_elt_for_reference): Likewise.
* NEWS: Mention this change.
gdb/testsuite/ChangeLog:
* gdb.cp/demangle.exp (test_gnu_style_demangling): Rename to...
(test_gnuv3_style_demangling): ... this.
(test_lucid_style_demangling): Remove.
(test_arm_style_demangling): Remove.
(test_hp_style_demangling): Remove.
(do_tests): Remove calls to the above.
gdb/doc/ChangeLog:
* gdb.texinfo (Print Settings): Remove mention of specific
demangle-style values, just refer to the in-process help.
2019-01-09 18:57:16 +01:00
|
|
|
|
2019-01-09 Simon Marchi <simon.marchi@ericsson.com>
|
|
|
|
|
|
|
|
|
|
* gdbtypes.c (check_stub_method_group): Remove handling of old
|
|
|
|
|
mangling schemes.
|
|
|
|
|
* linespec.c (find_methods): Likewise.
|
|
|
|
|
* stabsread.c (read_member_functions): Likewise.
|
|
|
|
|
* valops.c (search_struct_method): Likewise.
|
|
|
|
|
(value_struct_elt_for_reference): Likewise.
|
|
|
|
|
* NEWS: Mention this change.
|
|
|
|
|
|
gdb: Avoid signed integer overflow when printing source lines
When printing source lines with calls to print_source_lines we need to
pass a start line number and an end line number. The end line number
is calculated by calling get_lines_to_list and adding this value to
the start line number. For example this code from list_command:
print_source_lines (cursal.symtab, first,
first + get_lines_to_list (), 0);
The problem is that get_lines_to_list returns a value based on the
GDB setting `set listsize LISTSIZE`. By default LISTSIZE is 10,
however, its also possible to set LISTSIZE to unlimited, in which
case get_lines_to_list will return INT_MAX.
As the parameter signature for print_source_lines is:
void print_source_lines (struct symtab *, int, int,
print_source_lines_flags);
and `first` in the above code is an `int`, then when LISTSIZE is
`unlimited` the above code will result in signed integer overflow,
which is undefined.
The solution in this patch is a new class source_lines_range that can
be constructed from a single line number and a direction (forward or
backward). The range is then constructed from the line number and the
value of get_lines_to_list.
gdb/ChangeLog:
* cli/cli-cmds.c (list_command): Pass a source_lines_range to
print_source_lines.
* source.c (print_source_lines_base): Update line number check.
(print_source_lines): New function.
(source_lines_range::source_lines_range): New function.
* source.h (class source_lines_range): New class.
(print_source_lines): New declaration.
2019-01-07 08:26:35 +01:00
|
|
|
|
2019-01-09 Andrew Burgess <andrew.burgess@embecosm.com>
|
|
|
|
|
|
|
|
|
|
* cli/cli-cmds.c (list_command): Pass a source_lines_range to
|
|
|
|
|
print_source_lines.
|
|
|
|
|
* source.c (print_source_lines_base): Update line number check.
|
|
|
|
|
(print_source_lines): New function.
|
|
|
|
|
(source_lines_range::source_lines_range): New function.
|
|
|
|
|
* source.h (class source_lines_range): New class.
|
|
|
|
|
(print_source_lines): New declaration.
|
|
|
|
|
|
Fix leak in linespec.c
Valgrind reports a leak in many tests, such as:
==9382== 16 bytes in 1 blocks are definitely lost in loss record 236 of 3,282
==9382== at 0x4C2BE6D: malloc (vg_replace_malloc.c:309)
==9382== by 0x4197AF: xrealloc (common-utils.c:64)
==9382== by 0x51D16A: xresizevec<linespec_canonical_name> (poison.h:170)
==9382== by 0x51D16A: add_sal_to_sals(linespec_state*, std::vector<symtab_and_line, std::allocator<symtab_and_line> >*, symtab_and_line*, char const*, int) (linespec.c:1041)
==9382== by 0x51E2BF: create_sals_line_offset (linespec.c:2215)
==9382== by 0x51E2BF: convert_linespec_to_sals(linespec_state*, linespec*) (linespec.c:2358)
==9382== by 0x521B5D: convert_explicit_location_to_sals (linespec.c:2473)
Fix leak by xfree-ing self->canonical_names in linespec_state_destructor.
The leak probably appeared with the patch 'Remove cleanup from linespec.c',
as there was a cleanup to xfree canonical_names before the patch.
Tested on Debian/amd64, native and under valgrind.
2019-01-09 Philippe Waroquiers <philippe.waroquiers@skynet.be>
* linespec.c (linespec_state_destructor): Free self->canonical_names.
2019-01-07 16:02:51 +01:00
|
|
|
|
2019-01-09 Philippe Waroquiers <philippe.waroquiers@skynet.be>
|
|
|
|
|
|
|
|
|
|
* linespec.c (linespec_state_destructor): Free self->canonical_names.
|
|
|
|
|
|
2019-01-06 17:49:11 +01:00
|
|
|
|
2019-01-08 Tom Tromey <tom@tromey.com>
|
|
|
|
|
Simon Marchi <simon.marchi@ericsson.com>
|
|
|
|
|
|
|
|
|
|
PR gdb/24060
|
|
|
|
|
* ada-exp.y (DOLLAR_VARIABLE): Rename from SPECIAL_VARIABLE.
|
|
|
|
|
* ada-lex.l (DOLLAR_VARIABLE): Likewise.
|
|
|
|
|
* c-exp.y (DOLLAR_VARIABLE): Rename from VARIABLE.
|
|
|
|
|
* f-exp.y (DOLLAR_VARIABLE): Likewise.
|
|
|
|
|
* m2-exp.y (DOLLAR_VARIABLE): Rename from INTERNAL_VAR.
|
|
|
|
|
* p-exp.y (DOLLAR_VARIABLE): Rename from VARIABLE.
|
|
|
|
|
|
2019-01-07 10:16:16 +01:00
|
|
|
|
2019-01-08 Andrew Burgess <andrew.burgess@embecosm.com>
|
|
|
|
|
|
|
|
|
|
* source.c (select_source_symtab): Move header comment to
|
|
|
|
|
declaration in source.h.
|
|
|
|
|
(forget_cached_source_info_for_objfile): Likewise.
|
|
|
|
|
(forget_cached_source_info): Likewise.
|
|
|
|
|
(identify_source_line): Likewise.
|
|
|
|
|
* source.h (identify_source_line): Move declaration from symtab.h
|
|
|
|
|
and add comment from source.c
|
|
|
|
|
(print_source_lines): Likewise.
|
|
|
|
|
(forget_cached_source_info_for_objfile): Likewise.
|
|
|
|
|
(forget_cached_source_info): Likewise.
|
|
|
|
|
(select_source_symtab): Likewise.
|
|
|
|
|
(enum print_source_lines_flag): Move definition from symtab.h.
|
|
|
|
|
* symtab.h (identify_source_line): Move declaration to source.h.
|
|
|
|
|
(print_source_lines): Likewise.
|
|
|
|
|
(forget_cached_source_info_for_objfile): Likewise.
|
|
|
|
|
(forget_cached_source_info): Likewise.
|
|
|
|
|
(select_source_symtab): Likewise.
|
|
|
|
|
(enum print_source_lines_flag): Move definition to source.h.
|
|
|
|
|
* tui/tui-hooks.c: Add 'source.h' include.
|
|
|
|
|
|
gdb: Handle requests to print source lines backward
...by which I mean from high line number to low, not, actually
backward character by character!
Commit:
commit 62f29fda90cf1d5a1899f57ef78452471c707fd6
Date: Tue Oct 9 22:21:05 2018 -0600
Highlight source code using GNU Source Highlight
introduced a regression in the test gdb.linespec/explicit.exp, in
which a request is made to GDB to print a reverse sequence of lines,
from +10 to -10 from the current line number. The expected behaviour
is that GDB prints nothing. The above commit changed this so that GDB
now prints:
Line number 32 out of range; /path/to/gdb/testsuite/gdb.linespec/explicit.c has 71 lines.
which is a little confusing.
This commit fixes the regression, and restores the behaviour that GDB
prints nothing.
While I was passing I noticed a call to `back` on a std::string that I
was concerned could be empty if the request for source lines returns
an empty string. I don't know if it would be possible for a request
for lines to return an empty string, I guess it should be impossible,
in which case, maybe this should be an assertion, but adding a `empty`
check, seems like an easy and cheap safety net.
gdb/ChangeLog:
* source.c (print_source_lines_base): Handle requests to print
reverse line number sequences, and guard against empty lines
string.
2019-01-07 00:53:22 +01:00
|
|
|
|
2019-01-08 Andrew Burgess <andrew.burgess@embecosm.com>
|
|
|
|
|
|
|
|
|
|
* source.c (print_source_lines_base): Handle requests to print
|
|
|
|
|
reverse line number sequences, and guard against empty lines
|
|
|
|
|
string.
|
|
|
|
|
|
2019-01-07 00:31:45 +01:00
|
|
|
|
2019-01-08 Andrew Burgess <andrew.burgess@embecosm.com>
|
|
|
|
|
|
|
|
|
|
* source.c (print_source_lines_base): Fix skip of '\r' if next
|
|
|
|
|
character is '\n'.
|
|
|
|
|
|
2019-01-03 03:22:44 +01:00
|
|
|
|
2019-01-06 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* c-exp.y (struct c_parse_state) <macro_original_text,
|
|
|
|
|
expansion_obstack>: New member.
|
|
|
|
|
(macro_original_text, expansion_obstack): Remove globals.
|
|
|
|
|
(scan_macro_expansion, scanning_macro_expansion)
|
|
|
|
|
(finished_macro_expansion): Update.
|
|
|
|
|
(scan_macro_cleanup): Remove.
|
|
|
|
|
(yylex, c_parse): Update.
|
|
|
|
|
|
2019-01-03 03:13:15 +01:00
|
|
|
|
2019-01-06 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* c-exp.y (struct c_parse_state) <strings>: New member.
|
|
|
|
|
(operator_stoken): Update.
|
|
|
|
|
|
2019-01-03 03:12:32 +01:00
|
|
|
|
2019-01-06 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* parser-defs.h (type_ptr): Remove typedef. Don't declare VEC.
|
|
|
|
|
(union type_stack_elt) <typelist_val>: Now a pointer to
|
|
|
|
|
std::vector.
|
|
|
|
|
(type_stack_cleanup): Don't declare.
|
|
|
|
|
(push_typelist): Update.
|
|
|
|
|
* parse.c (pop_typelist): Return a std::vector.
|
|
|
|
|
(push_typelist): Take a std::vector.
|
|
|
|
|
(follow_types): Update. Do not free args.
|
|
|
|
|
(type_stack_cleanup): Remove.
|
|
|
|
|
* c-exp.y (struct c_parse_state): New.
|
|
|
|
|
(cpstate): New global.
|
|
|
|
|
(type_aggregate_p, exp, ptr_operator, parameter_typelist)
|
|
|
|
|
(nonempty_typelist): Update.
|
|
|
|
|
(func_mod): Create a new vector.
|
|
|
|
|
(c_parse): Create a c_parse_state.
|
|
|
|
|
(check_parameter_typelist): Do not delete params.
|
|
|
|
|
(function_method): Update. Do not delete type_list.
|
|
|
|
|
|
2018-12-29 18:46:07 +01:00
|
|
|
|
2019-01-06 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
PR gdb/28155:
|
|
|
|
|
* python/py-finishbreakpoint.c (bpfinishpy_init): Use
|
|
|
|
|
check_typedef.
|
|
|
|
|
* infcmd.c (finish_command_fsm_should_stop): Use check_typedef.
|
|
|
|
|
(print_return_value): Likewise.
|
|
|
|
|
|
2018-12-24 22:56:03 +01:00
|
|
|
|
2019-01-05 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* contrib/cleanup_check.py: Remove.
|
|
|
|
|
* contrib/gcc-with-excheck: Remove.
|
|
|
|
|
* contrib/exsummary.py: Remove.
|
|
|
|
|
* contrib/excheck.py: Remove.
|
|
|
|
|
|
GDB crash re-running program on Windows (native)
Running any program twice on Windows current results in GDB crashing:
$ gdb -q any_program
(gdb) run
$ gdb dummy -batch -ex run -ex run
[New Thread 684960.0xe5878]
[New Thread 684960.0xd75ac]
[New Thread 684960.0xddac8]
[New Thread 684960.0xc1f50]
[Thread 684960.0xd75ac exited with code 0]
[Thread 684960.0xddac8 exited with code 0]
[Thread 684960.0xc1f50 exited with code 0]
[Inferior 1 (process 684960) exited normally]
(gdb) run
Segmentation fault
The crash happens while processing the CREATE_PROCESS_DEBUG_EVENT
for the second run; in particular, we have in get_windows_debug_event:
| case CREATE_PROCESS_DEBUG_EVENT:
| [...]
| if (main_thread_id)
| windows_delete_thread (ptid_t (current_event.dwProcessId, 0,
| main_thread_id),
| 0);
The problem is that main_thread_id is the TID of the main thread from
the *previous* inferior, and this code is trying to delete that
thread. The problem is that it is constructing a PTID by pairing
the TID of the previous inferior with the PID of the new inferior.
As a result, when we dig inside windows_delete_thread to see
how it would handle that, we see...
| delete_thread (find_thread_ptid (ptid));
Since the PTID is bogus, we end up calling delete_thread with
a NULL thread_info. It used to be harmless, turning the delete_thread
into a nop, but the following change...
| commit 080363310650c93ad8e93018bcb6760ba5d32d1c
| Date: Thu Nov 22 16:09:14 2018 +0000
| Subject: Per-inferior thread list, thread ranges/iterators, down with ALL_THREADS, etc.
... changed delete_thread to get the list of threads from
the inferior, which itself is now accessed via the given
thread_info. This is the corresponding diff that shows the change:
| - for (tp = thread_list; tp; tpprev = tp, tp = tp->next)
| + for (tp = thr->inf->thread_list; tp; tpprev = tp, tp = tp->next)
As a result of this, passing a NULL thread_info is no longer
an option!
Stepping back a bit, the reason behind deleting the thread late
could be found in a patch from Dec 2003, which laconically explains:
| commit 87a45c96062d658ca83b50aa060a648bf5f5f1ff
| Date: Fri Dec 26 00:39:04 2003 +0000
|
| * win32-nat.c (get_child_debug_event): Keep main thread id around
| even after thread exits since Windows insists on continuing to
| report events against it.
A look at the gdb-patches archives did not provide any additional
clues (https://www.sourceware.org/ml/gdb-patches/2003-12/msg00478.html).
It is not clear whether this is still needed or not. This patch
assumes that whatever isue there was, the versions of Windows
we currently support no longer have it.
With that in mind, this commit fixes the issue by deleting the thread
when the inferior sends the exit-process event as opposed to deleting it
later, while starting a new inferior.
This also restores the printing of the thread-exit notification for
the main thread, which was missing before. Looking at the transcript
of the example shown above, we can see 4 thread creation notifications,
and only 3 notifications for thread exits. Now creation and exit
notifications are balanced.
In the handling of EXIT_THREAD_DEBUG_EVENT, the main_thread_id
check is removed because deemed unnecessary: The main thread was
introduced by a CREATE_PROCESS_DEBUG_EVENT, and thus the kernel
is expected to report its death via EXIT_PROCESS_DEBUG_EVENT.
And finally, because the behavior of delete_thread did change
(albeit when getting a value we probably never expected to receive),
this patch also adds a gdb_assert. The purpose is to provide some
immediate information in case there are other callers that mistakenly
call delete_thread with a NULL thread info. This can be useful
information when direct debugging of GDB isn't an option.
gdb/ChangeLog:
* thread.c (delete_thread_1): Add gdb_assert that THR is not
NULL. Initialize tpprev to NULL instead of assigning it
to NULL on the next statement.
* windows-nat.c (windows_delete_thread): Remove check for
main_thread_id before printing thread exit notifications.
(get_windows_debug_event) <EXIT_THREAD_DEBUG_EVENT>:
Remove thread ID check against main_thread_id.
<CREATE_PROCESS_DEBUG_EVENT>: Remove call to
windows_delete_thread.
<EXIT_PROCESS_DEBUG_EVENT>: Add call to windows_delete_thread.
2019-01-05 08:55:08 +01:00
|
|
|
|
2019-01-05 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* thread.c (delete_thread_1): Add gdb_assert that THR is not
|
|
|
|
|
NULL. Initialize tpprev to NULL instead of assigning it
|
|
|
|
|
to NULL on the next statement.
|
|
|
|
|
* windows-nat.c (windows_delete_thread): Remove check for
|
|
|
|
|
main_thread_id before printing thread exit notifications.
|
|
|
|
|
(get_windows_debug_event) <EXIT_THREAD_DEBUG_EVENT>:
|
|
|
|
|
Remove thread ID check against main_thread_id.
|
|
|
|
|
<CREATE_PROCESS_DEBUG_EVENT>: Remove call to
|
|
|
|
|
windows_delete_thread.
|
|
|
|
|
<EXIT_PROCESS_DEBUG_EVENT>: Add call to windows_delete_thread.
|
|
|
|
|
|
2018-12-24 22:41:40 +01:00
|
|
|
|
2019-01-04 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* compile/compile.c (_initialize_compile): Use upper case for
|
|
|
|
|
metasyntactic variables.
|
|
|
|
|
* symmisc.c (_initialize_symmisc): Use upper case for
|
|
|
|
|
metasyntactic variables.
|
|
|
|
|
* psymtab.c (_initialize_psymtab): Use upper case for
|
|
|
|
|
metasyntactic variables.
|
|
|
|
|
* demangle.c (demangle_command): Use upper case for metasyntactic
|
|
|
|
|
variables.
|
|
|
|
|
(_initialize_demangler): Likewise.
|
|
|
|
|
* ax-gdb.c (_initialize_ax_gdb): Use upper case for metasyntactic
|
|
|
|
|
variables.
|
|
|
|
|
|
2019-01-02 19:41:44 +01:00
|
|
|
|
2019-01-03 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* tui/tui-source.c (tui_set_source_content): Use xstrdup.
|
|
|
|
|
|
2018-12-27 20:16:06 +01:00
|
|
|
|
2019-01-03 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* python/py-symtab.c (salpy_str): Update.
|
|
|
|
|
(struct salpy_sal_object) <symtab>: Now a PyObject.
|
|
|
|
|
(salpy_dealloc): Update.
|
|
|
|
|
(del_objfile_sal): Use gdbpy_ref.
|
|
|
|
|
|
2018-12-27 20:08:09 +01:00
|
|
|
|
2019-01-03 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* python/py-type.c (convert_field): Use new_reference. Return
|
|
|
|
|
gdbpy_ref.
|
|
|
|
|
(make_fielditem): Return gdbpy_ref.
|
|
|
|
|
(typy_fields): Update.
|
|
|
|
|
(typy_getitem): Update.
|
|
|
|
|
(field_name): Return gdbpy_ref. Use new_reference.
|
|
|
|
|
(typy_iterator_iternext): Update.
|
|
|
|
|
|
2018-12-27 19:57:28 +01:00
|
|
|
|
2019-01-03 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* python/py-record.c (gdbpy_stop_recording): Use Py_RETURN_NONE.
|
|
|
|
|
|
2018-12-27 19:53:20 +01:00
|
|
|
|
2019-01-03 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* python/py-value.c (valpy_dealloc): Use Py_XDECREF.
|
|
|
|
|
* python/py-type.c (typy_fields_items): Use gdbpy_ref.
|
|
|
|
|
* python/py-progspace.c (pspy_set_printers): Use gdbpy_ref.
|
|
|
|
|
(pspy_set_frame_filters, pspy_set_frame_unwinders)
|
|
|
|
|
(pspy_set_type_printers): Likewise.
|
|
|
|
|
* python/py-function.c (fnpy_init): Use gdbpy_ref.
|
|
|
|
|
* python/py-cmd.c (cmdpy_init): Use gdbpy_ref.
|
|
|
|
|
* python/py-objfile.c (objfpy_set_printers): Use gdbpy_ref.
|
|
|
|
|
(objfpy_set_frame_filters, objfpy_set_frame_unwinders)
|
|
|
|
|
(objfpy_set_type_printers): Likewise.
|
|
|
|
|
|
2018-12-27 19:32:01 +01:00
|
|
|
|
2019-01-03 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* python/python.c (gdbpy_enter, ~gdbpy_enter): Update.
|
|
|
|
|
(gdbpy_print_stack): Use gdbpy_err_fetch.
|
|
|
|
|
* python/python-internal.h (class gdbpy_err_fetch): New class.
|
|
|
|
|
(class gdbpy_enter) <m_error_type, m_error_value,
|
|
|
|
|
m_error_traceback>: Remove.
|
|
|
|
|
<m_error>: New member.
|
|
|
|
|
(gdbpy_exception_to_string): Don't declare.
|
|
|
|
|
* python/py-varobj.c (py_varobj_iter_next): Use gdbpy_err_fetch.
|
|
|
|
|
* python/py-value.c (convert_value_from_python): Use
|
|
|
|
|
gdbpy_err_fetch.
|
|
|
|
|
* python/py-utils.c (gdbpy_err_fetch::to_string): Rename from
|
|
|
|
|
gdbpy_exception_to_string.
|
|
|
|
|
(gdbpy_handle_exception): Use gdbpy_err_fetch.
|
|
|
|
|
* python/py-prettyprint.c (print_stack_unless_memory_error): Use
|
|
|
|
|
gdbpy_err_fetch.
|
|
|
|
|
|
2018-12-31 23:20:56 +01:00
|
|
|
|
2019-01-03 Andrew Burgess <andrew.burgess@embecosm.com>
|
|
|
|
|
|
|
|
|
|
* linux-nat.c (delete_lwp_cleanup): Delete.
|
|
|
|
|
(struct lwp_deleter): New struct.
|
|
|
|
|
(lwp_info_up): New typedef.
|
|
|
|
|
(linux_nat_target::follow_fork): Delete cleanup, and make use of
|
|
|
|
|
lwp_info_up.
|
|
|
|
|
|
2018-12-31 22:23:14 +01:00
|
|
|
|
2019-01-03 Andrew Burgess <andrew.burgess@embecosm.com>
|
|
|
|
|
|
|
|
|
|
* linux-fork.c (class scoped_switch_fork_info): New class.
|
|
|
|
|
(inferior_call_waitpid): Update to use scoped_switch_fork_info.
|
|
|
|
|
|
2018-12-31 18:44:17 +01:00
|
|
|
|
2019-01-03 Andrew Burgess <andrew.burgess@embecosm.com>
|
|
|
|
|
|
|
|
|
|
* valops.c (find_overload_match): Remove use of null_cleanup, and
|
|
|
|
|
calls to do_cleanups.
|
|
|
|
|
|
2018-12-31 18:41:38 +01:00
|
|
|
|
2019-01-03 Andrew Burgess <andrew.burgess@embecosm.com>
|
|
|
|
|
|
|
|
|
|
* compile/compile-cplus-types.c
|
|
|
|
|
(compile_cplus_instance::decl_name): Handle changes to
|
|
|
|
|
cp_func_name.
|
|
|
|
|
* cp-support.c (cp_func_name): Update header comment, update
|
|
|
|
|
return type.
|
|
|
|
|
* cp-support.h (cp_func_name): Update return type in declaration.
|
|
|
|
|
* valops.c (find_overload_match): Move temp_func local to top
|
|
|
|
|
level of function and change its type. Use temp_func to hold and
|
|
|
|
|
delete temporary string obtained from cp_func_name.
|
|
|
|
|
|
2018-12-31 15:05:09 +01:00
|
|
|
|
2019-01-03 Andrew Burgess <andrew.burgess@embecosm.com>
|
|
|
|
|
|
|
|
|
|
* remote.c (remote_target::remote_check_symbols): Convert `msg` to
|
|
|
|
|
gdb::char_vector, remove cleanup, and update uses of `msg`.
|
|
|
|
|
|
2019-01-03 20:12:17 +01:00
|
|
|
|
2019-01-03 Jim Wilson <jimw@sifive.com>
|
|
|
|
|
|
|
|
|
|
* riscv-tdep.c (riscv_freg_feature): Drop s0 name from f8.
|
|
|
|
|
|
2019-01-02 16:03:13 +01:00
|
|
|
|
2019-01-02 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* xml-tdesc.c (xml_cache): Hold a target_desc_up.
|
|
|
|
|
(tdesc_parse_xml): Remove cleanups.
|
|
|
|
|
* target-descriptions.h (make_cleanup_free_target_description):
|
|
|
|
|
Don't declare.
|
|
|
|
|
(target_desc_deleter): New struct.
|
|
|
|
|
(target_desc_up): New typedef.
|
|
|
|
|
* target-descriptions.c (target_desc_deleter::operator()): Rename
|
|
|
|
|
from free_target_description.
|
|
|
|
|
(make_cleanup_free_target_description): Remove.
|
|
|
|
|
|
2019-01-02 17:17:43 +01:00
|
|
|
|
2019-01-02 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* linespec.c (struct linespec_parser): Rename from ls_parser. Add
|
|
|
|
|
constructor, destructor.
|
|
|
|
|
(linespec_parser): Remove typedef.
|
|
|
|
|
(~linespec_parser): Rename from linespec_parser_delete.
|
|
|
|
|
(linespec_lex_to_end, linespec_complete_label)
|
|
|
|
|
(linespec_complete): Update.
|
|
|
|
|
(decode_line_full): Remove cleanups.
|
|
|
|
|
(decode_line_1): Update.
|
|
|
|
|
|
2019-01-02 17:58:14 +01:00
|
|
|
|
2019-01-02 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* python/python-internal.h (inferior_to_inferior_object): Change
|
|
|
|
|
return type.
|
|
|
|
|
* python/py-exitedevent.c (create_exited_event_object): Update.
|
|
|
|
|
* python/py-inferior.c (inferior_to_inferior_object): Return
|
|
|
|
|
gdbpy_ref.
|
|
|
|
|
(python_new_inferior, python_inferior_deleted)
|
|
|
|
|
(thread_to_thread_object, delete_thread_object)
|
|
|
|
|
(build_inferior_list, gdbpy_selected_inferior): Update.
|
|
|
|
|
* python/py-infthread.c (create_thread_object): Update. Also fail
|
|
|
|
|
if inferior_to_inferior_object fails.
|
|
|
|
|
|
2019-01-02 23:31:08 +01:00
|
|
|
|
2019-01-02 Simon Marchi <simon.marchi@ericsson.com>
|
|
|
|
|
|
|
|
|
|
* inferior.h (class inferior) <displaced_step_state>: New field.
|
|
|
|
|
* infrun.h (struct displaced_step_state): Move here from
|
|
|
|
|
infrun.c. Initialize fields, add constructor.
|
|
|
|
|
<inf>: Remove field.
|
|
|
|
|
<reset>: New method.
|
|
|
|
|
* infrun.c (struct displaced_step_inferior_state): Move to
|
|
|
|
|
infrun.h.
|
|
|
|
|
(displaced_step_inferior_states): Remove.
|
|
|
|
|
(get_displaced_stepping_state): Adust.
|
|
|
|
|
(displaced_step_in_progress_any_inferior): Adjust.
|
|
|
|
|
(displaced_step_in_progress_thread): Adjust.
|
|
|
|
|
(displaced_step_in_progress): Adjust.
|
|
|
|
|
(add_displaced_stepping_state): Remove.
|
|
|
|
|
(get_displaced_step_closure_by_addr): Adjust.
|
|
|
|
|
(remove_displaced_stepping_state): Remove.
|
|
|
|
|
(infrun_inferior_exit): Call displaced_step_state.reset.
|
|
|
|
|
(use_displaced_stepping): Don't check for NULL.
|
|
|
|
|
(displaced_step_prepare_throw): Call
|
|
|
|
|
get_displaced_stepping_state.
|
|
|
|
|
(displaced_step_fixup): Don't check for NULL.
|
|
|
|
|
(prepare_for_detach): Don't check for NULL.
|
|
|
|
|
|
Fix leak of struct call_thread_fsm in call_function_by_hand_dummy.
When the call does not complete, the call_thread_fsm allocated
by new_call_thread_fsm is not cleaned up and deleted, which causes
the following leak e.g. in gdb.base/callfuncs.exp:
==29263== 560 bytes in 7 blocks are definitely lost in loss record 2,833 of 3,341
==29263== at 0x4C2E0BC: calloc (vg_replace_malloc.c:762)
==29263== by 0x405110: xcalloc (common-utils.c:84)
==29263== by 0x4E67EB: xcnew<call_thread_fsm> (poison.h:122)
==29263== by 0x4E67EB: new_call_thread_fsm (infcall.c:516)
==29263== by 0x4E67EB: call_function_by_hand_dummy(value*, type*, gdb::array_view<value*>, void (*)(void*, int), void*) (infcall.c:1154)
==29263== by 0x4E784E: call_function_by_hand(value*, type*, gdb::array_view<value*>) (infcall.c:693)
==29263== by 0x496111: eval_call(expression*, noside, int, value**, char const*, type*) [clone .isra.5] (eval.c:835)
Fix the leak by similarly doing cleanup/destroy when restoring
previous state machine.
Tested on debian/amd64, natively and under valgrind.
2019-01-02 Philippe Waroquiers <philippe.waroquiers@skynet.be>
* infcall.c (call_function_by_hand_dummy): cleanup/destroy sm
in case of call that did not complete.
2019-01-01 20:54:52 +01:00
|
|
|
|
2019-01-02 Philippe Waroquiers <philippe.waroquiers@skynet.be>
|
|
|
|
|
|
|
|
|
|
* infcall.c (call_function_by_hand_dummy): cleanup/destroy sm
|
|
|
|
|
in case of call that did not complete.
|
|
|
|
|
|
Fix search of debug files for remote debuggee
When using remote debugging server, and when debuggee filename is
inferred via qXfer:exec-file:read request, or sysroot starts with
"target:", this "target:" prefix of filepaths is not treated correctly
during debug file search - it appears in the middle of the looked up
paths.
In the following example, unpatched GDB can't find separate debug files for
neither the executable, nor standard libraries:
$ gdb -ex 'set debug separate-debug-file 1' -ex 'set sysroot target:/' -ex 'set debug-file-directory /usr/lib/debug:/home/j/hide' -ex 'target remote :3333' -ex 'break main' -ex 'continue' -ex 'bt' -ex 'info sharedlibrary' -ex 'set confirm off' -ex 'quit'
GNU gdb (Gentoo 9999 vanilla) 8.2.50.20181109-git
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://bugs.gentoo.org/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word".
Remote debugging using :3333
Reading /home/j/test from remote target...
warning: File transfers from remote targets can be slow. Use "set sysroot" to access files locally instead.
Reading /home/j/test from remote target...
Reading symbols from target:/home/j/test...
Looking for separate debug info (debug link) for target:/home/j/test
Trying target:/home/j/test.debug
Reading /home/j/test.debug from remote target...
Trying target:/home/j/.debug/test.debug
Reading /home/j/.debug/test.debug from remote target...
Trying /usr/lib/debug/target:/home/j/test.debug
Trying /home/j/hide/target:/home/j/test.debug
(No debugging symbols found in target:/home/j/test)
Reading /lib64/ld-linux-x86-64.so.2 from remote target...
Reading /lib64/ld-linux-x86-64.so.2 from remote target...
Reading symbols from target:/lib64/ld-linux-x86-64.so.2...
Looking for separate debug info (debug link) for target:/lib64/ld-linux-x86-64.so.2
Trying target:/lib64/ld-2.27.so.debug
Reading /lib64/ld-2.27.so.debug from remote target...
Trying target:/lib64/.debug/ld-2.27.so.debug
Reading /lib64/.debug/ld-2.27.so.debug from remote target...
Trying /usr/lib/debug/target:/lib64/ld-2.27.so.debug
Trying /home/j/hide/target:/lib64/ld-2.27.so.debug
(No debugging symbols found in target:/lib64/ld-linux-x86-64.so.2)
Looking for separate debug info (build-id) for system-supplied DSO at 0x7ffff7ffa000
Trying /usr/lib/debug/.build-id/fd/03d584bc1a90ba28be457635a02662c9f9c1f2.debug
Trying /home/j/hide/.build-id/fd/03d584bc1a90ba28be457635a02662c9f9c1f2.debug
0x00007ffff7dd7000 in ?? () from target:/lib64/ld-linux-x86-64.so.2
Breakpoint 1 at 0x4005eb
Continuing.
Reading /lib64/libpthread.so.0 from remote target...
Reading /lib64/libc.so.6 from remote target...
Looking for separate debug info (debug link) for target:/lib64/libpthread.so.0
Trying target:/lib64/libpthread-2.27.so.debug
Reading /lib64/libpthread-2.27.so.debug from remote target...
Trying target:/lib64/.debug/libpthread-2.27.so.debug
Reading /lib64/.debug/libpthread-2.27.so.debug from remote target...
Trying /usr/lib/debug/target:/lib64/libpthread-2.27.so.debug
Trying /home/j/hide/target:/lib64/libpthread-2.27.so.debug
Looking for separate debug info (debug link) for target:/lib64/libc.so.6
Trying target:/lib64/libc-2.27.so.debug
Reading /lib64/libc-2.27.so.debug from remote target...
Trying target:/lib64/.debug/libc-2.27.so.debug
Reading /lib64/.debug/libc-2.27.so.debug from remote target...
Trying /usr/lib/debug/target:/lib64/libc-2.27.so.debug
Trying /home/j/hide/target:/lib64/libc-2.27.so.debug
Breakpoint 1, 0x00000000004005eb in main ()
#0 0x00000000004005eb in main ()
From To Syms Read Shared Object Library
0x00007ffff7dd6e80 0x00007ffff7df4650 Yes (*) target:/lib64/ld-linux-x86-64.so.2
0x00007ffff7bbbb70 0x00007ffff7bcbfee Yes (*) target:/lib64/libpthread.so.0
0x00007ffff780f200 0x00007ffff7962d7c Yes (*) target:/lib64/libc.so.6
(*): Shared library is missing debugging information.
With current fix, the paths used always have target: in the beginning
and this helps to find all debug files:
$ gdb -ex 'set debug separate-debug-file 1' -ex 'set sysroot target:/' -ex 'set debug-file-directory /usr/lib/debug:/home/j/hide' -ex 'target remote :3333' -ex 'break main' -ex 'continue' -ex 'bt' -ex 'info sharedlibrary' -ex 'set confirm off' -ex 'quit'
GNU gdb (Gentoo 9999 vanilla) 8.2.50.20181109-git
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://bugs.gentoo.org/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word".
Remote debugging using :3333
Reading /home/j/test from remote target...
warning: File transfers from remote targets can be slow. Use "set sysroot" to access files locally instead.
Reading /home/j/test from remote target...
Reading symbols from target:/home/j/test...
Looking for separate debug info (debug link) for target:/home/j/test
Trying target:/home/j/test.debug
Reading /home/j/test.debug from remote target...
Trying target:/home/j/.debug/test.debug
Reading /home/j/.debug/test.debug from remote target...
Trying target:/usr/lib/debug//home/j/test.debug
Reading /usr/lib/debug//home/j/test.debug from remote target...
Trying target:/home/j/hide//home/j/test.debug
Reading /home/j/hide//home/j/test.debug from remote target...
Reading /home/j/hide//home/j/test.debug from remote target...
Reading symbols from target:/home/j/hide//home/j/test.debug...
Reading /lib64/ld-linux-x86-64.so.2 from remote target...
Reading /lib64/ld-linux-x86-64.so.2 from remote target...
Reading symbols from target:/lib64/ld-linux-x86-64.so.2...
Looking for separate debug info (debug link) for target:/lib64/ld-linux-x86-64.so.2
Trying target:/lib64/ld-2.27.so.debug
Reading /lib64/ld-2.27.so.debug from remote target...
Trying target:/lib64/.debug/ld-2.27.so.debug
Reading /lib64/.debug/ld-2.27.so.debug from remote target...
Trying target:/usr/lib/debug//lib64/ld-2.27.so.debug
Reading /usr/lib/debug//lib64/ld-2.27.so.debug from remote target...
Reading /usr/lib/debug//lib64/ld-2.27.so.debug from remote target...
Reading symbols from target:/usr/lib/debug//lib64/ld-2.27.so.debug...
Looking for separate debug info (build-id) for system-supplied DSO at 0x7ffff7ffa000
Trying /usr/lib/debug/.build-id/fd/03d584bc1a90ba28be457635a02662c9f9c1f2.debug
Trying /home/j/hide/.build-id/fd/03d584bc1a90ba28be457635a02662c9f9c1f2.debug
0x00007ffff7dd7000 in _start () from target:/lib64/ld-linux-x86-64.so.2
Breakpoint 1 at 0x4005ef: file test/test16.c, line 13.
Continuing.
Reading /lib64/libpthread.so.0 from remote target...
Reading /lib64/libc.so.6 from remote target...
Looking for separate debug info (debug link) for target:/lib64/libpthread.so.0
Trying target:/lib64/libpthread-2.27.so.debug
Reading /lib64/libpthread-2.27.so.debug from remote target...
Trying target:/lib64/.debug/libpthread-2.27.so.debug
Reading /lib64/.debug/libpthread-2.27.so.debug from remote target...
Trying target:/usr/lib/debug//lib64/libpthread-2.27.so.debug
Reading /usr/lib/debug//lib64/libpthread-2.27.so.debug from remote target...
Reading /usr/lib/debug//lib64/libpthread-2.27.so.debug from remote target...
Looking for separate debug info (debug link) for target:/lib64/libc.so.6
Trying target:/lib64/libc-2.27.so.debug
Reading /lib64/libc-2.27.so.debug from remote target...
Trying target:/lib64/.debug/libc-2.27.so.debug
Reading /lib64/.debug/libc-2.27.so.debug from remote target...
Trying target:/usr/lib/debug//lib64/libc-2.27.so.debug
Reading /usr/lib/debug//lib64/libc-2.27.so.debug from remote target...
Reading /usr/lib/debug//lib64/libc-2.27.so.debug from remote target...
Breakpoint 1, main () at test/test16.c:13
13 for ( i=0; i<10; ++i)
#0 main () at test/test16.c:13
From To Syms Read Shared Object Library
0x00007ffff7dd6e80 0x00007ffff7df4650 Yes target:/lib64/ld-linux-x86-64.so.2
0x00007ffff7bbbb70 0x00007ffff7bcbfee Yes target:/lib64/libpthread.so.0
0x00007ffff780f200 0x00007ffff7962d7c Yes target:/lib64/libc.so.6
gdb/ChangeLog:
2018-11-09 Andrey Utkin <autkin@undo.io>
* symfile.c (find_separate_debug_file): Fix search of debug files for
remote debuggee.
Signed-off-by: Andrey Utkin <autkin@undo.io>
2018-11-09 20:09:40 +01:00
|
|
|
|
2019-01-02 Andrey Utkin <autkin@undo.io>
|
|
|
|
|
|
|
|
|
|
* symfile.c (find_separate_debug_file): Fix search of debug files for
|
|
|
|
|
remote debuggee.
|
|
|
|
|
|
2019-01-02 17:30:49 +01:00
|
|
|
|
2019-01-02 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* python/py-inferior.c (gdbpy_initialize_inferior): Fix
|
|
|
|
|
indentation.
|
|
|
|
|
* python/py-frame.c (frapy_older): Remove cast.
|
|
|
|
|
(frapy_newer): Likewise.
|
|
|
|
|
* python/py-breakpoint.c (local_setattro): Remove cast.
|
|
|
|
|
* python/py-arch.c (archpy_name): Remove local variable.
|
|
|
|
|
* python/py-type.c (gdbpy_lookup_type): Remove cast.
|
|
|
|
|
|
2019-01-02 07:11:41 +01:00
|
|
|
|
2019-01-02 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* unittests/basic_string_view/element_access/char/empty.cc:
|
|
|
|
|
Fix year range in copyright header.
|
|
|
|
|
|
gdb/riscv: Split ISA and ABI features
The goal of this commit is to allow RV64 binaries compiled for the 'F'
extension to run on a target that supports both the 'F' and 'D'
extensions.
The 'D' extension depends on the 'F' extension and chapter 9 of the
RISC-V ISA manual implies that running a program compiled for 'F' on
a 'D' target should be fine.
To support this the gdbarch now holds two feature sets, one represents
the features that are present on the target, and one represents the
features requested in the ELF flags.
The existing error checks are relaxed slightly to allow binaries
compiled for 32-bit 'F' extension to run on targets with the 64-bit
'D' extension.
A new set of functions called riscv_abi_{xlen,flen} are added to
compliment the existing riscv_isa_{xlen,flen}, and some callers to the
isa functions now call the abi functions when that is appropriate.
In riscv_call_arg_struct two asserts are removed, these asserts no
longer make sense. The asserts were both like this:
gdb_assert (TYPE_LENGTH (ainfo->type)
<= (cinfo->flen + cinfo->xlen));
And were made in two cases, when passing structures like these:
struct {
integer field1;
float field2;
};
or,
struct {
float field1;
integer field2;
};
When running on an RV64 target which only has 32-bit float then the
integer field could be 64-bits, while if the float field is 32-bits
the overall size of the structure can be 128-bits (with 32-bits of
padding). In this case the assertion would fail, however, the code
isn't incorrect, so its safe to just remove the assertion.
This was tested by running on an RV64IMFDC target using a compiler
configured for RV64IMFC, and comparing the results with those obtained
when using a compiler configured for RV64IMFDC. The only regressions
I see (now) are in gdb.base/store.exp and are related too different
code generation choices GCC makes between the two targets.
Finally, this commit does not make any attempt to support running
binaries compiled for RV32 on an RV64 target, though nothing in here
should prevent that being supported in the future.
gdb/ChangeLog:
* arch/riscv.h (struct riscv_gdbarch_features) <hw_float_abi>:
Delete.
<operator==>: Update with for removed field.
<hash>: Likewise.
* riscv-tdep.h (struct gdbarch_tdep) <features>: Renamed to...
<isa_features>: ...this.
<abi_features>: New field.
(riscv_isa_flen): Update comment.
(riscv_abi_xlen): New declaration.
(riscv_abi_flen): New declaration.
* riscv-tdep.c (riscv_isa_xlen): Update to get answer from
isa_features.
(riscv_abi_xlen): New function.
(riscv_isa_flen): Update to get answer from isa_features.
(riscv_abi_flen): New function.
(riscv_has_fp_abi): Update to get answer from abi_features.
(riscv_call_info::riscv_call_info): Use abi xlen and flen, not isa
xlen and flen.
(riscv_call_info) <xlen, flen>: Update comment.
(riscv_call_arg_struct): Remove invalid assertions
(riscv_features_from_gdbarch_info): Update now hw_float_abi field
is removed.
(riscv_gdbarch_init): Gather isa features and abi features
separately, ensure both match on the gdbarch when reusing an old
gdbarch. Relax an error check to allow 32-bit abi float to run on
a target with 64-bit float hardware.
2018-12-13 18:59:12 +01:00
|
|
|
|
2019-01-01 Andrew Burgess <andrew.burgess@embecosm.com>
|
|
|
|
|
|
|
|
|
|
* arch/riscv.h (struct riscv_gdbarch_features) <hw_float_abi>:
|
|
|
|
|
Delete.
|
|
|
|
|
<operator==>: Update with for removed field.
|
|
|
|
|
<hash>: Likewise.
|
|
|
|
|
* riscv-tdep.h (struct gdbarch_tdep) <features>: Renamed to...
|
|
|
|
|
<isa_features>: ...this.
|
|
|
|
|
<abi_features>: New field.
|
|
|
|
|
(riscv_isa_flen): Update comment.
|
|
|
|
|
(riscv_abi_xlen): New declaration.
|
|
|
|
|
(riscv_abi_flen): New declaration.
|
|
|
|
|
* riscv-tdep.c (riscv_isa_xlen): Update to get answer from
|
|
|
|
|
isa_features.
|
|
|
|
|
(riscv_abi_xlen): New function.
|
|
|
|
|
(riscv_isa_flen): Update to get answer from isa_features.
|
|
|
|
|
(riscv_abi_flen): New function.
|
|
|
|
|
(riscv_has_fp_abi): Update to get answer from abi_features.
|
|
|
|
|
(riscv_call_info::riscv_call_info): Use abi xlen and flen, not isa
|
|
|
|
|
xlen and flen.
|
|
|
|
|
(riscv_call_info) <xlen, flen>: Update comment.
|
|
|
|
|
(riscv_call_arg_struct): Remove invalid assertions
|
|
|
|
|
(riscv_features_from_gdbarch_info): Update now hw_float_abi field
|
|
|
|
|
is removed.
|
|
|
|
|
(riscv_gdbarch_init): Gather isa features and abi features
|
|
|
|
|
separately, ensure both match on the gdbarch when reusing an old
|
|
|
|
|
gdbarch. Relax an error check to allow 32-bit abi float to run on
|
|
|
|
|
a target with 64-bit float hardware.
|
|
|
|
|
|
Fix 'Invalid read of size 4' in search_command_helper
Valgrind detects the below error in gdb.base/list.exp.
==14763== Invalid read of size 4
==14763== at 0x60B584: search_command_helper(char const*, int, bool) [clone .constprop.91] (source.c:1601)
==14763== by 0x408888: cmd_func(cmd_list_element*, char const*, int) (cli-decode.c:1892)
==14763== by 0x668550: execute_command(char const*, int) (top.c:630)
==14763== by 0x4B2F7B: command_handler(char const*) (event-top.c:583)
==14763== by 0x4B326C: command_line_handler(std::unique_ptr<char, gdb::xfree_deleter<char> >&&) (event-top.c:772)
...
==14763== Address 0x6d9f09c is 4 bytes before a block of size 156 alloc'd
==14763== at 0x4C2E2B3: realloc (vg_replace_malloc.c:836)
==14763== by 0x41904C: xrealloc (common-utils.c:62)
==14763== by 0x60A300: find_source_lines(symtab*, int) (source.c:1203)
==14763== by 0x608219: source_cache::get_plain_source_lines(symtab*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*) (source-cache.c:51)
==14763== by 0x60A46B: print_source_lines_base(symtab*, int, int, enum_flags<print_source_lines_flag>) (source.c:1350)
==14763== by 0x404E2D: list_command(char const*, int) (cli-cmds.c:1080)
....
Add the missing condition to end the loop once line 1 has been
reversed-searched.
gdb/ChangeLog
2019-01-01 Philippe Waroquiers <philippe.waroquiers@skynet.be>
* source.c (search_command_helper): Stop reverse search
when line 1 has been searched.
2019-01-01 15:45:09 +01:00
|
|
|
|
2019-01-01 Philippe Waroquiers <philippe.waroquiers@skynet.be>
|
|
|
|
|
|
|
|
|
|
* source.c (search_command_helper): Stop reverse search
|
|
|
|
|
when line 1 has been searched.
|
|
|
|
|
|
Fix leak in record-full.c
valgrind detects leaks in several gdb.reverse tests,
such as the below in gdb.reverse/watch-precsave.exp.
Fix the leak by rewriting the loop that frees
record_full_core_buf_list.
gdb/ChangeLog
2019-01-01 Philippe Waroquiers <philippe.waroquiers@skynet.be>
* record-full.c (record_full_base_target::close): Rewrite
record_full_core_buf_list free logic.
==18847== VALGRIND_GDB_ERROR_BEGIN
==18847== 4,120 (24 direct, 4,096 indirect) bytes in 1 blocks are definitely lost in loss record 3,094 of 3,199
==18847== at 0x4C2BE6D: malloc (vg_replace_malloc.c:309)
==18847== by 0x405097: xmalloc (common-utils.c:44)
==18847== by 0x5AF8EA: xnew<record_full_core_buf_entry> (poison.h:110)
==18847== by 0x5AF8EA: record_full_core_target::xfer_partial(target_object, char const*, unsigned char*, unsigned char const*, unsigned long, unsigned long, unsigned long*) (record-full.c:2182)
==18847== by 0x64677D: raw_memory_xfer_partial(target_ops*, unsigned char*, unsigned char const*, unsigned long, long, unsigned long*) (target.c:956)
==18847== by 0x64691E: memory_xfer_partial_1(target_ops*, target_object, unsigned char*, unsigned char const*, unsigned long, unsigned long, unsigned long*) (target.c:1086)
2019-01-01 14:12:30 +01:00
|
|
|
|
2019-01-01 Philippe Waroquiers <philippe.waroquiers@skynet.be>
|
|
|
|
|
|
|
|
|
|
* record-full.c (record_full_base_target::close): Rewrite
|
|
|
|
|
record_full_core_buf_list free logic.
|
|
|
|
|
|
Fix leak in print_one_catch_syscall.
The last text produced was not freed, causing the below leak
(e.g. in gdb.base/catch-syscall.exp):
==24970== 56 bytes in 12 blocks are definitely lost in loss record 626 of 3,289
==24970== at 0x4C2BE6D: malloc (vg_replace_malloc.c:309)
==24970== by 0x66B9C3F: __vasprintf_chk (vasprintf_chk.c:80)
==24970== by 0x405181: vasprintf (stdio2.h:210)
==24970== by 0x405181: xstrvprintf(char const*, __va_list_tag*) (common-utils.c:122)
==24970== by 0x40524B: xstrprintf(char const*, ...) (common-utils.c:113)
==24970== by 0x3B49DB: print_one_catch_syscall(breakpoint*, bp_location**) (break-catch-syscall.c:275)
==24970== by 0x3C698F: print_one_breakpoint_location(breakpoint*, bp_location*, int, bp_location**, int) (breakpoint.c:6076)
==24970== by 0x3C75B1: print_one_breakpoint(breakpoint*, bp_location**, int) (breakpoint.c:6373)
==24970== by 0x3C7D0E: breakpoint_1(char const*, int, int (*)(breakpoint const*)) (breakpoint.c:6571)
==24970== by 0x3C822C: info_breakpoints_command(char const*, int) (breakpoint.c:6625)
2019-01-01 Philippe Waroquiers <philippe.waroquiers@skynet.be>
* break-catch-syscall.c (print_one_catch_syscall): xfree
the last text.
2018-12-31 18:07:26 +01:00
|
|
|
|
2019-01-01 Philippe Waroquiers <philippe.waroquiers@skynet.be>
|
|
|
|
|
|
|
|
|
|
* break-catch-syscall.c (print_one_catch_syscall): xfree
|
|
|
|
|
the last text.
|
|
|
|
|
|
2019-01-01 07:09:59 +01:00
|
|
|
|
2019-01-01 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* top.c (print_gdb_version): Update Copyright year in version
|
|
|
|
|
message.
|
|
|
|
|
|
2019-01-01 07:01:51 +01:00
|
|
|
|
2019-01-01 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
Update copyright year range in all GDB files.
|
|
|
|
|
|
2019-01-16 01:06:38 +01:00
|
|
|
|
2019-01-01, 19 Joel Brobecker <brobecker@adacore.com>
|
Use gdb::unique_xmalloc_ptr<char> in command_line_input to fix a leak
Following the change of logic where the input_handler gets a
gdb::unique_xmalloc_ptr<char>, a call to readline directly
followed by a call to handle_line_of_input is missing a free,
and causes the below leak.
Use gdb::unique_xmalloc_ptr<char> to solve the leak.
==16291== VALGRIND_GDB_ERROR_BEGIN
==16291== 64 bytes in 1 blocks are definitely lost in loss record 1,815 of 4,111
==16291== at 0x4C2E2B3: realloc (vg_replace_malloc.c:836)
==16291== by 0x41EB1C: xrealloc (common-utils.c:62)
==16291== by 0x41DBD3: buffer_grow(buffer*, char const*, unsigned long) [clone .part.1] (buffer.c:40)
==16291== by 0x66E8FF: buffer_grow_char (buffer.h:40)
==16291== by 0x66E8FF: gdb_readline_no_editing (top.c:798)
==16291== by 0x66E8FF: command_line_input(char const*, char const*) (top.c:1249)
==16291== by 0x66EBD8: read_command_file(_IO_FILE*) (top.c:421)
==16291== by 0x412C0C: script_from_file(_IO_FILE*, char const*) (cli-script.c:1547)
==16291== by 0x40BE90: source_script_from_stream (cli-cmds.c:569)
==16291== by 0x40BE90: source_script_with_search(char const*, int, int) (cli-cmds.c:606)
==16291== by 0x54D567: catch_command_errors(void (*)(char const*, int), char const*, int) (main.c:379)
==16291== by 0x54EA84: captured_main_1 (main.c:994)
==16291== by 0x54EA84: captured_main (main.c:1167)
==16291== by 0x54EA84: gdb_main(captured_main_args*) (main.c:1193)
==16291== by 0x29DA27: main (gdb.c:32)
==16291==
==16291== VALGRIND_GDB_ERROR_END
gdb/ChangeLog
2018-12-31 Philippe Waroquiers <philippe.waroquiers@skynet.be>
* top.c (command_line_input): Use unique_xmalloc_ptr to
manage memory allocated by readline.
2018-12-30 20:41:49 +01:00
|
|
|
|
|
2019-01-01 06:59:27 +01:00
|
|
|
|
* config/djgpp/fnchange.lst: Add entry for gdb/ChangeLog-2018.
|
Use gdb::unique_xmalloc_ptr<char> in command_line_input to fix a leak
Following the change of logic where the input_handler gets a
gdb::unique_xmalloc_ptr<char>, a call to readline directly
followed by a call to handle_line_of_input is missing a free,
and causes the below leak.
Use gdb::unique_xmalloc_ptr<char> to solve the leak.
==16291== VALGRIND_GDB_ERROR_BEGIN
==16291== 64 bytes in 1 blocks are definitely lost in loss record 1,815 of 4,111
==16291== at 0x4C2E2B3: realloc (vg_replace_malloc.c:836)
==16291== by 0x41EB1C: xrealloc (common-utils.c:62)
==16291== by 0x41DBD3: buffer_grow(buffer*, char const*, unsigned long) [clone .part.1] (buffer.c:40)
==16291== by 0x66E8FF: buffer_grow_char (buffer.h:40)
==16291== by 0x66E8FF: gdb_readline_no_editing (top.c:798)
==16291== by 0x66E8FF: command_line_input(char const*, char const*) (top.c:1249)
==16291== by 0x66EBD8: read_command_file(_IO_FILE*) (top.c:421)
==16291== by 0x412C0C: script_from_file(_IO_FILE*, char const*) (cli-script.c:1547)
==16291== by 0x40BE90: source_script_from_stream (cli-cmds.c:569)
==16291== by 0x40BE90: source_script_with_search(char const*, int, int) (cli-cmds.c:606)
==16291== by 0x54D567: catch_command_errors(void (*)(char const*, int), char const*, int) (main.c:379)
==16291== by 0x54EA84: captured_main_1 (main.c:994)
==16291== by 0x54EA84: captured_main (main.c:1167)
==16291== by 0x54EA84: gdb_main(captured_main_args*) (main.c:1193)
==16291== by 0x29DA27: main (gdb.c:32)
==16291==
==16291== VALGRIND_GDB_ERROR_END
gdb/ChangeLog
2018-12-31 Philippe Waroquiers <philippe.waroquiers@skynet.be>
* top.c (command_line_input): Use unique_xmalloc_ptr to
manage memory allocated by readline.
2018-12-30 20:41:49 +01:00
|
|
|
|
|
2019-01-01 06:59:27 +01:00
|
|
|
|
For older changes see ChangeLog-2018.
|
1999-04-16 03:35:26 +02:00
|
|
|
|
|
|
|
|
|
Local Variables:
|
|
|
|
|
mode: change-log
|
|
|
|
|
left-margin: 8
|
|
|
|
|
fill-column: 74
|
|
|
|
|
version-control: never
|
2007-08-10 00:44:38 +02:00
|
|
|
|
coding: utf-8
|
1999-04-16 03:35:26 +02:00
|
|
|
|
End:
|
2019-01-01 06:59:27 +01:00
|
|
|
|
|