Skip to content
Snippets Groups Projects
  1. Jan 01, 2023
  2. Jul 28, 2022
    • Tom Tromey's avatar
      Rewrite registry.h · 08b8a139
      Tom Tromey authored
      This rewrites registry.h, removing all the macros and replacing it
      with relatively ordinary template classes.  The result is less code
      than the previous setup.  It replaces large macros with a relatively
      straightforward C++ class, and now manages its own cleanup.
      
      The existing type-safe "key" class is replaced with the equivalent
      template class.  This approach ended up requiring relatively few
      changes to the users of the registry code in gdb -- code using the key
      system just required a small change to the key's declaration.
      
      All existing users of the old C-like API are now converted to use the
      type-safe API.  This mostly involved changing explicit deletion
      functions to be an operator() in a deleter class.
      
      The old "save/free" two-phase process is removed, and replaced with a
      single "free" phase.  No existing code used both phases.
      
      The old "free" callbacks took a parameter for the enclosing container
      object.  However, this wasn't truly needed and is removed here as
      well.
      
      
      08b8a139
  3. Apr 28, 2022
  4. Apr 07, 2022
    • Simon Marchi's avatar
      gdb: remove symtab::objfile · 3c86fae3
      Simon Marchi authored
      Same idea as previous patch, but for symtab::objfile.  I find
      it clearer without this wrapper, as it shows that the objfile is
      common to all symtabs of a given compunit.  Otherwise, you could think
      that each symtab (of a given compunit) can have a specific objfile.
      
      Change-Id: Ifc0dbc7ec31a06eefa2787c921196949d5a6fcc6
      3c86fae3
    • Simon Marchi's avatar
      gdb: remove symtab::blockvector · 44281e6c
      Simon Marchi authored
      symtab::blockvector is a wrapper around compunit_symtab::blockvector.
      It is a bit misleadnig, as it gives the impression that a symtab has a
      blockvector.  Remove it, change all users to fetch the blockvector
      through the compunit instead.
      
      Change-Id: Ibd062cd7926112a60d52899dff9224591cbdeebf
      44281e6c
  5. Mar 23, 2022
    • Simon Marchi's avatar
      gdb/python: remove Python 2/3 compatibility macros · 5aee4587
      Simon Marchi authored
      New in this version:
      
       - Rebase on master, fix a few more issues that appeared.
      
      python-internal.h contains a number of macros that helped make the code
      work with both Python 2 and 3.  Remove them and adjust the code to use
      the Python 3 functions.
      
      Change-Id: I99a3d80067fb2d65de4f69f6473ba6ffd16efb2d
      5aee4587
  6. Feb 06, 2022
    • Simon Marchi's avatar
      gdb: remove SYMTAB_OBJFILE macro · 65209971
      Simon Marchi authored
      Remove the macro, replace with an equivalent method.
      
      Change-Id: I8f9ecd290ad28502e53c1ceca5006ba78bf042eb
      65209971
    • Simon Marchi's avatar
      gdb: remove SYMTAB_BLOCKVECTOR macro · 012cfab9
      Simon Marchi authored
      Remove the macro, replace with an equivalent method.
      
      Change-Id: Id6fe2a79c04bcd6c69ccaefb7a69bc06a476288c
      012cfab9
    • Simon Marchi's avatar
      gdb: remove SYMTAB_COMPUNIT macro, add getter/setter · c6159652
      Simon Marchi authored
      Add a getter and a setter for a symtab's compunit_symtab.  Remove the
      corresponding macro and adjust all callers.
      
      For brevity, I chose the name "compunit" instead of "compunit_symtab"
      the the field, getter and setter names.  Since we are already in symtab
      context, the _symtab suffix seems redundant.
      
      Change-Id: I4b9b731c96e3594f7733e75af1e3d01bc0e4fe92
      c6159652
    • Simon Marchi's avatar
      gdb: remove COMPUNIT_PRODUCER macro, add getter/setter · ab5f850e
      Simon Marchi authored
      Add a getter and a setter for a compunit_symtab's producer.  Remove the
      corresponding macro and adjust all callers.
      
      Change-Id: Ia1d6d8a0e247a08a21af23819d71e49b37d8931b
      ab5f850e
  7. Jan 01, 2022
  8. Apr 28, 2021
    • Andrew Burgess's avatar
      gdb: delay python initialisation until gdbpy_finish_initialization · 8e3685bf
      Andrew Burgess authored
      Delay Python initialisation until gdbpy_finish_initialization.
      
      This is mostly about splitting the existing gdbpy_initialize_*
      functions in two, all the calls to register_objfile_data_with_cleanup,
      gdbarch_data_register_post_init, etc are moved into new _initialize_*
      functions, but everything else is left in the gdbpy_initialize_*
      functions.
      
      Then the call to do_start_initialization (in python/python.c) is moved
      from the _initialize_python function into gdbpy_finish_initialization.
      
      There should be no user visible changes after this commit.
      
      gdb/ChangeLog:
      
      	* python/py-arch.c (_initialize_py_arch): New function.
      	(gdbpy_initialize_arch): Move code to _initialize_py_arch.
      	* python/py-block.c (_initialize_py_block): New function.
      	(gdbpy_initialize_blocks): Move code to _initialize_py_block.
      	* python/py-inferior.c (_initialize_py_inferior): New function.
      	(gdbpy_initialize_inferior): Move code to _initialize_py_inferior.
      	* python/py-objfile.c (_initialize_py_objfile): New function.
      	(gdbpy_initialize_objfile): Move code to _initialize_py_objfile.
      	* python/py-progspace.c (_initialize_py_progspace): New function.
      	(gdbpy_initialize_pspace): Move code to _initialize_py_progspace.
      	* python/py-registers.c (_initialize_py_registers): New function.
      	(gdbpy_initialize_registers): Move code to
      	_initialize_py_registers.
      	* python/py-symbol.c (_initialize_py_symbol): New function.
      	(gdbpy_initialize_symbols): Move code to _initialize_py_symbol.
      	* python/py-symtab.c (_initialize_py_symtab): New function.
      	(gdbpy_initialize_symtabs): Move code to _initialize_py_symtab.
      	* python/py-type.c (_initialize_py_type): New function.
      	(gdbpy_initialize_types): Move code to _initialize_py_type.
      	* python/py-unwind.c (_initialize_py_unwind): New function.
      	(gdbpy_initialize_unwind): Move code to _initialize_py_unwind.
      	* python/python.c (_initialize_python): Move call to
      	do_start_initialization to gdbpy_finish_initialization.
      	(gdbpy_finish_initialization): Add call to
      	do_start_initialization.
      8e3685bf
  9. Jan 01, 2021
  10. Dec 04, 2020
    • Tom Tromey's avatar
      Remove redundant typedefs · f99b5177
      Tom Tromey authored
      I was inspired by this patch of Simon's:
      
      https://sourceware.org/pipermail/gdb-patches/2020-November/173522.html
      
      ... to remove other typedefs that are no longer necessary now that gdb
      uses C++.
      
      I didn't remove absolutely every one -- I didn't touch the tdep files.
      However, I removed many of them.  In some cases, I removed an existing
      different struct tag.
      
      2020-12-04  Tom Tromey  <tromey@adacore.com>
      
      	* linespec.c (struct linespec_token): Rename; remove typedef.
      	* guile/scm-block.c (struct block_smob): Remove typedef.
      	(struct block_syms_progress_smob): Likewise.
      	* guile/scm-symbol.c (struct symbol_smob): Remove typedef.
      	* guile/scm-symtab.c (symtab_smob): Remove typedef.
      	(struct sal_smob): Remove typedef.
      	* guile/scm-param.c (struct param_smob): Remove typedef.
      	* guile/scm-progspace.c (struct pspace_smob): Rename.
      	* guile/scm-objfile.c (struct objfile_smob): Rename.
      	* guile/scm-iterator.c (struct iterator_smob): Rename.
      	* guile/scm-frame.c (struct frame_smob): Rename.
      	* guile/scm-arch.c (struct arch_smob): Rename.
      	* guile/scm-type.c (struct field_smob): Remove typedef.
      	(struct type_smob): Rename.
      	* guile/scm-cmd.c (struct command_smob): Remove typedef.
      	* guile/scm-ports.c (struct ioscm_memory_port): Remove typedef.
      	* guile/scm-value.c (struct value_smob): Remove typedef.
      	* guile/scm-lazy-string.c (lazy_string_smob): Remove typedef.
      	* guile/guile-internal.h (struct scheme_variable)
      	(struct scheme_function, struct scheme_integer_constant)
      	(struct gdb_smob, struct chained_gdb_smob)
      	(struct eqable_gdb_smob, arch_smob, frame_smob, iterator_smob)
      	(objfile_smob, pspace_smob, type_smob): Remove typedef.
      	* guile/scm-pretty-print.c (pretty_printer_smob): Remove typedef.
      	(struct pretty_printer_worker_smob): Remove typedef.
      	* guile/scm-exception.c (struct exception_smob): Remove typedef.
      	* python/py-block.c (struct block_object): Remove typedef.
      	(block_syms_iterator_object): Update.
      	(set_block): Update.
      	(block_syms_iterator_object): Remove typedef.
      	* python/py-inferior.c (struct membuf_object): Remove typedef.
      	* python/py-symtab.c (struct symtab_object): Remove typedef.
      	(set_symtab): Update.
      	(sal_object): Remove typedef.
      	(set_sal): Update.
      	* python/py-frame.c (frame_object): Remove typedef.
      	* python/py-record-btrace.c (struct btpy_list_object): Remove
      	typedef.
      	* python/py-arch.c (struct arch_object): Remove typedef.
      	* python/py-linetable.c (struct linetable_entry_object)
      	(linetable_object, struct ltpy_iterator_object): Remove typedef.
      	* python/py-events.h (eventregistry_object): Remove typedef.
      	(struct events_object): Remove typedef.
      	* python/python-internal.h (gdbpy_breakpoint_object): Remove
      	typedef.
      	(thread_object): Remove typedef.
      	* python/py-progspace.c (pspace_object): Remove typedef.
      	* python/py-value.c (struct value_object): Remove typedef.
      	* python/py-record.h (recpy_record_object): Remove typedef.
      	(struct recpy_element_object): Remove typedef.
      	* python/py-lazy-string.c (lazy_string_object): Remove typedef.
      	* python/py-objfile.c (objfile_object): Remove typedef.
      	* python/py-cmd.c (struct cmdpy_object): Remove typedef.
      	* python/py-type.c (type_object): Remove typedef.
      	(typy_iterator_object): Update.
      	(set_type): Update.
      	(field_object): Remove typedef.
      	(typy_iterator_object): Remove typedef.
      	* python/py-registers.c (register_descriptor_iterator_object):
      	Remove typedef.
      	(struct register_descriptor_object)
      	(struct reggroup_iterator_object, struct reggroup_object): Remove
      	typedef.
      	* python/py-record.c (recpy_gap_object): Remove typedef.
      	* python/py-symbol.c (symbol_object): Remove typedef.
      	(set_symbol): Update.
      	* python/py-event.h (event_object): Remove typedef.
      	* python/py-param.c (parmpy_object): Remove typedef.
      	* python/py-instruction.c (struct py_insn_obj): Remove typedef.
      	* python/py-unwind.c (struct pending_frame_object): Remove typedef.
      	(unwind_info_object, struct cached_frame_info): Likewise.
      f99b5177
  11. Sep 15, 2020
    • Tom Tromey's avatar
      Don't use PyInt_FromLong · 47f0e2ff
      Tom Tromey authored
      Avoid the use of PyInt_FromLong, preferring gdb_py_object_from_longest
      instead.  I found found another spot that was incorrectly handling
      errors (see gdbpy_create_ptid_object) while writing this patch; it is
      fixed here.
      
      gdb/ChangeLog
      2020-09-15  Tom Tromey  <tromey@adacore.com>
      
      	* python/python-internal.h (PyInt_FromLong): Remove define.
      	* python/py-value.c (convert_value_from_python): Use
      	gdb_py_object_from_longest.
      	* python/py-type.c (typy_get_code): Use
      	gdb_py_object_from_longest.
      	* python/py-symtab.c (salpy_get_line): Use
      	gdb_py_object_from_longest.
      	* python/py-symbol.c (sympy_get_addr_class, sympy_line): Use
      	gdb_py_object_from_longest.
      	* python/py-record.c (recpy_gap_reason_code): Use
      	gdb_py_object_from_longest.
      	* python/py-record-btrace.c (recpy_bt_insn_size)
      	(recpy_bt_func_level, btpy_list_count): Use
      	gdb_py_object_from_longest.
      	* python/py-infthread.c (gdbpy_create_ptid_object): Use
      	gdb_py_object_from_longest.  Fix error handling.
      	* python/py-framefilter.c (bootstrap_python_frame_filters): Use
      	gdb_py_object_from_longest.
      	* python/py-frame.c (frapy_type, frapy_unwind_stop_reason): Use
      	gdb_py_object_from_longest.
      	* python/py-breakpoint.c (bppy_get_type, bppy_get_number)
      	(bppy_get_thread, bppy_get_task, bppy_get_hit_count)
      	(bppy_get_ignore_count): Use gdb_py_object_from_longest.
      47f0e2ff
    • Tom Tromey's avatar
      Don't use gdb_py_long_from_ulongest · d1cab987
      Tom Tromey authored
      Remove the gdb_py_long_from_ulongest defines and change the Python
      layer to prefer gdb_py_object_from_ulongest.  While writing this I
      noticed that the error handling in archpy_disassemble was incorrect --
      it could call PyDict_SetItemString with a NULL value.  This patch also
      fixes this bug.
      
      gdb/ChangeLog
      2020-09-15  Tom Tromey  <tromey@adacore.com>
      
      	* python/python-internal.h (gdb_py_long_from_ulongest): Remove
      	defines.
      	* python/py-value.c (valpy_long): Use
      	gdb_py_object_from_ulongest.
      	* python/py-symtab.c (salpy_get_pc): Use
      	gdb_py_object_from_ulongest.
      	(salpy_get_last): Likewise.
      	* python/py-record-btrace.c (recpy_bt_insn_pc): Use
      	gdb_py_object_from_ulongest.
      	* python/py-lazy-string.c (stpy_get_address): Use
      	gdb_py_object_from_ulongest.
      	* python/py-frame.c (frapy_pc): Use gdb_py_object_from_ulongest.
      	* python/py-arch.c (archpy_disassemble): Use
      	gdb_py_object_from_ulongest and gdb_py_object_from_longest.  Fix
      	error handling.
      d1cab987
  12. Jan 01, 2020
  13. Nov 18, 2019
    • Philippe Waroquiers's avatar
      Fix a bunch of python leaks due to missing calls to tp_free in *_dealloc functions. · 2e953aca
      Philippe Waroquiers authored
      valgrind reports leaks in many python tests, such as:
      ==17162== VALGRIND_GDB_ERROR_BEGIN
      ==17162== 8,208 (5,472 direct, 2,736 indirect) bytes in 57 blocks are definitely lost in loss record 7,551 of 7,679
      ==17162==    at 0x4835753: malloc (vg_replace_malloc.c:307)
      ==17162==    by 0x6EAFD1: _PyObject_New (object.c:279)
      ==17162==    by 0x4720E6: blpy_iter(_object*) (py-block.c:92)
      ==17162==    by 0x698772: PyObject_GetIter (abstract.c:2577)
      ==17162==    by 0x2343BE: _PyEval_EvalFrameDefault (ceval.c:3159)
      ==17162==    by 0x22E9E2: function_code_fastcall (call.c:283)
      ==17162==    by 0x2340A8: _PyObject_Vectorcall (abstract.h:127)
      ==17162==    by 0x2340A8: call_function (ceval.c:4987)
      ==17162==    by 0x2340A8: _PyEval_EvalFrameDefault (ceval.c:3486)
      ==17162==    by 0x22E9E2: function_code_fastcall (call.c:283)
      ==17162==    by 0x82172B: _PyObject_Vectorcall (abstract.h:127)
      ==17162==    by 0x82172B: method_vectorcall (classobject.c:67)
      ==17162==    by 0x6AF474: _PyObject_Vectorcall (abstract.h:127)
      ==17162==    by 0x6AF474: _PyObject_CallNoArg (abstract.h:153)
      ==17162==    by 0x6AF474: _PyObject_CallFunctionVa (call.c:914)
      ==17162==    by 0x6B0673: callmethod (call.c:1010)
      ==17162==    by 0x6B0673: _PyObject_CallMethod_SizeT (call.c:1103)
      ==17162==    by 0x477DFE: gdb_PyObject_CallMethod<> (python-internal.h:182)
      ==17162==    by 0x477DFE: get_py_iter_from_func(_object*, char const*) (py-framefilter.c:272)
      ==17162==    by 0x4791B4: py_print_args (py-framefilter.c:706)
      ==17162==    by 0x4791B4: py_print_frame(_object*, enum_flags<frame_filter_flag>, ext_lang_frame_args, ui_out*, int, htab*) (py-framefilter.c:960)
      ==17162==    by 0x47A130: gdbpy_apply_frame_filter(extension_language_defn const*, frame_info*, enum_flags<frame_filter_flag>, ext_lang_frame_args, ui_out*, int, int) (py-framefilter.c:1236)
      ==17162==    by 0x369C39: apply_ext_lang_frame_filter(frame_info*, enum_flags<frame_filter_flag>, ext_lang_frame_args, ui_out*, int, int) (extension.c:563)
      ==17162==    by 0x4EC9C9: backtrace_command_1 (stack.c:2031)
      ==17162==    by 0x4EC9C9: backtrace_command(char const*, int) (stack.c:2183)
      ...
      
      Most of the leaks in python tests are due to the fact that many
      PyObject xxxxx_dealloc functions are missing the line to free self
      or obj such as:
         Py_TYPE (self)->tp_free (self);
      or
         Py_TYPE (obj)->tp_free (obj);
      
      With this patch, the number of python tests leaking decreases from 52 to 12.
      
      gdb/ChangeLog
      
      2019-11-18  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
      
      	* python/py-block.c (blpy_dealloc): Call tp_free.
      	(blpy_block_syms_dealloc): Likewise.
      	* python/py-finishbreakpoint.c (bpfinishpy_dealloc): Likewise.
      	* python/py-inferior.c (infpy_dealloc): Likewise.
      	* python/py-lazy-string.c (stpy_dealloc): Likewise.
      	* python/py-linetable.c (ltpy_iterator_dealloc): Likewise.
      	* python/py-symbol.c (sympy_dealloc): Likewise.
      	* python/py-symtab.c (stpy_dealloc): Likewise.
      	* python/py-type.c (typy_iterator_dealloc): Likewise.
      2e953aca
  14. Mar 25, 2019
    • Tom Tromey's avatar
      More block constification · 582942f4
      Tom Tromey authored
      I noticed that there are still many places referring to non-const
      blocks.  This constifies all the remaining ones that I found that
      could be constified.
      
      In a few spots, this search found unused variables or fields.  I
      removed these.  I've also removed some unnecessary casts to
      "struct block *".
      
      gdb/ChangeLog
      2019-03-24  Tom Tromey  <tom@tromey.com>
      
      	* c-exp.y (typebase): Remove casts.
      	* gdbtypes.c (lookup_unsigned_typename, )
      	(lookup_signed_typename): Remove cast.
      	* eval.c (parse_to_comma_and_eval): Remove cast.
      	* parse.c (write_dollar_variable): Remove cast.
      	* block.h (struct block) <superblock>: Now const.
      	* symfile-debug.c (debug_qf_map_matching_symbols): Update.
      	* psymtab.c (psym_map_matching_symbols): Make "block" const.
      	(map_block): Make "block" const.
      	* symfile.h (struct quick_symbol_functions)
      	<map_matching_symbols>: Constify block argument to "callback".
      	* symtab.c (basic_lookup_transparent_type_quick): Make "block"
      	const.
      	(find_pc_sect_compunit_symtab): Make "b" const.
      	(find_symbol_at_address): Likewise.
      	(search_symbols): Likewise.
      	* dwarf2read.c (dw2_lookup_symbol): Make "block" const.
      	(dw2_debug_names_lookup_symbol): Likewise.
      	(dw2_map_matching_symbols): Update.
      	* p-valprint.c (pascal_val_print): Remove "block".
      	* ada-lang.c (ada_add_global_exceptions): Make "b" const.
      	(aux_add_nonlocal_symbols): Make "block" const.
      	(resolve_subexp): Remove cast.
      	* linespec.c (iterate_over_all_matching_symtabs): Make "block"
      	const.
      	(iterate_over_file_blocks): Likewise.
      	* f-exp.y (%union) <bval>: Remove.
      	* coffread.c (patch_opaque_types): Make "b" const.
      	* spu-tdep.c (spu_catch_start): Make "block" const.
      	* c-valprint.c (print_unpacked_pointer): Remove "block".
      	* symmisc.c (dump_symtab_1): Make "b" const.
      	(block_depth): Make "block" const.
      	* d-exp.y (%union) <bval>: Remove.
      	* cp-support.h (cp_lookup_rtti_type): Update.
      	* cp-support.c (cp_lookup_rtti_type): Make "block" const.
      	* psymtab.c (psym_lookup_symbol): Make "block" const.
      	(maintenance_check_psymtabs): Make "b" const.
      	* python/py-framefilter.c (extract_sym): Make "sym_block" const.
      	(enumerate_locals, enumerate_args): Update.
      	* python/py-symtab.c (stpy_global_block): Make "block" const.
      	(stpy_static_block): Likewise.
      	* inline-frame.c (block_starting_point_at): Make "new_block"
      	const.
      	* block.c (find_block_in_blockvector): Make return type const.
      	(blockvector_for_pc_sect): Make "b" const.
      	(find_block_in_blockvector): Make "b" const.
      582942f4
  15. Jan 23, 2019
    • Tom Tromey's avatar
      Do not include py-ref.h in most files · 3fabc016
      Tom Tromey authored
      py-ref.h can really only be included from a specific spot in
      python-internal.h.  The other includes are not useful, and cause
      compilation errors if the includes are ever sorted.  So, remove these
      includes.
      
      Arguably, py-ref.h should simply not be a separate header.
      
      gdb/ChangeLog
      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.
      3fabc016
  16. Jan 03, 2019
    • Tom Tromey's avatar
      Avoid questionable casts in py-symtab.c · 7c711119
      Tom Tromey authored
      py-symtab.c has some questionable casts of Py_None to symtab_object*.
      This patch avoids these casts by instead using downcasts at the
      appropriate places.
      
      gdb/ChangeLog
      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.
      7c711119
  17. Jan 01, 2019
    • Joel Brobecker's avatar
      Update copyright year range in all GDB files. · 42a4f53d
      Joel Brobecker authored
      This commit applies all changes made after running the gdb/copyright.py
      script.
      
      Note that one file was flagged by the script, due to an invalid
      copyright header
      (gdb/unittests/basic_string_view/element_access/char/empty.cc).
      As the file was copied from GCC's libstdc++-v3 testsuite, this commit
      leaves this file untouched for the time being; a patch to fix the header
      was sent to gcc-patches first.
      
      gdb/ChangeLog:
      
      	Update copyright year range in all GDB files.
      42a4f53d
  18. Dec 27, 2018
    • Tom Tromey's avatar
      Remove more calls to xfree from Python · 075c55e0
      Tom Tromey authored
      This changes the Python code to remove some more calls to xfree, in
      favor of self-managing data structures.
      
      Tested on x86-64 Fedora 28.
      
      gdb/ChangeLog
      2018-12-27  Tom Tromey  <tom@tromey.com>
      
      	* python/python.c (python_interactive_command): Use std::string.
      	(gdbpy_parameter): Likewise.
      	* python/py-utils.c (unicode_to_encoded_string): Update comment.
      	* python/py-symtab.c (salpy_str): Use PyString_FromFormat.
      	* python/py-record-btrace.c (recpy_bt_insn_data): Use
      	byte_vector.
      	* python/py-objfile.c (objfpy_get_build_id): Use
      	unique_xmalloc_ptr.
      	* python/py-inferior.c (infpy_read_memory): Use
      	unique_xmalloc_ptr.
      	* python/py-cmd.c (gdbpy_parse_command_name): Use std::string.
      075c55e0
  19. Nov 04, 2018
    • Tom Tromey's avatar
      Return gdbpy_ref from some Python string functions · 833d985d
      Tom Tromey authored
      This changes python_string_to_unicode,
      python_string_to_target_python_string, and
      host_string_to_python_string to return gdbpy_ref.
      
      gdb/ChangeLog
      2018-11-04  Tom Tromey  <tom@tromey.com>
      
      	* python/python.c (gdbpy_parameter_value): Update.
      	* python/python-internal.h (python_string_to_unicode)
      	(python_string_to_target_python_string)
      	(host_string_to_python_string): Return gdbpy_ref.
      	* python/py-utils.c (python_string_to_unicode)
      	(unicode_to_encoded_python_string)
      	(unicode_to_target_python_string)
      	(python_string_to_target_string)
      	(python_string_to_target_python_string): Return gdbpy_ref.
      	(python_string_to_host_string): Update.
      	(host_string_to_python_string): Return gdbpy_ref.
      	* python/py-symtab.c (stpy_get_filename, stpy_get_producer)
      	(stpy_fullname): Update.
      	* python/py-progspace.c (pspy_get_filename, pspy_solib_name):
      	Update.
      	* python/py-prettyprint.c (print_string_repr): Update.
      	* python/py-objfile.c (objfpy_get_filename, objfpy_get_username)
      	(objfpy_get_build_id): Update.
      	* python/py-breakpoint.c (bppy_get_location)
      	(bppy_get_expression, bppy_get_condition, bppy_get_commands):
      	Update.
      833d985d
  20. Sep 16, 2018
    • Tom Tromey's avatar
      Change objfile_to_objfile_object to return a new reference · 0a9db5ad
      Tom Tromey authored
      This changes objfile_to_objfile_object to return a new references and
      fixes up all the uses.
      
      gdb/ChangeLog
      2018-09-16  Tom Tromey  <tom@tromey.com>
      
      	* python/py-progspace.c (pspy_get_objfiles): Update.
      	* python/python-internal.h (objfile_to_objfile_object): Change
      	return type.
      	* python/py-newobjfileevent.c (create_new_objfile_event_object):
      	Update.
      	* python/py-xmethods.c (gdbpy_get_matching_xmethod_workers):
      	Update.
      	* python/python.c (gdbpy_get_current_objfile): Update.
      	(gdbpy_objfiles): Update.
      	* python/py-objfile.c (objfpy_get_owner, gdbpy_lookup_objfile):
      	Update.
      	(objfile_to_objfile_object): Return a new reference.
      	* python/py-symtab.c (stpy_get_objfile): Update.
      	* python/py-prettyprint.c (find_pretty_printer_from_objfiles):
      	Update.
      0a9db5ad
  21. Jan 02, 2018
  22. Apr 05, 2017
    • Pedro Alves's avatar
      -Wwrite-strings: Wrap PyGetSetDef for construction with string literals · 0d1f4ceb
      Pedro Alves authored
      Unfortunately, PyGetSetDef's 'name' and 'doc' members are 'char *'
      instead of 'const char *', meaning that in order to list-initialize
      PyGetSetDef arrays using string literals requires writing explicit
      'char *' casts.  For example:
      
          static PyGetSetDef value_object_getset[] = {
         -  { "address", valpy_get_address, NULL, "The address of the value.",
         +  { (char *) "address", valpy_get_address, NULL,
         +    (char *) "The address of the value.",
      	NULL },
         -  { "is_optimized_out", valpy_get_is_optimized_out, NULL,
         -    "Boolean telling whether the value is optimized "
         +  { (char *) "is_optimized_out", valpy_get_is_optimized_out, NULL,
         +    (char *) "Boolean telling whether the value is optimized "
      	"out (i.e., not available).",
      	NULL },
         -  { "type", valpy_get_type, NULL, "Type of the value.", NULL },
         -  { "dynamic_type", valpy_get_dynamic_type, NULL,
         -    "Dynamic type of the value.", NULL },
         -  { "is_lazy", valpy_get_is_lazy, NULL,
         -    "Boolean telling whether the value is lazy (not fetched yet\n\
         +  { (char *) "type", valpy_get_type, NULL,
         +    (char *) "Type of the value.", NULL },
         +  { (char *) "dynamic_type", valpy_get_dynamic_type, NULL,
         +    (char *) "Dynamic type of the value.", NULL },
         +  { (char *) "is_lazy", valpy_get_is_lazy, NULL,
         +    (char *) "Boolean telling whether the value is lazy (not fetched yet\n\
          from the inferior).  A lazy value is fetched when needed, or when\n\
          the \"fetch_lazy()\" method is called.", NULL },
            {NULL}  /* Sentinel */
      
      We have ~20 such arrays, and I first wrote a patch that fixed all of
      them like that...  It's not pretty...
      
      One way to make these a bit less ugly would be add a new macro that
      hides the casts, like:
      
        #define GDBPY_GSDEF(NAME, GET, SET, DOC, CLOSURE) \
           { (char *) NAME, GET, SET, (char *) DOC, CLOSURE }
      
      and then use it like:
      
          static PyGetSetDef value_object_getset[] = {
             GDBPY_GSDEF ("address", valpy_get_address, NULL,
             		    "The address of the value.", NULL),
             GDBPY_GSDEF ("is_optimized_out", valpy_get_is_optimized_out, NULL,
             		    "Boolean telling whether the value is optimized ", NULL),
            {NULL}  /* Sentinel */
          };
      
      But since we have C++11, which gives us constexpr and list
      initialization, I thought of a way that requires no changes where the
      arrays are initialized:
      
      We add a new type that extends PyGetSetDef (called gdb_PyGetSetDef),
      and add constexpr constructors that accept const 'name' and 'doc', and
      then list/aggregate initialization simply "calls" these matching
      constructors instead.
      
      I put "calls" in quotes, because given "constexpr", it's all done at
      compile time, and there's no overhead either in binary size or at run
      time.  In fact, we get identical binaries, before/after this change.
      
      Unlike the fixes that fix some old Python API to match the API of more
      recent Python, this switches to using explicit "gdb_PyGetSetDef"
      everywhere, just to be clear that we are using our own version of it.
      
      gdb/ChangeLog:
      2017-04-05  Pedro Alves  <palves@redhat.com>
      
      	* python/python-internal.h (gdb_PyGetSetDef): New type.
      	* python/py-block.c (block_object_getset)
      	(breakpoint_object_getset): Now a gdb_PyGetSetDef array.
      	* python/py-event.c (event_object_getset)
      	(finish_breakpoint_object_getset): Likewise.
      	* python/py-inferior.c (inferior_object_getset): Likewise.
      	* python/py-infthread.c (thread_object_getset): Likewise.
      	* python/py-lazy-string.c (lazy_string_object_getset): Likewise.
      	* python/py-linetable.c (linetable_entry_object_getset): Likewise.
      	* python/py-objfile.c (objfile_getset): Likewise.
      	* python/py-progspace.c (pspace_getset): Likewise.
      	* python/py-record-btrace.c (btpy_insn_getset, btpy_call_getset):
      	Likewise.
      	* python/py-record.c (recpy_record_getset): Likewise.
      	* python/py-symbol.c (symbol_object_getset): Likewise.
      	* python/py-symtab.c (symtab_object_getset, sal_object_getset):
      	Likewise.
      	* python/py-type.c (type_object_getset, field_object_getset):
      	Likewise.
      	* python/py-value.c (value_object_getset): Likewise.
      0d1f4ceb
  23. Feb 10, 2017
    • Tom Tromey's avatar
      Use gdbpy_ref to simplify some logic · 88b6faea
      Tom Tromey authored
      This uses the new gdbpy_ref template to simplify logic in various
      parts of the Python layer; for example removing repeated error code or
      removing gotos.
      
      gdb/ChangeLog
      2017-02-10  Tom Tromey  <tom@tromey.com>
      
      	* python/py-cmd.c (cmdpy_destroyer): Use gdbpy_ref.
      	* python/py-breakpoint.c (gdbpy_breakpoint_deleted): Use
      	gdbpy_ref.
      	* python/py-type.c (field_new): Use gdbpy_ref.
      	* python/py-symtab.c (symtab_and_line_to_sal_object): Use
      	gdbpy_ref.
      	* python/py-progspace.c (pspy_new): Use gdbpy_ref.
      	(py_free_pspace): Likewise.
      	(pspace_to_pspace_object): Likewise.
      	* python/py-objfile.c (objfpy_new): Use gdbpy_ref.
      	(py_free_objfile): Likewise.
      	(objfile_to_objfile_object): Likewise.
      	* python/py-inferior.c (delete_thread_object): Use
      	gdbpy_ref.
      	(infpy_read_memory): Likewise.
      	(py_free_inferior): Likewise.
      	* python/py-evtregistry.c (create_eventregistry_object): Use
      	gdbpy_ref.
      	* python/py-event.c (create_event_object): Use gdbpy_ref.
      88b6faea
  24. Jan 01, 2017
    • Joel Brobecker's avatar
      update copyright year range in GDB files · 61baf725
      Joel Brobecker authored
      This applies the second part of GDB's End of Year Procedure, which
      updates the copyright year range in all of GDB's files.
      
      gdb/ChangeLog:
      
              Update copyright year range in all GDB files.
      61baf725
  25. May 08, 2016
    • Trevor Saunders's avatar
      remove trivialy unused variables · 870f88f7
      Trevor Saunders authored
      gdb/ChangeLog:
      
      2016-05-07  Trevor Saunders  <tbsaunde+binutils@tbsaunde.org>
      
      	* aarch64-linux-tdep.c (aarch64_linux_sigframe_init): Remove unused
      	variables.
      	* aarch64-tdep.c (aarch64_skip_prologue): Likewise.
      	(aarch64_scan_prologue): Likewise.
      	(aarch64_prologue_prev_register): Likewise.
      	(aarch64_dwarf2_prev_register): Likewise.
      	(pass_in_v): Likewise.
      	(aarch64_push_dummy_call): Likewise.
      	(aarch64_breakpoint_from_pc): Likewise.
      	(aarch64_return_in_memory): Likewise.
      	(aarch64_return_value): Likewise.
      	(aarch64_displaced_step_b_cond): Likewise.
      	(aarch64_displaced_step_cb): Likewise.
      	(aarch64_displaced_step_tb): Likewise.
      	(aarch64_gdbarch_init): Likewise.
      	(aarch64_process_record): Likewise.
      	* alpha-mdebug-tdep.c (alpha_mdebug_init_abi): Likewise.
      	* alpha-tdep.c (_initialize_alpha_tdep): Likewise.
      	* amd64-dicos-tdep.c (amd64_dicos_init_abi): Likewise.
      	* amd64-linux-tdep.c (amd64_dtrace_parse_probe_argument): Likewise.
      	* amd64-tdep.c (fixup_riprel): Likewise.
      	* amd64-windows-tdep.c (amd64_windows_frame_decode_epilogue): Likewise.
      	(amd64_windows_frame_decode_insns): Likewise.
      	(amd64_windows_frame_cache): Likewise.
      	(amd64_windows_frame_prev_register): Likewise.
      	(amd64_windows_frame_this_id): Likewise.
      	(amd64_windows_init_abi): Likewise.
      	* arm-linux-tdep.c (arm_linux_get_syscall_number): Likewise.
      	(arm_linux_get_next_pcs_syscall_next_pc): Likewise.
      	* arm-symbian-tdep.c (arm_symbian_init_abi): Likewise.
      	* arm-tdep.c (arm_make_epilogue_frame_cache): Likewise.
      	(arm_epilogue_frame_prev_register): Likewise.
      	(arm_record_vdata_transfer_insn): Likewise.
      	(arm_record_exreg_ld_st_insn): Likewise.
      	* auto-load.c (execute_script_contents): Likewise.
      	(print_scripts): Likewise.
      	* avr-tdep.c (avr_frame_prev_register): Likewise.
      	(avr_push_dummy_call): Likewise.
      	* bfin-linux-tdep.c (bfin_linux_sigframe_init): Likewise.
      	* bfin-tdep.c (bfin_gdbarch_init): Likewise.
      	* blockframe.c (find_pc_partial_function_gnu_ifunc): Likewise.
      	* break-catch-throw.c (fetch_probe_arguments): Likewise.
      	* breakpoint.c (breakpoint_xfer_memory): Likewise.
      	(breakpoint_init_inferior): Likewise.
      	(breakpoint_inserted_here_p): Likewise.
      	(software_breakpoint_inserted_here_p): Likewise.
      	(hardware_breakpoint_inserted_here_p): Likewise.
      	(bpstat_what): Likewise.
      	(break_range_command): Likewise.
      	(save_breakpoints): Likewise.
      	* coffread.c (coff_symfile_read): Likewise.
      	* cris-tdep.c (cris_push_dummy_call): Likewise.
      	(cris_scan_prologue): Likewise.
      	(cris_register_size): Likewise.
      	(_initialize_cris_tdep): Likewise.
      	* d-exp.y: Likewise.
      	* dbxread.c (dbx_read_symtab): Likewise.
      	(process_one_symbol): Likewise.
      	(coffstab_build_psymtabs): Likewise.
      	(elfstab_build_psymtabs): Likewise.
      	* dicos-tdep.c (dicos_init_abi): Likewise.
      	* disasm.c (do_mixed_source_and_assembly): Likewise.
      	(gdb_disassembly): Likewise.
      	* dtrace-probe.c (dtrace_process_dof): Likewise.
      	* dwarf2read.c (error_check_comp_unit_head): Likewise.
      	(build_type_psymtabs_1): Likewise.
      	(skip_one_die): Likewise.
      	(process_imported_unit_die): Likewise.
      	(dwarf2_physname): Likewise.
      	(read_file_scope): Likewise.
      	(setup_type_unit_groups): Likewise.
      	(create_dwo_cu_reader): Likewise.
      	(create_dwo_cu): Likewise.
      	(create_dwo_unit_in_dwp_v1): Likewise.
      	(create_dwo_unit_in_dwp_v2): Likewise.
      	(lookup_dwo_unit_in_dwp): Likewise.
      	(free_dwo_file): Likewise.
      	(check_producer): Likewise.
      	(dwarf2_add_typedef): Likewise.
      	(dwarf2_add_member_fn): Likewise.
      	(read_unsigned_leb128): Likewise.
      	(read_signed_leb128): Likewise.
      	(dwarf2_const_value): Likewise.
      	(follow_die_sig_1): Likewise.
      	(dwarf_decode_macro_bytes): Likewise.
      	* extension.c (restore_active_ext_lang): Likewise.
      	* frv-linux-tdep.c (frv_linux_sigtramp_frame_cache): Likewise.
      	* ft32-tdep.c (ft32_analyze_prologue): Likewise.
      	* gdbtypes.c (lookup_typename): Likewise.
      	(resolve_dynamic_range): Likewise.
      	(check_typedef): Likewise.
      	* h8300-tdep.c (h8300_is_argument_spill): Likewise.
      	(h8300_gdbarch_init): Likewise.
      	* hppa-tdep.c (hppa32_push_dummy_call): Likewise.
      	(hppa_frame_this_id): Likewise.
      	(_initialize_hppa_tdep): Likewise.
      	* hppanbsd-tdep.c (hppanbsd_sigtramp_cache_init): Likewise.
      	* hppaobsd-tdep.c (hppaobsd_supply_fpregset): Likewise.
      	* i386-dicos-tdep.c (i386_dicos_init_abi): Likewise.
      	* i386-tdep.c (i386_bnd_type): Likewise.
      	(i386_gdbarch_init): Likewise.
      	(i386_mpx_bd_base): Likewise.
      	* i386nbsd-tdep.c (i386nbsd_sigtramp_cache_init): Likewise.
      	* i386obsd-tdep.c (i386obsd_elf_init_abi): Likewise.
      	* ia64-tdep.c (examine_prologue): Likewise.
      	(ia64_frame_cache): Likewise.
      	(ia64_push_dummy_call): Likewise.
      	* infcmd.c (finish_command_fsm_async_reply_reason): Likewise.
      	(default_print_one_register_info): Likewise.
      	* infrun.c (infrun_thread_ptid_changed): Likewise.
      	(thread_still_needs_step_over): Likewise.
      	(stop_all_threads): Likewise.
      	(restart_threads): Likewise.
      	(keep_going_stepped_thread): Likewise.
      	* iq2000-tdep.c (iq2000_scan_prologue): Likewise.
      	* language.c (language_init_primitive_type_symbols): Likewise.
      	* linespec.c (add_sal_to_sals): Likewise.
      	* linux-nat.c (status_callback): Likewise.
      	(kill_unfollowed_fork_children): Likewise.
      	(linux_nat_kill): Likewise.
      	* linux-tdep.c (linux_fill_prpsinfo): Likewise.
      	* linux-thread-db.c (thread_db_notice_clone): Likewise.
      	(record_thread): Likewise.
      	* location.c (string_to_event_location_basic): Likewise.
      	* m32c-tdep.c (m32c_prev_register): Likewise.
      	* m32r-linux-tdep.c (m32r_linux_init_abi): Likewise.
      	* m32r-tdep.c (decode_prologue): Likewise.
      	* m68klinux-tdep.c (m68k_linux_sigtramp_frame_cache): Likewise.
      	* machoread.c (macho_symtab_read): Likewise.
      	(macho_symfile_read): Likewise.
      	(macho_symfile_offsets): Likewise.
      	* maint.c (set_per_command_cmd): Likewise.
      	* mi/mi-cmd-stack.c (mi_cmd_stack_list_locals): Likewise.
      	(mi_cmd_stack_list_variables): Likewise.
      	* mi/mi-main.c (mi_cmd_exec_run): Likewise.
      	(output_register): Likewise.
      	(mi_cmd_execute): Likewise.
      	(mi_cmd_trace_define_variable): Likewise.
      	(print_variable_or_computed): Likewise.
      	* minsyms.c (prim_record_minimal_symbol_full): Likewise.
      	* mn10300-tdep.c (mn10300_frame_prev_register): Likewise.
      	* msp430-tdep.c (msp430_pseudo_register_write): Likewise.
      	* mt-tdep.c (mt_registers_info): Likewise.
      	* nios2-tdep.c (nios2_analyze_prologue): Likewise.
      	(nios2_push_dummy_call): Likewise.
      	(nios2_frame_unwind_cache): Likewise.
      	(nios2_stub_frame_cache): Likewise.
      	(nios2_stub_frame_sniffer): Likewise.
      	(nios2_gdbarch_init): Likewise.
      	* ppc-ravenscar-thread.c: Likewise.
      	* ppcfbsd-tdep.c (ppcfbsd_sigtramp_frame_cache): Likewise.
      	* python/py-evts.c (add_new_registry): Likewise.
      	* python/py-finishbreakpoint.c (bpfinishpy_init): Likewise.
      	(bpfinishpy_detect_out_scope_cb): Likewise.
      	* python/py-framefilter.c (py_print_value): Likewise.
      	* python/py-inferior.c (infpy_write_memory): Likewise.
      	* python/py-infevents.c (create_inferior_call_event_object): Likewise.
      	* python/py-infthread.c (thpy_get_ptid): Likewise.
      	* python/py-linetable.c (ltpy_get_pcs_for_line): Likewise.
      	(ltpy_get_all_source_lines): Likewise.
      	(ltpy_is_valid): Likewise.
      	(ltpy_iternext): Likewise.
      	* python/py-symtab.c (symtab_and_line_to_sal_object): Likewise.
      	* python/py-unwind.c (pyuw_object_attribute_to_pointer): Likewise.
      	(unwind_infopy_str): Likewise.
      	* python/py-varobj.c (py_varobj_get_iterator): Likewise.
      	* ravenscar-thread.c (ravenscar_inferior_created): Likewise.
      	* rs6000-aix-tdep.c (rs6000_push_dummy_call): Likewise.
      	* rs6000-lynx178-tdep.c (rs6000_lynx178_push_dummy_call): Likewise.
      	* rs6000-tdep.c (ppc_deal_with_atomic_sequence): Likewise.
      	* s390-linux-tdep.c (s390_supply_tdb_regset): Likewise.
      	(s390_frame_prev_register): Likewise.
      	(s390_dwarf2_frame_init_reg): Likewise.
      	(s390_record_vr): Likewise.
      	(s390_process_record): Likewise.
      	* score-tdep.c (score_push_dummy_call): Likewise.
      	(score3_analyze_prologue): Likewise.
      	* sh-tdep.c (sh_extract_return_value_nofpu): Likewise.
      	* sh64-tdep.c (sh64_analyze_prologue): Likewise.
      	(sh64_push_dummy_call): Likewise.
      	(sh64_extract_return_value): Likewise.
      	(sh64_do_fp_register): Likewise.
      	* solib-aix.c (solib_aix_get_section_offsets): Likewise.
      	* solib-darwin.c (darwin_read_exec_load_addr_from_dyld): Likewise.
      	(darwin_solib_read_all_image_info_addr): Likewise.
      	* solib-dsbt.c (enable_break): Likewise.
      	* solib-frv.c (enable_break2): Likewise.
      	(frv_fdpic_find_canonical_descriptor): Likewise.
      	* solib-svr4.c (svr4_handle_solib_event): Likewise.
      	* sparc-tdep.c (sparc_skip_stack_check): Likewise.
      	* sparc64-linux-tdep.c (sparc64_linux_get_longjmp_target): Likewise.
      	* sparcobsd-tdep.c (sparc32obsd_init_abi): Likewise.
      	* spu-tdep.c (info_spu_dma_cmdlist): Likewise.
      	* stack.c (read_frame_local): Likewise.
      	* symfile.c (symbol_file_add_separate): Likewise.
      	(remove_symbol_file_command): Likewise.
      	* symmisc.c (maintenance_print_one_line_table): Likewise.
      	* symtab.c (symbol_cache_flush): Likewise.
      	(basic_lookup_transparent_type): Likewise.
      	(sort_search_symbols_remove_dups): Likewise.
      	* target.c (target_memory_map): Likewise.
      	(target_detach): Likewise.
      	(target_resume): Likewise.
      	(acquire_fileio_fd): Likewise.
      	(target_store_registers): Likewise.
      	* thread.c (print_thread_info_1): Likewise.
      	* tic6x-tdep.c (tic6x_analyze_prologue): Likewise.
      	* tilegx-linux-tdep.c (tilegx_linux_sigframe_init): Likewise.
      	* tilegx-tdep.c (tilegx_push_dummy_call): Likewise.
      	(tilegx_analyze_prologue): Likewise.
      	(tilegx_stack_frame_destroyed_p): Likewise.
      	(tilegx_frame_cache): Likewise.
      	* tracefile.c (trace_save): Likewise.
      	* tracepoint.c (encode_actions_and_make_cleanup): Likewise.
      	(start_tracing): Likewise.
      	(print_one_static_tracepoint_marker): Likewise.
      	* tui/tui.c (tui_enable): Likewise.
      	* valops.c (value_struct_elt_bitpos): Likewise.
      	(find_overload_match): Likewise.
      	(find_oload_champ): Likewise.
      	* value.c (value_contents_copy_raw): Likewise.
      	* windows-tdep.c (windows_get_tlb_type): Likewise.
      	* x86-linux-nat.c (x86_linux_enable_btrace): Likewise.
      	* xcoffread.c (record_minimal_symbol): Likewise.
      	(scan_xcoff_symtab): Likewise.
      	* xtensa-tdep.c (execute_code): Likewise.
      	(xtensa_gdbarch_init): Likewise.
      	(_initialize_xtensa_tdep): Likewise.
      870f88f7
  26. Mar 30, 2016
    • Doug Evans's avatar
      python/py-utils.c (host_string_to_python_string): New function. · 4ae6cc19
      Doug Evans authored
      gdb/ChangeLog:
      
      	* python/py-utils.c (host_string_to_python_string): New function.
      	* python/python-internal.h (host_string_to_python_string): Declare it.
      	* python/py-*.c (*): Update all calls to
      	PyString_Decode (str, strlen (str), host_charset (), NULL);
      	to use host_string_to_python_string instead.
      4ae6cc19
  27. Jan 01, 2016
  28. Sep 25, 2015
    • Simon Marchi's avatar
      Add some more casts (2/2) · 19ba03f4
      Simon Marchi authored
      See previous patch's description.
      
      gdb/ChangeLog:
      
      	* macrocmd.c (print_macro_callback): Add cast(s).
      	* macrotab.c (macro_bcache_str): Likewise.
      	(new_macro_definition): Likewise.
      	* main.c (captured_main): Likewise.
      	* maint.c (print_bfd_section_info): Likewise.
      	* mdebugread.c (mdebug_build_psymtabs): Likewise.
      	(basic_type): Likewise.
      	* memattr.c (mem_region_cmp): Likewise.
      	* memory-map.c (memory_map_start_memory): Likewise.
      	(memory_map_end_memory): Likewise.
      	(memory_map_start_property): Likewise.
      	(memory_map_end_property): Likewise.
      	(clear_result): Likewise.
      	* memrange.c (compare_mem_ranges): Likewise.
      	* mep-tdep.c (mep_analyze_frame_prologue): Likewise.
      	* mi/mi-cmd-var.c (mi_cmd_var_update_iter): Likewise.
      	* mi/mi-console.c (mi_console_file_delete): Likewise.
      	(mi_console_file_fputs): Likewise.
      	(mi_console_raw_packet): Likewise.
      	(mi_console_file_flush): Likewise.
      	(mi_console_set_raw): Likewise.
      	* mi/mi-interp.c (mi_interpreter_resume): Likewise.
      	(mi_new_thread): Likewise.
      	(mi_thread_exit): Likewise.
      	(mi_record_changed): Likewise.
      	(mi_inferior_added): Likewise.
      	(mi_inferior_appeared): Likewise.
      	(mi_inferior_exit): Likewise.
      	(mi_inferior_removed): Likewise.
      	(mi_interp_data): Likewise.
      	(mi_on_normal_stop): Likewise.
      	(mi_traceframe_changed): Likewise.
      	(mi_tsv_created): Likewise.
      	(mi_tsv_deleted): Likewise.
      	(mi_tsv_modified): Likewise.
      	(mi_breakpoint_created): Likewise.
      	(mi_breakpoint_deleted): Likewise.
      	(mi_breakpoint_modified): Likewise.
      	(mi_output_running_pid): Likewise.
      	(mi_inferior_count): Likewise.
      	(mi_solib_loaded): Likewise.
      	(mi_solib_unloaded): Likewise.
      	(mi_command_param_changed): Likewise.
      	(mi_memory_changed): Likewise.
      	(report_initial_inferior): Likewise.
      	(mi_ui_out): Likewise.
      	(mi_set_logging): Likewise.
      	* mi/mi-main.c (collect_cores): Likewise.
      	(print_one_inferior): Likewise.
      	(free_vector_of_ints): Likewise.
      	(free_splay_tree): Likewise.
      	(mi_execute_command): Likewise.
      	* mi/mi-out.c (mi_table_body): Likewise.
      	(mi_table_end): Likewise.
      	(mi_table_header): Likewise.
      	(mi_begin): Likewise.
      	(mi_end): Likewise.
      	(mi_field_int): Likewise.
      	(mi_field_string): Likewise.
      	(mi_field_fmt): Likewise.
      	(mi_flush): Likewise.
      	(mi_redirect): Likewise.
      	(field_separator): Likewise.
      	(mi_open): Likewise.
      	(mi_close): Likewise.
      	(mi_out_buffered): Likewise.
      	(mi_out_rewind): Likewise.
      	(mi_out_put): Likewise.
      	(mi_version): Likewise.
      	(mi_out_data_dtor): Likewise.
      	* mi/mi-parse.c (mi_parse_cleanup): Likewise.
      	* microblaze-tdep.c (microblaze_frame_cache): Likewise.
      	* minidebug.c (lzma_open): Likewise.
      	(lzma_pread): Likewise.
      	(lzma_close): Likewise.
      	(lzma_stat): Likewise.
      	* mips-linux-tdep.c (mips_linux_init_abi): Likewise.
      	* mips-sde-tdep.c (mips_sde_frame_cache): Likewise.
      	(mips_sde_elf_osabi_sniff_abi_tag_sections): Likewise.
      	* mips-tdep.c (mips_insn16_frame_cache): Likewise.
      	(mips_micro_frame_cache): Likewise.
      	(mips_insn32_frame_cache): Likewise.
      	(mips_stub_frame_cache): Likewise.
      	(gdb_print_insn_mips): Likewise.
      	(value_of_mips_user_reg): Likewise.
      	(mips_gdbarch_init): Likewise.
      	* mips64obsd-tdep.c (mips64obsd_supply_gregset): Likewise.
      	* mipsnbsd-tdep.c (mipsnbsd_supply_fpregset): Likewise.
      	(mipsnbsd_supply_gregset): Likewise.
      	* mn10300-linux-tdep.c (am33_supply_fpregset_method): Likewise.
      	(am33_collect_gregset_method): Likewise.
      	(am33_collect_fpregset_method): Likewise.
      	* mn10300-tdep.c (mn10300_analyze_frame_prologue): Likewise.
      	* moxie-tdep.c (moxie_frame_cache): Likewise.
      	* msp430-tdep.c (msp430_get_opcode_byte): Likewise.
      	(msp430_analyze_frame_prologue): Likewise.
      	* mt-tdep.c (mt_frame_unwind_cache): Likewise.
      	* nios2-linux-tdep.c (nios2_supply_gregset): Likewise.
      	(nios2_collect_gregset): Likewise.
      	* nios2-tdep.c (nios2_frame_unwind_cache): Likewise.
      	(nios2_stub_frame_cache): Likewise.
      	* objc-lang.c (find_methods): Likewise.
      	* objfiles.c (objfiles_pspace_data_cleanup): Likewise.
      	(get_objfile_pspace_data): Likewise.
      	(get_objfile_bfd_data): Likewise.
      	(objfile_bfd_data_free): Likewise.
      	(add_to_objfile_sections): Likewise.
      	(do_free_objfile_cleanup): Likewise.
      	(resume_section_map_updates_cleanup): Likewise.
      	* opencl-lang.c (builtin_opencl_type): Likewise.
      	* osabi.c (generic_elf_osabi_sniff_abi_tag_sections): Likewise.
      	* osdata.c (osdata_start_osdata): Likewise.
      	(osdata_start_item): Likewise.
      	(osdata_start_column): Likewise.
      	(osdata_end_column): Likewise.
      	(clear_parsing_data): Likewise.
      	(osdata_free_cleanup): Likewise.
      	* parse.c (type_stack_cleanup): Likewise.
      	(exp_uses_objfile_iter): Likewise.
      	* ppc-linux-tdep.c (ppc_linux_supply_gregset): Likewise.
      	(ppc_linux_collect_gregset): Likewise.
      	(ppu2spu_prev_arch): Likewise.
      	(ppu2spu_this_id): Likewise.
      	(ppu2spu_prev_register): Likewise.
      	(ppu2spu_unwind_register): Likewise.
      	(ppu2spu_sniffer): Likewise.
      	(ppu2spu_dealloc_cache): Likewise.
      	(ppc_linux_init_abi): Likewise.
      	* ppcfbsd-tdep.c (ppcfbsd_sigtramp_frame_cache): Likewise.
      	* ppcobsd-tdep.c (ppcobsd_sigtramp_frame_cache): Likewise.
      	* progspace.c (restore_program_space): Likewise.
      	* psymtab.c (find_pc_sect_psymtab): Likewise.
      	(compare_psymbols): Likewise.
      	(psymbol_bcache_full): Likewise.
      	(allocate_psymtab): Likewise.
      	(discard_psymtabs_upto): Likewise.
      	* python/py-block.c (set_block): Likewise.
      	(del_objfile_blocks): Likewise.
      	* python/py-breakpoint.c (build_bp_list): Likewise.
      	* python/py-inferior.c (inferior_to_inferior_object): Likewise.
      	(build_inferior_list): Likewise.
      	(py_free_inferior): Likewise.
      	* python/py-objfile.c (py_free_objfile): Likewise.
      	(objfile_to_objfile_object): Likewise.
      	* python/py-prettyprint.c (py_restore_tstate): Likewise.
      	* python/py-progspace.c (py_free_pspace): Likewise.
      	(pspace_to_pspace_object): Likewise.
      	* python/py-symbol.c (set_symbol): Likewise.
      	(del_objfile_symbols): Likewise.
      	* python/py-symtab.c (set_sal): Likewise.
      	(set_symtab): Likewise.
      	(del_objfile_symtab): Likewise.
      	(del_objfile_sal): Likewise.
      	* python/py-type.c (save_objfile_types): Likewise.
      	(set_type): Likewise.
      	* python/py-unwind.c (pyuw_prev_register): Likewise.
      	(pyuw_on_new_gdbarch): Likewise.
      	* python/py-utils.c (py_decref): Likewise.
      	(py_xdecref): Likewise.
      	(gdb_py_generic_dict): Likewise.
      	* python/py-xmethods.c (gdbpy_free_xmethod_worker_data): Likewise.
      	(gdbpy_clone_xmethod_worker_data): Likewise.
      	(gdbpy_get_xmethod_arg_types): Likewise.
      	(gdbpy_get_xmethod_result_type): Likewise.
      	(gdbpy_invoke_xmethod): Likewise.
      	* python/python.c (gdbpy_apply_type_printers): Likewise.
      	(gdbpy_free_type_printers): Likewise.
      	* record-btrace.c (record_btrace_disable_callback): Likewise.
      	(bfcache_hash): Likewise.
      	(bfcache_eq): Likewise.
      	(btrace_get_frame_function): Likewise.
      	(record_btrace_frame_unwind_stop_reason): Likewise.
      	(record_btrace_frame_this_id): Likewise.
      	(record_btrace_frame_prev_register): Likewise.
      	(record_btrace_frame_dealloc_cache): Likewise.
      	* record-full.c (record_full_message_wrapper): Likewise.
      	(record_full_save_cleanups): Likewise.
      	* regcache.c (regcache_descr): Likewise.
      	(do_regcache_xfree): Likewise.
      	(do_regcache_invalidate): Likewise.
      	(do_cooked_read): Likewise.
      	(regcache_transfer_regset): Likewise.
      	* reggroups.c (reggroup_add): Likewise.
      	(reggroup_next): Likewise.
      	(reggroup_prev): Likewise.
      	* remote-fileio.c (do_remote_fileio_request): Likewise.
      	* remote-notif.c (remote_async_get_pending_events_handler): Likewise.
      	(do_notif_event_xfree): Likewise.
      	* remote.c (get_remote_arch_state): Likewise.
      	(remote_pspace_data_cleanup): Likewise.
      	(get_remote_exec_file): Likewise.
      	(set_pspace_remote_exec_file): Likewise.
      	(compare_pnums): Likewise.
      	(clear_threads_listing_context): Likewise.
      	(remote_newthread_step): Likewise.
      	(start_thread): Likewise.
      	(end_thread): Likewise.
      	(remove_child_of_pending_fork): Likewise.
      	(remove_stop_reply_for_inferior): Likewise.
      	(remove_stop_reply_of_remote_state): Likewise.
      	(remote_notif_remove_once_on_match): Likewise.
      	(stop_reply_match_ptid_and_ws): Likewise.
      	(kill_child_of_pending_fork): Likewise.
      	(register_remote_g_packet_guess): Likewise.
      	(remote_read_description_p): Likewise.
      	(remote_read_description): Likewise.
      	(free_actions_list_cleanup_wrapper): Likewise.
      	(remote_async_serial_handler): Likewise.
      	* rl78-tdep.c (rl78_get_opcode_byte): Likewise.
      	(rl78_analyze_frame_prologue): Likewise.
      	* rs6000-tdep.c (ppc_supply_gregset): Likewise.
      	(ppc_supply_fpregset): Likewise.
      	(ppc_supply_vsxregset): Likewise.
      	(ppc_supply_vrregset): Likewise.
      	(ppc_collect_gregset): Likewise.
      	(ppc_collect_fpregset): Likewise.
      	(ppc_collect_vsxregset): Likewise.
      	(ppc_collect_vrregset): Likewise.
      	(e500_move_ev_register): Likewise.
      	(do_regcache_raw_write): Likewise.
      	(rs6000_frame_cache): Likewise.
      	(rs6000_epilogue_frame_cache): Likewise.
      	(rs6000_gdbarch_init): Likewise.
      	* rx-tdep.c (rx_get_opcode_byte): Likewise.
      	(rx_analyze_frame_prologue): Likewise.
      	(rx_frame_type): Likewise.
      	(rx_frame_sniffer_common): Likewise.
      	* s390-linux-tdep.c (s390_check_for_saved): Likewise.
      	(s390_frame_unwind_cache): Likewise.
      	(s390_stub_frame_unwind_cache): Likewise.
      	(s390_sigtramp_frame_unwind_cache): Likewise.
      	* score-tdep.c (score_make_prologue_cache): Likewise.
      	* sentinel-frame.c (sentinel_frame_prev_register): Likewise.
      	(sentinel_frame_prev_arch): Likewise.
      	* ser-base.c (fd_event): Likewise.
      	(push_event): Likewise.
      	(ser_base_write): Likewise.
      	* ser-pipe.c (pipe_close): Likewise.
      	* serial.c (serial_write): Likewise.
      	* sh-tdep.c (sh_frame_cache): Likewise.
      	(sh_stub_this_id): Likewise.
      	* sh64-tdep.c (sh64_frame_cache): Likewise.
      	* solib-aix.c (get_solib_aix_inferior_data): Likewise.
      	(library_list_start_library): Likewise.
      	(library_list_start_list): Likewise.
      	(solib_aix_free_library_list): Likewise.
      	* solib-darwin.c (get_darwin_info): Likewise.
      	* solib-dsbt.c (get_dsbt_info): Likewise.
      	* solib-spu.c (append_ocl_sos): Likewise.
      	* solib-svr4.c (svr4_pspace_data_cleanup): Likewise.
      	(get_svr4_info): Likewise.
      	(library_list_start_library): Likewise.
      	(svr4_library_list_start_list): Likewise.
      	(hash_probe_and_action): Likewise.
      	(equal_probe_and_action): Likewise.
      	(svr4_update_solib_event_breakpoint): Likewise.
      	(set_solib_svr4_fetch_link_map_offsets): Likewise.
      	(svr4_fetch_link_map_offsets): Likewise.
      	(svr4_have_link_map_offsets): Likewise.
      	* solib-target.c (library_list_start_segment): Likewise.
      	(library_list_start_section): Likewise.
      	(library_list_start_library): Likewise.
      	(library_list_end_library): Likewise.
      	(library_list_start_list): Likewise.
      	(solib_target_free_library_list): Likewise.
      	* solib.c (solib_ops): Likewise.
      	(set_solib_ops): Likewise.
      	* sparc-sol2-tdep.c (sparc32_sol2_sigtramp_frame_cache): Likewise.
      	* sparc-tdep.c (sparc_frame_cache): Likewise.
      	(sparc32_frame_cache): Likewise.
      	(sparc32_supply_gregset): Likewise.
      	(sparc32_collect_gregset): Likewise.
      	(sparc32_supply_fpregset): Likewise.
      	(sparc32_collect_fpregset): Likewise.
      	* sparc64-sol2-tdep.c (sparc64_sol2_sigtramp_frame_cache): Likewise.
      	* sparc64-tdep.c (sparc64_supply_gregset): Likewise.
      	(sparc64_collect_gregset): Likewise.
      	(sparc64_supply_fpregset): Likewise.
      	(sparc64_collect_fpregset): Likewise.
      	* sparc64fbsd-tdep.c (sparc64fbsd_sigtramp_frame_cache): Likewise.
      	* sparc64nbsd-tdep.c (sparc64nbsd_sigcontext_frame_cache): Likewise.
      	* sparc64obsd-tdep.c (sparc64obsd_frame_cache): Likewise.
      	(sparc64obsd_trapframe_cache): Likewise.
      	* sparcnbsd-tdep.c (sparc32nbsd_sigcontext_frame_cache): Likewise.
      	* sparcobsd-tdep.c (sparc32obsd_sigtramp_frame_cache): Likewise.
      	* spu-multiarch.c (spu_gdbarch): Likewise.
      	* spu-tdep.c (spu_frame_unwind_cache): Likewise.
      	(spu2ppu_prev_arch): Likewise.
      	(spu2ppu_this_id): Likewise.
      	(spu2ppu_prev_register): Likewise.
      	(spu2ppu_dealloc_cache): Likewise.
      	(spu_dis_asm_print_address): Likewise.
      	(gdb_print_insn_spu): Likewise.
      	(spu_get_overlay_table): Likewise.
      	* stabsread.c (rs6000_builtin_type): Likewise.
      	* stack.c (do_print_variable_and_value): Likewise.
      	* stap-probe.c (get_stap_base_address_1): Likewise.
      	* symfile-debug.c (debug_qf_has_symbols): Likewise.
      	(debug_qf_find_last_source_symtab): Likewise.
      	(debug_qf_forget_cached_source_info): Likewise.
      	(debug_qf_map_symtabs_matching_filename): Likewise.
      	(debug_qf_lookup_symbol): Likewise.
      	(debug_qf_print_stats): Likewise.
      	(debug_qf_dump): Likewise.
      	(debug_qf_relocate): Likewise.
      	(debug_qf_expand_symtabs_for_function): Likewise.
      	(debug_qf_expand_all_symtabs): Likewise.
      	(debug_qf_expand_symtabs_with_fullname): Likewise.
      	(debug_qf_map_matching_symbols): Likewise.
      	(debug_qf_expand_symtabs_matching): Likewise.
      	(debug_qf_find_pc_sect_compunit_symtab): Likewise.
      	(debug_qf_map_symbol_filenames): Likewise.
      	(debug_sym_get_probes): Likewise.
      	(debug_sym_new_init): Likewise.
      	(debug_sym_init): Likewise.
      	(debug_sym_read): Likewise.
      	(debug_sym_read_psymbols): Likewise.
      	(debug_sym_finish): Likewise.
      	(debug_sym_offsets): Likewise.
      	(debug_sym_read_linetable): Likewise.
      	(debug_sym_relocate): Likewise.
      	(uninstall_symfile_debug_logging): Likewise.
      	* symfile-mem.c (symbol_file_add_from_memory_wrapper): Likewise.
      	* symfile.c (place_section): Likewise.
      	(add_section_size_callback): Likewise.
      	(load_progress): Likewise.
      	(load_section_callback): Likewise.
      	(clear_memory_write_data): Likewise.
      	(allocate_symtab): Likewise.
      	* symmisc.c (maintenance_expand_file_matcher): Likewise.
      	* symtab.c (lookup_symtab_callback): Likewise.
      	(hash_demangled_name_entry): Likewise.
      	(eq_demangled_name_entry): Likewise.
      	(get_symbol_cache): Likewise.
      	(symbol_cache_cleanup): Likewise.
      	(set_symbol_cache_size): Likewise.
      	(symbol_cache_flush): Likewise.
      	(maintenance_print_symbol_cache): Likewise.
      	(maintenance_print_symbol_cache_statistics): Likewise.
      	(delete_filename_seen_cache): Likewise.
      	(output_partial_symbol_filename): Likewise.
      	(search_symbols_file_matches): Likewise.
      	(search_symbols_name_matches): Likewise.
      	(do_free_completion_list): Likewise.
      	(maybe_add_partial_symtab_filename): Likewise.
      	(get_main_info): Likewise.
      	(main_info_cleanup): Likewise.
      	* target-dcache.c (target_dcache_cleanup): Likewise.
      	(target_dcache_init_p): Likewise.
      	(target_dcache_invalidate): Likewise.
      	(target_dcache_get): Likewise.
      	(target_dcache_get_or_init): Likewise.
      	* target-descriptions.c (target_find_description): Likewise.
      	(tdesc_find_type): Likewise.
      	(tdesc_data_cleanup): Likewise.
      	(tdesc_find_arch_register): Likewise.
      	(tdesc_register_name): Likewise.
      	(tdesc_register_type): Likewise.
      	(tdesc_register_reggroup_p): Likewise.
      	(set_tdesc_pseudo_register_name): Likewise.
      	(set_tdesc_pseudo_register_type): Likewise.
      	(set_tdesc_pseudo_register_reggroup_p): Likewise.
      	(tdesc_use_registers): Likewise.
      	(free_target_description): Likewise.
      	* target-memory.c (compare_block_starting_address): Likewise.
      	(cleanup_request_data): Likewise.
      	(cleanup_write_requests_vector): Likewise.
      	* target.c (open_target): Likewise.
      	(cleanup_restore_target_terminal): Likewise.
      	(free_memory_read_result_vector): Likewise.
      	* thread.c (disable_thread_stack_temporaries): Likewise.
      	(finish_thread_state_cleanup): Likewise.
      	(do_restore_current_thread_cleanup): Likewise.
      	(restore_current_thread_cleanup_dtor): Likewise.
      	(set_thread_refcount): Likewise.
      	(tp_array_compar): Likewise.
      	(do_captured_thread_select): Likewise.
      	* tic6x-tdep.c (tic6x_frame_unwind_cache): Likewise.
      	(tic6x_stub_this_id): Likewise.
      	* tilegx-tdep.c (tilegx_frame_cache): Likewise.
      	* top.c (do_restore_instream_cleanup): Likewise.
      	(gdb_readline_wrapper_cleanup): Likewise.
      	(kill_or_detach): Likewise.
      	(print_inferior_quit_action): Likewise.
      	* tracefile-tfile.c (match_blocktype): Likewise.
      	(build_traceframe_info): Likewise.
      	* tracefile.c (trace_file_writer_xfree): Likewise.
      	* tracepoint.c (memrange_cmp): Likewise.
      	(do_collect_symbol): Likewise.
      	(do_clear_collection_list): Likewise.
      	(do_restore_current_traceframe_cleanup): Likewise.
      	(restore_current_traceframe_cleanup_dtor): Likewise.
      	(free_current_marker): Likewise.
      	(traceframe_info_start_memory): Likewise.
      	(traceframe_info_start_tvar): Likewise.
      	(free_result): Likewise.
      	* tramp-frame.c (tramp_frame_cache): Likewise.
      	* tui/tui-file.c (tui_file_delete): Likewise.
      	(tui_fileopen): Likewise.
      	(tui_sfileopen): Likewise.
      	(tui_file_isatty): Likewise.
      	(tui_file_rewind): Likewise.
      	(tui_file_put): Likewise.
      	(tui_file_fputs): Likewise.
      	(tui_file_get_strbuf): Likewise.
      	(tui_file_adjust_strbuf): Likewise.
      	(tui_file_flush): Likewise.
      	* tui/tui-layout.c (make_command_window): Likewise.
      	(make_data_window): Likewise.
      	(show_source_disasm_command): Likewise.
      	(show_data): Likewise.
      	(make_source_or_disasm_window): Likewise.
      	(show_source_or_disasm_and_command): Likewise.
      	* tui/tui-out.c (tui_field_int): Likewise.
      	(tui_field_string): Likewise.
      	(tui_field_fmt): Likewise.
      	(tui_text): Likewise.
      	* typeprint.c (hash_typedef_field): Likewise.
      	(eq_typedef_field): Likewise.
      	(do_free_typedef_hash): Likewise.
      	(copy_typedef_hash_element): Likewise.
      	(do_free_global_table): Likewise.
      	(find_global_typedef): Likewise.
      	(find_typedef_in_hash): Likewise.
      	* ui-file.c (ui_file_write_for_put): Likewise.
      	(do_ui_file_xstrdup): Likewise.
      	(mem_file_delete): Likewise.
      	(mem_file_rewind): Likewise.
      	(mem_file_put): Likewise.
      	(mem_file_write): Likewise.
      	(stdio_file_delete): Likewise.
      	(stdio_file_flush): Likewise.
      	(stdio_file_read): Likewise.
      	(stdio_file_write): Likewise.
      	(stdio_file_write_async_safe): Likewise.
      	(stdio_file_fputs): Likewise.
      	(stdio_file_isatty): Likewise.
      	(stdio_file_fseek): Likewise.
      	(tee_file_delete): Likewise.
      	(tee_file_flush): Likewise.
      	(tee_file_write): Likewise.
      	(tee_file_fputs): Likewise.
      	(tee_file_isatty): Likewise.
      	* ui-out.c (do_cleanup_table_end): Likewise.
      	(do_cleanup_end): Likewise.
      	* user-regs.c (user_reg_add): Likewise.
      	(user_reg_map_name_to_regnum): Likewise.
      	(usernum_to_user_reg): Likewise.
      	(maintenance_print_user_registers): Likewise.
      	* utils.c (do_bfd_close_cleanup): Likewise.
      	(do_fclose_cleanup): Likewise.
      	(do_obstack_free): Likewise.
      	(do_ui_file_delete): Likewise.
      	(do_ui_out_redirect_pop): Likewise.
      	(do_free_section_addr_info): Likewise.
      	(restore_integer): Likewise.
      	(do_unpush_target): Likewise.
      	(do_htab_delete_cleanup): Likewise.
      	(do_restore_ui_file): Likewise.
      	(do_value_free): Likewise.
      	(do_free_so): Likewise.
      	(free_current_contents): Likewise.
      	(do_regfree_cleanup): Likewise.
      	(core_addr_hash): Likewise.
      	(core_addr_eq): Likewise.
      	(do_free_char_ptr_vec): Likewise.
      	* v850-tdep.c (v850_frame_cache): Likewise.
      	* varobj.c (do_free_variable_cleanup): Likewise.
      	* vax-tdep.c (vax_supply_gregset): Likewise.
      	(vax_frame_cache): Likewise.
      	* vaxobsd-tdep.c (vaxobsd_sigtramp_frame_cache): Likewise.
      	* xml-support.c (gdb_xml_body_text): Likewise.
      	(gdb_xml_values_cleanup): Likewise.
      	(gdb_xml_start_element): Likewise.
      	(gdb_xml_start_element_wrapper): Likewise.
      	(gdb_xml_end_element): Likewise.
      	(gdb_xml_end_element_wrapper): Likewise.
      	(gdb_xml_cleanup): Likewise.
      	(gdb_xml_fetch_external_entity): Likewise.
      	(gdb_xml_parse_attr_enum): Likewise.
      	(xinclude_start_include): Likewise.
      	(xinclude_end_include): Likewise.
      	(xml_xinclude_default): Likewise.
      	(xml_xinclude_start_doctype): Likewise.
      	(xml_xinclude_end_doctype): Likewise.
      	(xml_xinclude_cleanup): Likewise.
      	(xml_fetch_content_from_file): Likewise.
      	* xml-syscall.c (free_syscalls_info): Likewise.
      	(syscall_start_syscall): Likewise.
      	* xml-tdesc.c (tdesc_end_arch): Likewise.
      	(tdesc_end_osabi): Likewise.
      	(tdesc_end_compatible): Likewise.
      	(tdesc_start_target): Likewise.
      	(tdesc_start_feature): Likewise.
      	(tdesc_start_reg): Likewise.
      	(tdesc_start_union): Likewise.
      	(tdesc_start_struct): Likewise.
      	(tdesc_start_flags): Likewise.
      	(tdesc_start_field): Likewise.
      	(tdesc_start_vector): Likewise.
      	(fetch_available_features_from_target): Likewise.
      	* xstormy16-tdep.c (xstormy16_frame_cache): Likewise.
      	* xtensa-tdep.c (xtensa_supply_gregset): Likewise.
      	(xtensa_frame_cache): Likewise.
      	(xtensa_frame_prev_register): Likewise.
      	(xtensa_extract_return_value): Likewise.
      19ba03f4
    • Simon Marchi's avatar
      Add casts to memory allocation related calls · 224c3ddb
      Simon Marchi authored
      Most allocation functions (if not all) return a void* pointing to the
      allocated memory.  In C++, we need to add an explicit cast when
      assigning the result to a pointer to another type (which is the case
      more often than not).
      
      The content of this patch is taken from Pedro's branch, from commit
      "(mostly) auto-generated patch to insert casts needed for C++".  I
      validated that the changes make sense and manually reflowed the code to
      make it respect the coding style.  I also found multiple places where I
      could use XNEW/XNEWVEC/XRESIZEVEC/etc.
      
      Thanks a lot to whoever did that automated script to insert casts, doing
      it completely by hand would have taken a ridiculous amount of time.
      
      Only files built on x86 with --enable-targets=all are modified.  This
      means that all other -nat.c files are untouched and will have to be
      dealt with later by using appropiate compilers.  Or maybe we can try to
      build them with a regular g++ just to know where to add casts, I don't
      know.
      
      I built-tested this with --enable-targets=all and reg-tested.
      
      Here's the changelog entry, which was not too bad to make despite the
      size, thanks to David Malcom's script.  I fixed some bits by hand, but
      there might be some wrong parts left (hopefully not).
      
      gdb/ChangeLog:
      
      	* aarch64-linux-tdep.c (aarch64_stap_parse_special_token): Add cast
      	to allocation result assignment.
      	* ada-exp.y (write_object_renaming): Likewise.
      	(write_ambiguous_var): Likewise.
      	(ada_nget_field_index): Likewise.
      	(write_var_or_type): Likewise.
      	* ada-lang.c (ada_decode_symbol): Likewise.
      	(ada_value_assign): Likewise.
      	(value_pointer): Likewise.
      	(cache_symbol): Likewise.
      	(add_nonlocal_symbols): Likewise.
      	(ada_name_for_lookup): Likewise.
      	(symbol_completion_add): Likewise.
      	(ada_to_fixed_type_1): Likewise.
      	(ada_get_next_arg): Likewise.
      	(defns_collected): Likewise.
      	* ada-lex.l (processId): Likewise.
      	(processString): Likewise.
      	* ada-tasks.c (read_known_tasks_array): Likewise.
      	(read_known_tasks_list): Likewise.
      	* ada-typeprint.c (decoded_type_name): Likewise.
      	* addrmap.c (addrmap_mutable_create_fixed): Likewise.
      	* amd64-tdep.c (amd64_push_arguments): Likewise.
      	(amd64_displaced_step_copy_insn): Likewise.
      	(amd64_classify_insn_at): Likewise.
      	(amd64_relocate_instruction): Likewise.
      	* amd64obsd-tdep.c (amd64obsd_sigtramp_p): Likewise.
      	* arch-utils.c (simple_displaced_step_copy_insn): Likewise.
      	(initialize_current_architecture): Likewise.
      	* arm-linux-tdep.c (arm_stap_parse_special_token): Likewise.
      	* arm-symbian-tdep.c (arm_symbian_osabi_sniffer): Likewise.
      	* arm-tdep.c (arm_exidx_new_objfile): Likewise.
      	(arm_push_dummy_call): Likewise.
      	(extend_buffer_earlier): Likewise.
      	(arm_adjust_breakpoint_address): Likewise.
      	(arm_skip_stub): Likewise.
      	* auto-load.c (filename_is_in_pattern): Likewise.
      	(maybe_add_script_file): Likewise.
      	(maybe_add_script_text): Likewise.
      	(auto_load_objfile_script_1): Likewise.
      	* auxv.c (ld_so_xfer_auxv): Likewise.
      	* ax-general.c (new_agent_expr): Likewise.
      	(grow_expr): Likewise.
      	(ax_reg_mask): Likewise.
      	* bcache.c (bcache_full): Likewise.
      	* breakpoint.c (program_breakpoint_here_p): Likewise.
      	* btrace.c (parse_xml_raw): Likewise.
      	* build-id.c (build_id_to_debug_bfd): Likewise.
      	* buildsym.c (end_symtab_with_blockvector): Likewise.
      	* c-exp.y (string_exp): Likewise.
      	(qualified_name): Likewise.
      	(write_destructor_name): Likewise.
      	(operator_stoken): Likewise.
      	(parse_number): Likewise.
      	(scan_macro_expansion): Likewise.
      	(yylex): Likewise.
      	(c_print_token): Likewise.
      	* c-lang.c (c_get_string): Likewise.
      	(emit_numeric_character): Likewise.
      	* charset.c (wchar_iterate): Likewise.
      	* cli/cli-cmds.c (complete_command): Likewise.
      	(make_command): Likewise.
      	* cli/cli-dump.c (restore_section_callback): Likewise.
      	(restore_binary_file): Likewise.
      	* cli/cli-interp.c (cli_interpreter_exec): Likewise.
      	* cli/cli-script.c (execute_control_command): Likewise.
      	* cli/cli-setshow.c (do_set_command): Likewise.
      	* coff-pe-read.c (add_pe_forwarded_sym): Likewise.
      	(read_pe_exported_syms): Likewise.
      	* coffread.c (coff_read_struct_type): Likewise.
      	(coff_read_enum_type): Likewise.
      	* common/btrace-common.c (btrace_data_append): Likewise.
      	* common/buffer.c (buffer_grow): Likewise.
      	* common/filestuff.c (gdb_fopen_cloexec): Likewise.
      	* common/format.c (parse_format_string): Likewise.
      	* common/gdb_vecs.c (delim_string_to_char_ptr_vec_append): Likewise.
      	* common/xml-utils.c (xml_escape_text): Likewise.
      	* compile/compile-object-load.c (copy_sections): Likewise.
      	(compile_object_load): Likewise.
      	* compile/compile-object-run.c (compile_object_run): Likewise.
      	* completer.c (filename_completer): Likewise.
      	* corefile.c (read_memory_typed_address): Likewise.
      	(write_memory_unsigned_integer): Likewise.
      	(write_memory_signed_integer): Likewise.
      	(complete_set_gnutarget): Likewise.
      	* corelow.c (get_core_register_section): Likewise.
      	* cp-name-parser.y (d_grab): Likewise.
      	(allocate_info): Likewise.
      	(cp_new_demangle_parse_info): Likewise.
      	* cp-namespace.c (cp_scan_for_anonymous_namespaces): Likewise.
      	(cp_lookup_symbol_in_namespace): Likewise.
      	(lookup_namespace_scope): Likewise.
      	(find_symbol_in_baseclass): Likewise.
      	(cp_lookup_nested_symbol): Likewise.
      	(cp_lookup_transparent_type_loop): Likewise.
      	* cp-support.c (copy_string_to_obstack): Likewise.
      	(make_symbol_overload_list): Likewise.
      	(make_symbol_overload_list_namespace): Likewise.
      	(make_symbol_overload_list_adl_namespace): Likewise.
      	(first_component_command): Likewise.
      	* cp-valprint.c (cp_print_value): Likewise.
      	* ctf.c (ctf_xfer_partial): Likewise.
      	* d-exp.y (StringExp): Likewise.
      	* d-namespace.c (d_lookup_symbol_in_module): Likewise.
      	(lookup_module_scope): Likewise.
      	(find_symbol_in_baseclass): Likewise.
      	(d_lookup_nested_symbol): Likewise.
      	* dbxread.c (find_stab_function_addr): Likewise.
      	(read_dbx_symtab): Likewise.
      	(dbx_end_psymtab): Likewise.
      	(cp_set_block_scope): Likewise.
      	* dcache.c (dcache_alloc): Likewise.
      	* demangle.c (_initialize_demangler): Likewise.
      	* dicos-tdep.c (dicos_load_module_p): Likewise.
      	* dictionary.c (dict_create_hashed_expandable): Likewise.
      	(dict_create_linear_expandable): Likewise.
      	(expand_hashtable): Likewise.
      	(add_symbol_linear_expandable): Likewise.
      	* dwarf2-frame.c (add_cie): Likewise.
      	(add_fde): Likewise.
      	(dwarf2_build_frame_info): Likewise.
      	* dwarf2expr.c (dwarf_expr_grow_stack): Likewise.
      	(dwarf_expr_fetch_address): Likewise.
      	(add_piece): Likewise.
      	(execute_stack_op): Likewise.
      	* dwarf2loc.c (chain_candidate): Likewise.
      	(dwarf_entry_parameter_to_value): Likewise.
      	(read_pieced_value): Likewise.
      	(write_pieced_value): Likewise.
      	* dwarf2read.c (dwarf2_read_section): Likewise.
      	(add_type_unit): Likewise.
      	(read_comp_units_from_section): Likewise.
      	(fixup_go_packaging): Likewise.
      	(dwarf2_compute_name): Likewise.
      	(dwarf2_physname): Likewise.
      	(create_dwo_unit_in_dwp_v1): Likewise.
      	(create_dwo_unit_in_dwp_v2): Likewise.
      	(read_func_scope): Likewise.
      	(read_call_site_scope): Likewise.
      	(dwarf2_attach_fields_to_type): Likewise.
      	(process_structure_scope): Likewise.
      	(mark_common_block_symbol_computed): Likewise.
      	(read_common_block): Likewise.
      	(abbrev_table_read_table): Likewise.
      	(guess_partial_die_structure_name): Likewise.
      	(fixup_partial_die): Likewise.
      	(add_file_name): Likewise.
      	(dwarf2_const_value_data): Likewise.
      	(dwarf2_const_value_attr): Likewise.
      	(build_error_marker_type): Likewise.
      	(guess_full_die_structure_name): Likewise.
      	(anonymous_struct_prefix): Likewise.
      	(typename_concat): Likewise.
      	(dwarf2_canonicalize_name): Likewise.
      	(dwarf2_name): Likewise.
      	(write_constant_as_bytes): Likewise.
      	(dwarf2_fetch_constant_bytes): Likewise.
      	(copy_string): Likewise.
      	(parse_macro_definition): Likewise.
      	* elfread.c (elf_symfile_segments): Likewise.
      	(elf_rel_plt_read): Likewise.
      	(elf_gnu_ifunc_resolve_by_cache): Likewise.
      	(elf_gnu_ifunc_resolve_by_got): Likewise.
      	(elf_read_minimal_symbols): Likewise.
      	(elf_gnu_ifunc_record_cache): Likewise.
      	* event-top.c (top_level_prompt): Likewise.
      	(command_line_handler): Likewise.
      	* exec.c (resize_section_table): Likewise.
      	* expprint.c (print_subexp_standard): Likewise.
      	* fbsd-tdep.c (fbsd_collect_regset_section_cb): Likewise.
      	* findcmd.c (parse_find_args): Likewise.
      	* findvar.c (address_from_register): Likewise.
      	* frame.c (get_prev_frame_always): Likewise.
      	* gdb_bfd.c (gdb_bfd_ref): Likewise.
      	(get_section_descriptor): Likewise.
      	* gdb_obstack.c (obconcat): Likewise.
      	(obstack_strdup): Likewise.
      	* gdbtypes.c (lookup_function_type_with_arguments): Likewise.
      	(create_set_type): Likewise.
      	(lookup_unsigned_typename): Likewise.
      	(lookup_signed_typename): Likewise.
      	(resolve_dynamic_union): Likewise.
      	(resolve_dynamic_struct): Likewise.
      	(add_dyn_prop): Likewise.
      	(copy_dynamic_prop_list): Likewise.
      	(arch_flags_type): Likewise.
      	(append_composite_type_field_raw): Likewise.
      	* gdbtypes.h (INIT_FUNC_SPECIFIC): Likewise.
      	* gnu-v3-abi.c (gnuv3_rtti_type): Likewise.
      	* go-exp.y (string_exp): Likewise.
      	* go-lang.c (go_demangle): Likewise.
      	* guile/guile.c (compute_scheme_string): Likewise.
      	* guile/scm-cmd.c (gdbscm_parse_command_name): Likewise.
      	(gdbscm_canonicalize_command_name): Likewise.
      	* guile/scm-ports.c (ioscm_init_stdio_buffers): Likewise.
      	(ioscm_init_memory_port): Likewise.
      	(ioscm_reinit_memory_port): Likewise.
      	* guile/scm-utils.c (gdbscm_gc_xstrdup): Likewise.
      	(gdbscm_gc_dup_argv): Likewise.
      	* h8300-tdep.c (h8300_push_dummy_call): Likewise.
      	* hppa-tdep.c (internalize_unwinds): Likewise.
      	(read_unwind_info): Likewise.
      	* i386-cygwin-tdep.c (core_process_module_section): Likewise.
      	(windows_core_xfer_shared_libraries): Likewise.
      	* i386-tdep.c (i386_displaced_step_copy_insn): Likewise.
      	(i386_stap_parse_special_token_triplet): Likewise.
      	(i386_stap_parse_special_token_three_arg_disp): Likewise.
      	* i386obsd-tdep.c (i386obsd_sigtramp_p): Likewise.
      	* inf-child.c (inf_child_fileio_readlink): Likewise.
      	* inf-ptrace.c (inf_ptrace_fetch_register): Likewise.
      	(inf_ptrace_store_register): Likewise.
      	* infrun.c (follow_exec): Likewise.
      	(displaced_step_prepare_throw): Likewise.
      	(save_stop_context): Likewise.
      	(save_infcall_suspend_state): Likewise.
      	* jit.c (jit_read_descriptor): Likewise.
      	(jit_read_code_entry): Likewise.
      	(jit_symtab_line_mapping_add_impl): Likewise.
      	(finalize_symtab): Likewise.
      	(jit_unwind_reg_get_impl): Likewise.
      	* jv-exp.y (QualifiedName): Likewise.
      	* jv-lang.c (get_java_utf8_name): Likewise.
      	(type_from_class): Likewise.
      	(java_demangle_type_signature): Likewise.
      	(java_class_name_from_physname): Likewise.
      	* jv-typeprint.c (java_type_print_base): Likewise.
      	* jv-valprint.c (java_value_print): Likewise.
      	* language.c (add_language): Likewise.
      	* linespec.c (add_sal_to_sals_basic): Likewise.
      	(add_sal_to_sals): Likewise.
      	(decode_objc): Likewise.
      	(find_linespec_symbols): Likewise.
      	* linux-fork.c (fork_save_infrun_state): Likewise.
      	* linux-nat.c (linux_nat_detach): Likewise.
      	(linux_nat_fileio_readlink): Likewise.
      	* linux-record.c (record_linux_sockaddr): Likewise.
      	(record_linux_msghdr): Likewise.
      	(Do): Likewise.
      	* linux-tdep.c (linux_core_info_proc_mappings): Likewise.
      	(linux_collect_regset_section_cb): Likewise.
      	(linux_get_siginfo_data): Likewise.
      	* linux-thread-db.c (try_thread_db_load_from_pdir_1): Likewise.
      	(try_thread_db_load_from_dir): Likewise.
      	(thread_db_load_search): Likewise.
      	(info_auto_load_libthread_db): Likewise.
      	* m32c-tdep.c (m32c_m16c_address_to_pointer): Likewise.
      	(m32c_m16c_pointer_to_address): Likewise.
      	* m68hc11-tdep.c (m68hc11_pseudo_register_write): Likewise.
      	* m68k-tdep.c (m68k_get_longjmp_target): Likewise.
      	* machoread.c (macho_check_dsym): Likewise.
      	* macroexp.c (resize_buffer): Likewise.
      	(gather_arguments): Likewise.
      	(maybe_expand): Likewise.
      	* macrotab.c (new_macro_key): Likewise.
      	(new_source_file): Likewise.
      	(new_macro_definition): Likewise.
      	* mdebugread.c (parse_symbol): Likewise.
      	(parse_type): Likewise.
      	(parse_partial_symbols): Likewise.
      	(psymtab_to_symtab_1): Likewise.
      	* mem-break.c (default_memory_insert_breakpoint): Likewise.
      	* mi/mi-cmd-break.c (mi_argv_to_format): Likewise.
      	* mi/mi-main.c (mi_cmd_data_read_memory): Likewise.
      	(mi_cmd_data_read_memory_bytes): Likewise.
      	(mi_cmd_data_write_memory_bytes): Likewise.
      	(mi_cmd_trace_frame_collected): Likewise.
      	* mi/mi-parse.c (mi_parse_argv): Likewise.
      	(mi_parse): Likewise.
      	* minidebug.c (lzma_open): Likewise.
      	(lzma_pread): Likewise.
      	* mips-tdep.c (mips_read_fp_register_single): Likewise.
      	(mips_print_fp_register): Likewise.
      	* mipsnbsd-tdep.c (mipsnbsd_get_longjmp_target): Likewise.
      	* mipsread.c (read_alphacoff_dynamic_symtab): Likewise.
      	* mt-tdep.c (mt_register_name): Likewise.
      	(mt_registers_info): Likewise.
      	(mt_push_dummy_call): Likewise.
      	* namespace.c (add_using_directive): Likewise.
      	* nat/linux-btrace.c (perf_event_read): Likewise.
      	(linux_enable_bts): Likewise.
      	* nat/linux-osdata.c (linux_common_core_of_thread): Likewise.
      	* nat/linux-ptrace.c (linux_ptrace_test_ret_to_nx): Likewise.
      	* nto-tdep.c (nto_find_and_open_solib): Likewise.
      	(nto_parse_redirection): Likewise.
      	* objc-lang.c (objc_demangle): Likewise.
      	(find_methods): Likewise.
      	* objfiles.c (get_objfile_bfd_data): Likewise.
      	(set_objfile_main_name): Likewise.
      	(allocate_objfile): Likewise.
      	(objfile_relocate): Likewise.
      	(update_section_map): Likewise.
      	* osabi.c (generic_elf_osabi_sniff_abi_tag_sections): Likewise.
      	* p-exp.y (exp): Likewise.
      	(yylex): Likewise.
      	* p-valprint.c (pascal_object_print_value): Likewise.
      	* parse.c (initialize_expout): Likewise.
      	(mark_completion_tag): Likewise.
      	(copy_name): Likewise.
      	(parse_float): Likewise.
      	(type_stack_reserve): Likewise.
      	* ppc-linux-tdep.c (ppc_stap_parse_special_token): Likewise.
      	(ppu2spu_prev_register): Likewise.
      	* ppc-ravenscar-thread.c (supply_register_at_address): Likewise.
      	* printcmd.c (printf_wide_c_string): Likewise.
      	(printf_pointer): Likewise.
      	* probe.c (parse_probes): Likewise.
      	* python/py-cmd.c (gdbpy_parse_command_name): Likewise.
      	(cmdpy_init): Likewise.
      	* python/py-gdb-readline.c (gdbpy_readline_wrapper): Likewise.
      	* python/py-symtab.c (set_sal): Likewise.
      	* python/py-unwind.c (pyuw_sniffer): Likewise.
      	* python/python.c (python_interactive_command): Likewise.
      	(compute_python_string): Likewise.
      	* ravenscar-thread.c (get_running_thread_id): Likewise.
      	* record-full.c (record_full_exec_insn): Likewise.
      	(record_full_core_open_1): Likewise.
      	* regcache.c (regcache_raw_read_signed): Likewise.
      	(regcache_raw_read_unsigned): Likewise.
      	(regcache_cooked_read_signed): Likewise.
      	(regcache_cooked_read_unsigned): Likewise.
      	* remote-fileio.c (remote_fileio_func_open): Likewise.
      	(remote_fileio_func_rename): Likewise.
      	(remote_fileio_func_unlink): Likewise.
      	(remote_fileio_func_stat): Likewise.
      	(remote_fileio_func_system): Likewise.
      	* remote-mips.c (mips_xfer_memory): Likewise.
      	(mips_load_srec): Likewise.
      	(pmon_end_download): Likewise.
      	* remote.c (new_remote_state): Likewise.
      	(map_regcache_remote_table): Likewise.
      	(remote_register_number_and_offset): Likewise.
      	(init_remote_state): Likewise.
      	(get_memory_packet_size): Likewise.
      	(remote_pass_signals): Likewise.
      	(remote_program_signals): Likewise.
      	(remote_start_remote): Likewise.
      	(remote_check_symbols): Likewise.
      	(remote_query_supported): Likewise.
      	(extended_remote_attach): Likewise.
      	(process_g_packet): Likewise.
      	(store_registers_using_G): Likewise.
      	(putpkt_binary): Likewise.
      	(read_frame): Likewise.
      	(compare_sections_command): Likewise.
      	(remote_hostio_pread): Likewise.
      	(remote_hostio_readlink): Likewise.
      	(remote_file_put): Likewise.
      	(remote_file_get): Likewise.
      	(remote_pid_to_exec_file): Likewise.
      	(_initialize_remote): Likewise.
      	* rs6000-aix-tdep.c (rs6000_aix_ld_info_to_xml): Likewise.
      	(rs6000_aix_core_xfer_shared_libraries_aix): Likewise.
      	* rs6000-tdep.c (ppc_displaced_step_copy_insn): Likewise.
      	(bfd_uses_spe_extensions): Likewise.
      	* s390-linux-tdep.c (s390_displaced_step_copy_insn): Likewise.
      	* score-tdep.c (score7_malloc_and_get_memblock): Likewise.
      	* solib-dsbt.c (decode_loadmap): Likewise.
      	(fetch_loadmap): Likewise.
      	(scan_dyntag): Likewise.
      	(enable_break): Likewise.
      	(dsbt_relocate_main_executable): Likewise.
      	* solib-frv.c (fetch_loadmap): Likewise.
      	(enable_break2): Likewise.
      	(frv_relocate_main_executable): Likewise.
      	* solib-spu.c (spu_relocate_main_executable): Likewise.
      	(spu_bfd_open): Likewise.
      	* solib-svr4.c (lm_info_read): Likewise.
      	(read_program_header): Likewise.
      	(find_program_interpreter): Likewise.
      	(scan_dyntag): Likewise.
      	(elf_locate_base): Likewise.
      	(open_symbol_file_object): Likewise.
      	(read_program_headers_from_bfd): Likewise.
      	(svr4_relocate_main_executable): Likewise.
      	* solib-target.c (solib_target_relocate_section_addresses): Likewise.
      	* solib.c (solib_find_1): Likewise.
      	(exec_file_find): Likewise.
      	(solib_find): Likewise.
      	* source.c (openp): Likewise.
      	(print_source_lines_base): Likewise.
      	(forward_search_command): Likewise.
      	* sparc-ravenscar-thread.c (supply_register_at_address): Likewise.
      	* spu-tdep.c (spu2ppu_prev_register): Likewise.
      	(spu_get_overlay_table): Likewise.
      	* stabsread.c (patch_block_stabs): Likewise.
      	(define_symbol): Likewise.
      	(again:): Likewise.
      	(read_member_functions): Likewise.
      	(read_one_struct_field): Likewise.
      	(read_enum_type): Likewise.
      	(common_block_start): Likewise.
      	* stack.c (read_frame_arg): Likewise.
      	(backtrace_command): Likewise.
      	* stap-probe.c (stap_parse_register_operand): Likewise.
      	* symfile.c (syms_from_objfile_1): Likewise.
      	(find_separate_debug_file): Likewise.
      	(load_command): Likewise.
      	(load_progress): Likewise.
      	(load_section_callback): Likewise.
      	(reread_symbols): Likewise.
      	(add_filename_language): Likewise.
      	(allocate_compunit_symtab): Likewise.
      	(read_target_long_array): Likewise.
      	(simple_read_overlay_table): Likewise.
      	* symtab.c (symbol_set_names): Likewise.
      	(resize_symbol_cache): Likewise.
      	(rbreak_command): Likewise.
      	(completion_list_add_name): Likewise.
      	(completion_list_objc_symbol): Likewise.
      	(add_filename_to_list): Likewise.
      	* target-descriptions.c (maint_print_c_tdesc_cmd): Likewise.
      	* target-memory.c (target_write_memory_blocks): Likewise.
      	* target.c (target_read_string): Likewise.
      	(read_whatever_is_readable): Likewise.
      	(target_read_alloc_1): Likewise.
      	(simple_search_memory): Likewise.
      	(target_fileio_read_alloc_1): Likewise.
      	* tilegx-tdep.c (tilegx_push_dummy_call): Likewise.
      	* top.c (command_line_input): Likewise.
      	* tracefile-tfile.c (tfile_fetch_registers): Likewise.
      	* tracefile.c (tracefile_fetch_registers): Likewise.
      	* tracepoint.c (add_memrange): Likewise.
      	(init_collection_list): Likewise.
      	(add_aexpr): Likewise.
      	(trace_dump_actions): Likewise.
      	(parse_trace_status): Likewise.
      	(parse_tracepoint_definition): Likewise.
      	(parse_tsv_definition): Likewise.
      	(parse_static_tracepoint_marker_definition): Likewise.
      	* tui/tui-file.c (tui_sfileopen): Likewise.
      	(tui_file_adjust_strbuf): Likewise.
      	* tui/tui-io.c (tui_expand_tabs): Likewise.
      	* tui/tui-source.c (tui_set_source_content): Likewise.
      	* typeprint.c (find_global_typedef): Likewise.
      	* ui-file.c (do_ui_file_xstrdup): Likewise.
      	(ui_file_obsavestring): Likewise.
      	(mem_file_write): Likewise.
      	* utils.c (make_hex_string): Likewise.
      	(get_regcomp_error): Likewise.
      	(puts_filtered_tabular): Likewise.
      	(gdb_realpath_keepfile): Likewise.
      	(ldirname): Likewise.
      	(gdb_bfd_errmsg): Likewise.
      	(substitute_path_component): Likewise.
      	* valops.c (search_struct_method): Likewise.
      	(find_oload_champ_namespace_loop): Likewise.
      	* valprint.c (print_decimal_chars): Likewise.
      	(read_string): Likewise.
      	(generic_emit_char): Likewise.
      	* varobj.c (varobj_delete): Likewise.
      	(varobj_value_get_print_value): Likewise.
      	* vaxobsd-tdep.c (vaxobsd_sigtramp_sniffer): Likewise.
      	* windows-tdep.c (display_one_tib): Likewise.
      	* xcoffread.c (read_xcoff_symtab): Likewise.
      	(process_xcoff_symbol): Likewise.
      	(swap_sym): Likewise.
      	(scan_xcoff_symtab): Likewise.
      	(xcoff_initial_scan): Likewise.
      	* xml-support.c (gdb_xml_end_element): Likewise.
      	(xml_process_xincludes): Likewise.
      	(xml_fetch_content_from_file): Likewise.
      	* xml-syscall.c (xml_list_of_syscalls): Likewise.
      	* xstormy16-tdep.c (xstormy16_push_dummy_call): Likewise.
      
      gdb/gdbserver/ChangeLog:
      
      	* ax.c (gdb_parse_agent_expr): Add cast to allocation result
      	assignment.
      	(gdb_unparse_agent_expr): Likewise.
      	* hostio.c (require_data): Likewise.
      	(handle_pread): Likewise.
      	* linux-low.c (disable_regset): Likewise.
      	(fetch_register): Likewise.
      	(store_register): Likewise.
      	(get_dynamic): Likewise.
      	(linux_qxfer_libraries_svr4): Likewise.
      	* mem-break.c (delete_fast_tracepoint_jump): Likewise.
      	(set_fast_tracepoint_jump): Likewise.
      	(uninsert_fast_tracepoint_jumps_at): Likewise.
      	(reinsert_fast_tracepoint_jumps_at): Likewise.
      	(validate_inserted_breakpoint): Likewise.
      	(clone_agent_expr): Likewise.
      	* regcache.c (init_register_cache): Likewise.
      	* remote-utils.c (putpkt_binary_1): Likewise.
      	(decode_M_packet): Likewise.
      	(decode_X_packet): Likewise.
      	(look_up_one_symbol): Likewise.
      	(relocate_instruction): Likewise.
      	(monitor_output): Likewise.
      	* server.c (handle_search_memory): Likewise.
      	(handle_qxfer_exec_file): Likewise.
      	(handle_qxfer_libraries): Likewise.
      	(handle_qxfer): Likewise.
      	(handle_query): Likewise.
      	(handle_v_cont): Likewise.
      	(handle_v_run): Likewise.
      	(captured_main): Likewise.
      	* target.c (write_inferior_memory): Likewise.
      	* thread-db.c (try_thread_db_load_from_dir): Likewise.
      	* tracepoint.c (init_trace_buffer): Likewise.
      	(add_tracepoint_action): Likewise.
      	(add_traceframe): Likewise.
      	(add_traceframe_block): Likewise.
      	(cmd_qtdpsrc): Likewise.
      	(cmd_qtdv): Likewise.
      	(cmd_qtstatus): Likewise.
      	(response_source): Likewise.
      	(response_tsv): Likewise.
      	(cmd_qtnotes): Likewise.
      	(gdb_collect): Likewise.
      	(initialize_tracepoint): Likewise.
      224c3ddb
  29. Aug 04, 2015
    • Ciro Santilli's avatar
      python: fix Linetable case to LineTable in docstrings and comments · 4efd80aa
      Ciro Santilli authored
      The class is called LineTable, not Linetable, as specified by
      py-linetable.c/gdbpy_initialize_linetable:
      
          if (gdb_pymodule_addobject (gdb_module, "LineTable",
      
      gdb/ChangeLog:
      
              * python/py-linetable.c: Fix case of Linetable to LineTable
              in docstrings and code comments.
              * python/py-symtab.c: Same.
      4efd80aa
  30. Feb 11, 2015
    • Tom Tromey's avatar
      Fix redefinition errors in C++ mode · e36122e9
      Tom Tromey authored
      In C, we can forward declare static structure instances.  That doesn't
      work in C++ though.  C++ treats these as definitions.  So then the
      compiler complains about symbol redefinition, like:
      
       src/gdb/elfread.c:1569:29: error: redefinition of ‘const sym_fns elf_sym_fns_lazy_psyms’
       src/gdb/elfread.c:53:29: error: ‘const sym_fns elf_sym_fns_lazy_psyms’ previously declared here
      
      The intent of static here is naturally to avoid making these objects
      visible outside the compilation unit.  The equivalent in C++ would be
      to instead define the objects in the anonymous namespace.  But given
      that it's desirable to leave the codebase compiling as both C and C++
      for a while, this just makes the objects extern.
      
      (base_breakpoint_ops is already declared in breakpoint.h, so we can
      just remove the forward declare from breakpoint.c)
      
      gdb/ChangeLog:
      2015-02-11  Tom Tromey  <tromey@redhat.com>
      	    Pedro Alves <palves@redhat.com>
      
      	* breakpoint.c (base_breakpoint_ops): Delete.
      	* dwarf2loc.c (dwarf_expr_ctx_funcs): Make extern.
      	* elfread.c (elf_sym_fns_gdb_index, elf_sym_fns_lazy_psyms): Make extern.
      	* guile/guile.c (guile_extension_script_ops, guile_extension_ops): Make extern.
      	* ppcnbsd-tdep.c (ppcnbsd2_sigtramp): Make extern.
      	* python/py-arch.c (arch_object_type): Make extern.
      	* python/py-block.c (block_syms_iterator_object_type): Make extern.
      	* python/py-bpevent.c (breakpoint_event_object_type): Make extern.
      	* python/py-cmd.c (cmdpy_object_type): Make extern.
      	* python/py-continueevent.c (continue_event_object_type)
      	* python/py-event.h (GDBPY_NEW_EVENT_TYPE): Remove 'qual'
      	parameter.  Update all callers.
      	* python/py-evtregistry.c (eventregistry_object_type): Make extern.
      	* python/py-exitedevent.c (exited_event_object_type): Make extern.
      	* python/py-finishbreakpoint.c (finish_breakpoint_object_type): Make extern.
      	* python/py-function.c (fnpy_object_type): Make extern.
      	* python/py-inferior.c (inferior_object_type, membuf_object_type): Make extern.
      	* python/py-infevents.c (call_pre_event_object_type)
      	(inferior_call_post_event_object_type).
      	(memory_changed_event_object_type): Make extern.
      	* python/py-infthread.c (thread_object_type): Make extern.
      	* python/py-lazy-string.c (lazy_string_object_type): Make extern.
      	* python/py-linetable.c (linetable_entry_object_type)
      	(linetable_object_type, ltpy_iterator_object_type): Make extern.
      	* python/py-newobjfileevent.c (new_objfile_event_object_type)
      	(clear_objfiles_event_object_type): Make extern.
      	* python/py-objfile.c (objfile_object_type): Make extern.
      	* python/py-param.c (parmpy_object_type): Make extern.
      	* python/py-progspace.c (pspace_object_type): Make extern.
      	* python/py-signalevent.c (signal_event_object_type): Make extern.
      	* python/py-symtab.c (symtab_object_type, sal_object_type): Make extern.
      	* python/py-type.c (type_object_type, field_object_type)
      	(type_iterator_object_type): Make extern.
      	* python/python.c (python_extension_script_ops)
      	(python_extension_ops): Make extern.
      	* stap-probe.c (stap_probe_ops): Make extern.
      e36122e9
  31. Jan 01, 2015
  32. Nov 20, 2014
    • Doug Evans's avatar
      Split struct symtab into two: struct symtab and compunit_symtab. · 43f3e411
      Doug Evans authored
      Currently "symtabs" in gdb are stored as a single linked list of
      struct symtab that contains both symbol symtabs (the blockvectors)
      and file symtabs (the linetables).
      
      This has led to confusion, bugs, and performance issues.
      
      This patch is conceptually very simple: split struct symtab into
      two pieces: one part containing things common across the entire
      compilation unit, and one part containing things specific to each
      source file.
      
      Example.
      For the case of a program built out of these files:
      
      foo.c
        foo1.h
        foo2.h
      bar.c
        foo1.h
        bar.h
      
      Today we have a single list of struct symtabs:
      
      objfile -> foo.c -> foo1.h -> foo2.h -> bar.c -> foo1.h -> bar.h -> NULL
      
      where "->" means the "next" pointer in struct symtab.
      
      With this patch, that turns into:
      
      objfile -> foo.c(cu) -> bar.c(cu) -> NULL
                  |            |
                  v            v
                 foo.c        bar.c
                  |            |
                  v            v
                 foo1.h       foo1.h
                  |            |
                  v            v
                 foo2.h       bar.h
                  |            |
                  v            v
                 NULL         NULL
      
      where "foo.c(cu)" and "bar.c(cu)" are struct compunit_symtab objects,
      and the files foo.c, etc. are struct symtab objects.
      
      So now, for example, when we want to iterate over all blockvectors
      we can now just iterate over the compunit_symtab list.
      
      Plus a lot of the data that was either unused or replicated for each
      symtab in a compilation unit now lives in struct compunit_symtab.
      E.g., the objfile pointer, the producer string, etc.
      I thought of moving "language" out of struct symtab but there is
      logic to try to compute the language based on previously seen files,
      and I think that's best left as is for now.
      With my standard monster benchmark with -readnow (which I can't actually
      do, but based on my calculations), whereas today the list requires
      77MB to store all the struct symtabs, it now only requires 37MB.
      A modest space savings given the gigabytes needed for all the debug info,
      etc.  Still, it's nice.  Plus, whereas today we create a copy of dirname
      for each source file symtab in a compilation unit, we now only create one
      for the compunit.
      
      So this patch is basically just a data structure reorg,
      I don't expect significant performance improvements from it.
      
      Notes:
      
      1) A followup patch can do a similar split for struct partial_symtab.
      I have left that until after I get the changes I want in to
      better utilize .gdb_index (it may affect how we do partial syms).
      
      2) Another followup patch *could* rename struct symtab.
      The term "symtab" is ambiguous and has been a source of confusion.
      In this patch I'm leaving it alone, calling it the "historical" name
      of "filetabs", which is what they are now: just the file-name + line-table.
      
      gdb/ChangeLog:
      
      	Split struct symtab into two: struct symtab and compunit_symtab.
      	* amd64-tdep.c (amd64_skip_xmm_prologue): Fetch producer from compunit.
      	* block.c (blockvector_for_pc_sect): Change "struct symtab *" argument
      	to "struct compunit_symtab *".  All callers updated.
      	(set_block_compunit_symtab): Renamed from set_block_symtab.  Change
      	"struct symtab *" argument to "struct compunit_symtab *".
      	All callers updated.
      	(get_block_compunit_symtab): Renamed from get_block_symtab.  Change
      	result to "struct compunit_symtab *".  All callers updated.
      	(find_iterator_compunit_symtab): Renamed from find_iterator_symtab.
      	Change result to "struct compunit_symtab *".  All callers updated.
      	* block.h (struct global_block) <compunit_symtab>: Renamed from symtab.
      	hange type to "struct compunit_symtab *".  All uses updated.
      	(struct block_iterator) <d.compunit_symtab>: Renamed from "d.symtab".
      	Change type to "struct compunit_symtab *".  All uses updated.
      	* buildsym.c (struct buildsym_compunit): New struct.
      	(subfiles, buildsym_compdir, buildsym_objfile, main_subfile): Delete.
      	(buildsym_compunit): New static global.
      	(finish_block_internal): Update to fetch objfile from
      	buildsym_compunit.
      	(make_blockvector): Delete objfile argument.
      	(start_subfile): Rewrite to use buildsym_compunit.  Don't initialize
      	debugformat, producer.
      	(start_buildsym_compunit): New function.
      	(free_buildsym_compunit): Renamed from free_subfiles_list.
      	All callers updated.
      	(patch_subfile_names): Rewrite to use buildsym_compunit.
      	(get_compunit_symtab): New function.
      	(get_macro_table): Delete argument comp_dir.  All callers updated.
      	(start_symtab): Change result to "struct compunit_symtab *".
      	All callers updated.  Create the subfile of the main source file.
      	(watch_main_source_file_lossage): Rewrite to use buildsym_compunit.
      	(reset_symtab_globals): Update.
      	(end_symtab_get_static_block): Update to use buildsym_compunit.
      	(end_symtab_without_blockvector): Rewrite.
      	(end_symtab_with_blockvector): Change result to
      	"struct compunit_symtab *".  All callers updated.
      	Update to use buildsym_compunit.  Don't set symtab->dirname,
      	instead set it in the compunit.
      	Explicitly make sure main symtab is first in its list.
      	Set debugformat, producer, blockvector, block_line_section, and
      	macrotable in the compunit.
      	(end_symtab_from_static_block): Change result to
      	"struct compunit_symtab *".  All callers updated.
      	(end_symtab, end_expandable_symtab): Ditto.
      	(set_missing_symtab): Change symtab argument to
      	"struct compunit_symtab *".  All callers updated.
      	(augment_type_symtab): Ditto.
      	(record_debugformat): Update to use buildsym_compunit.
      	(record_producer): Update to use buildsym_compunit.
      	* buildsym.h (struct subfile) <dirname>: Delete.
      	<producer, debugformat>: Delete.
      	<buildsym_compunit>: New member.
      	(get_compunit_symtab): Declare.
      	* dwarf2read.c (struct type_unit_group) <compunit_symtab>: Renamed
      	from primary_symtab.  Change type to "struct compunit_symtab *".
      	All uses updated.
      	(dwarf2_start_symtab): Change result to "struct compunit_symtab *".
      	All callers updated.
      	(dwarf_decode_macros): Delete comp_dir argument.  All callers updated.
      	(struct dwarf2_per_cu_quick_data) <compunit_symtab>: Renamed from
      	symtab.  Change type to "struct compunit_symtab *".  All uses updated.
      	(dw2_instantiate_symtab): Change result to "struct compunit_symtab *".
      	All callers updated.
      	(dw2_find_last_source_symtab): Ditto.
      	(dw2_lookup_symbol): Ditto.
      	(recursively_find_pc_sect_compunit_symtab): Renamed from
      	recursively_find_pc_sect_symtab.  Change result to
      	"struct compunit_symtab *".  All callers updated.
      	(dw2_find_pc_sect_compunit_symtab): Renamed from
      	dw2_find_pc_sect_symtab.  Change result to
      	"struct compunit_symtab *".  All callers updated.
      	(get_compunit_symtab): Renamed from get_symtab.  Change result to
      	"struct compunit_symtab *".  All callers updated.
      	(recursively_compute_inclusions): Change type of immediate_parent
      	argument to "struct compunit_symtab *".  All callers updated.
      	(compute_compunit_symtab_includes): Renamed from
      	compute_symtab_includes.  All callers updated.  Rewrite to compute
      	includes of compunit_symtabs and not symtabs.
      	(process_full_comp_unit): Update to work with struct compunit_symtab.
      	(process_full_type_unit): Ditto.
      	(dwarf_decode_lines_1): Delete argument comp_dir.  All callers updated.
      	(dwarf_decode_lines): Remove special case handling of main subfile.
      	(macro_start_file): Delete argument comp_dir.  All callers updated.
      	(dwarf_decode_macro_bytes): Ditto.
      	* guile/scm-block.c (bkscm_print_block_syms_progress_smob): Update to
      	use struct compunit_symtab.
      	* i386-tdep.c (i386_skip_prologue): Fetch producer from compunit.
      	* jit.c (finalize_symtab): Build compunit_symtab.
      	* jv-lang.c (get_java_class_symtab): Change result to
      	"struct compunit_symtab *".  All callers updated.
      	* macroscope.c (sal_macro_scope): Fetch macro table from compunit.
      	* macrotab.c (struct macro_table) <compunit_symtab>: Renamed from
      	comp_dir.  Change type to "struct compunit_symtab *".
      	All uses updated.
      	(new_macro_table): Change comp_dir argument to cust,
      	"struct compunit_symtab *".  All callers updated.
      	* maint.c (struct cmd_stats) <nr_compunit_symtabs>: Renamed from
      	nr_primary_symtabs.  All uses updated.
      	(count_symtabs_and_blocks): Update to handle compunits.
      	(report_command_stats): Update output, "primary symtabs" renamed to
      	"compunits".
      	* mdebugread.c (new_symtab): Change result to
      	"struct compunit_symtab *".  All callers updated.
      	(parse_procedure): Change type of search_symtab argument to
      	"struct compunit_symtab *".  All callers updated.
      	* objfiles.c (objfile_relocate1): Loop over blockvectors in a
      	separate loop.
      	* objfiles.h (struct objfile) <compunit_symtabs>: Renamed from
      	symtabs.  Change type to "struct compunit_symtab *".  All uses updated.
      	(ALL_OBJFILE_FILETABS): Renamed from ALL_OBJFILE_SYMTABS.
      	All uses updated.
      	(ALL_OBJFILE_COMPUNITS): Renamed from ALL_OBJFILE_PRIMARY_SYMTABS.
      	All uses updated.
      	(ALL_FILETABS): Renamed from ALL_SYMTABS.  All uses updated.
      	(ALL_COMPUNITS): Renamed from ALL_PRIMARY_SYMTABS.  All uses updated.
      	* psympriv.h (struct partial_symtab) <compunit_symtab>: Renamed from
      	symtab.  Change type to "struct compunit_symtab *".  All uses updated.
      	* psymtab.c (psymtab_to_symtab): Change result type to
      	"struct compunit_symtab *".  All callers updated.
      	(find_pc_sect_compunit_symtab_from_partial): Renamed from
      	find_pc_sect_symtab_from_partial.  Change result type to
      	"struct compunit_symtab *".  All callers updated.
      	(lookup_symbol_aux_psymtabs): Change result type to
      	"struct compunit_symtab *".  All callers updated.
      	(find_last_source_symtab_from_partial): Ditto.
      	* python/py-symtab.c (stpy_get_producer): Fetch producer from compunit.
      	* source.c (forget_cached_source_info_for_objfile): Fetch debugformat
      	and macro_table from compunit.
      	* symfile-debug.c (debug_qf_find_last_source_symtab): Change result
      	type to "struct compunit_symtab *".  All callers updated.
      	(debug_qf_lookup_symbol): Ditto.
      	(debug_qf_find_pc_sect_compunit_symtab): Renamed from
      	debug_qf_find_pc_sect_symtab, change result type to
      	"struct compunit_symtab *".  All callers updated.
      	* symfile.c (allocate_symtab): Delete objfile argument.
      	New argument cust.
      	(allocate_compunit_symtab): New function.
      	(add_compunit_symtab_to_objfile): New function.
      	* symfile.h (struct quick_symbol_functions) <lookup_symbol>:
      	Change result type to "struct compunit_symtab *".  All uses updated.
      	<find_pc_sect_compunit_symtab>: Renamed from find_pc_sect_symtab.
      	Change result type to "struct compunit_symtab *".  All uses updated.
      	* symmisc.c (print_objfile_statistics): Compute blockvector count in
      	separate loop.
      	(dump_symtab_1): Update test for primary source symtab.
      	(maintenance_info_symtabs): Update to handle compunit symtabs.
      	(maintenance_check_symtabs): Ditto.
      	* symtab.c (set_primary_symtab): Delete.
      	(compunit_primary_filetab): New function.
      	(compunit_language): New function.
      	(iterate_over_some_symtabs): Change type of arguments "first",
      	"after_last" to "struct compunit_symtab *".  All callers updated.
      	Update to loop over symtabs in each compunit.
      	(error_in_psymtab_expansion): Rename symtab argument to cust,
      	and change type to "struct compunit_symtab *".  All callers updated.
      	(find_pc_sect_compunit_symtab): Renamed from find_pc_sect_symtab.
      	Change result type to "struct compunit_symtab *".  All callers updated.
      	(find_pc_compunit_symtab): Renamed from find_pc_symtab.
      	Change result type to "struct compunit_symtab *".  All callers updated.
      	(find_pc_sect_line): Only loop over symtabs within selected compunit
      	instead of all symtabs in the objfile.
      	* symtab.h (struct symtab) <blockvector>: Moved to compunit_symtab.
      	<compunit_symtab> New member.
      	<block_line_section>: Moved to compunit_symtab.
      	<locations_valid>: Ditto.
      	<epilogue_unwind_valid>: Ditto.
      	<macro_table>: Ditto.
      	<dirname>: Ditto.
      	<debugformat>: Ditto.
      	<producer>: Ditto.
      	<objfile>: Ditto.
      	<call_site_htab>: Ditto.
      	<includes>: Ditto.
      	<user>: Ditto.
      	<primary>: Delete
      	(SYMTAB_COMPUNIT): New macro.
      	(SYMTAB_BLOCKVECTOR): Update definition.
      	(SYMTAB_OBJFILE): Update definition.
      	(SYMTAB_DIRNAME): Update definition.
      	(struct compunit_symtab): New type.  Common members among all source
      	symtabs within a compilation unit moved here.  All uses updated.
      	(COMPUNIT_OBJFILE): New macro.
      	(COMPUNIT_FILETABS): New macro.
      	(COMPUNIT_DEBUGFORMAT): New macro.
      	(COMPUNIT_PRODUCER): New macro.
      	(COMPUNIT_DIRNAME): New macro.
      	(COMPUNIT_BLOCKVECTOR): New macro.
      	(COMPUNIT_BLOCK_LINE_SECTION): New macro.
      	(COMPUNIT_LOCATIONS_VALID): New macro.
      	(COMPUNIT_EPILOGUE_UNWIND_VALID): New macro.
      	(COMPUNIT_CALL_SITE_HTAB): New macro.
      	(COMPUNIT_MACRO_TABLE): New macro.
      	(ALL_COMPUNIT_FILETABS): New macro.
      	(compunit_symtab_ptr): New typedef.
      	(DEF_VEC_P (compunit_symtab_ptr)): New vector type.
      
      gdb/testsuite/ChangeLog:
      
      	* gdb.base/maint.exp: Update expected output.
      43f3e411
  33. Nov 18, 2014
Loading