Commit cb3a28cc authored by Paul Eggert's avatar Paul Eggert

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.
parent 2d2f6581
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
......
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.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment