aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2017-02-26Automatic date update in version.inGDB Administrator1-1/+1
2017-02-25Automatic date update in version.inGDB Administrator1-1/+1
2017-02-24Automatic date update in version.inGDB Administrator1-1/+1
2017-02-23Automatic date update in version.inGDB Administrator1-1/+1
2017-02-22Automatic date update in version.inGDB Administrator1-1/+1
2017-02-21Automatic date update in version.inGDB Administrator1-1/+1
2017-02-20Automatic date update in version.inGDB Administrator1-1/+1
2017-02-19Automatic date update in version.inGDB Administrator1-1/+1
2017-02-18Automatic date update in version.inGDB Administrator1-1/+1
2017-02-17Automatic date update in version.inGDB Administrator1-1/+1
2017-02-16Automatic date update in version.inGDB Administrator1-1/+1
2017-02-15Automatic date update in version.inusers/ARM/embedded-gdb-7.12-branch-2017q1GDB Administrator1-1/+1
2017-02-14Automatic date update in version.inGDB Administrator1-1/+1
2017-02-13Automatic date update in version.inGDB Administrator1-1/+1
2017-02-12Automatic date update in version.inGDB Administrator1-1/+1
2017-02-11Automatic date update in version.inGDB Administrator1-1/+1
2017-02-10Automatic date update in version.inGDB Administrator1-1/+1
2017-02-09Automatic date update in version.inGDB Administrator1-1/+1
2017-02-08Automatic date update in version.inGDB Administrator1-1/+1
2017-02-07Automatic date update in version.inGDB Administrator1-1/+1
2017-02-06Automatic date update in version.inGDB Administrator1-1/+1
2017-02-05Automatic date update in version.inGDB Administrator1-1/+1
2017-02-04Automatic date update in version.inGDB Administrator1-1/+1
2017-02-03Automatic date update in version.inGDB Administrator1-1/+1
2017-02-02Automatic date update in version.inGDB Administrator1-1/+1
2017-02-01Automatic date update in version.inGDB Administrator1-1/+1
2017-01-31Automatic date update in version.inGDB Administrator1-1/+1
2017-01-30Automatic date update in version.inGDB Administrator1-1/+1
2017-01-29Automatic date update in version.inGDB Administrator1-1/+1
2017-01-28Automatic date update in version.inGDB Administrator1-1/+1
2017-01-27Automatic date update in version.inGDB Administrator1-1/+1
2017-01-26Automatic date update in version.inGDB Administrator1-1/+1
2017-01-25Automatic date update in version.inGDB Administrator1-1/+1
2017-01-24Automatic date update in version.inGDB Administrator1-1/+1
2017-01-23Automatic date update in version.inGDB Administrator1-1/+1
2017-01-22Automatic date update in version.inGDB Administrator1-1/+1
2017-01-21Bump GDB version number to 7.12.1.DATE-git.Joel Brobecker3-2/+7
gdb/ChangeLog: * version.in: Set GDB version number to 7.12.1.DATE-git. * PROBLEMS: Likewise.
2017-01-21Document the GDB 7.12.1 release in gdb/ChangeLogJoel Brobecker1-0/+4
gdb/ChangeLog: GDB 7.12.1 released.
2017-01-21Set GDB version number to 7.12.1.gdb-7.12.1-releaseJoel Brobecker3-2/+7
gdb/ChangeLog: * version.in: Set GDB version number to 7.12.1. * PROBLEMS: Likewise.
2017-01-20Fix python-interactive with Python 3.6Simon Marchi3-2/+18
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.
2017-01-21Automatic date update in version.inGDB Administrator1-1/+1
2017-01-20Throw SJ/LJ exception on error in disassemblyYao Qi6-29/+91
PR 20939 reports that GDB will abort on memory error in disassembly, (gdb) disassemble 0x0,+4 Dump of assembler code from 0x0 to 0x4: terminate called after throwing an instance of 'gdb_exception_RETURN_MASK_ERROR' 0x0000000000000000: Aborted (gdb) guile (print (arch-disassemble arch 0 #:size 4))^M terminate called after throwing an instance of 'gdb_exception_RETURN_MASK_ERROR'^M ERROR: Process no longer exists This patch fixes PR 20939 by catching C++ exception, throwing SJ/LJ exception in the call back passed to C functions of opcodes, and catching SJ/LJ exception in gdb, and throw exception. The patch follows this commit 89525768cd086a0798a504c81fdf7ebcd4c904e1 Propagate GDB/C++ exceptions across readline using sj/lj-based TRY/CATCH rather than "backport" the fix to this PR I posted for mainline https://sourceware.org/ml/gdb-patches/2017-01/msg00288.html because the fix for mainline includes 1) some changes to opcodes, 2) some refactors in C++. All of them are risky to backport to 7.12 branch. With this patch applied to 7.12 branch, GDB doesn't abort on memory error in disassembly. It fixes some test failures in gdb.guile/scm-disasm.exp and gdb.python/py-arch.exp on aarch64-linux. -ERROR: Process no longer exists -UNRESOLVED: gdb.guile/scm-disasm.exp: test bad memory access +PASS: gdb.guile/scm-disasm.exp: test bad memory access -ERROR: Process no longer exists -UNRESOLVED: gdb.python/py-arch.exp: test bad memory access +PASS: gdb.python/py-arch.exp: test bad memory access I'll add the scm-disasm test to master later. gdb: 2017-01-20 Yao Qi <yao.qi@linaro.org> PR gdb/20939 * disasm.c (dis_asm_memory_error): Catch the error and rethrow it as a SJ/LJ exception. Add GDB_NOEXCEPT. (disasm_print_insn_noexcept): New function. (disasm_print_insn): New function. (gdb_pretty_print_insn): Call disasm_print_insn instead of gdbarch_print_insn. (gdb_print_insn): Likewise. (gdb_buffered_insn_length): Likewise. * event-top.c (GDB_NOEXCEPT): Move it to ... * exceptions.h (GDB_NOEXCEPT): ... here. * guile/scm-disasm.c (gdbscm_disasm_memory_error): Remove. (gdbscm_print_insn_from_port): Don't set di.memory_errro_func. Call disasm_print_insn rather than gdbarch_print_insn.
2017-01-20Automatic date update in version.inGDB Administrator1-1/+1
2017-01-19Automatic date update in version.inGDB Administrator1-1/+1
2017-01-18Automatic date update in version.inGDB Administrator1-1/+1
2017-01-17Automatic date update in version.inGDB Administrator1-1/+1
2017-01-16Automatic date update in version.inGDB Administrator1-1/+1
2017-01-15Automatic date update in version.inGDB Administrator1-1/+1
2017-01-14Automatic date update in version.inGDB Administrator1-1/+1
2017-01-13Automatic date update in version.inGDB Administrator1-1/+1