In GDB scripts, don't assume that EMACS_INT fits in long.
* etc/emacs-buffer.gdb ($valmask): Don't assume EMACS_INT fits in 'long'. * src/.gdbinit (xreload): Likewise.
This commit is contained in:
parent
2d2f658128
commit
cb3a28cc90
4 changed files with 13 additions and 2 deletions
|
@ -1,3 +1,7 @@
|
|||
2012-02-20 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
* emacs-buffer.gdb ($valmask): Don't assume EMACS_INT fits in 'long'.
|
||||
|
||||
2012-02-10 Leo Liu <sdl.web@gmail.com>
|
||||
|
||||
* NEWS: Change condition-case-no-debug to
|
||||
|
|
|
@ -78,7 +78,9 @@ set $yverbose = 1
|
|||
set $yfile_buffers_only = 0
|
||||
|
||||
set $tagmask = (((long)1 << gdb_gctypebits) - 1)
|
||||
set $valmask = gdb_use_lsb ? ~($tagmask) : ((long)1 << gdb_valbits) - 1
|
||||
# The consing_since_gc business widens the 1 to EMACS_INT,
|
||||
# a symbol not directly visible to GDB.
|
||||
set $valmask = gdb_use_lsb ? ~($tagmask) : ((consing_since_gc - consing_since_gc + 1) << gdb_valbits) - 1
|
||||
|
||||
define ygetptr
|
||||
set $ptr = $arg0
|
||||
|
|
|
@ -1259,7 +1259,9 @@ end
|
|||
|
||||
define xreload
|
||||
set $tagmask = (((long)1 << gdb_gctypebits) - 1)
|
||||
set $valmask = gdb_use_lsb ? ~($tagmask) : ((long)1 << gdb_valbits) - 1
|
||||
# The consing_since_gc business widens the 1 to EMACS_INT,
|
||||
# a symbol not directly visible to GDB.
|
||||
set $valmask = gdb_use_lsb ? ~($tagmask) : ((consing_since_gc - consing_since_gc + 1) << gdb_valbits) - 1
|
||||
end
|
||||
document xreload
|
||||
When starting Emacs a second time in the same gdb session under
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
2012-02-20 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
* .gdbinit (xreload): Don't assume EMACS_INT fits in 'long'
|
||||
when computing $valmask.
|
||||
|
||||
Fix crash due to non-contiguous EMACS_INT (Bug#10780).
|
||||
* lisp.h (VALBITS): Move definition up, so that USE_LSB_TAG can use it.
|
||||
(USE_LSB_TAG): Do not define if UINTPTR_MAX >> VALBITS == 0.
|
||||
|
|
Loading…
Add table
Reference in a new issue