This is the mail archive of the gdb-prs@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug breakpoints/21886] New: Compressed MIPS code debugging impossible due to memory breakpoint misplacement


https://sourceware.org/bugzilla/show_bug.cgi?id=21886

            Bug ID: 21886
           Summary: Compressed MIPS code debugging impossible due to
                    memory breakpoint misplacement
           Product: gdb
           Version: HEAD
            Status: NEW
          Severity: critical
          Priority: P1
         Component: breakpoints
          Assignee: macro@linux-mips.org
          Reporter: macro@linux-mips.org
  Target Milestone: 8.0.1
            Target: mips*-*-*

As from commit cd6c3b4ffc4e ("New gdbarch methods breakpoint_kind_from_pc 
and sw_breakpoint_from_kind") it is not possible to debug compressed MIPS
code due to the ISA bit being retained in the memory breakpoint location.
Consequently the software breakpoint instruction is patched in starting
from the second byte of the intended original instruction and therefore
corrupts code being debugged.  This usually renders debugging impossible,
e.g. with MIPS16 code and the Linux target any dynamic executable
crashes:

(gdb) continue
Continuing.

Program received signal SIGBUS, Bus error.
_dl_debug_initialize (ldbase=0, ns=0) at dl-debug.c:51
51          r = &_r_debug;
(gdb)

See <https://sourceware.org/ml/gdb-patches/2017-08/msg00011.html> for a
proposed fix.

-- 
You are receiving this mail because:
You are on the CC list for the bug.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]