.hgignore
author Jan Vrany <jan.vrany@labware.com>
Thu, 07 Dec 2023 12:33:31 +0000
changeset 322 1b26d0a9560c
parent 310 7f59bfd70614
permissions -rw-r--r--
Emit and handle (custom) `-register-changed` notification This commit adds new (custom) asynchronous notification about register value being changed. Standard GDB does not notify MI clients about register value being changed when debugging (for example, by CLI command `set $rax = 1` or via Python's `Value.assign()`). This caused libgdb's register value cache being out of sync. In the past, this was partially worked around by manually emiting the notification on `GDBRegisterWithValue` APIs, but this did not (and could not) handle the case register was changed from GDB command line. To solve this problem, this commit installs a custom Python event handler that emits new GDB/MI notification - `-register-changed` - whenever a register changes after debugee is stopped. This has been enabled by upstream GDB commit 4825fd "gdb/python: implement support for sending custom MI async notifications" On libgdbs side, complete inferior state is invalidated. In theory, one could carefully invalidate only the changed `GDBRegisterWithValue` but in certain cases this could also change the backtrace (for example, if one updates stack pointer) or position in code. So it seems safer to just invalidate everything.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
53
63669c2c0f9e Test fixes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     1
63669c2c0f9e Test fixes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     2
syntax: glob
271
b3d47d1cb55d Initial support pro Pharo
Jan Vrany <jan.vrany@labware.com>
parents: 95
diff changeset
     3
*Init.c
53
63669c2c0f9e Test fixes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     4
makefile
63669c2c0f9e Test fixes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
*.so
95
f417138e9c48 Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
     6
*.so.debug
53
63669c2c0f9e Test fixes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     7
*.H
63669c2c0f9e Test fixes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
*.o
63669c2c0f9e Test fixes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
*.STH
63669c2c0f9e Test fixes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
*.sc
63669c2c0f9e Test fixes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
objbc
63669c2c0f9e Test fixes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
objvc
95
f417138e9c48 Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
    13
objmingw
f417138e9c48 Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
    14
*WINrc.obj
53
63669c2c0f9e Test fixes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
*.class
63669c2c0f9e Test fixes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
java/libs/*.jar
63669c2c0f9e Test fixes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
java/libs-src/*.jar
63669c2c0f9e Test fixes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    18
*-Test.xml
271
b3d47d1cb55d Initial support pro Pharo
Jan Vrany <jan.vrany@labware.com>
parents: 95
diff changeset
    19
*-Lint.xml
b3d47d1cb55d Initial support pro Pharo
Jan Vrany <jan.vrany@labware.com>
parents: 95
diff changeset
    20
*-Coverage.xml
53
63669c2c0f9e Test fixes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    21
st.chg
95
f417138e9c48 Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
    22
271
b3d47d1cb55d Initial support pro Pharo
Jan Vrany <jan.vrany@labware.com>
parents: 95
diff changeset
    23
*.orig
b3d47d1cb55d Initial support pro Pharo
Jan Vrany <jan.vrany@labware.com>
parents: 95
diff changeset
    24
*.bak
b3d47d1cb55d Initial support pro Pharo
Jan Vrany <jan.vrany@labware.com>
parents: 95
diff changeset
    25
b3d47d1cb55d Initial support pro Pharo
Jan Vrany <jan.vrany@labware.com>
parents: 95
diff changeset
    26
__pycache__
b3d47d1cb55d Initial support pro Pharo
Jan Vrany <jan.vrany@labware.com>
parents: 95
diff changeset
    27
*.pyc
b3d47d1cb55d Initial support pro Pharo
Jan Vrany <jan.vrany@labware.com>
parents: 95
diff changeset
    28
b3d47d1cb55d Initial support pro Pharo
Jan Vrany <jan.vrany@labware.com>
parents: 95
diff changeset
    29
tests/c/*-*-*
b3d47d1cb55d Initial support pro Pharo
Jan Vrany <jan.vrany@labware.com>
parents: 95
diff changeset
    30
b3d47d1cb55d Initial support pro Pharo
Jan Vrany <jan.vrany@labware.com>
parents: 95
diff changeset
    31
ports/makefiles
95
f417138e9c48 Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 53
diff changeset
    32
271
b3d47d1cb55d Initial support pro Pharo
Jan Vrany <jan.vrany@labware.com>
parents: 95
diff changeset
    33
ports/*/src-generated
b3d47d1cb55d Initial support pro Pharo
Jan Vrany <jan.vrany@labware.com>
parents: 95
diff changeset
    34
ports/*/GNUmakefile.local
b3d47d1cb55d Initial support pro Pharo
Jan Vrany <jan.vrany@labware.com>
parents: 95
diff changeset
    35
ports/*/*.image
b3d47d1cb55d Initial support pro Pharo
Jan Vrany <jan.vrany@labware.com>
parents: 95
diff changeset
    36
ports/*/*.changes
b3d47d1cb55d Initial support pro Pharo
Jan Vrany <jan.vrany@labware.com>
parents: 95
diff changeset
    37
310
7f59bfd70614 Add `ports/3rdparty` to `.hgignore`
Jan Vrany <jan.vrany@labware.com>
parents: 271
diff changeset
    38
ports/3rdparty
7f59bfd70614 Add `ports/3rdparty` to `.hgignore`
Jan Vrany <jan.vrany@labware.com>
parents: 271
diff changeset
    39
271
b3d47d1cb55d Initial support pro Pharo
Jan Vrany <jan.vrany@labware.com>
parents: 95
diff changeset
    40
ports/pharo/Pharo*.sources
b3d47d1cb55d Initial support pro Pharo
Jan Vrany <jan.vrany@labware.com>
parents: 95
diff changeset
    41
ports/pharo/PharoDebug.log
b3d47d1cb55d Initial support pro Pharo
Jan Vrany <jan.vrany@labware.com>
parents: 95
diff changeset
    42
ports/pharo/bin
b3d47d1cb55d Initial support pro Pharo
Jan Vrany <jan.vrany@labware.com>
parents: 95
diff changeset
    43
ports/pharo/lib
b3d47d1cb55d Initial support pro Pharo
Jan Vrany <jan.vrany@labware.com>
parents: 95
diff changeset
    44
ports/pharo/pharo
b3d47d1cb55d Initial support pro Pharo
Jan Vrany <jan.vrany@labware.com>
parents: 95
diff changeset
    45
ports/pharo/pharo-local
b3d47d1cb55d Initial support pro Pharo
Jan Vrany <jan.vrany@labware.com>
parents: 95
diff changeset
    46
ports/pharo/pharo.version
b3d47d1cb55d Initial support pro Pharo
Jan Vrany <jan.vrany@labware.com>
parents: 95
diff changeset
    47
ports/pharo/progress.log
b3d47d1cb55d Initial support pro Pharo
Jan Vrany <jan.vrany@labware.com>
parents: 95
diff changeset
    48
b3d47d1cb55d Initial support pro Pharo
Jan Vrany <jan.vrany@labware.com>
parents: 95
diff changeset
    49
b3d47d1cb55d Initial support pro Pharo
Jan Vrany <jan.vrany@labware.com>
parents: 95
diff changeset
    50