2017-01-26 15:29:19 +01:00
|
|
|
|
2017-01-26 Yao Qi <yao.qi@linaro.org>
|
|
|
|
|
|
|
|
|
|
* disasm-selftests.c (memory_error_test): New function.
|
|
|
|
|
(_initialize_disasm_selftests): Register memory_error_test.
|
|
|
|
|
|
Disassembly unit test: disassemble one instruction
This patch adds one unit test, which disassemble one instruction for
every gdbarch if available. The test needs one valid instruction of
each gdbarch, and most of them are got from breakpoint instruction.
For the rest gdbarch whose breakpoint instruction isn't a valid
instruction, I copy one instruction from the gas/testsuite/gas/
directory.
I get the valid instruction of most gdbarch except ia64, mep, mips,
tic6x, and xtensa. People familiar with these arch should be easy
to extend the test.
In order to achieve "do the unit test for every gdbarch", I add
selftest-arch.[c,h], so that we can register a function pointer,
which has one argument gdbarch. selftest.c will iterate over all
gdbarches to call the registered function pointer.
gdb:
2017-01-26 Yao Qi <yao.qi@linaro.org>
* Makefile.in (SFILES): Add disasm-selftests.c and
selftest-arch.c.
(COMMON_OBS): Add disasm-selftests.o and selftest-arch.o.
* disasm-selftests.c: New file.
* selftest-arch.c: New file.
* selftest-arch.h: New file.
2017-01-26 15:29:19 +01:00
|
|
|
|
2017-01-26 Yao Qi <yao.qi@linaro.org>
|
|
|
|
|
|
|
|
|
|
* Makefile.in (SFILES): Add disasm-selftests.c and
|
|
|
|
|
selftest-arch.c.
|
|
|
|
|
(COMMON_OBS): Add disasm-selftests.o and selftest-arch.o.
|
|
|
|
|
* disasm-selftests.c: New file.
|
|
|
|
|
* selftest-arch.c: New file.
|
|
|
|
|
* selftest-arch.h: New file.
|
|
|
|
|
|
2017-01-26 15:29:19 +01:00
|
|
|
|
2017-01-26 Yao Qi <yao.qi@linaro.org>
|
|
|
|
|
|
|
|
|
|
* mep-tdep.c (mep_gdb_print_insn): Set info->arch
|
|
|
|
|
to bfd_arch_mep. Don't return 0 if section is not
|
|
|
|
|
found. Call print_insn_mep.
|
|
|
|
|
|
2017-01-26 15:29:19 +01:00
|
|
|
|
2017-01-26 Pedro Alves <palves@redhat.com>
|
|
|
|
|
Yao Qi <yao.qi@linaro.org>
|
|
|
|
|
|
|
|
|
|
* arm-tdep.c: Include "disasm.h".
|
|
|
|
|
(gdb_print_insn_arm): Update code to get gdbarch.
|
|
|
|
|
* disasm.c (dis_asm_read_memory): Change it to
|
|
|
|
|
gdb_disassembler::dis_asm_read_memory.
|
|
|
|
|
(dis_asm_memory_error): Likewise.
|
|
|
|
|
(dis_asm_print_address): Likewise.
|
|
|
|
|
(gdb_pretty_print_insn): Change it to
|
|
|
|
|
gdb_disassembler::pretty_print_insn.
|
|
|
|
|
(dump_insns): Add one argument gdb_disassemlber. All
|
|
|
|
|
callers updated.
|
|
|
|
|
(do_mixed_source_and_assembly_deprecated): Likewise.
|
|
|
|
|
(do_mixed_source_and_assembly): Likewise.
|
|
|
|
|
(do_assembly_only): Likewise.
|
|
|
|
|
(gdb_disassembler::gdb_disassembler): New.
|
|
|
|
|
(gdb_disassembler::print_insn): New.
|
|
|
|
|
* disasm.h (class gdb_disassembler): New.
|
|
|
|
|
(gdb_pretty_print_insn): Remove declaration.
|
|
|
|
|
(gdb_disassemble_info): Likewise.
|
|
|
|
|
* guile/scm-disasm.c (class gdbscm_disassembler): New.
|
|
|
|
|
(gdbscm_disasm_read_memory_worker): Update.
|
|
|
|
|
(gdbscm_disasm_read_memory): Update.
|
|
|
|
|
(gdbscm_disasm_memory_error): Remove.
|
|
|
|
|
(gdbscm_disasm_print_address): Remove.
|
|
|
|
|
(gdbscm_disassembler::gdbscm_disassembler): New.
|
|
|
|
|
(gdbscm_print_insn_from_port): Update.
|
|
|
|
|
* mips-tdep.c: Include disasm.h.
|
|
|
|
|
(gdb_print_insn_mips): Update code to get gdbarch.
|
|
|
|
|
* record-btrace.c (btrace_insn_history): Update.
|
|
|
|
|
* spu-tdep.c: Include disasm.h.
|
|
|
|
|
(struct spu_dis_asm_data): Remove.
|
|
|
|
|
(struct spu_dis_asm_info): New.
|
|
|
|
|
(spu_dis_asm_print_address): Use spu_dis_asm_info to get
|
|
|
|
|
SPU id.
|
|
|
|
|
(gdb_print_insn_spu): Cast disassemble_info to
|
|
|
|
|
spu_dis_asm_info.
|
|
|
|
|
|
2017-01-26 15:29:19 +01:00
|
|
|
|
2017-01-26 Yao Qi <yao.qi@linaro.org>
|
|
|
|
|
|
|
|
|
|
* disasm.c (do_ui_file_delete): Delete.
|
|
|
|
|
(gdb_insn_length): Move code creating stream to ...
|
|
|
|
|
* utils.c (null_stream): ... here. New function.
|
|
|
|
|
* utils.h (null_stream): Declare.
|
|
|
|
|
|
2017-01-23 21:31:40 +01:00
|
|
|
|
2017-01-23 Simon Marchi <simon.marchi@polymtl.ca>
|
|
|
|
|
|
|
|
|
|
* python/py-inferior.c (find_thread_object): Return directly
|
|
|
|
|
from the loop. Remove "found" variable.
|
|
|
|
|
|
2017-01-21 14:59:40 +01:00
|
|
|
|
2017-01-21 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
GDB 7.12.1 released.
|
|
|
|
|
|
Fix Py_DECREF being executed without holding the GIL
When the gdbpy_ref objects get destroyed, they call Py_DECREF to
decrement the reference counter of the python object they hold a
reference to. Any time we call into the Python API, we should be
holding the GIL. The gdbpy_enter object does that for us in an
RAII-fashion.
However, if gdbpy_enter is declared after a gdbpy_ref object in a
function, gdbpy_enter's destructor will be called (and the GIL will be
released) before gdbpy_ref's destructor is called. Therefore, we will
end up calling Py_DECREF without holding the GIL.
This became obvious with Python 3.6, where memory management functions
have asserts to make sure that the GIL is held. This was exposed by
tests py-as-string.exp, py-function.exp and py-xmethods. For example:
(gdb) p $_as_string(enum_valid)
Fatal Python error: Python memory allocator called without holding the GIL
Current thread 0x00007f7f7b21c780 (most recent call first):
[1] 18678 abort (core dumped) ./gdb -nx testsuite/outputs/gdb.python/py-as-string/py-as-string
#0 0x00007ffff618bc37 in raise () from /lib/x86_64-linux-gnu/libc.so.6
#1 0x00007ffff618f028 in abort () from /lib/x86_64-linux-gnu/libc.so.6
#2 0x00007ffff6b104d6 in Py_FatalError (msg=msg@entry=0x7ffff6ba15b8 "Python memory allocator called without holding the GIL") at Python/pylifecycle.c:1457
#3 0x00007ffff6a37a68 in _PyMem_DebugCheckGIL () at Objects/obmalloc.c:1972
#4 0x00007ffff6a3804e in _PyMem_DebugFree (ctx=0x7ffff6e65290 <_PyMem_Debug+48>, ptr=0x24f8830) at Objects/obmalloc.c:1994
#5 0x00007ffff6a38e1d in PyMem_Free (ptr=<optimized out>) at Objects/obmalloc.c:442
#6 0x00007ffff6b866c6 in _PyFaulthandler_Fini () at ./Modules/faulthandler.c:1369
#7 0x00007ffff6b104bd in Py_FatalError (msg=msg@entry=0x7ffff6ba15b8 "Python memory allocator called without holding the GIL") at Python/pylifecycle.c:1431
#8 0x00007ffff6a37a68 in _PyMem_DebugCheckGIL () at Objects/obmalloc.c:1972
#9 0x00007ffff6a3804e in _PyMem_DebugFree (ctx=0x7ffff6e652c0 <_PyMem_Debug+96>, ptr=0x7ffff46b6040) at Objects/obmalloc.c:1994
#10 0x00007ffff6a38f55 in PyObject_Free (ptr=<optimized out>) at Objects/obmalloc.c:503
#11 0x00007ffff6a5f27e in unicode_dealloc (unicode=unicode@entry=0x7ffff46b6040) at Objects/unicodeobject.c:1794
#12 0x00007ffff6a352a9 in _Py_Dealloc (op=0x7ffff46b6040) at Objects/object.c:1786
#13 0x000000000063f28b in gdb_Py_DECREF (op=0x7ffff46b6040) at /home/emaisin/src/binutils-gdb/gdb/python/python-internal.h:192
#14 0x000000000063fa33 in gdbpy_ref_policy::decref (ptr=0x7ffff46b6040) at /home/emaisin/src/binutils-gdb/gdb/python/py-ref.h:35
#15 0x000000000063fa77 in gdb::ref_ptr<_object, gdbpy_ref_policy>::~ref_ptr (this=0x7fffffffcdf0, __in_chrg=<optimized out>) at /home/emaisin/src/binutils-gdb/gdb/common/gdb_ref_ptr.h:91
#16 0x000000000064d8b8 in fnpy_call (gdbarch=0x2b50010, language=0x115d2c0 <c_language_defn>, cookie=0x7ffff46b7468, argc=1, argv=0x7fffffffcf48)
at /home/emaisin/src/binutils-gdb/gdb/python/py-function.c:145
The fix is to place the gdbpy_enter first in the function. I also
cleaned up the comments a bit and removed the unnecessary initialization
of the value variable.
gdb/ChangeLog:
* python/py-function.c (fnpy_call): Reorder declarations to have
the gdbpy_enter object declared first.
* python/py-xmethods.c (gdbpy_get_xmethod_arg_types): Likewise.
2017-01-21 03:02:05 +01:00
|
|
|
|
2017-01-20 Simon Marchi <simon.marchi@ericsson.com>
|
|
|
|
|
|
|
|
|
|
* python/py-function.c (fnpy_call): Reorder declarations to have
|
|
|
|
|
the gdbpy_enter object declared first.
|
|
|
|
|
* python/py-xmethods.c (gdbpy_get_xmethod_arg_types): Likewise.
|
|
|
|
|
|
2017-01-21 02:39:08 +01:00
|
|
|
|
2017-01-20 Simon Marchi <simon.marchi@ericsson.com>
|
|
|
|
|
|
2017-01-21 02:47:41 +01:00
|
|
|
|
PR python/21068
|
2017-01-21 02:39:08 +01:00
|
|
|
|
* python/python-internal.h (PyMem_RawMalloc): Define for
|
|
|
|
|
Python < 3.4.
|
|
|
|
|
* python/py-gdb-readline.c (gdbpy_readline_wrapper): Use
|
|
|
|
|
PyMem_RawMalloc instead of PyMem_Malloc.
|
|
|
|
|
|
2017-01-20 15:13:03 +01:00
|
|
|
|
2017-01-20 Mike Wrighton <mike_wrighton@codesourcery.com>
|
|
|
|
|
Luis Machado <lgustavo@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* NEWS (New commands): Mention flash-erase.
|
|
|
|
|
(New MI commands): Mention target-flash-erase.
|
|
|
|
|
* mi/mi-cmds.c (mi_cmd_target_flash_erase): Add target-flash-erase MI
|
|
|
|
|
command.
|
|
|
|
|
* mi/mi-cmds.h (mi_cmd_target_flash_erase): New declaration.
|
|
|
|
|
* mi/mi-main.c (mi_cmd_target_flash_erase): New function.
|
|
|
|
|
* target.c (flash_erase_command): New function.
|
|
|
|
|
(initialize_targets): Add new flash-erase command.
|
|
|
|
|
* target.h (flash_erase_command): New declaration.
|
|
|
|
|
|
2017-01-17 13:08:02 +01:00
|
|
|
|
2017-01-20 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
* nat/linux-ptrace.c: Only include <sys/procfs.h> if
|
|
|
|
|
HAVE_SYS_PROCFS_H is defined.
|
|
|
|
|
|
2017-01-18 16:15:50 +01:00
|
|
|
|
2017-01-18 Alan Hayward <alan.hayward@arm.com>
|
|
|
|
|
|
|
|
|
|
* remote.c (struct cached_reg): Change data into a pointer.
|
|
|
|
|
* (stop_reply_dtr): Free data pointers before deleting vector.
|
|
|
|
|
(process_stop_reply): Likewise.
|
|
|
|
|
(remote_parse_stop_reply): Allocate space for data
|
|
|
|
|
|
2017-01-18 12:23:02 +01:00
|
|
|
|
2017-01-18 Alan Hayward <alan.hayward@arm.com>
|
|
|
|
|
|
|
|
|
|
* amd64-tdep.c (amd64_pseudo_register_read_value): remove
|
|
|
|
|
MAX_REGISTER_SIZE.
|
|
|
|
|
(amd64_pseudo_register_read_value): Likewise.
|
|
|
|
|
* remote.c (fetch_register_using_p): Remove MAX_REGISTER_SIZE.
|
|
|
|
|
(store_register_using_P): Likewise.
|
|
|
|
|
* regcache.c (regcache_xfer_part): Likewise.
|
|
|
|
|
|
2017-01-16 17:45:48 +01:00
|
|
|
|
2017-01-16 Ivo Raisr <ivo.raisr@oracle.com>
|
|
|
|
|
|
|
|
|
|
Split real and pseudo registers.
|
|
|
|
|
* sparc-tdep.h (SPARC_CORE_REGISTERS): New macro.
|
|
|
|
|
(sparc32_pseudo_regnum): New enum.
|
|
|
|
|
* sparc64-tdep.h (sparc64_pseudo_regnum): New enum.
|
|
|
|
|
* sparc-tdep.c (SPARC32_FPU_REGISTERS): New macro.
|
|
|
|
|
(SPARC32_CP0_REGISTERS): New macro.
|
|
|
|
|
(sparc32_pseudo_register_name): New function.
|
|
|
|
|
(sparc32_register_name): Use sparc32_pseudo_register_name.
|
|
|
|
|
(sparc32_pseudo_register_type): New function.
|
|
|
|
|
(sparc32_register_type): Use sparc32_pseudo_register_type.
|
|
|
|
|
(sparc32_pseudo_register_read, sparc32_pseudo_register_write): Handle
|
|
|
|
|
pseudo register numbers.
|
|
|
|
|
* sparc64-tdep.c SPARC64_FPU_REGISTERS): New macro.
|
|
|
|
|
(SPARC64_CP0_REGISTERS): New macro.
|
|
|
|
|
(sparc64_pseudo_register_name): New function.
|
|
|
|
|
(sparc64_register_name): Use sparc64_pseudo_register_name.
|
|
|
|
|
(sparc64_pseudo_register_type): New function.
|
|
|
|
|
(sparc64_register_type): Use sparc64_pseudo_register_type.
|
|
|
|
|
(sparc64_pseudo_register_read, sparc64_pseudo_register_write): Handle
|
|
|
|
|
pseudo register numbers.
|
|
|
|
|
(sparc64_store_floating_fields, sparc64_extract_floating_fields,
|
|
|
|
|
sparc64_store_arguments): Handle pseudo register numbers.
|
|
|
|
|
|
2017-01-13 16:45:33 +01:00
|
|
|
|
2017-01-13 Yao Qi <yao.qi@linaro.org>
|
|
|
|
|
|
|
|
|
|
* remote.c (REMOTE_DEBUG_MAX_CHAR): New macro.
|
|
|
|
|
(putpkt_binary): Print only REMOTE_DEBUG_MAX_CHAR chars in debug
|
|
|
|
|
output.
|
|
|
|
|
(getpkt_or_notif_sane_1): Likewise.
|
|
|
|
|
|
2017-01-13 15:40:11 +01:00
|
|
|
|
2017-01-13 Yao Qi <yao.qi@linaro.org>
|
|
|
|
|
|
|
|
|
|
* Makefile.in (checker-headers): Use CXX and CXX_DIALET instead
|
|
|
|
|
of CC. Pass "-x c++-header" instead of "-x c".
|
|
|
|
|
|
2017-01-12 17:15:01 +01:00
|
|
|
|
2017-01-12 Simon Marchi <simon.marchi@ericsson.com>
|
|
|
|
|
|
|
|
|
|
* remote.c (remote_can_async_p): Update comment.
|
|
|
|
|
|
2017-01-12 17:04:53 +01:00
|
|
|
|
2017-01-12 Simon Marchi <simon.marchi@ericsson.com>
|
|
|
|
|
|
|
|
|
|
* linux-nat.c (linux_nat_can_async_p): Update comment.
|
|
|
|
|
|
2017-01-12 16:39:35 +01:00
|
|
|
|
2017-01-12 Simon Marchi <simon.marchi@ericsson.com>
|
|
|
|
|
|
|
|
|
|
* serial.c (serial_open): Forget about "pc" and "lpt" serial interface.
|
|
|
|
|
|
2017-01-11 17:15:26 +01:00
|
|
|
|
2017-01-11 Simon Marchi <simon.marchi@ericsson.com>
|
|
|
|
|
|
|
|
|
|
* cli/cli-decode.c (lookup_cmd_1): Fix typo in comment.
|
|
|
|
|
|
2016-11-29 05:39:47 +01:00
|
|
|
|
2017-01-10 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* python/py-type.c (typy_legacy_template_argument): Update.
|
|
|
|
|
* cp-support.h (struct demangle_parse_info) (demangle_parse_info,
|
|
|
|
|
~demangle_parse_info): Declare new members.
|
|
|
|
|
(cp_demangled_name_to_comp): Return unique_ptr.
|
|
|
|
|
(cp_demangled_name_parse_free)
|
|
|
|
|
(make_cleanup_cp_demangled_name_parse_free)
|
|
|
|
|
(cp_new_demangle_parse_info): Remove.
|
|
|
|
|
* cp-support.c (do_demangled_name_parse_free_cleanup)
|
|
|
|
|
(make_cleanup_cp_demangled_name_parse_free): Remove.
|
|
|
|
|
(inspect_type, cp_canonicalize_string_full)
|
|
|
|
|
(cp_canonicalize_string): Update.
|
|
|
|
|
(mangled_name_to_comp): Change return type.
|
|
|
|
|
(cp_class_name_from_physname, method_name_from_physname)
|
|
|
|
|
(cp_func_name, cp_remove_params): Update.
|
|
|
|
|
* cp-name-parser.y (demangle_parse_info): New constructor, from
|
|
|
|
|
cp_new_demangle_parse_info.
|
|
|
|
|
(~demangle_parse_info): New destructor, from
|
|
|
|
|
cp_demangled_name_parse_free.
|
|
|
|
|
(cp_merge_demangle_parse_infos): Update.
|
|
|
|
|
(cp_demangled_name_to_comp): Change return type.
|
|
|
|
|
|
2016-11-29 05:11:53 +01:00
|
|
|
|
2017-01-10 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* top.c (prevent_dont_repeat): Change return type.
|
|
|
|
|
* python/python.c (execute_gdb_command): Use std::string.
|
|
|
|
|
Update.
|
|
|
|
|
* guile/guile.c (gdbscm_execute_gdb_command): Update.
|
|
|
|
|
* command.h (prevent_dont_repeat): Change return type.
|
|
|
|
|
* breakpoint.c (bpstat_do_actions_1): Update.
|
|
|
|
|
|
2016-11-22 05:04:59 +01:00
|
|
|
|
2017-01-10 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* value.h (scoped_value_mark::~scoped_value_mark): Call
|
|
|
|
|
free_to_mark.
|
|
|
|
|
(scoped_value_mark::free_to_mark): New method.
|
|
|
|
|
* dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Use
|
|
|
|
|
scoped_value_mark.
|
|
|
|
|
|
Add scoped_value_mark
This adds a scoped_value_mark class, that records the value mark in
the constructor and then calls value_free_to_mark in the destructor.
It then updates various spots in gdb to use this class, rather than a
cleanup.
It would be better overall to replace "struct value *" with a
shared_ptr, maybe eliminating the need for this class (watchpoints
would perhaps need some new mechanism as well). However, that's
difficult to do.
2017-01-10 Tom Tromey <tom@tromey.com>
* python/py-value.c (valpy_dereference, valpy_referenced_value)
(valpy_reference_value, valpy_const_value, valpy_get_address)
(valpy_get_dynamic_type, valpy_lazy_string, valpy_do_cast)
(valpy_getitem, valpy_call, valpy_binop_throw, valpy_negative)
(valpy_absolute, valpy_richcompare_throw): Use scoped_value_mark.
* dwarf2loc.c (dwarf2_loc_desc_get_symbol_read_needs): Use
scoped_value_mark.
* dwarf2-frame.c (execute_stack_op): Use scoped_value_mark.
* value.h (scoped_value_mark): New class.
2016-11-22 02:02:11 +01:00
|
|
|
|
2017-01-10 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* python/py-value.c (valpy_dereference, valpy_referenced_value)
|
|
|
|
|
(valpy_reference_value, valpy_const_value, valpy_get_address)
|
|
|
|
|
(valpy_get_dynamic_type, valpy_lazy_string, valpy_do_cast)
|
|
|
|
|
(valpy_getitem, valpy_call, valpy_binop_throw, valpy_negative)
|
|
|
|
|
(valpy_absolute, valpy_richcompare_throw): Use scoped_value_mark.
|
|
|
|
|
* dwarf2loc.c (dwarf2_loc_desc_get_symbol_read_needs): Use
|
|
|
|
|
scoped_value_mark.
|
|
|
|
|
* dwarf2-frame.c (execute_stack_op): Use scoped_value_mark.
|
|
|
|
|
* value.h (scoped_value_mark): New class.
|
|
|
|
|
|
2016-11-22 00:50:20 +01:00
|
|
|
|
2017-01-10 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* dwarf2read.c (dwarf2_build_psymtabs): Use psymtab_discarder.
|
|
|
|
|
* psympriv.h (make_cleanup_discard_psymtabs): Don't declare.
|
|
|
|
|
* psymtab.c (discard_psymtabs_upto): Remove.
|
|
|
|
|
(make_cleanup_discard_psymtabs): Remove.
|
|
|
|
|
(struct psymtab_state): Remove.
|
|
|
|
|
|
2016-11-22 00:26:20 +01:00
|
|
|
|
2017-01-10 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* record-full.c (record_full_save_cleanups): Remove.
|
|
|
|
|
(record_full_save): Use gdb::unlinker.
|
|
|
|
|
* gcore.c (do_bfd_delete_cleanup): Remove.
|
|
|
|
|
(gcore_command): Use gdb::unlinker, unique_xmalloc_ptr. Remove
|
|
|
|
|
cleanups.
|
|
|
|
|
* dwarf2read.c (unlink_if_set): Remove.
|
|
|
|
|
(write_psymtabs_to_index): Use gdb::unlinker.
|
|
|
|
|
* common/gdb_unlinker.h: New file.
|
|
|
|
|
|
Use class to manage BFD reference counts
This introduces a new specialization of gdb::ref_ptr that can be used
to manage BFD reference counts. Then it changes most places in gdb to
use this new class, rather than explicit reference-counting or
cleanups. This patch removes make_cleanup_bfd_unref.
If you look you will see a couple of spots using "release" where a use
of gdb_bfd_ref_ptr would be cleaner. These will be fixed in the next
patch.
I think this patch fixes some latent bugs. For example, it seems to
me that previously objfpy_add_separate_debug_file leaked a BFD.
I'm not 100% certain that the macho_symfile_read_all_oso change is
correct. The existing code here is hard for me to follow. One goal
of this sort of automated reference counting, though, is to make it
more difficult to make logic errors; so hopefully the code is clear
now.
2017-01-10 Tom Tromey <tom@tromey.com>
* windows-tdep.c (windows_xfer_shared_library): Update.
* windows-nat.c (windows_make_so): Update.
* utils.h (make_cleanup_bfd_unref): Remove.
* utils.c (do_bfd_close_cleanup, make_cleanup_bfd_unref): Remove.
* symfile.h (symfile_bfd_open)
(find_separate_debug_file_in_section): Return gdb_bfd_ref_ptr.
* symfile.c (read_symbols, symbol_file_add)
(separate_debug_file_exists): Update.
(symfile_bfd_open): Return gdb_bfd_ref_ptr.
(generic_load, reread_symbols): Update.
* symfile-mem.c (symbol_file_add_from_memory): Update.
* spu-linux-nat.c (spu_bfd_open): Return gdb_bfd_ref_ptr.
(spu_symbol_file_add_from_memory): Update.
* solist.h (struct target_so_ops) <bfd_open>: Return
gdb_bfd_ref_ptr.
(solib_bfd_fopen, solib_bfd_open): Return gdb_bfd_ref_ptr.
* solib.c (solib_bfd_fopen, solib_bfd_open): Return
gdb_bfd_ref_ptr.
(solib_map_sections, reload_shared_libraries_1): Update.
* solib-svr4.c (enable_break): Update.
* solib-spu.c (spu_bfd_fopen): Return gdb_bfd_ref_ptr.
* solib-frv.c (enable_break2): Update.
* solib-dsbt.c (enable_break): Update.
* solib-darwin.c (gdb_bfd_mach_o_fat_extract): Return
gdb_bfd_ref_ptr.
(darwin_solib_get_all_image_info_addr_at_init): Update.
(darwin_bfd_open): Return gdb_bfd_ref_ptr.
* solib-aix.c (solib_aix_bfd_open): Return gdb_bfd_ref_ptr.
* record-full.c (record_full_save): Update.
* python/py-objfile.c (objfpy_add_separate_debug_file): Update.
* procfs.c (insert_dbx_link_bpt_in_file): Update.
* minidebug.c (find_separate_debug_file_in_section): Return
gdb_bfd_ref_ptr.
* machoread.c (macho_add_oso_symfile): Change abfd to
gdb_bfd_ref_ptr.
(macho_symfile_read_all_oso): Update.
(macho_check_dsym): Return gdb_bfd_ref_ptr.
(macho_symfile_read): Update.
* jit.c (bfd_open_from_target_memory): Return gdb_bfd_ref_ptr.
(jit_bfd_try_read_symtab): Update.
* gdb_bfd.h (gdb_bfd_open, gdb_bfd_fopen, gdb_bfd_openr)
(gdb_bfd_openw, gdb_bfd_openr_iovec)
(gdb_bfd_openr_next_archived_file, gdb_bfd_fdopenr): Return
gdb_bfd_ref_ptr.
(gdb_bfd_ref_policy): New struct.
(gdb_bfd_ref_ptr): New typedef.
* gdb_bfd.c (gdb_bfd_open, gdb_bfd_fopen, gdb_bfd_openr)
(gdb_bfd_openw, gdb_bfd_openr_iovec)
(gdb_bfd_openr_next_archived_file, gdb_bfd_fdopenr): Return
gdb_bfd_ref_ptr.
* gcore.h (create_gcore_bfd): Return gdb_bfd_ref_ptr.
* gcore.c (create_gcore_bfd): Return gdb_bfd_ref_ptr.
(gcore_command): Update.
* exec.c (exec_file_attach): Update.
* elfread.c (elf_symfile_read): Update.
* dwarf2read.c (dwarf2_get_dwz_file): Update.
(try_open_dwop_file, open_dwo_file): Return gdb_bfd_ref_ptr.
(open_and_init_dwo_file): Update.
(open_dwp_file): Return gdb_bfd_ref_ptr.
(open_and_init_dwp_file): Update.
* corelow.c (core_open): Update.
* compile/compile-object-load.c (compile_object_load): Update.
* common/gdb_ref_ptr.h (ref_ptr::operator->): New operator.
* coffread.c (coff_symfile_read): Update.
* cli/cli-dump.c (bfd_openr_or_error, bfd_openw_or_error): Return
gdb_bfd_ref_ptr. Rename.
(dump_bfd_file, restore_command): Update.
* build-id.h (build_id_to_debug_bfd): Return gdb_bfd_ref_ptr.
* build-id.c (build_id_to_debug_bfd): Return gdb_bfd_ref_ptr.
(find_separate_debug_file_by_buildid): Update.
2016-11-21 19:12:23 +01:00
|
|
|
|
2017-01-10 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* windows-tdep.c (windows_xfer_shared_library): Update.
|
|
|
|
|
* windows-nat.c (windows_make_so): Update.
|
|
|
|
|
* utils.h (make_cleanup_bfd_unref): Remove.
|
|
|
|
|
* utils.c (do_bfd_close_cleanup, make_cleanup_bfd_unref): Remove.
|
|
|
|
|
* symfile.h (symfile_bfd_open)
|
|
|
|
|
(find_separate_debug_file_in_section): Return gdb_bfd_ref_ptr.
|
|
|
|
|
* symfile.c (read_symbols, symbol_file_add)
|
|
|
|
|
(separate_debug_file_exists): Update.
|
|
|
|
|
(symfile_bfd_open): Return gdb_bfd_ref_ptr.
|
|
|
|
|
(generic_load, reread_symbols): Update.
|
|
|
|
|
* symfile-mem.c (symbol_file_add_from_memory): Update.
|
|
|
|
|
* spu-linux-nat.c (spu_bfd_open): Return gdb_bfd_ref_ptr.
|
|
|
|
|
(spu_symbol_file_add_from_memory): Update.
|
|
|
|
|
* solist.h (struct target_so_ops) <bfd_open>: Return
|
|
|
|
|
gdb_bfd_ref_ptr.
|
|
|
|
|
(solib_bfd_fopen, solib_bfd_open): Return gdb_bfd_ref_ptr.
|
|
|
|
|
* solib.c (solib_bfd_fopen, solib_bfd_open): Return
|
|
|
|
|
gdb_bfd_ref_ptr.
|
|
|
|
|
(solib_map_sections, reload_shared_libraries_1): Update.
|
|
|
|
|
* solib-svr4.c (enable_break): Update.
|
|
|
|
|
* solib-spu.c (spu_bfd_fopen): Return gdb_bfd_ref_ptr.
|
|
|
|
|
* solib-frv.c (enable_break2): Update.
|
|
|
|
|
* solib-dsbt.c (enable_break): Update.
|
|
|
|
|
* solib-darwin.c (gdb_bfd_mach_o_fat_extract): Return
|
|
|
|
|
gdb_bfd_ref_ptr.
|
|
|
|
|
(darwin_solib_get_all_image_info_addr_at_init): Update.
|
|
|
|
|
(darwin_bfd_open): Return gdb_bfd_ref_ptr.
|
|
|
|
|
* solib-aix.c (solib_aix_bfd_open): Return gdb_bfd_ref_ptr.
|
|
|
|
|
* record-full.c (record_full_save): Update.
|
|
|
|
|
* python/py-objfile.c (objfpy_add_separate_debug_file): Update.
|
|
|
|
|
* procfs.c (insert_dbx_link_bpt_in_file): Update.
|
|
|
|
|
* minidebug.c (find_separate_debug_file_in_section): Return
|
|
|
|
|
gdb_bfd_ref_ptr.
|
|
|
|
|
* machoread.c (macho_add_oso_symfile): Change abfd to
|
|
|
|
|
gdb_bfd_ref_ptr.
|
|
|
|
|
(macho_symfile_read_all_oso): Update.
|
|
|
|
|
(macho_check_dsym): Return gdb_bfd_ref_ptr.
|
|
|
|
|
(macho_symfile_read): Update.
|
|
|
|
|
* jit.c (bfd_open_from_target_memory): Return gdb_bfd_ref_ptr.
|
|
|
|
|
(jit_bfd_try_read_symtab): Update.
|
|
|
|
|
* gdb_bfd.h (gdb_bfd_open, gdb_bfd_fopen, gdb_bfd_openr)
|
|
|
|
|
(gdb_bfd_openw, gdb_bfd_openr_iovec)
|
|
|
|
|
(gdb_bfd_openr_next_archived_file, gdb_bfd_fdopenr): Return
|
|
|
|
|
gdb_bfd_ref_ptr.
|
|
|
|
|
(gdb_bfd_ref_policy): New struct.
|
|
|
|
|
(gdb_bfd_ref_ptr): New typedef.
|
|
|
|
|
* gdb_bfd.c (gdb_bfd_open, gdb_bfd_fopen, gdb_bfd_openr)
|
|
|
|
|
(gdb_bfd_openw, gdb_bfd_openr_iovec)
|
|
|
|
|
(gdb_bfd_openr_next_archived_file, gdb_bfd_fdopenr): Return
|
|
|
|
|
gdb_bfd_ref_ptr.
|
|
|
|
|
* gcore.h (create_gcore_bfd): Return gdb_bfd_ref_ptr.
|
|
|
|
|
* gcore.c (create_gcore_bfd): Return gdb_bfd_ref_ptr.
|
|
|
|
|
(gcore_command): Update.
|
|
|
|
|
* exec.c (exec_file_attach): Update.
|
|
|
|
|
* elfread.c (elf_symfile_read): Update.
|
|
|
|
|
* dwarf2read.c (dwarf2_get_dwz_file): Update.
|
|
|
|
|
(try_open_dwop_file, open_dwo_file): Return gdb_bfd_ref_ptr.
|
|
|
|
|
(open_and_init_dwo_file): Update.
|
|
|
|
|
(open_dwp_file): Return gdb_bfd_ref_ptr.
|
|
|
|
|
(open_and_init_dwp_file): Update.
|
|
|
|
|
* corelow.c (core_open): Update.
|
|
|
|
|
* compile/compile-object-load.c (compile_object_load): Update.
|
|
|
|
|
* common/gdb_ref_ptr.h (ref_ptr::operator->): New operator.
|
|
|
|
|
* coffread.c (coff_symfile_read): Update.
|
|
|
|
|
* cli/cli-dump.c (bfd_openr_or_error, bfd_openw_or_error): Return
|
|
|
|
|
gdb_bfd_ref_ptr. Rename.
|
|
|
|
|
(dump_bfd_file, restore_command): Update.
|
|
|
|
|
* build-id.h (build_id_to_debug_bfd): Return gdb_bfd_ref_ptr.
|
|
|
|
|
* build-id.c (build_id_to_debug_bfd): Return gdb_bfd_ref_ptr.
|
|
|
|
|
(find_separate_debug_file_by_buildid): Update.
|
|
|
|
|
|
2016-11-21 01:48:31 +01:00
|
|
|
|
2017-01-10 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* common/gdb_ref_ptr.h: New file.
|
|
|
|
|
* python/py-ref.h (struct gdbpy_ref_policy): New.
|
|
|
|
|
(gdbpy_ref): Now a typedef.
|
|
|
|
|
|
Remove make_cleanup_htab_delete
This removes make_cleanup_htab_delete in favor of destructors,
building on an earlier patch that added the htab_up typedef.
Testing revealed that more cleanup-removal work was needed in
dwarf2loc.c, so this version of the patch changes code there to use
unordered_set and vector, removing some more cleanups.
2017-01-10 Tom Tromey <tom@tromey.com>
* utils.h (make_cleanup_htab_delete): Don't declare.
* utils.c (do_htab_delete_cleanup, make_cleanup_htab_delete):
Remove.
* linespec.c (decode_compound_collector): Add constructor,
destructor.
(lookup_prefix_sym): Remove cleanup.
(symtab_collector): Add constructor, destructor.
(collect_symtabs_from_filename): Remove cleanup.
* disasm.c (do_mixed_source_and_assembly): Use htab_up.
* compile/compile-c-symbols.c (generate_c_for_variable_locations):
Use htab_up.
* gnu-v3-abi.c (gnuv3_print_vtable): Use htab_up.
* dwarf2read.c (dw2_expand_symtabs_matching)
(dw2_map_symbol_filenames, dwarf_decode_macros)
(write_psymtabs_to_index): Use htab_up.
* dwarf2loc.c (func_verify_no_selftailcall)
(call_site_find_chain_1, func_verify_no_selftailcall)
(chain_candidate, call_site_find_chain_1): Use std::unordered_set,
std::vector, gdb::unique_xmalloc_ptr.
(call_sitep): Remove typedef.
(dwarf2_locexpr_baton_eval): Remove unused variable.
2016-11-20 21:20:32 +01:00
|
|
|
|
2017-01-10 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* utils.h (make_cleanup_htab_delete): Don't declare.
|
|
|
|
|
* utils.c (do_htab_delete_cleanup, make_cleanup_htab_delete):
|
|
|
|
|
Remove.
|
|
|
|
|
* linespec.c (decode_compound_collector): Add constructor,
|
|
|
|
|
destructor.
|
|
|
|
|
(lookup_prefix_sym): Remove cleanup.
|
|
|
|
|
(symtab_collector): Add constructor, destructor.
|
|
|
|
|
(collect_symtabs_from_filename): Remove cleanup.
|
|
|
|
|
* disasm.c (do_mixed_source_and_assembly): Use htab_up.
|
|
|
|
|
* compile/compile-c-symbols.c (generate_c_for_variable_locations):
|
|
|
|
|
Use htab_up.
|
|
|
|
|
* gnu-v3-abi.c (gnuv3_print_vtable): Use htab_up.
|
|
|
|
|
* dwarf2read.c (dw2_expand_symtabs_matching)
|
|
|
|
|
(dw2_map_symbol_filenames, dwarf_decode_macros)
|
|
|
|
|
(write_psymtabs_to_index): Use htab_up.
|
|
|
|
|
* dwarf2loc.c (func_verify_no_selftailcall)
|
|
|
|
|
(call_site_find_chain_1, func_verify_no_selftailcall)
|
|
|
|
|
(chain_candidate, call_site_find_chain_1): Use std::unordered_set,
|
|
|
|
|
std::vector, gdb::unique_xmalloc_ptr.
|
|
|
|
|
(call_sitep): Remove typedef.
|
|
|
|
|
(dwarf2_locexpr_baton_eval): Remove unused variable.
|
|
|
|
|
|
2016-11-20 19:16:41 +01:00
|
|
|
|
2017-01-10 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* python/python-internal.h (make_cleanup_py_decref)
|
|
|
|
|
(make_cleanup_py_xdecref): Don't declare.
|
|
|
|
|
* python/py-utils.c (py_decref, make_cleanup_py_decref)
|
|
|
|
|
(py_xdecref, make_cleanup_py_xdecref): Remove.
|
|
|
|
|
|
2016-11-20 19:04:40 +01:00
|
|
|
|
2017-01-10 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* python/py-framefilter.c (py_mi_print_variables): Use gdbpy_ref.
|
|
|
|
|
(py_print_locals, enumerate_locals, py_print_args): Use gdbpy_ref.
|
|
|
|
|
|
2016-11-20 18:57:28 +01:00
|
|
|
|
2017-01-10 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* python/py-framefilter.c (enumerate_args): Use gdbpy_ref.
|
|
|
|
|
|
2016-11-20 18:52:25 +01:00
|
|
|
|
2017-01-10 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* python/py-utils.c (unicode_to_encoded_string)
|
|
|
|
|
(python_string_to_target_string)
|
|
|
|
|
(python_string_to_target_python_string)
|
|
|
|
|
(python_string_to_host_string, gdbpy_obj_to_string)
|
|
|
|
|
(get_addr_from_python): Use gdbpy_ref.
|
|
|
|
|
|
2016-11-20 18:48:51 +01:00
|
|
|
|
2017-01-10 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* python/py-unwind.c (pyuw_object_attribute_to_pointer): Use
|
|
|
|
|
gdbpy_ref.
|
|
|
|
|
|
2016-11-20 18:46:23 +01:00
|
|
|
|
2017-01-10 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* python/python.c (eval_python_command, gdbpy_decode_line)
|
|
|
|
|
(gdbpy_run_events, gdbpy_start_type_printers)
|
|
|
|
|
(gdbpy_apply_type_printers): Use gdbpy_ref.
|
|
|
|
|
|
2016-11-20 18:34:34 +01:00
|
|
|
|
2017-01-10 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* python/py-param.c (get_doc_string, compute_enum_values): Use
|
|
|
|
|
gdbpy_ref.
|
|
|
|
|
|
2016-11-20 18:31:17 +01:00
|
|
|
|
2017-01-10 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* python/py-inferior.c (find_thread_object, build_inferior_list):
|
|
|
|
|
Use gdbpy_ref.
|
|
|
|
|
|
2016-11-20 18:27:59 +01:00
|
|
|
|
2017-01-10 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* python/py-framefilter.c (py_print_frame): Use gdbpy_ref.
|
|
|
|
|
|
2016-11-20 18:25:29 +01:00
|
|
|
|
2017-01-10 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* python/py-finishbreakpoint.c (bpfinishpy_out_of_scope): Use
|
|
|
|
|
gdbpy_ref.
|
|
|
|
|
|
2016-11-20 18:23:08 +01:00
|
|
|
|
2017-01-10 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* python/py-cmd.c (cmdpy_completer_helper): Use gdbpy_ref. Remove
|
|
|
|
|
extra incref.
|
|
|
|
|
(cmdpy_completer_handle_brkchars, cmdpy_completer, cmdpy_init):
|
|
|
|
|
Use gdbpy_ref.
|
|
|
|
|
|
2016-11-20 18:13:31 +01:00
|
|
|
|
2017-01-10 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* python/py-breakpoint.c (gdbpy_breakpoint_cond_says_stop): Use
|
|
|
|
|
gdbpy_ref.
|
|
|
|
|
|
2016-11-20 18:10:58 +01:00
|
|
|
|
2017-01-10 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* python/py-arch.c (archpy_disassemble): Use gdbpy_ref. Don't
|
|
|
|
|
decref results of PyArg_ParseTupleAndKeywords.
|
|
|
|
|
|
2016-11-12 20:08:17 +01:00
|
|
|
|
2017-01-10 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* python/python.c (python_run_simple_file): Use
|
|
|
|
|
unique_xmalloc_ptr, gdbpy_ref.
|
|
|
|
|
|
2016-11-12 20:07:16 +01:00
|
|
|
|
2017-01-10 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* python/py-prettyprint.c (print_stack_unless_memory_error)
|
|
|
|
|
(print_string_repr, print_children): Use gdbpy_ref.
|
|
|
|
|
(dummy_python_frame): New class.
|
|
|
|
|
(dummy_python_frame::dummy_python_frame): Rename from
|
|
|
|
|
push_dummy_python_frame.
|
|
|
|
|
(py_restore_tstate): Remove.
|
|
|
|
|
|
2016-11-12 19:57:45 +01:00
|
|
|
|
2017-01-10 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* python/py-framefilter.c (py_print_frame): Use gdbpy_ref.
|
|
|
|
|
|
2016-11-12 19:53:50 +01:00
|
|
|
|
2017-01-10 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* python/python.c (ensure_python_env, restore_python_env):
|
|
|
|
|
Remove.
|
|
|
|
|
* python/python-internal.h (ensure_python_env): Don't declare.
|
|
|
|
|
* varobj.h (varobj_ensure_python_env): Don't declare.
|
|
|
|
|
* varobj.c (varobj_ensure_python_env): Remove.
|
|
|
|
|
|
2016-11-12 19:51:59 +01:00
|
|
|
|
2017-01-10 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* varobj.c (varobj_value_get_print_value): Use
|
|
|
|
|
gdbpy_enter_varobj.
|
|
|
|
|
|
2016-11-12 19:48:48 +01:00
|
|
|
|
2017-01-10 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* python/py-prettyprint.c (print_string_repr, print_children):
|
|
|
|
|
Update.
|
|
|
|
|
* python/py-lazy-string.c (gdbpy_extract_lazy_string): Change type
|
|
|
|
|
of "encoding".
|
|
|
|
|
* varobj.c (varobj_value_get_print_value): Update.
|
|
|
|
|
* python/python-internal.h (gdbpy_extract_lazy_string): Update.
|
|
|
|
|
|
2016-11-12 19:37:52 +01:00
|
|
|
|
2017-01-10 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* varobj.c (varobj_get_display_hint)
|
|
|
|
|
(dynamic_varobj_has_child_method, install_new_value_visualizer)
|
|
|
|
|
(varobj_set_visualizer, free_variable): Use
|
|
|
|
|
gdbpy_enter_varobj.
|
|
|
|
|
|
2016-11-12 19:32:05 +01:00
|
|
|
|
2017-01-10 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* python/python.c (python_command): Use gdbpy_enter, gdbpy_ref.
|
|
|
|
|
(do_finish_initialization): New function. Use gdbpy_ref.
|
|
|
|
|
(gdbpy_finish_initialization): Use gdbpy_enter. Call
|
|
|
|
|
do_finish_initialization.
|
|
|
|
|
|
2016-11-12 19:23:36 +01:00
|
|
|
|
2017-01-10 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* python/py-param.c (get_set_value, get_show_value): Use
|
|
|
|
|
gdbpy_enter, gdbpy_ref.
|
|
|
|
|
|
2016-11-12 19:15:46 +01:00
|
|
|
|
2017-01-10 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* python/py-function.c (fnpy_call): Use gdbpy_enter, gdbpy_ref.
|
|
|
|
|
|
2016-11-12 19:12:41 +01:00
|
|
|
|
2017-01-10 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* python/py-cmd.c (cmdpy_function): Use gdbpy_enter, gdbpy_ref.
|
|
|
|
|
|
2016-11-09 04:14:32 +01:00
|
|
|
|
2017-01-10 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* python/py-varobj.c (py_varobj_iter_dtor, py_varobj_iter_next):
|
|
|
|
|
Use gdbpy_enter_varobj.
|
|
|
|
|
|
2016-11-09 00:18:24 +01:00
|
|
|
|
2017-01-10 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* varobj.c (gdbpy_enter_varobj): New constructor.
|
|
|
|
|
* python/python-internal.h (gdbpy_enter_varobj): New class.
|
|
|
|
|
* python/py-varobj.c (py_varobj_get_iterator): Use
|
|
|
|
|
gdbpy_enter_varobj.
|
|
|
|
|
|
2016-11-08 23:47:39 +01:00
|
|
|
|
2017-01-10 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* python/py-xmethods.c (gdbpy_get_xmethod_result_type): Use
|
|
|
|
|
gdbpy_enter, gdbpy_ref, unique_xmalloc_ptr.
|
|
|
|
|
(gdbpy_invoke_xmethod): Use gdbpy_ref, gdbpy_enter.
|
|
|
|
|
(gdbpy_get_xmethod_arg_types): Use gdbpy_ref,
|
|
|
|
|
unique_xmalloc_ptr.
|
|
|
|
|
(gdbpy_get_xmethod_arg_types): Use gdbpy_ref, gdbpy_enter.
|
|
|
|
|
|
2016-11-08 23:35:24 +01:00
|
|
|
|
2017-01-10 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* python/py-xmethods.c (invoke_match_method): Use
|
|
|
|
|
gdbpy_ref.
|
|
|
|
|
|
2016-11-08 23:34:55 +01:00
|
|
|
|
2017-01-10 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* python/py-xmethods.c (gdbpy_get_matching_xmethod_workers): use
|
|
|
|
|
gdbpy_enter, gdbpy_ref.
|
|
|
|
|
|
2016-11-08 23:15:01 +01:00
|
|
|
|
2017-01-10 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* python/python.c (python_interactive_command): Use gdbpy_enter.
|
|
|
|
|
|
2016-11-08 23:13:49 +01:00
|
|
|
|
2017-01-10 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* python/python.c (gdbpy_before_prompt_hook): Use gdbpy_enter,
|
|
|
|
|
gdbpy_ref.
|
|
|
|
|
|
2016-11-08 19:38:22 +01:00
|
|
|
|
2017-01-10 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* python/py-prettyprint.c (gdbpy_apply_val_pretty_printer): Use
|
|
|
|
|
gdbpy_enter, gdbpy_ref, unique_xmalloc_ptr.
|
|
|
|
|
|
2016-11-08 19:11:55 +01:00
|
|
|
|
2017-01-10 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* utils.h (htab_deleter): New struct.
|
|
|
|
|
(htab_up): New typedef.
|
|
|
|
|
* python/py-framefilter.c (gdbpy_apply_frame_filter): Use
|
|
|
|
|
gdbpy_enter, gdbpy_ref, htab_up.
|
|
|
|
|
|
2016-11-08 04:41:50 +01:00
|
|
|
|
2017-01-10 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* python/py-unwind.c (pending_frame_invalidate): Remove.
|
|
|
|
|
(pyuw_sniffer): Use gdbpy_enter and gdbpy_ref.
|
|
|
|
|
|
2016-11-08 00:13:40 +01:00
|
|
|
|
2017-01-10 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* python/py-xmethods.c (gdbpy_free_xmethod_worker_data)
|
|
|
|
|
(gdbpy_clone_xmethod_worker_data): Use gdbpy_enter.
|
|
|
|
|
|
2016-11-08 00:12:17 +01:00
|
|
|
|
2017-01-10 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* python/py-type.c (save_objfile_types): Use gdbpy_enter.
|
|
|
|
|
|
2016-11-08 00:11:37 +01:00
|
|
|
|
2017-01-10 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* python/python.c (gdbpy_eval_from_control_command)
|
|
|
|
|
(gdbpy_source_script, gdbpy_run_events)
|
|
|
|
|
(gdbpy_source_objfile_script, gdbpy_execute_objfile_script)
|
|
|
|
|
(gdbpy_free_type_printers, gdbpy_finish_initialization): Use
|
|
|
|
|
gdbpy_enter.
|
|
|
|
|
|
2016-11-08 00:08:36 +01:00
|
|
|
|
2017-01-10 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* python/py-progspace.c (py_free_pspace): Use gdbpy_enter.
|
|
|
|
|
|
2016-11-08 00:07:53 +01:00
|
|
|
|
2017-01-10 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* python/py-objfile.c (py_free_objfile): Use gdbpy_enter.
|
|
|
|
|
|
2016-11-08 00:06:26 +01:00
|
|
|
|
2017-01-10 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* python/py-inferior.c (python_on_normal_stop, python_on_resume)
|
|
|
|
|
(python_on_inferior_call_pre, python_on_inferior_call_post)
|
|
|
|
|
(python_on_memory_change, python_on_register_change)
|
|
|
|
|
(python_inferior_exit, python_new_objfile, add_thread_object)
|
|
|
|
|
(delete_thread_object, py_free_inferior): Use gdbpy_enter.
|
|
|
|
|
|
2016-11-08 00:03:10 +01:00
|
|
|
|
2017-01-10 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* python/py-finishbreakpoint.c (bpfinishpy_handle_stop)
|
|
|
|
|
(bpfinishpy_handle_exit): Use gdbpy_enter.
|
|
|
|
|
|
2016-11-08 00:02:16 +01:00
|
|
|
|
2017-01-10 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* python/py-cmd.c (cmdpy_destroyer)
|
|
|
|
|
(cmdpy_completer_handle_brkchars, cmdpy_completer): Use
|
|
|
|
|
gdbpy_enter.
|
|
|
|
|
|
2016-11-07 23:59:41 +01:00
|
|
|
|
2017-01-10 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* python/py-breakpoint.c (gdbpy_breakpoint_cond_says_stop): Use
|
|
|
|
|
gdbpy_enter.
|
|
|
|
|
(gdbpy_breakpoint_has_cond): Likewise.
|
|
|
|
|
|
2016-11-07 23:56:57 +01:00
|
|
|
|
2017-01-10 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* python/python.c (gdbpy_enter): New constructor.
|
|
|
|
|
(~gdbpy_enter): New destructor.
|
|
|
|
|
(restore_python_env, ensure_python_env): Rewrite.
|
|
|
|
|
* python/python-internal.h (gdbpy_enter): New class.
|
|
|
|
|
|
2016-11-07 05:51:20 +01:00
|
|
|
|
2017-01-10 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* python/py-symbol.c (gdbpy_lookup_symbol): Use gdbpy_ref.
|
|
|
|
|
|
2016-11-07 05:50:36 +01:00
|
|
|
|
2017-01-10 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* python/py-value.c (value_has_field, get_field_flag)
|
|
|
|
|
(get_field_type, valpy_getitem, convert_value_from_python): Use
|
|
|
|
|
gdbpy_ref.
|
|
|
|
|
|
2016-11-07 05:49:34 +01:00
|
|
|
|
2017-01-10 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* python/python.c (gdbpy_progspaces, gdbpy_objfiles): Use
|
|
|
|
|
gdbpy_ref.
|
|
|
|
|
|
2016-11-07 05:37:01 +01:00
|
|
|
|
2017-01-10 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* python/py-prettyprint.c (search_pp_list)
|
|
|
|
|
(find_pretty_printer_from_objfiles)
|
|
|
|
|
(find_pretty_printer_from_progspace)
|
|
|
|
|
(find_pretty_printer_from_gdb, find_pretty_printer)
|
|
|
|
|
(gdbpy_get_display_hint, gdbpy_get_varobj_pretty_printer): Use
|
|
|
|
|
gdbpy_ref.
|
|
|
|
|
|
2016-11-07 05:29:12 +01:00
|
|
|
|
2017-01-10 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* python/py-param.c (call_doc_function): Use gdbpy_ref.
|
|
|
|
|
|
2016-11-07 05:25:34 +01:00
|
|
|
|
2017-01-10 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* python/py-linetable.c (build_line_table_tuple_from_pcs)
|
|
|
|
|
(ltpy_get_all_source_lines): Use gdbpy_ref.
|
|
|
|
|
|
2016-11-07 05:25:31 +01:00
|
|
|
|
2017-01-10 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* python/py-framefilter.c (extract_sym, extract_value)
|
|
|
|
|
(get_py_iter_from_func, bootstrap_python_frame_filters): Use
|
|
|
|
|
gdbpy_ref.
|
|
|
|
|
|
2016-11-07 05:25:22 +01:00
|
|
|
|
2017-01-10 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* python/py-breakpoint.c (gdbpy_breakpoints): Use gdbpy_ref.
|
|
|
|
|
|
2016-11-07 05:23:31 +01:00
|
|
|
|
2017-01-10 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* python/py-inferior.c (gdbpy_inferiors): Use gdbpy_ref.
|
|
|
|
|
|
2016-11-07 05:21:14 +01:00
|
|
|
|
2017-01-10 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* python/py-function.c (convert_values_to_python, fnpy_init): Use
|
|
|
|
|
gdbpy_ref.
|
|
|
|
|
|
2016-11-07 05:10:18 +01:00
|
|
|
|
2017-01-10 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* python/py-cmd.c (gdbpy_string_to_argv): Use gdbpy_ref.
|
|
|
|
|
|
2016-11-07 04:59:51 +01:00
|
|
|
|
2017-01-10 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* python/py-type.c (convert_field, make_fielditem, typy_fields)
|
|
|
|
|
(typy_range): Use gdbpy_ref.
|
|
|
|
|
|
2016-11-07 04:42:32 +01:00
|
|
|
|
2017-01-10 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* python/py-threadevent.c (create_thread_event_object): Use
|
|
|
|
|
gdbpy_ref.
|
|
|
|
|
* python/py-stopevent.c (create_stop_event_object): Simplify.
|
|
|
|
|
(emit_stop_event): Use gdbpy_ref.
|
|
|
|
|
* python/py-signalevent.c (create_signal_event_object): Use
|
|
|
|
|
gdbpy_ref.
|
|
|
|
|
* python/py-newobjfileevent.c (create_new_objfile_event_object)
|
|
|
|
|
(emit_new_objfile_event, create_clear_objfiles_event_object)
|
|
|
|
|
(emit_clear_objfiles_event): Use gdbpy_ref.
|
|
|
|
|
* python/py-infevents.c (create_inferior_call_event_object)
|
|
|
|
|
(create_register_changed_event_object)
|
|
|
|
|
(create_memory_changed_event_object, emit_inferior_call_event)
|
|
|
|
|
(emit_memory_changed_event, emit_register_changed_event): Use
|
|
|
|
|
gdbpy_ref.
|
|
|
|
|
* python/py-exitedevent.c (create_exited_event_object)
|
|
|
|
|
(emit_exited_event): Use gdbpy_ref.
|
|
|
|
|
* python/py-event.h (evpy_emit_event): Remove
|
|
|
|
|
CPYCHECKER_STEALS_REFERENCE_TO_ARG annotation.
|
|
|
|
|
* python/py-event.c (evpy_emit_event): Use gdbpy_ref.
|
|
|
|
|
* python/py-continueevent.c (emit_continue_event): Use
|
|
|
|
|
gdbpy_ref.
|
|
|
|
|
* python/py-breakpoint.c (gdbpy_breakpoint_created)
|
|
|
|
|
(gdbpy_breakpoint_deleted, gdbpy_breakpoint_modified): Use
|
|
|
|
|
gdbpy_ref.
|
|
|
|
|
* python/py-bpevent.c (create_breakpoint_event_object): Use
|
|
|
|
|
gdbpy_ref.
|
|
|
|
|
|
2016-11-05 20:43:23 +01:00
|
|
|
|
2017-01-10 Tom Tromey <tom@tromey.com>
|
|
|
|
|
|
|
|
|
|
* python/py-ref.h: New file.
|
|
|
|
|
|
2017-01-10 17:30:47 +01:00
|
|
|
|
2017-01-10 Simon Marchi <simon.marchi@ericsson.com>
|
|
|
|
|
|
|
|
|
|
* cli-out.c (cli_ui_out::do_redirect): Change return type to
|
|
|
|
|
void.
|
|
|
|
|
* cli-out.h (cli_ui_out::do_redirect): Likewise.
|
|
|
|
|
* mi/mi-out.c (mi_ui_out::do_redirect): Likewise.
|
|
|
|
|
* mi/mi-out.h (mi_ui_out::do_redirect): Likewise.
|
|
|
|
|
* ui-out.c (ui_out::redirect): Likewise.
|
|
|
|
|
* ui-out.h (ui_out::redirect, ui_out::do_redirect): Likewise.
|
|
|
|
|
* cli/cli-logging.c (set_logging_redirect): Update call site of
|
|
|
|
|
ui_out::redirect.
|
|
|
|
|
(handle_redirections): Likewise.
|
|
|
|
|
* scm-ports.c (ioscm_with_output_to_port_worker): Likewise.
|
|
|
|
|
* top.c (execute_command_to_string): Likewise.
|
|
|
|
|
* utils.c (do_ui_out_redirect_pop): Likewise.
|
|
|
|
|
|
2017-01-10 16:16:26 +01:00
|
|
|
|
2017-01-10 Simon Marchi <simon.marchi@ericsson.com>
|
|
|
|
|
|
|
|
|
|
* stack.c (_initialize_stack): Update "frame" command help message.
|
|
|
|
|
|
2017-01-08 11:17:54 +01:00
|
|
|
|
2017-01-08 Iain Buclaw <ibuclaw@gdcproject.org>
|
|
|
|
|
|
|
|
|
|
* d-exp.y (CastExpression): Emit UNOP_CAST_TYPE.
|
|
|
|
|
|
2017-01-06 15:33:01 +01:00
|
|
|
|
2017-01-06 Yao Qi <yao.qi@linaro.org>
|
|
|
|
|
|
|
|
|
|
* x86-linux-nat.h: Include gdb_proc_service.h.
|
|
|
|
|
|
2017-01-06 15:33:01 +01:00
|
|
|
|
2017-01-06 Yao Qi <yao.qi@linaro.org>
|
|
|
|
|
|
|
|
|
|
* ser-base.h: Include serial.h.
|
|
|
|
|
|
2017-01-06 15:33:01 +01:00
|
|
|
|
2017-01-06 Yao Qi <yao.qi@linaro.org>
|
|
|
|
|
|
|
|
|
|
* ppc-linux-tdep.h: Include ppc-tdep.h.
|
|
|
|
|
|
2017-01-06 15:33:01 +01:00
|
|
|
|
2017-01-06 Yao Qi <yao.qi@linaro.org>
|
|
|
|
|
|
|
|
|
|
* nat/amd64-linux-siginfo.h: Include signal.h.
|
|
|
|
|
|
2017-01-06 15:33:01 +01:00
|
|
|
|
2017-01-06 Yao Qi <yao.qi@linaro.org>
|
|
|
|
|
|
|
|
|
|
* nat/aarch64-linux-hw-point.h: Include break-common.h.
|
|
|
|
|
|
2017-01-06 15:33:00 +01:00
|
|
|
|
2017-01-06 Yao Qi <yao.qi@linaro.org>
|
|
|
|
|
|
|
|
|
|
* mi/mi-parse.h: Include mi-cmds.h.
|
|
|
|
|
|
2017-01-06 15:26:45 +01:00
|
|
|
|
2017-01-06 Yao Qi <yao.qi@linaro.org>
|
|
|
|
|
|
|
|
|
|
* inf-loop.c: Don't include "target.h".
|
|
|
|
|
* inf-loop.h: Include it here.
|
|
|
|
|
|
2017-01-06 15:26:45 +01:00
|
|
|
|
2017-01-06 Yao Qi <yao.qi@linaro.org>
|
|
|
|
|
|
|
|
|
|
* dfp.h: Include "dboulest.h" and "expression.h".
|
|
|
|
|
|
2017-01-06 15:26:45 +01:00
|
|
|
|
2017-01-06 Yao Qi <yao.qi@linaro.org>
|
|
|
|
|
|
|
|
|
|
* ax-gdb.h: Include "ax.h".
|
|
|
|
|
|
2017-01-06 15:03:02 +01:00
|
|
|
|
2017-01-06 Yao Qi <yao.qi@linaro.org>
|
|
|
|
|
|
|
|
|
|
* Makefile.in (HFILES_NO_SRCDIR): Replace gdb_ptrace.h
|
|
|
|
|
with nat/gdb_ptrace.h.
|
|
|
|
|
|
2017-01-05 15:44:20 +01:00
|
|
|
|
2017-01-05 Yao Qi <yao.qi@linaro.org>
|
|
|
|
|
|
|
|
|
|
* mips-fbsd-tdep.c (mips_fbsd_sigframe_init): Move && to
|
|
|
|
|
new line.
|
|
|
|
|
(mips64_fbsd_sigframe_init): Likewise.
|
|
|
|
|
|
2017-01-04 21:15:22 +01:00
|
|
|
|
2017-01-04 John Baldwin <jhb@FreeBSD.org>
|
|
|
|
|
|
|
|
|
|
* mips-fbsd-tdep.c (_initialize_mips_fbsd_tdep): Use
|
|
|
|
|
GDB_OSABI_FREEBSD instead of GDB_OSABI_FREEBSD_ELF.
|
|
|
|
|
|
2017-01-04 18:41:58 +01:00
|
|
|
|
2017-01-04 John Baldwin <jhb@FreeBSD.org>
|
|
|
|
|
|
|
|
|
|
* Makefile.in (ALLDEPFILES): Add mips-fbsd-nat.c.
|
|
|
|
|
* NEWS: Mention new FreeBSD/mips native configuration.
|
|
|
|
|
* config/mips/fbsd.mh: New file.
|
|
|
|
|
* configure.host: Add mips*-*-freebsd*.
|
|
|
|
|
* mips-fbsd-nat.c: New file.
|
|
|
|
|
|
2017-01-04 18:41:58 +01:00
|
|
|
|
2017-01-04 John Baldwin <jhb@FreeBSD.org>
|
|
|
|
|
|
|
|
|
|
* Makefile.in (ALL_TARGET_OBS): Add mips-fbsd-tdep.o.
|
|
|
|
|
(ALLDEPFILES): Add mips-fbsd-tdep.c.
|
|
|
|
|
* NEWS: Mention new FreeBSD/mips target.
|
|
|
|
|
* configure.tgt: Add mips*-*-freebsd*.
|
|
|
|
|
* mips-fbsd-tdep.c: New file.
|
|
|
|
|
* mips-fbsd-tdep.h: New file.
|
|
|
|
|
|
2017-01-04 10:32:46 +01:00
|
|
|
|
2017-01-04 Yao Qi <yao.qi@linaro.org>
|
|
|
|
|
|
|
|
|
|
* dwarf2loc.c (write_pieced_value): Don't use VALUE_FRAME_ID (to),
|
|
|
|
|
use c->frame_id when the piece location is DWARF_VALUE_REGISTER.
|
|
|
|
|
|
2017-01-01 07:50:51 +01:00
|
|
|
|
2017-01-01 Joel Brobecker <brobecker@adacore.com>
|
|
|
|
|
|
|
|
|
|
Update copyright year range in all GDB files.
|
|
|
|
|
|
2017-01-01 07:39:54 +01:00
|
|
|
|
2017-01-01 Joel Brobecker <brobecker@adacore.com>
|
2016-12-23 00:50:10 +01:00
|
|
|
|
|
2017-01-01 07:39:54 +01:00
|
|
|
|
* config/djgpp/fnchange.lst: Add entry for gdb/ChangeLog-2016.
|
2016-12-23 00:50:10 +01:00
|
|
|
|
|
2017-01-01 07:39:54 +01:00
|
|
|
|
For older changes see ChangeLog-2016.
|
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:
|