Skip to content
Snippets Groups Projects
  1. Feb 28, 2023
    • Kevin Buettner's avatar
      Python QUIT processing updates · b940a061
      Kevin Buettner authored
      See the previous patches in this series for the motivation behind
      these changes.
      
      This commit contains updates to Python's QUIT handling.  Ideally, we'd
      like to throw gdb_exception_forced_quit through the extension
      language; I made an attempt to do this for gdb_exception_quit in an
      earlier version of this patch, but Pedro pointed out that it is
      (almost certainly) not safe to do so.
      
      Still, we definitely don't want to swallow the exception representing
      a SIGTERM for GDB, nor do we want to force modules written in the
      extension language to have to explicitly handle this case.  Since the
      idea is for GDB to cleanup and quit for this exception, we'll simply
      call quit_force() just as if the gdb_exception_forced_quit propagation
      had managed to make it back to the top level.
      
      Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=26761
      
      
      Tested-by: default avatarTom de Vries <tdevries@suse.de>
      Approved-By: default avatarPedro Alves <pedro@palves.net>
      b940a061
  2. Jan 01, 2023
  3. Dec 16, 2022
    • Simon Marchi's avatar
      gdb: remove static buffer in command_line_input · f8631e5e
      Simon Marchi authored
      [I sent this earlier today, but I don't see it in the archives.
      Resending it through a different computer / SMTP.]
      
      The use of the static buffer in command_line_input is becoming
      problematic, as explained here [1].  In short, with this patch [2] that
      attempt to fix a post-hook bug, when running gdb.base/commands.exp, we
      hit a case where we read a "define" command line from a script file
      using command_command_line_input.  The command line is stored in
      command_line_input's static buffer.  Inside the define command's
      execution, we read the lines inside the define using command_line_input,
      which overwrites the define command, in command_line_input's static
      buffer.  After the execution of the define command, execute_command does
      a command look up to see if a post-hook is registered.  For that, it
      uses a now stale pointer that used to point to the define command, in
      the static buffer, causing a use-after-free.  Note that the pointer in
      execute_command points to the dynamically-allocated buffer help by the
      static buffer in command_line_input, not to the static object itself,
      hence why we see a use-after-free.
      
      Fix that by removing the static buffer.  I initially changed
      command_line_input and other related functions to return an std::string,
      which is the obvious but naive solution.  The thing is that some callees
      don't need to return an allocated string, so this this an unnecessary
      pessimization.  I changed it to passing in a reference to an std::string
      buffer, which the callee can use if it needs to return
      dynamically-allocated content.  It fills the buffer and returns a
      pointers to the C string inside.  The callees that don't need to return
      dynamically-allocated content simply don't use it.
      
      So, it started with modifying command_line_input as described above, all
      the other changes derive directly from that.
      
      One slightly shady thing is in handle_line_of_input, where we now pass a
      pointer to an std::string's internal buffer to readline's history_value
      function, which takes a `char *`.  I'm pretty sure that this function
      does not modify the input string, because I was able to change it (with
      enough massaging) to take a `const char *`.
      
      A subtle change is that we now clear a UI's line buffer using a
      SCOPE_EXIT in command_line_handler, after executing the command.
      This was previously done by this line in handle_line_of_input:
      
        /* We have a complete command line now.  Prepare for the next
           command, but leave ownership of memory to the buffer .  */
        cmd_line_buffer->used_size = 0;
      
      I think the new way is clearer.
      
      [1] https://inbox.sourceware.org/gdb-patches/becb8438-81ef-8ad8-cc42-fcbfaea8cddd@simark.ca/
      [2] https://inbox.sourceware.org/gdb-patches/20221213112241.621889-1-jan.vrany@labware.com/
      
      
      
      Change-Id: I8fc89b1c69870c7fc7ad9c1705724bd493596300
      Reviewed-By: default avatarTom Tromey <tom@tromey.com>
      f8631e5e
  4. Jan 01, 2022
  5. Jan 01, 2021
  6. Jan 01, 2020
  7. Nov 08, 2019
    • Tom Tromey's avatar
      Constify command_line_input · 992a7040
      Tom Tromey authored
      This changes command_line_input to return a "const char *", which is
      appropriate because the memory is owned by command_line_input.  Then
      it fixes up the users.
      
      I looked at making command_line_input transfer ownership to its caller
      instead, but this is complicated due to the way read_next_line is
      called, so I decided against it.
      
      Tested by rebuilding.
      
      gdb/ChangeLog
      2019-11-08  Tom Tromey  <tromey@adacore.com>
      
      	* top.c (read_command_file): Update.
      	(command_line_input): Make return type const.
      	* python/py-gdb-readline.c: Update.
      	* linespec.c (decode_line_2): Update.
      	* defs.h (command_line_input): Make return type const.
      	* cli/cli-script.c (read_next_line): Make return type const.
      	* ada-lang.c (get_selections): Update.
      
      Change-Id: I27e6c9477fd1005ab5b16e0d337e4c015b6e6248
      992a7040
  8. Apr 08, 2019
    • Tom Tromey's avatar
      Rename gdb exception types · 230d2906
      Tom Tromey authored
      This renames the gdb exception types.  The old types were only needed
      due to the macros in common-exception.h that are now gone.
      
      The intermediate layer of gdb_exception_RETURN_MASK_ALL did not seem
      needed, so this patch removes it entirely.
      
      gdb/ChangeLog
      2019-04-08  Tom Tromey  <tom@tromey.com>
      
      	* common/common-exceptions.h (gdb_exception_RETURN_MASK_ALL):
      	Remove.
      	(gdb_exception_error): Rename from
      	gdb_exception_RETURN_MASK_ERROR.
      	(gdb_exception_quit): Rename from gdb_exception_RETURN_MASK_QUIT.
      	(gdb_quit_bad_alloc): Update.
      	* aarch64-tdep.c: Update.
      	* ada-lang.c: Update.
      	* ada-typeprint.c: Update.
      	* ada-valprint.c: Update.
      	* amd64-tdep.c: Update.
      	* arch-utils.c: Update.
      	* break-catch-throw.c: Update.
      	* breakpoint.c: Update.
      	* btrace.c: Update.
      	* c-varobj.c: Update.
      	* cli/cli-cmds.c: Update.
      	* cli/cli-interp.c: Update.
      	* cli/cli-script.c: Update.
      	* common/common-exceptions.c: Update.
      	* common/new-op.c: Update.
      	* common/selftest.c: Update.
      	* compile/compile-c-symbols.c: Update.
      	* compile/compile-cplus-symbols.c: Update.
      	* compile/compile-object-load.c: Update.
      	* compile/compile-object-run.c: Update.
      	* completer.c: Update.
      	* corelow.c: Update.
      	* cp-abi.c: Update.
      	* cp-support.c: Update.
      	* cp-valprint.c: Update.
      	* darwin-nat.c: Update.
      	* disasm-selftests.c: Update.
      	* dtrace-probe.c: Update.
      	* dwarf-index-cache.c: Update.
      	* dwarf-index-write.c: Update.
      	* dwarf2-frame-tailcall.c: Update.
      	* dwarf2-frame.c: Update.
      	* dwarf2loc.c: Update.
      	* dwarf2read.c: Update.
      	* eval.c: Update.
      	* event-loop.c: Update.
      	* event-top.c: Update.
      	* exec.c: Update.
      	* f-valprint.c: Update.
      	* fbsd-tdep.c: Update.
      	* frame-unwind.c: Update.
      	* frame.c: Update.
      	* gdbtypes.c: Update.
      	* gnu-v3-abi.c: Update.
      	* guile/guile-internal.h: Update.
      	* guile/scm-block.c: Update.
      	* guile/scm-breakpoint.c: Update.
      	* guile/scm-cmd.c: Update.
      	* guile/scm-disasm.c: Update.
      	* guile/scm-frame.c: Update.
      	* guile/scm-lazy-string.c: Update.
      	* guile/scm-math.c: Update.
      	* guile/scm-param.c: Update.
      	* guile/scm-ports.c: Update.
      	* guile/scm-pretty-print.c: Update.
      	* guile/scm-symbol.c: Update.
      	* guile/scm-symtab.c: Update.
      	* guile/scm-type.c: Update.
      	* guile/scm-value.c: Update.
      	* i386-linux-tdep.c: Update.
      	* i386-tdep.c: Update.
      	* inf-loop.c: Update.
      	* infcall.c: Update.
      	* infcmd.c: Update.
      	* infrun.c: Update.
      	* jit.c: Update.
      	* language.c: Update.
      	* linespec.c: Update.
      	* linux-fork.c: Update.
      	* linux-nat.c: Update.
      	* linux-tdep.c: Update.
      	* linux-thread-db.c: Update.
      	* main.c: Update.
      	* mi/mi-cmd-break.c: Update.
      	* mi/mi-cmd-stack.c: Update.
      	* mi/mi-interp.c: Update.
      	* mi/mi-main.c: Update.
      	* objc-lang.c: Update.
      	* p-valprint.c: Update.
      	* parse.c: Update.
      	* ppc-linux-tdep.c: Update.
      	* printcmd.c: Update.
      	* python/py-arch.c: Update.
      	* python/py-breakpoint.c: Update.
      	* python/py-cmd.c: Update.
      	* python/py-finishbreakpoint.c: Update.
      	* python/py-frame.c: Update.
      	* python/py-framefilter.c: Update.
      	* python/py-gdb-readline.c: Update.
      	* python/py-inferior.c: Update.
      	* python/py-infthread.c: Update.
      	* python/py-lazy-string.c: Update.
      	* python/py-linetable.c: Update.
      	* python/py-objfile.c: Update.
      	* python/py-param.c: Update.
      	* python/py-prettyprint.c: Update.
      	* python/py-progspace.c: Update.
      	* python/py-record-btrace.c: Update.
      	* python/py-record.c: Update.
      	* python/py-symbol.c: Update.
      	* python/py-type.c: Update.
      	* python/py-unwind.c: Update.
      	* python/py-utils.c: Update.
      	* python/py-value.c: Update.
      	* python/python.c: Update.
      	* record-btrace.c: Update.
      	* record-full.c: Update.
      	* remote-fileio.c: Update.
      	* remote.c: Update.
      	* riscv-tdep.c: Update.
      	* rs6000-aix-tdep.c: Update.
      	* rs6000-tdep.c: Update.
      	* rust-exp.y: Update.
      	* rust-lang.c: Update.
      	* s390-tdep.c: Update.
      	* selftest-arch.c: Update.
      	* solib-dsbt.c: Update.
      	* solib-frv.c: Update.
      	* solib-spu.c: Update.
      	* solib-svr4.c: Update.
      	* solib.c: Update.
      	* sparc64-linux-tdep.c: Update.
      	* stack.c: Update.
      	* symfile-mem.c: Update.
      	* symmisc.c: Update.
      	* target.c: Update.
      	* thread.c: Update.
      	* top.c: Update.
      	* tracefile-tfile.c: Update.
      	* tui/tui.c: Update.
      	* typeprint.c: Update.
      	* unittests/cli-utils-selftests.c: Update.
      	* unittests/parse-connection-spec-selftests.c: Update.
      	* valops.c: Update.
      	* valprint.c: Update.
      	* value.c: Update.
      	* varobj.c: Update.
      	* windows-nat.c: Update.
      	* x86-linux-nat.c: Update.
      	* xml-support.c: Update.
      
      gdb/gdbserver/ChangeLog
      2019-04-08  Tom Tromey  <tom@tromey.com>
      
      	* gdbreplay.c: Update.
      	* linux-low.c: Update.
      	* server.c: Update.
      230d2906
    • Tom Tromey's avatar
      Rewrite TRY/CATCH · a70b8144
      Tom Tromey authored
      This rewrites gdb's TRY/CATCH to plain C++ try/catch.  The patch was
      largely written by script, though one change (to a comment in
      common-exceptions.h) was reverted by hand.
      
      gdb/ChangeLog
      2019-04-08  Tom Tromey  <tom@tromey.com>
      
      	* xml-support.c: Use C++ exception handling.
      	* x86-linux-nat.c: Use C++ exception handling.
      	* windows-nat.c: Use C++ exception handling.
      	* varobj.c: Use C++ exception handling.
      	* value.c: Use C++ exception handling.
      	* valprint.c: Use C++ exception handling.
      	* valops.c: Use C++ exception handling.
      	* unittests/parse-connection-spec-selftests.c: Use C++ exception
      	handling.
      	* unittests/cli-utils-selftests.c: Use C++ exception handling.
      	* typeprint.c: Use C++ exception handling.
      	* tui/tui.c: Use C++ exception handling.
      	* tracefile-tfile.c: Use C++ exception handling.
      	* top.c: Use C++ exception handling.
      	* thread.c: Use C++ exception handling.
      	* target.c: Use C++ exception handling.
      	* symmisc.c: Use C++ exception handling.
      	* symfile-mem.c: Use C++ exception handling.
      	* stack.c: Use C++ exception handling.
      	* sparc64-linux-tdep.c: Use C++ exception handling.
      	* solib.c: Use C++ exception handling.
      	* solib-svr4.c: Use C++ exception handling.
      	* solib-spu.c: Use C++ exception handling.
      	* solib-frv.c: Use C++ exception handling.
      	* solib-dsbt.c: Use C++ exception handling.
      	* selftest-arch.c: Use C++ exception handling.
      	* s390-tdep.c: Use C++ exception handling.
      	* rust-lang.c: Use C++ exception handling.
      	* rust-exp.y: Use C++ exception handling.
      	* rs6000-tdep.c: Use C++ exception handling.
      	* rs6000-aix-tdep.c: Use C++ exception handling.
      	* riscv-tdep.c: Use C++ exception handling.
      	* remote.c: Use C++ exception handling.
      	* remote-fileio.c: Use C++ exception handling.
      	* record-full.c: Use C++ exception handling.
      	* record-btrace.c: Use C++ exception handling.
      	* python/python.c: Use C++ exception handling.
      	* python/py-value.c: Use C++ exception handling.
      	* python/py-utils.c: Use C++ exception handling.
      	* python/py-unwind.c: Use C++ exception handling.
      	* python/py-type.c: Use C++ exception handling.
      	* python/py-symbol.c: Use C++ exception handling.
      	* python/py-record.c: Use C++ exception handling.
      	* python/py-record-btrace.c: Use C++ exception handling.
      	* python/py-progspace.c: Use C++ exception handling.
      	* python/py-prettyprint.c: Use C++ exception handling.
      	* python/py-param.c: Use C++ exception handling.
      	* python/py-objfile.c: Use C++ exception handling.
      	* python/py-linetable.c: Use C++ exception handling.
      	* python/py-lazy-string.c: Use C++ exception handling.
      	* python/py-infthread.c: Use C++ exception handling.
      	* python/py-inferior.c: Use C++ exception handling.
      	* python/py-gdb-readline.c: Use C++ exception handling.
      	* python/py-framefilter.c: Use C++ exception handling.
      	* python/py-frame.c: Use C++ exception handling.
      	* python/py-finishbreakpoint.c: Use C++ exception handling.
      	* python/py-cmd.c: Use C++ exception handling.
      	* python/py-breakpoint.c: Use C++ exception handling.
      	* python/py-arch.c: Use C++ exception handling.
      	* printcmd.c: Use C++ exception handling.
      	* ppc-linux-tdep.c: Use C++ exception handling.
      	* parse.c: Use C++ exception handling.
      	* p-valprint.c: Use C++ exception handling.
      	* objc-lang.c: Use C++ exception handling.
      	* mi/mi-main.c: Use C++ exception handling.
      	* mi/mi-interp.c: Use C++ exception handling.
      	* mi/mi-cmd-stack.c: Use C++ exception handling.
      	* mi/mi-cmd-break.c: Use C++ exception handling.
      	* main.c: Use C++ exception handling.
      	* linux-thread-db.c: Use C++ exception handling.
      	* linux-tdep.c: Use C++ exception handling.
      	* linux-nat.c: Use C++ exception handling.
      	* linux-fork.c: Use C++ exception handling.
      	* linespec.c: Use C++ exception handling.
      	* language.c: Use C++ exception handling.
      	* jit.c: Use C++ exception handling.
      	* infrun.c: Use C++ exception handling.
      	* infcmd.c: Use C++ exception handling.
      	* infcall.c: Use C++ exception handling.
      	* inf-loop.c: Use C++ exception handling.
      	* i386-tdep.c: Use C++ exception handling.
      	* i386-linux-tdep.c: Use C++ exception handling.
      	* guile/scm-value.c: Use C++ exception handling.
      	* guile/scm-type.c: Use C++ exception handling.
      	* guile/scm-symtab.c: Use C++ exception handling.
      	* guile/scm-symbol.c: Use C++ exception handling.
      	* guile/scm-pretty-print.c: Use C++ exception handling.
      	* guile/scm-ports.c: Use C++ exception handling.
      	* guile/scm-param.c: Use C++ exception handling.
      	* guile/scm-math.c: Use C++ exception handling.
      	* guile/scm-lazy-string.c: Use C++ exception handling.
      	* guile/scm-frame.c: Use C++ exception handling.
      	* guile/scm-disasm.c: Use C++ exception handling.
      	* guile/scm-cmd.c: Use C++ exception handling.
      	* guile/scm-breakpoint.c: Use C++ exception handling.
      	* guile/scm-block.c: Use C++ exception handling.
      	* guile/guile-internal.h: Use C++ exception handling.
      	* gnu-v3-abi.c: Use C++ exception handling.
      	* gdbtypes.c: Use C++ exception handling.
      	* frame.c: Use C++ exception handling.
      	* frame-unwind.c: Use C++ exception handling.
      	* fbsd-tdep.c: Use C++ exception handling.
      	* f-valprint.c: Use C++ exception handling.
      	* exec.c: Use C++ exception handling.
      	* event-top.c: Use C++ exception handling.
      	* event-loop.c: Use C++ exception handling.
      	* eval.c: Use C++ exception handling.
      	* dwarf2read.c: Use C++ exception handling.
      	* dwarf2loc.c: Use C++ exception handling.
      	* dwarf2-frame.c: Use C++ exception handling.
      	* dwarf2-frame-tailcall.c: Use C++ exception handling.
      	* dwarf-index-write.c: Use C++ exception handling.
      	* dwarf-index-cache.c: Use C++ exception handling.
      	* dtrace-probe.c: Use C++ exception handling.
      	* disasm-selftests.c: Use C++ exception handling.
      	* darwin-nat.c: Use C++ exception handling.
      	* cp-valprint.c: Use C++ exception handling.
      	* cp-support.c: Use C++ exception handling.
      	* cp-abi.c: Use C++ exception handling.
      	* corelow.c: Use C++ exception handling.
      	* completer.c: Use C++ exception handling.
      	* compile/compile-object-run.c: Use C++ exception handling.
      	* compile/compile-object-load.c: Use C++ exception handling.
      	* compile/compile-cplus-symbols.c: Use C++ exception handling.
      	* compile/compile-c-symbols.c: Use C++ exception handling.
      	* common/selftest.c: Use C++ exception handling.
      	* common/new-op.c: Use C++ exception handling.
      	* cli/cli-script.c: Use C++ exception handling.
      	* cli/cli-interp.c: Use C++ exception handling.
      	* cli/cli-cmds.c: Use C++ exception handling.
      	* c-varobj.c: Use C++ exception handling.
      	* btrace.c: Use C++ exception handling.
      	* breakpoint.c: Use C++ exception handling.
      	* break-catch-throw.c: Use C++ exception handling.
      	* arch-utils.c: Use C++ exception handling.
      	* amd64-tdep.c: Use C++ exception handling.
      	* ada-valprint.c: Use C++ exception handling.
      	* ada-typeprint.c: Use C++ exception handling.
      	* ada-lang.c: Use C++ exception handling.
      	* aarch64-tdep.c: Use C++ exception handling.
      
      gdb/gdbserver/ChangeLog
      2019-04-08  Tom Tromey  <tom@tromey.com>
      
      	* server.c: Use C++ exception handling.
      	* linux-low.c: Use C++ exception handling.
      	* gdbreplay.c: Use C++ exception handling.
      a70b8144
  9. 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
  10. Aug 18, 2018
    • Tom Tromey's avatar
      Remove "repeat" argument from command_line_input · 89fbedf3
      Tom Tromey authored
      After the previous patch, all callers pass 0 as the repeat argument to
      command_line_input.  So, this patch removes it.
      
      gdb/ChangeLog
      2018-08-16  Tom Tromey  <tom@tromey.com>
      
      	* top.c (read_command_file): Update.
      	(command_line_input): Remove "repeat" argument.
      	* ada-lang.c (get_selections): Update.
      	* linespec.c (decode_line_2): Update.
      	* defs.h (command_line_input): Remove argument.
      	* cli/cli-script.c (read_next_line): Update.
      	* python/py-gdb-readline.c: Update.
      89fbedf3
  11. Jan 02, 2018
  12. Nov 22, 2017
    • Yao Qi's avatar
      Fix build with GCC 8: strncpy ->strcpy · a9f26f60
      Yao Qi authored
      Recent gcc 8 trunk emits the warning below,
      
      ../../binutils-gdb/gdb/python/py-gdb-readline.c:79:15: error: ‘char* strncpy(char*, const char*, size_t)’ output truncated before terminating nul copying as many bytes from a string as its length [-Werror=stringop-truncation]
             strncpy (q, p, n);
             ~~~~~~~~^~~~~~~~~
      ../../binutils-gdb/gdb/python/py-gdb-readline.c:73:14: note: length computed here
         n = strlen (p);
             ~~~~~~~^~~
      
      gdb:
      
      2017-11-22  Yao Qi  <yao.qi@linaro.org>
      
      	* python/py-gdb-readline.c (gdbpy_readline_wrapper): Use strcpy.
      a9f26f60
  13. Jan 21, 2017
    • Simon Marchi's avatar
      Fix python-interactive with Python 3.6 · 6f8b0407
      Simon Marchi authored
      New in v2:
      
       - Define PyMem_RawMalloc as PyMem_Malloc for Python < 3.4 and use
         PyMem_RawMalloc in the code.
      
      Since Python 3.4, the callback installed in PyOS_ReadlineFunctionPointer
      should return a value allocated with PyMem_RawMalloc instead of
      PyMem_Malloc.  The reason is that PyMem_Malloc must be called with the
      Python Global Interpreter Lock (GIL) held, which is not the case in the
      context where this function is called.  PyMem_RawMalloc was introduced
      for cases like this.
      
      In Python 3.6, it looks like they added an assert to verify that
      PyMem_Malloc was not called without the GIL.  The consequence is that
      typing anything in the python-interactive mode of gdb crashes the
      process.  The same behavior was observed with the official package on
      Arch Linux as well as with a manual Python build on Ubuntu 14.04.
      
      This is what is shown with a debug build of Python 3.6 (the error with a
      non-debug build is far less clear):
      
        (gdb) pi
        >>> print(1)
        Fatal Python error: Python memory allocator called without holding the GIL
      
        Current thread 0x00007f1459af8780 (most recent call first):
        [1]    21326 abort      ./gdb
      
      and the backtrace:
      
        #0  0x00007ffff618bc37 in raise () from /lib/x86_64-linux-gnu/libc.so.6
        #1  0x00007ffff618f028 in abort () from /lib/x86_64-linux-gnu/libc.so.6
        #2  0x00007ffff6b104d6 in Py_FatalError (msg=msg@entry=0x7ffff6ba15b8 "Python memory allocator called without holding the GIL") at Python/pylifecycle.c:1457
        #3  0x00007ffff6a37a68 in _PyMem_DebugCheckGIL () at Objects/obmalloc.c:1972
        #4  0x00007ffff6a3804e in _PyMem_DebugFree (ctx=0x7ffff6e65290 <_PyMem_Debug+48>, ptr=0x24f8830) at Objects/obmalloc.c:1994
        #5  0x00007ffff6a38e1d in PyMem_Free (ptr=<optimized out>) at Objects/obmalloc.c:442
        #6  0x00007ffff6b866c6 in _PyFaulthandler_Fini () at ./Modules/faulthandler.c:1369
        #7  0x00007ffff6b104bd in Py_FatalError (msg=msg@entry=0x7ffff6ba15b8 "Python memory allocator called without holding the GIL") at Python/pylifecycle.c:1431
        #8  0x00007ffff6a37a68 in _PyMem_DebugCheckGIL () at Objects/obmalloc.c:1972
        #9  0x00007ffff6a37aa3 in _PyMem_DebugMalloc (ctx=0x7ffff6e65290 <_PyMem_Debug+48>, nbytes=5) at Objects/obmalloc.c:1980
        #10 0x00007ffff6a38d91 in PyMem_Malloc (size=<optimized out>) at Objects/obmalloc.c:418
        #11 0x000000000064dbe2 in gdbpy_readline_wrapper (sys_stdin=0x7ffff6514640 <_IO_2_1_stdin_>, sys_stdout=0x7ffff6514400 <_IO_2_1_stdout_>, prompt=0x7ffff4d4f7d0 ">>> ")
          at /home/emaisin/src/binutils-gdb/gdb/python/py-gdb-readline.c:75
      
      The documentation is very clear about it [1] and it was also mentioned
      in the "What's New In Python 3.4" page [2].
      
      [1] https://docs.python.org/3/c-api/veryhigh.html#c.PyOS_ReadlineFunctionPointer
      [2] https://docs.python.org/3/whatsnew/3.4.html#changes-in-the-c-api
      
      gdb/ChangeLog:
      
      	* python/python-internal.h (PyMem_RawMalloc): Define for
      	Python < 3.4.
      	* python/py-gdb-readline.c (gdbpy_readline_wrapper): Use
      	PyMem_RawMalloc instead of PyMem_Malloc.
      6f8b0407
  14. 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
  15. Jan 01, 2016
  16. Sep 25, 2015
    • 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
  17. Mar 07, 2015
    • Pedro Alves's avatar
      Split TRY_CATCH into TRY + CATCH · 492d29ea
      Pedro Alves authored
      This patch splits the TRY_CATCH macro into three, so that we go from
      this:
      
      ~~~
        volatile gdb_exception ex;
      
        TRY_CATCH (ex, RETURN_MASK_ERROR)
          {
          }
        if (ex.reason < 0)
          {
          }
      ~~~
      
      to this:
      
      ~~~
        TRY
          {
          }
        CATCH (ex, RETURN_MASK_ERROR)
          {
          }
        END_CATCH
      ~~~
      
      Thus, we'll be getting rid of the local volatile exception object, and
      declaring the caught exception in the catch block.
      
      This allows reimplementing TRY/CATCH in terms of C++ exceptions when
      building in C++ mode, while still allowing to build GDB in C mode
      (using setjmp/longjmp), as a transition step.
      
      TBC, after this patch, is it _not_ valid to have code between the TRY
      and the CATCH blocks, like:
      
        TRY
          {
          }
      
        // some code here.
      
        CATCH (ex, RETURN_MASK_ERROR)
          {
          }
        END_CATCH
      
      Just like it isn't valid to do that with C++'s native try/catch.
      
      By switching to creating the exception object inside the CATCH block
      scope, we can get rid of all the explicitly allocated volatile
      exception objects all over the tree, and map the CATCH block more
      directly to C++'s catch blocks.
      
      The majority of the TRY_CATCH -> TRY+CATCH+END_CATCH conversion was
      done with a script, rerun from scratch at every rebase, no manual
      editing involved.  After the mechanical conversion, a few places
      needed manual intervention, to fix preexisting cases where we were
      using the exception object outside of the TRY_CATCH block, and cases
      where we were using "else" after a 'if (ex.reason) < 0)' [a CATCH
      after this patch].  The result was folded into this patch so that GDB
      still builds at each incremental step.
      
      END_CATCH is necessary for two reasons:
      
      First, because we name the exception object in the CATCH block, which
      requires creating a scope, which in turn must be closed somewhere.
      Declaring the exception variable in the initializer field of a for
      block, like:
      
        #define CATCH(EXCEPTION, mask) \
          for (struct gdb_exception EXCEPTION; \
               exceptions_state_mc_catch (&EXCEPTION, MASK); \
      	 EXCEPTION = exception_none)
      
      would avoid needing END_CATCH, but alas, in C mode, we build with C90,
      which doesn't allow mixed declarations and code.
      
      Second, because when TRY/CATCH are wired to real C++ try/catch, as
      long as we need to handle cleanup chains, even if there's no CATCH
      block that wants to catch the exception, we need for stop at every
      frame in the unwind chain and run cleanups, then rethrow.  That will
      be done in END_CATCH.
      
      After we require C++, we'll still need TRY/CATCH/END_CATCH until
      cleanups are completely phased out -- TRY/CATCH in C++ mode will
      save/restore the current cleanup chain, like in C mode, and END_CATCH
      catches otherwise uncaugh exceptions, runs cleanups and rethrows, so
      that C++ cleanups and exceptions can coexist.
      
      IMO, this still makes the TRY/CATCH code look a bit more like a
      newcomer would expect, so IMO worth it even if we weren't considering
      C++.
      
      gdb/ChangeLog.
      2015-03-07  Pedro Alves  <palves@redhat.com>
      
      	* common/common-exceptions.c (struct catcher) <exception>: No
      	longer a pointer to volatile exception.  Now an exception value.
      	<mask>: Delete field.
      	(exceptions_state_mc_init): Remove all parameters.  Adjust.
      	(exceptions_state_mc): No longer pop the catcher here.
      	(exceptions_state_mc_catch): New function.
      	(throw_exception): Adjust.
      	* common/common-exceptions.h (exceptions_state_mc_init): Remove
      	all parameters.
      	(exceptions_state_mc_catch): Declare.
      	(TRY_CATCH): Rename to ...
      	(TRY): ... this.  Remove EXCEPTION and MASK parameters.
      	(CATCH, END_CATCH): New.
      	All callers adjusted.
      
      gdb/gdbserver/ChangeLog:
      2015-03-07  Pedro Alves  <palves@redhat.com>
      
      	Adjust all callers of TRY_CATCH to use TRY/CATCH/END_CATCH
      	instead.
      492d29ea
  18. Jan 01, 2015
  19. Dec 15, 2014
    • Simon Marchi's avatar
      Fix build with Python 3.4 (PR python/16784) · 38bcc89d
      Simon Marchi authored
      
      The type of the function pointer PyOS_ReadlineFunctionPointer (part of the
      Python C API), which we use, slightly changed starting with Python 3.4. The
      signature went from
      
      PyAPI_DATA(char) *(*PyOS_ReadlineFunctionPointer)(FILE *, FILE *, char *);
      
      to
      
      PyAPI_DATA(char) *(*PyOS_ReadlineFunctionPointer)(FILE *, FILE *, const char *);
      
      The parameter that changed is the prompt text.
      
      This commits adjust gdb accordingly by making the prompt_arg parameter
      const, as well as the fallouts of that. I needed to rework how
      annotations are added to the prompt, since the it is now const. If
      annotations are enabled, it will make a copy of the prompt overwrite the
      prompt variable that is used throughout the function. Otherwise, no copy
      is done and the original prompt_arg value is passed.
      
      I changed the signature of deprecated_readline_hook. I would've changed any
      user of it, but it seems like nothing is using it,
      
      Built-tested with python 2.7.x, 3.3.y and 3.4.z.
      
      gdb/ChangeLog:
      
      	* defs.h (gdb_readline): Constify argument.
      	(gdb_readline_wrapper): Same.
      	(command_line_input): Same.
      	(deprecated_readline_hook): Same.
      	* top.c (deprecated_readline_hook): Same.
      	(gdb_readline): Same.
      	(gdb_readline_wrapper): Same.
      	(command_line_input): Constify argument. Pass prompt to
      	called functions instead of local_prompt, overwriting prompt
      	if using annotations.
      	* event-top.h (display_gdb_prompt): Constify argument.
      	* event-top.c (display_gdb_prompt): Same.
      	* python/py-gdb-readline.c (gdbpy_readline_wrapper): Constify
      	argument if building with Python 3.4 and up.
      
      Signed-off-by: default avatarSimon Marchi <simon.marchi@ericsson.com>
      38bcc89d
  20. Oct 08, 2014
    • Gary Benson's avatar
      Remove spurious exceptions.h inclusions · c765fdb9
      Gary Benson authored
      defs.h includes utils.h, and utils.h includes exceptions.h.  All GDB
      .c files include defs.h as their first line, so no file other than
      utils.h needs to include exceptions.h.  This commit removes all such
      inclusions.
      
      gdb/ChangeLog:
      
      	* ada-lang.c: Do not include exceptions.h.
      	* ada-valprint.c: Likewise.
      	* amd64-tdep.c: Likewise.
      	* auto-load.c: Likewise.
      	* block.c: Likewise.
      	* break-catch-throw.c: Likewise.
      	* breakpoint.c: Likewise.
      	* btrace.c: Likewise.
      	* c-lang.c: Likewise.
      	* cli/cli-cmds.c: Likewise.
      	* cli/cli-interp.c: Likewise.
      	* cli/cli-script.c: Likewise.
      	* completer.c: Likewise.
      	* corefile.c: Likewise.
      	* corelow.c: Likewise.
      	* cp-abi.c: Likewise.
      	* cp-support.c: Likewise.
      	* cp-valprint.c: Likewise.
      	* darwin-nat.c: Likewise.
      	* dwarf2-frame-tailcall.c: Likewise.
      	* dwarf2-frame.c: Likewise.
      	* dwarf2loc.c: Likewise.
      	* dwarf2read.c: Likewise.
      	* eval.c: Likewise.
      	* event-loop.c: Likewise.
      	* event-top.c: Likewise.
      	* f-valprint.c: Likewise.
      	* frame-unwind.c: Likewise.
      	* frame.c: Likewise.
      	* gdbtypes.c: Likewise.
      	* gnu-v2-abi.c: Likewise.
      	* gnu-v3-abi.c: Likewise.
      	* guile/scm-auto-load.c: Likewise.
      	* guile/scm-breakpoint.c: Likewise.
      	* guile/scm-cmd.c: Likewise.
      	* guile/scm-frame.c: Likewise.
      	* guile/scm-lazy-string.c: Likewise.
      	* guile/scm-param.c: Likewise.
      	* guile/scm-symbol.c: Likewise.
      	* guile/scm-type.c: Likewise.
      	* hppa-hpux-tdep.c: Likewise.
      	* i386-tdep.c: Likewise.
      	* inf-loop.c: Likewise.
      	* infcall.c: Likewise.
      	* infcmd.c: Likewise.
      	* infrun.c: Likewise.
      	* interps.c: Likewise.
      	* interps.h: Likewise.
      	* jit.c: Likewise.
      	* linespec.c: Likewise.
      	* linux-nat.c: Likewise.
      	* linux-thread-db.c: Likewise.
      	* m32r-rom.c: Likewise.
      	* main.c: Likewise.
      	* memory-map.c: Likewise.
      	* mi/mi-cmd-break.c: Likewise.
      	* mi/mi-cmd-stack.c: Likewise.
      	* mi/mi-interp.c: Likewise.
      	* mi/mi-main.c: Likewise.
      	* monitor.c: Likewise.
      	* nto-procfs.c: Likewise.
      	* objc-lang.c: Likewise.
      	* p-valprint.c: Likewise.
      	* parse.c: Likewise.
      	* ppc-linux-tdep.c: Likewise.
      	* printcmd.c: Likewise.
      	* probe.c: Likewise.
      	* python/py-auto-load.c: Likewise.
      	* python/py-breakpoint.c: Likewise.
      	* python/py-cmd.c: Likewise.
      	* python/py-finishbreakpoint.c: Likewise.
      	* python/py-frame.c: Likewise.
      	* python/py-framefilter.c: Likewise.
      	* python/py-function.c: Likewise.
      	* python/py-gdb-readline.c: Likewise.
      	* python/py-inferior.c: Likewise.
      	* python/py-infthread.c: Likewise.
      	* python/py-lazy-string.c: Likewise.
      	* python/py-linetable.c: Likewise.
      	* python/py-param.c: Likewise.
      	* python/py-prettyprint.c: Likewise.
      	* python/py-symbol.c: Likewise.
      	* python/py-type.c: Likewise.
      	* python/py-value.c: Likewise.
      	* python/python-internal.h: Likewise.
      	* python/python.c: Likewise.
      	* record-btrace.c: Likewise.
      	* record-full.c: Likewise.
      	* regcache.c: Likewise.
      	* remote-fileio.c: Likewise.
      	* remote-mips.c: Likewise.
      	* remote.c: Likewise.
      	* rs6000-aix-tdep.c: Likewise.
      	* rs6000-nat.c: Likewise.
      	* skip.c: Likewise.
      	* solib-darwin.c: Likewise.
      	* solib-dsbt.c: Likewise.
      	* solib-frv.c: Likewise.
      	* solib-ia64-hpux.c: Likewise.
      	* solib-spu.c: Likewise.
      	* solib-svr4.c: Likewise.
      	* solib.c: Likewise.
      	* spu-tdep.c: Likewise.
      	* stack.c: Likewise.
      	* stap-probe.c: Likewise.
      	* symfile-mem.c: Likewise.
      	* symmisc.c: Likewise.
      	* target.c: Likewise.
      	* thread.c: Likewise.
      	* top.c: Likewise.
      	* tracepoint.c: Likewise.
      	* tui/tui-interp.c: Likewise.
      	* typeprint.c: Likewise.
      	* utils.c: Likewise.
      	* valarith.c: Likewise.
      	* valops.c: Likewise.
      	* valprint.c: Likewise.
      	* value.c: Likewise.
      	* varobj.c: Likewise.
      	* windows-nat.c: Likewise.
      	* xml-support.c: Likewise.
      c765fdb9
  21. Aug 07, 2014
    • Gary Benson's avatar
      Include string.h in common-defs.h · 6d3d12eb
      Gary Benson authored
      This commit includes string.h in common-defs.h and removes all other
      inclusions.
      
      gdb/
      2014-08-07  Gary Benson  <gbenson@redhat.com>
      
      	* common/common-defs.h: Include string.h.
      	* aarch64-tdep.c: Do not include string.h.
      	* ada-exp.y: Likewise.
      	* ada-lang.c: Likewise.
      	* ada-lex.l: Likewise.
      	* ada-typeprint.c: Likewise.
      	* ada-valprint.c: Likewise.
      	* aix-thread.c: Likewise.
      	* alpha-linux-tdep.c: Likewise.
      	* alpha-mdebug-tdep.c: Likewise.
      	* alpha-nat.c: Likewise.
      	* alpha-osf1-tdep.c: Likewise.
      	* alpha-tdep.c: Likewise.
      	* alphanbsd-tdep.c: Likewise.
      	* amd64-dicos-tdep.c: Likewise.
      	* amd64-linux-tdep.c: Likewise.
      	* amd64-nat.c: Likewise.
      	* amd64-sol2-tdep.c: Likewise.
      	* amd64fbsd-tdep.c: Likewise.
      	* amd64obsd-tdep.c: Likewise.
      	* arch-utils.c: Likewise.
      	* arm-linux-nat.c: Likewise.
      	* arm-linux-tdep.c: Likewise.
      	* arm-tdep.c: Likewise.
      	* arm-wince-tdep.c: Likewise.
      	* armbsd-tdep.c: Likewise.
      	* armnbsd-nat.c: Likewise.
      	* armnbsd-tdep.c: Likewise.
      	* armobsd-tdep.c: Likewise.
      	* avr-tdep.c: Likewise.
      	* ax-gdb.c: Likewise.
      	* ax-general.c: Likewise.
      	* bcache.c: Likewise.
      	* bfin-tdep.c: Likewise.
      	* breakpoint.c: Likewise.
      	* build-id.c: Likewise.
      	* buildsym.c: Likewise.
      	* c-exp.y: Likewise.
      	* c-lang.c: Likewise.
      	* c-typeprint.c: Likewise.
      	* c-valprint.c: Likewise.
      	* charset.c: Likewise.
      	* cli-out.c: Likewise.
      	* cli/cli-cmds.c: Likewise.
      	* cli/cli-decode.c: Likewise.
      	* cli/cli-dump.c: Likewise.
      	* cli/cli-interp.c: Likewise.
      	* cli/cli-logging.c: Likewise.
      	* cli/cli-script.c: Likewise.
      	* cli/cli-setshow.c: Likewise.
      	* cli/cli-utils.c: Likewise.
      	* coffread.c: Likewise.
      	* common/agent.c: Likewise.
      	* common/buffer.c: Likewise.
      	* common/buffer.h: Likewise.
      	* common/common-utils.c: Likewise.
      	* common/filestuff.c: Likewise.
      	* common/filestuff.c: Likewise.
      	* common/format.c: Likewise.
      	* common/print-utils.c: Likewise.
      	* common/rsp-low.c: Likewise.
      	* common/signals.c: Likewise.
      	* common/vec.h: Likewise.
      	* common/xml-utils.c: Likewise.
      	* core-regset.c: Likewise.
      	* corefile.c: Likewise.
      	* corelow.c: Likewise.
      	* cp-abi.c: Likewise.
      	* cp-name-parser.y: Likewise.
      	* cp-support.c: Likewise.
      	* cp-valprint.c: Likewise.
      	* cris-tdep.c: Likewise.
      	* d-exp.y: Likewise.
      	* darwin-nat.c: Likewise.
      	* dbxread.c: Likewise.
      	* dcache.c: Likewise.
      	* demangle.c: Likewise.
      	* dicos-tdep.c: Likewise.
      	* disasm.c: Likewise.
      	* doublest.c: Likewise.
      	* dsrec.c: Likewise.
      	* dummy-frame.c: Likewise.
      	* dwarf2-frame.c: Likewise.
      	* dwarf2loc.c: Likewise.
      	* dwarf2read.c: Likewise.
      	* elfread.c: Likewise.
      	* environ.c: Likewise.
      	* eval.c: Likewise.
      	* event-loop.c: Likewise.
      	* exceptions.c: Likewise.
      	* exec.c: Likewise.
      	* expprint.c: Likewise.
      	* f-exp.y: Likewise.
      	* f-lang.c: Likewise.
      	* f-typeprint.c: Likewise.
      	* f-valprint.c: Likewise.
      	* fbsd-nat.c: Likewise.
      	* findcmd.c: Likewise.
      	* findvar.c: Likewise.
      	* fork-child.c: Likewise.
      	* frame.c: Likewise.
      	* frv-linux-tdep.c: Likewise.
      	* frv-tdep.c: Likewise.
      	* gdb.c: Likewise.
      	* gdb_bfd.c: Likewise.
      	* gdbarch.c: Likewise.
      	* gdbarch.sh: Likewise.
      	* gdbtypes.c: Likewise.
      	* gnu-nat.c: Likewise.
      	* gnu-v2-abi.c: Likewise.
      	* gnu-v3-abi.c: Likewise.
      	* go-exp.y: Likewise.
      	* go-lang.c: Likewise.
      	* go32-nat.c: Likewise.
      	* guile/guile.c: Likewise.
      	* guile/scm-auto-load.c: Likewise.
      	* hppa-hpux-tdep.c: Likewise.
      	* hppa-linux-nat.c: Likewise.
      	* hppanbsd-tdep.c: Likewise.
      	* hppaobsd-tdep.c: Likewise.
      	* i386-cygwin-tdep.c: Likewise.
      	* i386-dicos-tdep.c: Likewise.
      	* i386-linux-tdep.c: Likewise.
      	* i386-nto-tdep.c: Likewise.
      	* i386-sol2-tdep.c: Likewise.
      	* i386-tdep.c: Likewise.
      	* i386bsd-tdep.c: Likewise.
      	* i386gnu-nat.c: Likewise.
      	* i386nbsd-tdep.c: Likewise.
      	* i386obsd-tdep.c: Likewise.
      	* i387-tdep.c: Likewise.
      	* ia64-libunwind-tdep.c: Likewise.
      	* ia64-linux-nat.c: Likewise.
      	* inf-child.c: Likewise.
      	* inf-ptrace.c: Likewise.
      	* inf-ttrace.c: Likewise.
      	* infcall.c: Likewise.
      	* infcmd.c: Likewise.
      	* inflow.c: Likewise.
      	* infrun.c: Likewise.
      	* interps.c: Likewise.
      	* iq2000-tdep.c: Likewise.
      	* irix5-nat.c: Likewise.
      	* jv-exp.y: Likewise.
      	* jv-lang.c: Likewise.
      	* jv-typeprint.c: Likewise.
      	* jv-valprint.c: Likewise.
      	* language.c: Likewise.
      	* linux-fork.c: Likewise.
      	* linux-nat.c: Likewise.
      	* lm32-tdep.c: Likewise.
      	* m2-exp.y: Likewise.
      	* m2-typeprint.c: Likewise.
      	* m32c-tdep.c: Likewise.
      	* m32r-linux-nat.c: Likewise.
      	* m32r-linux-tdep.c: Likewise.
      	* m32r-rom.c: Likewise.
      	* m32r-tdep.c: Likewise.
      	* m68hc11-tdep.c: Likewise.
      	* m68k-tdep.c: Likewise.
      	* m68kbsd-tdep.c: Likewise.
      	* m68klinux-nat.c: Likewise.
      	* m68klinux-tdep.c: Likewise.
      	* m88k-tdep.c: Likewise.
      	* machoread.c: Likewise.
      	* macrocmd.c: Likewise.
      	* main.c: Likewise.
      	* mdebugread.c: Likewise.
      	* mem-break.c: Likewise.
      	* memattr.c: Likewise.
      	* memory-map.c: Likewise.
      	* mep-tdep.c: Likewise.
      	* mi/mi-cmd-break.c: Likewise.
      	* mi/mi-cmd-disas.c: Likewise.
      	* mi/mi-cmd-env.c: Likewise.
      	* mi/mi-cmd-stack.c: Likewise.
      	* mi/mi-cmd-var.c: Likewise.
      	* mi/mi-cmds.c: Likewise.
      	* mi/mi-console.c: Likewise.
      	* mi/mi-getopt.c: Likewise.
      	* mi/mi-interp.c: Likewise.
      	* mi/mi-main.c: Likewise.
      	* mi/mi-parse.c: Likewise.
      	* microblaze-rom.c: Likewise.
      	* microblaze-tdep.c: Likewise.
      	* mingw-hdep.c: Likewise.
      	* minidebug.c: Likewise.
      	* minsyms.c: Likewise.
      	* mips-irix-tdep.c: Likewise.
      	* mips-linux-tdep.c: Likewise.
      	* mips-tdep.c: Likewise.
      	* mips64obsd-tdep.c: Likewise.
      	* mipsnbsd-tdep.c: Likewise.
      	* mipsread.c: Likewise.
      	* mn10300-linux-tdep.c: Likewise.
      	* mn10300-tdep.c: Likewise.
      	* monitor.c: Likewise.
      	* moxie-tdep.c: Likewise.
      	* mt-tdep.c: Likewise.
      	* nat/linux-btrace.c: Likewise.
      	* nat/linux-osdata.c: Likewise.
      	* nat/linux-procfs.c: Likewise.
      	* nat/linux-ptrace.c: Likewise.
      	* nat/linux-waitpid.c: Likewise.
      	* nbsd-tdep.c: Likewise.
      	* nios2-linux-tdep.c: Likewise.
      	* nto-procfs.c: Likewise.
      	* nto-tdep.c: Likewise.
      	* objc-lang.c: Likewise.
      	* objfiles.c: Likewise.
      	* opencl-lang.c: Likewise.
      	* osabi.c: Likewise.
      	* osdata.c: Likewise.
      	* p-exp.y: Likewise.
      	* p-lang.c: Likewise.
      	* p-typeprint.c: Likewise.
      	* parse.c: Likewise.
      	* posix-hdep.c: Likewise.
      	* ppc-linux-nat.c: Likewise.
      	* ppc-sysv-tdep.c: Likewise.
      	* ppcfbsd-tdep.c: Likewise.
      	* ppcnbsd-tdep.c: Likewise.
      	* ppcobsd-tdep.c: Likewise.
      	* printcmd.c: Likewise.
      	* procfs.c: Likewise.
      	* prologue-value.c: Likewise.
      	* python/py-auto-load.c: Likewise.
      	* python/py-gdb-readline.c: Likewise.
      	* ravenscar-thread.c: Likewise.
      	* regcache.c: Likewise.
      	* registry.c: Likewise.
      	* remote-fileio.c: Likewise.
      	* remote-m32r-sdi.c: Likewise.
      	* remote-mips.c: Likewise.
      	* remote-notif.c: Likewise.
      	* remote-sim.c: Likewise.
      	* remote.c: Likewise.
      	* reverse.c: Likewise.
      	* rs6000-aix-tdep.c: Likewise.
      	* ser-base.c: Likewise.
      	* ser-go32.c: Likewise.
      	* ser-mingw.c: Likewise.
      	* ser-pipe.c: Likewise.
      	* ser-tcp.c: Likewise.
      	* ser-unix.c: Likewise.
      	* serial.c: Likewise.
      	* sh-tdep.c: Likewise.
      	* sh64-tdep.c: Likewise.
      	* shnbsd-tdep.c: Likewise.
      	* skip.c: Likewise.
      	* sol-thread.c: Likewise.
      	* solib-dsbt.c: Likewise.
      	* solib-frv.c: Likewise.
      	* solib-osf.c: Likewise.
      	* solib-som.c: Likewise.
      	* solib-spu.c: Likewise.
      	* solib-target.c: Likewise.
      	* solib.c: Likewise.
      	* somread.c: Likewise.
      	* source.c: Likewise.
      	* sparc-nat.c: Likewise.
      	* sparc-sol2-tdep.c: Likewise.
      	* sparc-tdep.c: Likewise.
      	* sparc64-tdep.c: Likewise.
      	* sparc64fbsd-tdep.c: Likewise.
      	* sparc64nbsd-tdep.c: Likewise.
      	* sparcnbsd-tdep.c: Likewise.
      	* spu-linux-nat.c: Likewise.
      	* spu-multiarch.c: Likewise.
      	* spu-tdep.c: Likewise.
      	* stabsread.c: Likewise.
      	* stack.c: Likewise.
      	* std-regs.c: Likewise.
      	* symfile.c: Likewise.
      	* symmisc.c: Likewise.
      	* symtab.c: Likewise.
      	* target.c: Likewise.
      	* thread.c: Likewise.
      	* tilegx-linux-nat.c: Likewise.
      	* tilegx-tdep.c: Likewise.
      	* top.c: Likewise.
      	* tracepoint.c: Likewise.
      	* tui/tui-command.c: Likewise.
      	* tui/tui-data.c: Likewise.
      	* tui/tui-disasm.c: Likewise.
      	* tui/tui-file.c: Likewise.
      	* tui/tui-layout.c: Likewise.
      	* tui/tui-out.c: Likewise.
      	* tui/tui-regs.c: Likewise.
      	* tui/tui-source.c: Likewise.
      	* tui/tui-stack.c: Likewise.
      	* tui/tui-win.c: Likewise.
      	* tui/tui-windata.c: Likewise.
      	* tui/tui-winsource.c: Likewise.
      	* typeprint.c: Likewise.
      	* ui-file.c: Likewise.
      	* ui-out.c: Likewise.
      	* user-regs.c: Likewise.
      	* utils.c: Likewise.
      	* v850-tdep.c: Likewise.
      	* valarith.c: Likewise.
      	* valops.c: Likewise.
      	* valprint.c: Likewise.
      	* value.c: Likewise.
      	* varobj.c: Likewise.
      	* vax-tdep.c: Likewise.
      	* vaxnbsd-tdep.c: Likewise.
      	* vaxobsd-tdep.c: Likewise.
      	* windows-nat.c: Likewise.
      	* xcoffread.c: Likewise.
      	* xml-support.c: Likewise.
      	* xstormy16-tdep.c: Likewise.
      	* xtensa-linux-nat.c: Likewise.
      
      gdb/gdbserver/
      2014-08-07  Gary Benson  <gbenson@redhat.com>
      
      	* server.h: Do not include string.h.
      	* event-loop.c: Likewise.
      	* linux-low.c: Likewise.
      	* regcache.c: Likewise.
      	* remote-utils.c: Likewise.
      	* spu-low.c: Likewise.
      	* utils.c: Likewise.
      6d3d12eb
    • Gary Benson's avatar
      Move stddef.h to common-defs.h · 8ebb3f56
      Gary Benson authored
      This commit moves the inclusion of stddef.h to common-defs.h and
      removes all other inclusions.
      
      gdb/
      2014-08-07  Gary Benson  <gbenson@redhat.com>
      
      	* common/common-defs.h: Include stddef.h.
      	* defs.h: Do not include stddef.h.
      	* common/common-utils.h: Likewise.
      	* amd64fbsd-nat.c: Likewise.
      	* bcache.c: Likewise.
      	* charset.c: Likewise.
      	* common/buffer.h: Likewise.
      	* common/vec.h: Likewise.
      	* i386bsd-nat.c: Likewise.
      	* nat/linux-btrace.h: Likewise.
      	* ppcfbsd-nat.c: Likewise.
      	* ppcnbsd-tdep.h: Likewise.
      	* ppcobsd-nat.c: Likewise.
      	* ppcobsd-tdep.h: Likewise.
      	* python/py-gdb-readline.c: Likewise.
      
      gdb/gdbserver/
      2014-08-07  Gary Benson  <gbenson@redhat.com>
      
      	* linux-x86-low.c: Do not include stddef.h.
      	* lynx-ppc-low.c: Likewise.
      	* tracepoint.c: Likewise.
      8ebb3f56
  22. Jan 01, 2014
  23. Nov 18, 2013
    • Tom Tromey's avatar
      remove gdb_string.h · 0e9f083f
      Tom Tromey authored
      This removes gdb_string.h.  This patch is purely mechanical.  I
      created it by running the two commands:
      
          git rm common/gdb_string.h
          perl -pi -e's/"gdb_string.h"/<string.h>/;'  *.[chyl] */*.[chyl]
      
      2013-11-18  Tom Tromey  <tromey@redhat.com>
      
      	* common/gdb_string.h: Remove.
      	* aarch64-tdep.c: Use string.h, not gdb_string.h.
      	* ada-exp.y: Use string.h, not gdb_string.h.
      	* ada-lang.c: Use string.h, not gdb_string.h.
      	* ada-lex.l: Use string.h, not gdb_string.h.
      	* ada-typeprint.c: Use string.h, not gdb_string.h.
      	* ada-valprint.c: Use string.h, not gdb_string.h.
      	* aix-thread.c: Use string.h, not gdb_string.h.
      	* alpha-linux-tdep.c: Use string.h, not gdb_string.h.
      	* alpha-mdebug-tdep.c: Use string.h, not gdb_string.h.
      	* alpha-nat.c: Use string.h, not gdb_string.h.
      	* alpha-osf1-tdep.c: Use string.h, not gdb_string.h.
      	* alpha-tdep.c: Use string.h, not gdb_string.h.
      	* alphanbsd-tdep.c: Use string.h, not gdb_string.h.
      	* amd64-dicos-tdep.c: Use string.h, not gdb_string.h.
      	* amd64-linux-nat.c: Use string.h, not gdb_string.h.
      	* amd64-linux-tdep.c: Use string.h, not gdb_string.h.
      	* amd64-nat.c: Use string.h, not gdb_string.h.
      	* amd64-sol2-tdep.c: Use string.h, not gdb_string.h.
      	* amd64fbsd-tdep.c: Use string.h, not gdb_string.h.
      	* amd64obsd-tdep.c: Use string.h, not gdb_string.h.
      	* arch-utils.c: Use string.h, not gdb_string.h.
      	* arm-linux-nat.c: Use string.h, not gdb_string.h.
      	* arm-linux-tdep.c: Use string.h, not gdb_string.h.
      	* arm-tdep.c: Use string.h, not gdb_string.h.
      	* arm-wince-tdep.c: Use string.h, not gdb_string.h.
      	* armbsd-tdep.c: Use string.h, not gdb_string.h.
      	* armnbsd-nat.c: Use string.h, not gdb_string.h.
      	* armnbsd-tdep.c: Use string.h, not gdb_string.h.
      	* armobsd-tdep.c: Use string.h, not gdb_string.h.
      	* avr-tdep.c: Use string.h, not gdb_string.h.
      	* ax-gdb.c: Use string.h, not gdb_string.h.
      	* ax-general.c: Use string.h, not gdb_string.h.
      	* bcache.c: Use string.h, not gdb_string.h.
      	* bfin-tdep.c: Use string.h, not gdb_string.h.
      	* breakpoint.c: Use string.h, not gdb_string.h.
      	* build-id.c: Use string.h, not gdb_string.h.
      	* buildsym.c: Use string.h, not gdb_string.h.
      	* c-exp.y: Use string.h, not gdb_string.h.
      	* c-lang.c: Use string.h, not gdb_string.h.
      	* c-typeprint.c: Use string.h, not gdb_string.h.
      	* c-valprint.c: Use string.h, not gdb_string.h.
      	* charset.c: Use string.h, not gdb_string.h.
      	* cli-out.c: Use string.h, not gdb_string.h.
      	* cli/cli-cmds.c: Use string.h, not gdb_string.h.
      	* cli/cli-decode.c: Use string.h, not gdb_string.h.
      	* cli/cli-dump.c: Use string.h, not gdb_string.h.
      	* cli/cli-interp.c: Use string.h, not gdb_string.h.
      	* cli/cli-logging.c: Use string.h, not gdb_string.h.
      	* cli/cli-script.c: Use string.h, not gdb_string.h.
      	* cli/cli-setshow.c: Use string.h, not gdb_string.h.
      	* cli/cli-utils.c: Use string.h, not gdb_string.h.
      	* coffread.c: Use string.h, not gdb_string.h.
      	* common/common-utils.c: Use string.h, not gdb_string.h.
      	* common/filestuff.c: Use string.h, not gdb_string.h.
      	* common/linux-procfs.c: Use string.h, not gdb_string.h.
      	* common/linux-ptrace.c: Use string.h, not gdb_string.h.
      	* common/signals.c: Use string.h, not gdb_string.h.
      	* common/vec.h: Use string.h, not gdb_string.h.
      	* core-regset.c: Use string.h, not gdb_string.h.
      	* corefile.c: Use string.h, not gdb_string.h.
      	* corelow.c: Use string.h, not gdb_string.h.
      	* cp-abi.c: Use string.h, not gdb_string.h.
      	* cp-support.c: Use string.h, not gdb_string.h.
      	* cp-valprint.c: Use string.h, not gdb_string.h.
      	* cris-tdep.c: Use string.h, not gdb_string.h.
      	* d-lang.c: Use string.h, not gdb_string.h.
      	* dbxread.c: Use string.h, not gdb_string.h.
      	* dcache.c: Use string.h, not gdb_string.h.
      	* demangle.c: Use string.h, not gdb_string.h.
      	* dicos-tdep.c: Use string.h, not gdb_string.h.
      	* disasm.c: Use string.h, not gdb_string.h.
      	* doublest.c: Use string.h, not gdb_string.h.
      	* dsrec.c: Use string.h, not gdb_string.h.
      	* dummy-frame.c: Use string.h, not gdb_string.h.
      	* dwarf2-frame.c: Use string.h, not gdb_string.h.
      	* dwarf2loc.c: Use string.h, not gdb_string.h.
      	* dwarf2read.c: Use string.h, not gdb_string.h.
      	* elfread.c: Use string.h, not gdb_string.h.
      	* environ.c: Use string.h, not gdb_string.h.
      	* eval.c: Use string.h, not gdb_string.h.
      	* event-loop.c: Use string.h, not gdb_string.h.
      	* exceptions.c: Use string.h, not gdb_string.h.
      	* exec.c: Use string.h, not gdb_string.h.
      	* expprint.c: Use string.h, not gdb_string.h.
      	* f-exp.y: Use string.h, not gdb_string.h.
      	* f-lang.c: Use string.h, not gdb_string.h.
      	* f-typeprint.c: Use string.h, not gdb_string.h.
      	* f-valprint.c: Use string.h, not gdb_string.h.
      	* fbsd-nat.c: Use string.h, not gdb_string.h.
      	* findcmd.c: Use string.h, not gdb_string.h.
      	* findvar.c: Use string.h, not gdb_string.h.
      	* fork-child.c: Use string.h, not gdb_string.h.
      	* frame.c: Use string.h, not gdb_string.h.
      	* frv-linux-tdep.c: Use string.h, not gdb_string.h.
      	* frv-tdep.c: Use string.h, not gdb_string.h.
      	* gdb.c: Use string.h, not gdb_string.h.
      	* gdb_bfd.c: Use string.h, not gdb_string.h.
      	* gdbarch.c: Use string.h, not gdb_string.h.
      	* gdbtypes.c: Use string.h, not gdb_string.h.
      	* gnu-nat.c: Use string.h, not gdb_string.h.
      	* gnu-v2-abi.c: Use string.h, not gdb_string.h.
      	* gnu-v3-abi.c: Use string.h, not gdb_string.h.
      	* go-exp.y: Use string.h, not gdb_string.h.
      	* go-lang.c: Use string.h, not gdb_string.h.
      	* go32-nat.c: Use string.h, not gdb_string.h.
      	* hppa-hpux-tdep.c: Use string.h, not gdb_string.h.
      	* hppa-linux-nat.c: Use string.h, not gdb_string.h.
      	* hppanbsd-tdep.c: Use string.h, not gdb_string.h.
      	* hppaobsd-tdep.c: Use string.h, not gdb_string.h.
      	* i386-cygwin-tdep.c: Use string.h, not gdb_string.h.
      	* i386-dicos-tdep.c: Use string.h, not gdb_string.h.
      	* i386-linux-nat.c: Use string.h, not gdb_string.h.
      	* i386-linux-tdep.c: Use string.h, not gdb_string.h.
      	* i386-nto-tdep.c: Use string.h, not gdb_string.h.
      	* i386-sol2-tdep.c: Use string.h, not gdb_string.h.
      	* i386-tdep.c: Use string.h, not gdb_string.h.
      	* i386bsd-tdep.c: Use string.h, not gdb_string.h.
      	* i386gnu-nat.c: Use string.h, not gdb_string.h.
      	* i386nbsd-tdep.c: Use string.h, not gdb_string.h.
      	* i386obsd-tdep.c: Use string.h, not gdb_string.h.
      	* i387-tdep.c: Use string.h, not gdb_string.h.
      	* ia64-libunwind-tdep.c: Use string.h, not gdb_string.h.
      	* ia64-linux-nat.c: Use string.h, not gdb_string.h.
      	* inf-child.c: Use string.h, not gdb_string.h.
      	* inf-ptrace.c: Use string.h, not gdb_string.h.
      	* inf-ttrace.c: Use string.h, not gdb_string.h.
      	* infcall.c: Use string.h, not gdb_string.h.
      	* infcmd.c: Use string.h, not gdb_string.h.
      	* inflow.c: Use string.h, not gdb_string.h.
      	* infrun.c: Use string.h, not gdb_string.h.
      	* interps.c: Use string.h, not gdb_string.h.
      	* iq2000-tdep.c: Use string.h, not gdb_string.h.
      	* irix5-nat.c: Use string.h, not gdb_string.h.
      	* jv-exp.y: Use string.h, not gdb_string.h.
      	* jv-lang.c: Use string.h, not gdb_string.h.
      	* jv-typeprint.c: Use string.h, not gdb_string.h.
      	* jv-valprint.c: Use string.h, not gdb_string.h.
      	* language.c: Use string.h, not gdb_string.h.
      	* linux-fork.c: Use string.h, not gdb_string.h.
      	* linux-nat.c: Use string.h, not gdb_string.h.
      	* lm32-tdep.c: Use string.h, not gdb_string.h.
      	* m2-exp.y: Use string.h, not gdb_string.h.
      	* m2-typeprint.c: Use string.h, not gdb_string.h.
      	* m32c-tdep.c: Use string.h, not gdb_string.h.
      	* m32r-linux-nat.c: Use string.h, not gdb_string.h.
      	* m32r-linux-tdep.c: Use string.h, not gdb_string.h.
      	* m32r-rom.c: Use string.h, not gdb_string.h.
      	* m32r-tdep.c: Use string.h, not gdb_string.h.
      	* m68hc11-tdep.c: Use string.h, not gdb_string.h.
      	* m68k-tdep.c: Use string.h, not gdb_string.h.
      	* m68kbsd-tdep.c: Use string.h, not gdb_string.h.
      	* m68klinux-nat.c: Use string.h, not gdb_string.h.
      	* m68klinux-tdep.c: Use string.h, not gdb_string.h.
      	* m88k-tdep.c: Use string.h, not gdb_string.h.
      	* macrocmd.c: Use string.h, not gdb_string.h.
      	* main.c: Use string.h, not gdb_string.h.
      	* mdebugread.c: Use string.h, not gdb_string.h.
      	* mem-break.c: Use string.h, not gdb_string.h.
      	* memattr.c: Use string.h, not gdb_string.h.
      	* memory-map.c: Use string.h, not gdb_string.h.
      	* mep-tdep.c: Use string.h, not gdb_string.h.
      	* mi/mi-cmd-break.c: Use string.h, not gdb_string.h.
      	* mi/mi-cmd-disas.c: Use string.h, not gdb_string.h.
      	* mi/mi-cmd-env.c: Use string.h, not gdb_string.h.
      	* mi/mi-cmd-stack.c: Use string.h, not gdb_string.h.
      	* mi/mi-cmd-var.c: Use string.h, not gdb_string.h.
      	* mi/mi-cmds.c: Use string.h, not gdb_string.h.
      	* mi/mi-console.c: Use string.h, not gdb_string.h.
      	* mi/mi-getopt.c: Use string.h, not gdb_string.h.
      	* mi/mi-interp.c: Use string.h, not gdb_string.h.
      	* mi/mi-main.c: Use string.h, not gdb_string.h.
      	* mi/mi-parse.c: Use string.h, not gdb_string.h.
      	* microblaze-rom.c: Use string.h, not gdb_string.h.
      	* microblaze-tdep.c: Use string.h, not gdb_string.h.
      	* mingw-hdep.c: Use string.h, not gdb_string.h.
      	* minidebug.c: Use string.h, not gdb_string.h.
      	* minsyms.c: Use string.h, not gdb_string.h.
      	* mips-irix-tdep.c: Use string.h, not gdb_string.h.
      	* mips-linux-tdep.c: Use string.h, not gdb_string.h.
      	* mips-tdep.c: Use string.h, not gdb_string.h.
      	* mips64obsd-tdep.c: Use string.h, not gdb_string.h.
      	* mipsnbsd-tdep.c: Use string.h, not gdb_string.h.
      	* mipsread.c: Use string.h, not gdb_string.h.
      	* mn10300-linux-tdep.c: Use string.h, not gdb_string.h.
      	* mn10300-tdep.c: Use string.h, not gdb_string.h.
      	* monitor.c: Use string.h, not gdb_string.h.
      	* moxie-tdep.c: Use string.h, not gdb_string.h.
      	* mt-tdep.c: Use string.h, not gdb_string.h.
      	* nbsd-tdep.c: Use string.h, not gdb_string.h.
      	* nios2-linux-tdep.c: Use string.h, not gdb_string.h.
      	* nto-procfs.c: Use string.h, not gdb_string.h.
      	* nto-tdep.c: Use string.h, not gdb_string.h.
      	* objc-lang.c: Use string.h, not gdb_string.h.
      	* objfiles.c: Use string.h, not gdb_string.h.
      	* opencl-lang.c: Use string.h, not gdb_string.h.
      	* osabi.c: Use string.h, not gdb_string.h.
      	* osdata.c: Use string.h, not gdb_string.h.
      	* p-exp.y: Use string.h, not gdb_string.h.
      	* p-lang.c: Use string.h, not gdb_string.h.
      	* p-typeprint.c: Use string.h, not gdb_string.h.
      	* parse.c: Use string.h, not gdb_string.h.
      	* posix-hdep.c: Use string.h, not gdb_string.h.
      	* ppc-linux-nat.c: Use string.h, not gdb_string.h.
      	* ppc-sysv-tdep.c: Use string.h, not gdb_string.h.
      	* ppcfbsd-tdep.c: Use string.h, not gdb_string.h.
      	* ppcnbsd-tdep.c: Use string.h, not gdb_string.h.
      	* ppcobsd-tdep.c: Use string.h, not gdb_string.h.
      	* printcmd.c: Use string.h, not gdb_string.h.
      	* procfs.c: Use string.h, not gdb_string.h.
      	* prologue-value.c: Use string.h, not gdb_string.h.
      	* python/py-auto-load.c: Use string.h, not gdb_string.h.
      	* python/py-gdb-readline.c: Use string.h, not gdb_string.h.
      	* ravenscar-thread.c: Use string.h, not gdb_string.h.
      	* regcache.c: Use string.h, not gdb_string.h.
      	* registry.c: Use string.h, not gdb_string.h.
      	* remote-fileio.c: Use string.h, not gdb_string.h.
      	* remote-m32r-sdi.c: Use string.h, not gdb_string.h.
      	* remote-mips.c: Use string.h, not gdb_string.h.
      	* remote-sim.c: Use string.h, not gdb_string.h.
      	* remote.c: Use string.h, not gdb_string.h.
      	* reverse.c: Use string.h, not gdb_string.h.
      	* rs6000-aix-tdep.c: Use string.h, not gdb_string.h.
      	* ser-base.c: Use string.h, not gdb_string.h.
      	* ser-go32.c: Use string.h, not gdb_string.h.
      	* ser-mingw.c: Use string.h, not gdb_string.h.
      	* ser-pipe.c: Use string.h, not gdb_string.h.
      	* ser-tcp.c: Use string.h, not gdb_string.h.
      	* ser-unix.c: Use string.h, not gdb_string.h.
      	* serial.c: Use string.h, not gdb_string.h.
      	* sh-tdep.c: Use string.h, not gdb_string.h.
      	* sh64-tdep.c: Use string.h, not gdb_string.h.
      	* shnbsd-tdep.c: Use string.h, not gdb_string.h.
      	* skip.c: Use string.h, not gdb_string.h.
      	* sol-thread.c: Use string.h, not gdb_string.h.
      	* solib-dsbt.c: Use string.h, not gdb_string.h.
      	* solib-frv.c: Use string.h, not gdb_string.h.
      	* solib-osf.c: Use string.h, not gdb_string.h.
      	* solib-spu.c: Use string.h, not gdb_string.h.
      	* solib-target.c: Use string.h, not gdb_string.h.
      	* solib.c: Use string.h, not gdb_string.h.
      	* somread.c: Use string.h, not gdb_string.h.
      	* source.c: Use string.h, not gdb_string.h.
      	* sparc-nat.c: Use string.h, not gdb_string.h.
      	* sparc-sol2-tdep.c: Use string.h, not gdb_string.h.
      	* sparc-tdep.c: Use string.h, not gdb_string.h.
      	* sparc64-tdep.c: Use string.h, not gdb_string.h.
      	* sparc64fbsd-tdep.c: Use string.h, not gdb_string.h.
      	* sparc64nbsd-tdep.c: Use string.h, not gdb_string.h.
      	* sparcnbsd-tdep.c: Use string.h, not gdb_string.h.
      	* spu-linux-nat.c: Use string.h, not gdb_string.h.
      	* spu-multiarch.c: Use string.h, not gdb_string.h.
      	* spu-tdep.c: Use string.h, not gdb_string.h.
      	* stabsread.c: Use string.h, not gdb_string.h.
      	* stack.c: Use string.h, not gdb_string.h.
      	* std-regs.c: Use string.h, not gdb_string.h.
      	* symfile.c: Use string.h, not gdb_string.h.
      	* symmisc.c: Use string.h, not gdb_string.h.
      	* symtab.c: Use string.h, not gdb_string.h.
      	* target.c: Use string.h, not gdb_string.h.
      	* thread.c: Use string.h, not gdb_string.h.
      	* tilegx-linux-nat.c: Use string.h, not gdb_string.h.
      	* tilegx-tdep.c: Use string.h, not gdb_string.h.
      	* top.c: Use string.h, not gdb_string.h.
      	* tracepoint.c: Use string.h, not gdb_string.h.
      	* tui/tui-command.c: Use string.h, not gdb_string.h.
      	* tui/tui-data.c: Use string.h, not gdb_string.h.
      	* tui/tui-disasm.c: Use string.h, not gdb_string.h.
      	* tui/tui-file.c: Use string.h, not gdb_string.h.
      	* tui/tui-layout.c: Use string.h, not gdb_string.h.
      	* tui/tui-out.c: Use string.h, not gdb_string.h.
      	* tui/tui-regs.c: Use string.h, not gdb_string.h.
      	* tui/tui-source.c: Use string.h, not gdb_string.h.
      	* tui/tui-stack.c: Use string.h, not gdb_string.h.
      	* tui/tui-win.c: Use string.h, not gdb_string.h.
      	* tui/tui-windata.c: Use string.h, not gdb_string.h.
      	* tui/tui-winsource.c: Use string.h, not gdb_string.h.
      	* typeprint.c: Use string.h, not gdb_string.h.
      	* ui-file.c: Use string.h, not gdb_string.h.
      	* ui-out.c: Use string.h, not gdb_string.h.
      	* user-regs.c: Use string.h, not gdb_string.h.
      	* utils.c: Use string.h, not gdb_string.h.
      	* v850-tdep.c: Use string.h, not gdb_string.h.
      	* valarith.c: Use string.h, not gdb_string.h.
      	* valops.c: Use string.h, not gdb_string.h.
      	* valprint.c: Use string.h, not gdb_string.h.
      	* value.c: Use string.h, not gdb_string.h.
      	* varobj.c: Use string.h, not gdb_string.h.
      	* vax-tdep.c: Use string.h, not gdb_string.h.
      	* vaxnbsd-tdep.c: Use string.h, not gdb_string.h.
      	* vaxobsd-tdep.c: Use string.h, not gdb_string.h.
      	* windows-nat.c: Use string.h, not gdb_string.h.
      	* xcoffread.c: Use string.h, not gdb_string.h.
      	* xml-support.c: Use string.h, not gdb_string.h.
      	* xstormy16-tdep.c: Use string.h, not gdb_string.h.
      	* xtensa-linux-nat.c: Use string.h, not gdb_string.h.
      0e9f083f
  24. May 20, 2013
    • Tom Tromey's avatar
      * python/py-arch.c (gdbpy_initialize_arch): Return 'int'. · 999633ed
      Tom Tromey authored
      	Check errors.
      	* python/py-auto-load.c (gdbpy_initialize_auto_load): Return 'int'.
      	* python/py-block.c (gdbpy_initialize_blocks): Return 'int'.
      	Check errors.
      	* python/py-breakpoint.c (gdbpy_initialize_breakpoints): Return 'int'.
      	Check errors.
      	* python/py-cmd.c (gdbpy_initialize_commands): Return 'int'.
      	Check errors.
      	* python/py-event.c (gdbpy_initialize_event): Return 'int'.
      	Check errors.
      	* python/py-event.h (GDBPY_NEW_EVENT_TYPE): Change generated
      	init function to return 'int'.
      	* python/py-evtregistry.c (gdbpy_initialize_eventregistry):
      	Return 'int'.  Check errors.
      	* python/py-evts.c (gdbpy_initialize_py_events): Return 'int'.
      	Check errors.
      	* python/py-finishbreakpoint.c (gdbpy_initialize_finishbreakpoints):
      	Return 'int'.  Check errors.
      	* python/py-frame.c (gdbpy_initialize_frames): Return 'int'.
      	Check errors.
      	* python/py-function.c (gdbpy_initialize_functions): Return 'int'.
      	Check errors.
      	* python/py-gdb-readline.c (gdbpy_initialize_gdb_readline):
      	Check errors.
      	* python/py-inferior.c (gdbpy_initialize_inferior): Return 'int'.
      	Check errors.
      	* python/py-infthread.c (gdbpy_initialize_thread): Return 'int'.
      	Check errors.
      	* python/py-lazy-string.c (gdbpy_initialize_lazy_string): Return 'int'.
      	Check errors.
      	* python/py-objfile.c (gdbpy_initialize_objfile): Return 'int'.
      	Check errors.
      	* python/py-param.c (gdbpy_initialize_parameters): Return 'int'.
      	Check errors.
      	* python/py-progspace.c (gdbpy_initialize_pspace): Return 'int'.
      	Check errors.
      	* python/py-symbol.c (gdbpy_initialize_symbols): Return 'int'.
      	Check errors.
      	* python/py-symtab.c (gdbpy_initialize_symtabs): Return 'int'.
      	Check errors.
      	* python/py-type.c (gdbpy_initialize_types): Return 'int'.
      	Check errors.
      	* python/py-value.c (gdbpy_initialize_values): Return 'int'.
      	Check errors.
      	* python/python-internal.h (gdbpy_initialize_auto_load,
      	gdbpy_initialize_values, gdbpy_initialize_frames,
      	gdbpy_initialize_symtabs, gdbpy_initialize_commands,
      	gdbpy_initialize_symbols, gdbpy_initialize_symtabs,
      	gdbpy_initialize_blocks, gdbpy_initialize_types,
      	gdbpy_initialize_functions, gdbpy_initialize_pspace,
      	gdbpy_initialize_objfile, gdbpy_initialize_breakpoints,
      	gdbpy_initialize_finishbreakpoints,
      	gdbpy_initialize_lazy_string, gdbpy_initialize_parameters,
      	gdbpy_initialize_thread, gdbpy_initialize_inferior,
      	gdbpy_initialize_eventregistry, gdbpy_initialize_event,
      	gdbpy_initialize_py_events, gdbpy_initialize_stop_event,
      	gdbpy_initialize_signal_event,
      	gdbpy_initialize_breakpoint_event,
      	gdbpy_initialize_continue_event,
      	gdbpy_initialize_exited_event, gdbpy_initialize_thread_event,
      	gdbpy_initialize_new_objfile_event, gdbpy_initialize_arch):
      	Update.  Use CPYCHECKER_NEGATIVE_RESULT_SETS_EXCEPTION.
      	* python/python.c (gdb_python_initialized): New global.
      	(gdbpy_initialize_events): Return 'int'.  Check errors.
      	(_initialize_python): Check errors.  Set
      	gdb_python_initialized.
      999633ed
  25. Jan 31, 2013
    • Aleksandar Ristovski's avatar
      2013-01-31 Aleksandar Ristovski <aristovski@qnx.com> · 5799c0b9
      Aleksandar Ristovski authored
      	* charset.c (intermediate_encoding): Remove unused i.
      	* completer.c (signal_completer): Remove unused i.
      	* continuations.c (discard_my_continuations_1): Remove unused
      	continuation_ptr.
      	* corelow.c (core_close): Remove unuseD name.
      	(get_core_siginfo): Remove unused pid.
      	* cp-namespace.c (cp_lookup_symbol_imports_or_template): Remove unused
      	i, cps.
      	* dwarf2loc.c (dwarf2_compile_expr_to_ax): Remove unused base_offset.
      	(loclist_describe_location): Remove unused first.
      	* event-top.c (command_line_handler): Remove unused got_eof.
      	* exec.c (exec_close_1): Remove unused need_symtab_cleanup.
      	(resize_section_table): Remove unused old_value.
      	* gdb_bfd.c (gdb_bfd_map_section): Remove unused header.
      	* gnu-v3-abi.c (compute_vtable_size): Remove unused addr.
      	* i386-tdep.c (i386_process_record): Remove unused rex.
      	* infcmd.c (get_return_value): Remove unused uiout.
      	* jv-lang.c (type_from_class): Remove unused is_array.
      	* jv-valprint.c (java_val_print): Remove unused i.
      	* linux-nat.c (linux_nat_stop_lwp): Remove unused ptid.
      	* linux-thread-db.c (thread_db_find_new_threads_2): Remove unuseD pid.
      	* m2-typeprint.c (m2_print_type): Remove unused code.
      	* macroexp.c (get_character_constant): Remove unused body_start.
      	(macro_stringify): Remove unused result.
      	* objc-lang.c (find_methods): Remove unused gdbarch.
      	* objfiles.c (filter_overlapping_sections): Remove unused abfd1, abfd2.
      	* regcache.c (regcache_cooked_read): Remove unused gdbarch.
      	* stack.c (print_frame_args): Remove unused summary.
      	* thread.c (thread_apply_command): Remove unused p.
      	* valarith.c (value_x_unop): Remove unused mangle_ptr.
      	* valops.c (search_struct_method): Remove unused skip.
      	* valprint.c (generic_val_print): Remove unused byte_order.
      	* varobj.c (varobj_update): Remove unused changed.
      	* cli/cli-cmds.c (complete_command): Remove unused next_item.
      	(alias_command): Remove unused c.
      	* mi/mi-cmd-catch.c (mi_catch_load_unload): Remove unused c.
      	* mi/mi-main.c (mi_cmd_data_write_register_values): Remove unused
      	format.
      	(mi_cmd_data_write_memory): Remove unused word_format.
      	(mi_cmd_data_write_memory_bytes): Remove unused r.
      	* python/py-gdb-readline.c (gdbpy_readline_wrapper): Remove unused
      	p_start, p_end.
      	* python/python.c (_initialize_python): Remove unused cmd_name, cmd.
      	* tui/tui-disasm.c (tui_set_disassem_content): Remove unused
      	line_width.
      
      Reference: http://sourceware.org/ml/gdb-patches/2013-01/msg00766.html
      5799c0b9
  26. Jan 01, 2013
  27. Aug 22, 2012
    • Yit Phang Khoo's avatar
      Enable readline in Python in a GDB-specific way and block the · 037bbc8e
      Yit Phang Khoo authored
      	standard Python readline module to prevent conflicts with GDB.
      	* Makefile.in (SUBDIR_PYTHON_OBS): Add py-gdb-readline.o.
      	(SUBDIR_PYTHON_SRCS): Add python/py-gdb-readline.c.
      	(py-gdb-readline.o): Add rule to compile python/py-gdb-readline.c.
      	* python/py-gdb-readline.c: New file.
      	* python/python-internal.h (gdbpy_initialize_gdb_readline): New
      	prototype.
      	* python/python.c (_initialize_python): Call
      	gdbpy_initialize_gdb_readline.
      037bbc8e
Loading