and though bugs are the bane of my existence, rest assured the wretched thing will get the best of care here

  1. 07 Oct, 2016 2 commits
  2. 06 Oct, 2016 8 commits
    • Simon Marchi's avatar
      frame.h: Forward-declare struct ui_out · f2ddf8f6
      Simon Marchi authored
      Fixes this failure when building in C mode.  I think it's relevant for master
      as well, since it's a good practice to include (or forward-declare) what you
      use.
      
      In file included from ../../binutils-gdb/gdb/gdbarch.h:38:0,
                       from ../../binutils-gdb/gdb/defs.h:653,
                       from ../../binutils-gdb/gdb/dictionary.c:23:
      ../../binutils-gdb/gdb/frame.h:710:48: warning: ‘struct ui_out’ declared inside parameter list will not be visible outside of this definition or declaration
       extern void print_stack_frame_to_uiout (struct ui_out *uiout,
      
      gdb/ChangeLog:
      
      	* frame.h: Forward-declare struct ui_out.
      f2ddf8f6
    • Maciej W. Rozycki's avatar
      mips-tdep: Make FCRs always 32-bit · 1ce1f6de
      Maciej W. Rozycki authored
      Fix a regression from commit f8b73d13 ("Target-described register
      support for MIPS"),
      <https://sourceware.org/ml/gdb-patches/2007-05/msg00340.html>,
      <https://sourceware.org/ml/gdb-patches/2007-06/msg00256.html>, which
      caused Floating Point Control Registers (FCRs) to be shown as 64-bit
      with 64-bit targets.
      
      This came from the legacy register format where all raw registers
      matched the width of the architecture regardless of their actual size.
      The correct size was then set in `mips_register_type' for cooked
      registers presented to the user, which in the case of FCRs meant the
      cooked size was always forced to 32 bits, reflecting their actual
      hardware size, even though the raw format carried them in 64-bit
      quantities on 64-bit targets.  The upper 32 bits carried in the raw FCR
      format have always been don't-cares, not actually retrieved from
      hardware and never written back.
      
      With the introduction of XML register descriptions the layout of
      previously defined raw registers has been preserved, so as to keep
      existing register handling code unchanged and make it easier for GDB and
      `gdbserver' to interact with each other whether neither, either or both
      parties talking over RSP support XML register descriptions.  For the
      XML-described case however `mips_register_type' is not used in raw to
      cooked register conversion, so any special cases coded there are not
      taken into account.
      
      Instead a new function, `mips_pseudo_register_type', has been introduced
      to handle size conversion, however lacking the special case for FCRs for
      the Linux and the now defunct IRIX target.  The correct size has been
      maintained for embedded targets however, due to the bundling of FCRs
      with the embedded registers under the `rawnum >= MIPS_EMBED_FP0_REGNUM +
      32' condition.
      
      Add the missing case to `mips_pseudo_register_type' then, referring to
      the FCR indices explicitly, and observing that between
      `MIPS_EMBED_FP0_REGNUM + 32' and `MIPS_FIRST_EMBED_REGNUM' there is an
      unused register slot whose contents are ignored so with the removal of
      embedded FCRs from under that condition we don't have to care about it
      and we can refer to the embedded registers starting from
      MIPS_FIRST_EMBED_REGNUM instead.
      
      Add a test case too so that we have means to check automatically that
      the correct user-visible size of FCRs is maintained.
      
      	gdb/
      	* mips-tdep.c (mips_pseudo_register_type): Make FCRs always
      	32-bit.
      
      	gdb/testsuite/
      	* gdb.arch/mips-fcr.exp: New test.
      	* gdb.arch/mips-fcr.c: Source for the new test.
      (cherry picked from commit 78b86327)
      1ce1f6de
    • Maciej W. Rozycki's avatar
      mips-tdep: Rearrange comments in `mips_pseudo_register_type' · f92cb429
      Maciej W. Rozycki authored
      Rearrange comments throughout `mips_pseudo_register_type', placing them
      ahead the condtionals they apply to consistently.
      
      	gdb/
      	* mips-tdep.c (mips_pseudo_register_type): Rearrange comments
      	throughout.
      (cherry picked from commit a6912260)
      f92cb429
    • Maciej W. Rozycki's avatar
      testsuite: solib-disc: Use `standard_output_file' · 8ff5432c
      Maciej W. Rozycki authored
      Correct a commit 2151ccc5 ("Always organize test artifacts in a
      directory hierarchy") regression causing:
      
      Running .../gdb/testsuite/gdb.base/solib-disc.exp ...
      gdb compile failed, Assembler messages:
      Fatal error: can't create .../gdb/testsuite/gdb.base/so-disc-shr.c.o: No such file or directory
      
      by using `standard_output_file' to construct output file names
      throughout.
      
      	gdb/testsuite/
      	* gdb.base/solib-disc.exp: Use `standard_output_file'
      	throughout.
      (cherry picked from commit 7470adbb)
      8ff5432c
    • Markus Metzger's avatar
      stack: fix gdb.dwarf2/dw2-undefined-ret-addr.exp regression · 3929b7e9
      Markus Metzger authored
      Commit a038fa3e stack: check frame_unwind_caller_id adds a frame_id check to
      frame_info and treats a missing frame_id as NOT_AVAILABLE_ERROR.  This causes a
      regression in gdb.dwarf2/dw2-undefined-ret-addr.exp.
      
      Treat a missing frame_id as OPTIMIZED_OUT_ERROR instead.
      
      See also https://sourceware.org/ml/gdb-patches/2016-07/msg00273.html.
      3929b7e9
    • Pedro Alves's avatar
      Fix PR11094: JIT breakpoint is not properly recreated on reruns · f8da6fe3
      Pedro Alves authored
      Even though this was supposedly in the gdb 7.2 timeframe, the testcase
      in PR11094 crashes current GDB with a segfault:
      
        Program received signal SIGSEGV, Segmentation fault.
        0x00000000005ee894 in event_location_to_string (location=0x0) at
        src/gdb/location.c:412
        412       if (EL_STRING (location) == NULL)
        (top-gdb) bt
        #0  0x00000000005ee894 in event_location_to_string (location=0x0) at
        src/gdb/location.c:412
        #1  0x000000000057411a in print_breakpoint_location (b=0x18288e0, loc=0x0) at
        src/gdb/breakpoint.c:6201
        #2  0x000000000057483f in print_one_breakpoint_location (b=0x18288e0,
        loc=0x182cf10, loc_number=0, last_loc=0x7fffffffd258, allflag=1)
            at src/gdb/breakpoint.c:6473
        #3  0x00000000005751e1 in print_one_breakpoint (b=0x18288e0,
        last_loc=0x7fffffffd258, allflag=1) at
        src/gdb/breakpoint.c:6707
        #4  0x000000000057589c in breakpoint_1 (args=0x0, allflag=1, filter=0x0) at
        src/gdb/breakpoint.c:6947
        #5  0x0000000000575aa8 in maintenance_info_breakpoints (args=0x0, from_tty=0)
        at src/gdb/breakpoint.c:7026
        [...]
      
      This is GDB trying to print the location spec of the JIT event
      breakpoint, but that's an internal breakpoint without one.
      
      If I add a NULL check, then we see that the JIT breakpoint is now
      pending (because its location has shlib_disabled set):
      
        (gdb) maint info breakpoints
        Num     Type           Disp Enb Address            What
        [...]
        -8      jit events     keep y   <PENDING>           inf 1
        [...]
      
      But that's incorrect.  GDB should have managed to recreate the JIT
      breakpoint's location for the second run.  So the problem is
      elsewhere.
      
      The problem is that if the JIT loads at the same address on the second
      run, we never recreate the JIT breakpoint, because we hit this early
      return:
      
        static int
        jit_breakpoint_re_set_internal (struct gdbarch *gdbarch,
      				  struct jit_program_space_data *ps_data)
        {
          [...]
          if (ps_data->cached_code_address == addr)
            return 0;
      
          [...]
            delete_breakpoint (ps_data->jit_breakpoint);
          [...]
          ps_data->jit_breakpoint = create_jit_event_breakpoint (gdbarch, addr);
      
      Fix this by deleting the breakpoint and discarding the cached code
      address when the objfile where the previous JIT breakpoint was found
      is deleted/unloaded in the first place.
      
      The test that was originally added for PR11094 doesn't trip on this
      because:
      
        #1 - It doesn't test the case of the JIT descriptor's address _not_
             changing between reruns.
      
        #2 - And then it doesn't do "maint info breakpoints", or really
             anything with the JIT at all.
      
        #3 - and even then, to trigger the problem the JIT descriptor needs
             to be in a separate library, while the current test puts it in
             the main program.
      
      The patch extends the test to cover all combinations of these
      scenarios.
      
      gdb/ChangeLog:
      2016-10-06  Pedro Alves  <palves@redhat.com>
      
      	* jit.c (free_objfile_data): Delete the JIT breakpoint and clear
      	the cached code address.
      
      gdb/testsuite/ChangeLog:
      2016-10-06  Pedro Alves  <palves@redhat.com>
      
      	* gdb.base/jit-simple-dl.c: New file.
      	* gdb.base/jit-simple-jit.c: New file, factored out from ...
      	* gdb.base/jit-simple.c: ... this.
      	* gdb.base/jit-simple.exp (jit_run): Delete.
      	(build_jit): New proc.
      	(jit_test_reread): Recompile either the main program or the shared
      	library, depending on what is being tested.  Skip changing address
      	if caller wants to.  Compare before/after addresses.  If testing
      	standalone, explicitly load the binary.  Test "maint info
      	breakpoints".
      	(top level): Add "standalone vs shared lib" and "change address"
      	vs "same address" axes.
      f8da6fe3
    • Pedro Alves's avatar
      Fix a few gdb.base/jit-simple.exp problems · e027976f
      Pedro Alves authored
      I noticed that we sometimes get this:
      
        (gdb) print &__jit_debug_descriptor
        $1 = (struct jit_descriptor *) 0x601040 <__jit_debug_descriptor>
        (gdb) PASS: gdb.base/jit-simple.exp: blah 1
        [...]
        (gdb) run
        [...]
        Starting program: build/gdb/testsuite/outputs/gdb.base/jit-simple/jit-simple
        Unsupported JIT protocol version 4 in descriptor (expected 1)
      
        Breakpoint 2, main () at src/gdb/testsuite/gdb.base/jit-simple.c:36
        36        return 0;
        (gdb) print &__jit_debug_descriptor
        $2 = (struct jit_descriptor *) 0x601040 <__jit_debug_descriptor>
        (gdb) PASS: gdb.base/jit-simple.exp: blah 1
      
      All tests PASSed, but note the "Unsupported JIT protocol version 4"
      message.
      
      Also notice that "__jit_debug_descriptor" has the same address before
      and after the rerun, while the test is built in a way that should make
      that address change between runs.
      
      The test doesn't catch any of this because it doesn't compare
      before/after addresses.
      
      And then notice the "blah 1" test messages.  "blah" is clearly a WIP
      message, but it should be at least "blah 2" the second time.  :-)
      
      The reason this sometimes happens is that the test recompiles the
      program and expects gdb to reload it automaticallyt on "run".  However,
      if the original program and the new recompilation happen to be in the
      same second, then gdb does not realize that the binary needs to be
      reloaded.  (This is an old problem out of scope of this series.)  If
      that happens, then GDB ends up using the wrong symbols for the program
      that it spawns, reads the JIT descriptor out of the wrong address,
      finds garbage, and prints that "unsupported version" notice.
      
      Fix that in the same way gdb.base/reread.exp handles it -- by sleeping
      one second before recompiling.
      
      gdb/testsuite/ChangeLog:
      2016-10-06  Pedro Alves  <palves@redhat.com>
      
      	* gdb.base/jit-simple.exp (top level) Delete get_compiler_info
      	call.
      	(jit_run): Delete.
      	(jit_test_reread): Use with_test_prefix.  Reload the main binary
      	explicitly.  Compare the before/after addresses of the JIT
      	descriptor.
      e027976f
    • GDB Administrator's avatar
      Automatic date update in version.in · e40b2941
      GDB Administrator authored
      e40b2941
  3. 05 Oct, 2016 1 commit
  4. 04 Oct, 2016 1 commit
  5. 03 Oct, 2016 4 commits
    • Simon Marchi's avatar
      Introduce cleanup to restore current_uiout · 33de0b17
      Simon Marchi authored
      Make a globally available cleanup from a pre-existing one in infrun.c.
      This is used in a following patch.
      
      gdb/ChangeLog:
      
      	* infrun.c (restore_current_uiout_cleanup): Move to ui-out.c.
      	(print_stop_event): Use make_cleanup_restore_current_uiout.
      	* python/python.c (execute_gdb_command): Likewise.
      	* ui-out.c (restore_current_uiout_cleanup): Move from infrun.c.
      	(make_cleanup_restore_current_uiout): New function definition.
      	* ui-out.h (make_cleanup_restore_current_uiout): New function
      	declaration.
      	* utils.c (do_restore_ui_out): Remove.
      	(make_cleanup_restore_ui_out): Remove.
      	* utils.h (make_cleanup_restore_ui_out): Remove.
      33de0b17
    • Antoine Tremblay's avatar
      Add test for user context selection sync · ec55637a
      Antoine Tremblay authored
      This patch adds a test to verify that events are sent properly to all
      UIs when the user selection context (inferior, thread, frame) changes.
      
      The goal of the C test file is to provide two threads that are stopped with the
      same predictable backtrace (so that we can test frame switching).  The barrier
      helps us know when the child threads are started.  Then, scheduler-locking is
      used to bring each thread one by one to the position we expect them to be
      during the test.
      
      gdb/testsuite/ChangeLog:
      
      YYYY-MM-DD  Antoine Tremblay  <antoine.tremblay@ericsson.com>
      YYYY-MM-DD  Simon Marchi  <simon.marchi@ericsson.com>
      
      	PR gdb/20487
      	* gdb.mi/user-selected-context-sync.exp: New file.
      	* gdb.mi/user-selected-context-sync.c: New file.
      ec55637a
    • Antoine Tremblay's avatar
      Emit inferior, thread and frame selection events to all UIs · 1555a1e7
      Antoine Tremblay authored
      With this patch, when an inferior, thread or frame is explicitly
      selected by the user, notifications will appear on all CLI and MI UIs.
      When a GDB console is integrated in a front-end, this allows the
      front-end to follow a selection made by the user ont he CLI, and it
      informs the user about selection changes made behind the scenes by the
      front-end.
      
      This patch addresses PR gdb/20487.
      
      In order to communicate frame changes to the front-end, this patch adds
      a new field to the =thread-selected event for the selected frame.  The
      idea is that since inferior/thread/frame can be seen as a composition,
      it makes sense to send them together in the same event.  The vision
      would be to eventually send the inferior information as well, if we find
      that it's needed, although the "=thread-selected" event would be
      ill-named for that job.
      
      Front-ends need to handle this new field if they want to follow the
      frame selection changes that originate from the console.  The format of
      the frame attribute is the same as what is found in the *stopped events.
      
      Here's a detailed example for each command and the events they generate:
      
      thread
      ------
      
      1. CLI command:
      
           thread 1.3
      
         MI event:
      
           =thread-selected,id="3",frame={...}
      
      2. MI command:
      
           -thread-select 3
      
         CLI event:
      
           [Switching to thread 1.3 ...]
      
      3. MI command (CLI-in-MI):
      
           thread 1.3
      
         MI event/reply:
      
           &"thread 1.3\n"
           ~"#0  child_sub_function () ...
           =thread-selected,id="3",frame={level="0",...}
           ^done
      
      frame
      -----
      
      1. CLI command:
      
           frame 1
      
         MI event:
      
           =thread-selected,id="3",frame={level="1",...}
      
      2. MI command:
      
           -stack-select-frame 1
      
         CLI event:
      
           #1  0x00000000004007f0 in child_function...
      
      3. MI command (CLI-in-MI):
      
           frame 1
      
         MI event/reply:
      
           &"frame 1\n"
           ~"#1  0x00000000004007f9 in ..."
           =thread-selected,id="3",frame={level="1"...}
           ^done
      
      inferior
      --------
      
      Inferior selection events only go from the console to MI, since there's
      no way to select the inferior in pure MI.
      
      1. CLI command:
      
           inferior 2
      
         MI event:
      
           =thread-selected,id="3"
      
      Note that if the user selects an inferior that is not started or exited,
      the MI doesn't receive a notification.  Since there is no threads to
      select, the =thread-selected event does not apply...
      
      2. MI command (CLI-in-MI):
      
           inferior 2
      
         MI event/reply:
      
           &"inferior 2\n"
           ~"[Switching to inferior 2 ...]"
           =thread-selected,id="4",frame={level="0"...}
           ^done
      
      Internal implementation detail: this patch makes it possible to suppress
      notifications caused by a CLI command, like what is done in mi-interp.c.
      This means that it's now possible to use the
      add_com_suppress_notification function to register a command with some
      event suppressed.  It is used to implement the select-frame command in
      this patch.
      
      The function command_notifies_uscc_observer was added to extract
      the rather complicated logical expression from the if statement.  It is
      also now clearer what that logic does: if the command used by the user
      already notifies the user_selected_context_changed observer, there is
      not need to notify it again.  It therefore protects again emitting the
      event twice.
      
      No regressions, tested on ubuntu 14.04 x86 with target boards unix and
      native-extended-gdbserver.
      
      gdb/ChangeLog:
      
      YYYY-MM-DD  Antoine Tremblay  <antoine.tremblay@ericsson.com>
      YYYY-MM-DD  Simon Marchi  <simon.marchi@ericsson.com>
      
      	PR gdb/20487
      	* NEWS: Mention new frame field of =thread-selected event.
      	* cli/cli-decode.c (add_cmd): Initialize c->suppress_notification.
      	(add_com_suppress_notification): New function definition.
      	(cmd_func): Set and restore the suppress_notification flag.
      	* cli/cli-deicode.h (struct cmd_list_element)
      	<suppress_notification>: New field.
      	* cli/cli-interp.c (cli_suppress_notification): New global variable.
      	(cli_on_user_selected_context_changed): New function.
      	(_initialize_cli_interp): Attach to user_selected_context_changed
      	observer.
      	* command.h (struct cli_suppress_notification): New structure.
      	(cli_suppress_notification): New global variable declaration.
      	(add_com_suppress_notification): New function declaration.
      	* defs.h (enum user_selected_what_flag): New enum.
      	(user_selected_what): New enum flag type.
      	* frame.h (print_stack_frame_to_uiout): New function declaration.
      	* gdbthread.h (print_selected_thread_frame): New function declaration.
      	* inferior.c (print_selected_inferior): New function definition.
      	(inferior_command): Remove printing of inferior/thread/frame switch
      	notifications, notify user_selected_context_changed observer.
      	* inferior.h (print_selected_inferior): New function declaration.
      	* mi/mi-cmds.c (struct mi_cmd): Add user_selected_context
      	suppression to stack-select-frame and thread-select commands.
      	* mi/mi-interp.c (struct mi_suppress_notification)
      	<user_selected_context>: Initialize.
      	(mi_user_selected_context_changed): New function definition.
      	(_initialize_mi_interp): Attach to user_selected_context_changed.
      	* mi/mi-main.c (mi_cmd_thread_select): Print thread selection reply.
      	(mi_execute_command): Handle notification suppression.  Notify
      	user_selected_context_changed observer on thread change instead of printing
      	event directly.  Don't send it if command already sends the notification.
      	(command_notifies_uscc_observer): New function.
      	(mi_cmd_execute): Don't handle notification suppression.
      	* mi/mi-main.h (struct mi_suppress_notification)
      	<user_selected_context>: New field.
      	* stack.c (print_stack_frame_to_uiout): New function definition.
      	(select_frame_command): Notify user_selected_context_changed
      	observer.
      	(frame_command): Call print_selected_thread_frame if there's no frame
      	change or notify user_selected_context_changed observer if there is.
      	(up_command): Notify user_selected_context_changed observer.
      	(down_command): Likewise.
      	(_initialize_stack): Suppress user_selected_context notification for
      	command select-frame.
      	* thread.c (thread_command): Notify
      	user_selected_context_changed if the thread has changed, print
      	thread info directly if it hasn't.
      	(do_captured_thread_select): Do not print thread switch event.
      	(print_selected_thread_frame): New function definition.
      	* tui/tui-interp.c (tui_on_user_selected_context_changed):
      	New function definition.
      	(_initialize_tui_interp): Attach to user_selected_context_changed
      	observer.
      
      gdb/doc/ChangeLog:
      
      	PR gdb/20487
      	* gdb.texinfo (Context management): Update mention of frame
      	change notifications.
      	(gdb/mi Async Records): Document frame field in
      	=thread-select event.
      	* observer.texi (GDB Observers): New user_selected_context_changed
      	observer.
      
      gdb/testsuite/ChangeLog:
      
      	PR gdb/20487
      	* gdb.mi/mi-pthreads.exp (check_mi_thread_command_set): Adapt
      	=thread-select-event check.
      1555a1e7
    • GDB Administrator's avatar
      Automatic date update in version.in · 6f578e33
      GDB Administrator authored
      6f578e33
  6. 02 Oct, 2016 1 commit
  7. 01 Oct, 2016 1 commit
  8. 30 Sep, 2016 1 commit
  9. 29 Sep, 2016 2 commits
    • Jan Kratochvil's avatar
      PR gdb/20609 - attach of JIT-debug-enabled inf 7.11.1 regression · b31567ca
      Jan Kratochvil authored
      Regression: gdb --pid $(pidof qemu-system-x86_64) stopped working with gdb 7.11.1
      https://sourceware.org/bugzilla/show_bug.cgi?id=20609
      
      It was reported for qemu-system-x86_64 but it happens for any multithreaded
      inferior with a JIT debugging hook.
      
      136613ef is the first bad commit
      Author: Pedro Alves <palves@redhat.com>
          Fix PR gdb/19828: gdb -p <process from a container>: internal error
      Message-ID: <cbdf2e04-4fa8-872a-2a23-08c9c1b26e00@redhat.com>
      https://sourceware.org/ml/gdb-patches/2016-05/msg00450.html
      
      jit_breakpoint_re_set() is specific by trying to insert a breakpoint into the
      main executable, not into a shared library.  During attachment GDB thinks it
      needs to use 'breakpoint always-inserted' from
      breakpoints_should_be_inserted_now() as a newly attached thread is
      'thread_info->executing' due to 'lwp_info->must_set_ptrace_flags' enabled and
      the task not yet stopped.  This did not happen before the 'bad commit' above
      which adds tracking of such thread.
      
      GDB then fails to insert the breakpoints to invalid address as PIE executable
      gets properly relocated during later phase of attachment.  One can see in the
      backtraces below:
       -> jit_breakpoint_re_set_internal()
      later:
       -> svr4_exec_displacement()
      
      One can suppress the initial breakpoint_re_set() call as there will be another
      breakpoint_re_set() done from the final post_create_inferior() call in
      setup_inferior().
      
      BTW additionally 'threads_executing' cache bool is somehow stale (somewhere is
      missing update_threads_executing()).  I was trying to deal with that in my
      first/second attempt below but in my final third attempt (attached) I have
      left it as it is.
      
      First attempt trying not to falsely require 'breakpoint always-inserted':
        https://people.redhat.com/jkratoch/rhbz1375553-fix1.patch
      Reduced first attempt:
        https://people.redhat.com/jkratoch/rhbz1375553-fix2.patch
      
      The third attempt suppresses breakpoint insertion until PIE executable gets
      relocated by svr4_exec_displacement().  Applied.
      
      gdb/ChangeLog
      2016-09-29  Jan Kratochvil  <jan.kratochvil@redhat.com>
      
      	PR gdb/20609 - attach of JIT-debug-enabled inf 7.11.1 regression
      	* exec.c (exec_file_locate_attach): Add parameter defer_bp_reset.
      	Use it.
      	* gdbcore.h (exec_file_locate_attach): Add parameter defer_bp_reset.
      	* infcmd.c (setup_inferior): Update caller.
      	* remote.c (remote_add_inferior): Likewise.
      
      gdb/testsuite/ChangeLog
      2016-09-29  Jan Kratochvil  <jan.kratochvil@redhat.com>
      
      	PR gdb/20609 - attach of JIT-debug-enabled inf 7.11.1 regression
      	* gdb.base/jit-attach-pie.c: New file.
      	* gdb.base/jit-attach-pie.exp: New file.
      b31567ca
    • GDB Administrator's avatar
      Automatic date update in version.in · 30405e40
      GDB Administrator authored
      30405e40
  10. 28 Sep, 2016 2 commits
    • Pedro Alves's avatar
      Fix PR 20345 - call_function_by_hand_dummy: Assertion `tp->thread_fsm == &sm->thread_fsm' failed · 629ad95d
      Pedro Alves authored
      If you run an infcall from the command line, and immediately after run
      some other command, GDB incorrectly processes the other command before
      the infcall finishes.
      
      The problem is that the fix for PR gdb/20418 (Problems with
      synchronous commands and new-ui, git 3eb7562a) moved the
      add_file_handler/delete_file_handler calls out of
      target_terminal_$foo, and missed adjusting the infcall code.
      
      gdb/ChangeLog:
      2016-09-28  Pedro Alves  <palves@redhat.com>
      
      	* infcall.c (run_inferior_call): Remove input from the event
      	loop while running the infcall.
      
      gdb/testsuite/ChangeLog:
      2016-09-28  Pedro Alves  <palves@redhat.com>
      
      	* gdb.base/infcall-input.c: New file.
      	* gdb.base/infcall-input.exp: New file.
      629ad95d
    • GDB Administrator's avatar
      Automatic date update in version.in · 5324ac42
      GDB Administrator authored
      5324ac42
  11. 27 Sep, 2016 2 commits
  12. 26 Sep, 2016 1 commit
  13. 25 Sep, 2016 1 commit
  14. 24 Sep, 2016 1 commit
  15. 23 Sep, 2016 1 commit
  16. 22 Sep, 2016 1 commit
  17. 21 Sep, 2016 2 commits
    • Yao Qi's avatar
      Keep reserved bits in CPSR on write · 61f97a2f
      Yao Qi authored
      In patch https://sourceware.org/ml/gdb-patches/2016-04/msg00529.html
      I cleared reserved bits when reading CPSR.  It makes a problem that
      these bits (zero) are written back to kernel through ptrace, and it
      changes the state of the processor on some recent kernel, which is
      unexpected.
      
      In this patch, I keep these reserved bits when write CPSR back to
      hardware.
      
      gdb:
      
      2016-09-21  Yao Qi  <yao.qi@linaro.org>
      
      	* aarch32-linux-nat.c (aarch32_gp_regcache_collect): Keep
      	bits 20 to 23.
      
      gdb/gdbserver:
      
      2016-09-21  Yao Qi  <yao.qi@linaro.org>
      
      	* linux-aarch32-low.c (arm_fill_gregset): Keep bits 20 to
      	23.
      61f97a2f
    • GDB Administrator's avatar
      Automatic date update in version.in · 79c7eab9
      GDB Administrator authored
      79c7eab9
  18. 20 Sep, 2016 2 commits
  19. 19 Sep, 2016 1 commit
  20. 18 Sep, 2016 1 commit
  21. 17 Sep, 2016 1 commit
  22. 16 Sep, 2016 2 commits
    • Peter Bergner's avatar
      Backport lastest POWER9 support to match final ISA 3.0 documentation. · 36d46af3
      Peter Bergner authored
      opcodes/
      	Apply from master.
      	2016-09-14  Peter Bergner <bergner@vnet.ibm.com>
      
      	* ppc-opc.c (powerpc_opcodes) <slbiag>: New mnemonic.
      	<addex., brd, brh, brw, lwzmx, nandxor, rldixor, setbool,
      	xor3>: Delete mnemonics.
      	<cp_abort>: Rename mnemonic from ...
      	<cpabort>: ...to this.
      	<setb>: Change to a X form instruction.
      	<sync>: Change to 1 operand form.
      	<copy>: Delete mnemonic.
      	<copy_first>: Rename mnemonic from ...
      	<copy>: ...to this.
      	<paste, paste.>: Delete mnemonics.
      	<paste_last>: Rename mnemonic from ...
      	<paste.>: ...to this.
      
      gas/
      	Apply from master.
      	2016-09-14  Peter Bergner <bergner@vnet.ibm.com>
      
      	* testsuite/gas/ppc/power9.d <slbiag, cpabort> New tests.
      	<addex., brd, brh, brw, lwzmx, nandxor, rldixor, setbool,
      	xor3, cp_abort, copy_first, paste, paste_last, sync>: Remove tests.
      	<copy, paste.>: Update tests.
      	* testsuite/gas/ppc/power9.s: Likewise.
      36d46af3
    • GDB Administrator's avatar
      Automatic date update in version.in · 00c8cd4c
      GDB Administrator authored
      00c8cd4c
  23. 15 Sep, 2016 1 commit