diff options
| author | Paul Eggert | 2012-02-20 16:07:53 -0800 |
|---|---|---|
| committer | Paul Eggert | 2012-02-20 16:07:53 -0800 |
| commit | cb3a28cc909e79244a477dcc357e38da658a8992 (patch) | |
| tree | f782cc1941a9aa4fde43789f81ec0ba00b9ad3c4 | |
| parent | 2d2f6581283113ad4c806e7f176724e7d3013172 (diff) | |
| download | emacs-cb3a28cc909e79244a477dcc357e38da658a8992.tar.gz emacs-cb3a28cc909e79244a477dcc357e38da658a8992.zip | |
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.
| -rw-r--r-- | etc/ChangeLog | 4 | ||||
| -rw-r--r-- | etc/emacs-buffer.gdb | 4 | ||||
| -rw-r--r-- | src/.gdbinit | 4 | ||||
| -rw-r--r-- | src/ChangeLog | 3 |
4 files changed, 13 insertions, 2 deletions
diff --git a/etc/ChangeLog b/etc/ChangeLog index 1f1190b19d9..7e71eca54b9 100644 --- a/etc/ChangeLog +++ b/etc/ChangeLog | |||
| @@ -1,3 +1,7 @@ | |||
| 1 | 2012-02-20 Paul Eggert <eggert@cs.ucla.edu> | ||
| 2 | |||
| 3 | * emacs-buffer.gdb ($valmask): Don't assume EMACS_INT fits in 'long'. | ||
| 4 | |||
| 1 | 2012-02-10 Leo Liu <sdl.web@gmail.com> | 5 | 2012-02-10 Leo Liu <sdl.web@gmail.com> |
| 2 | 6 | ||
| 3 | * NEWS: Change condition-case-no-debug to | 7 | * NEWS: Change condition-case-no-debug to |
diff --git a/etc/emacs-buffer.gdb b/etc/emacs-buffer.gdb index 2bd2fa23794..80f69c585dc 100644 --- a/etc/emacs-buffer.gdb +++ b/etc/emacs-buffer.gdb | |||
| @@ -78,7 +78,9 @@ set $yverbose = 1 | |||
| 78 | set $yfile_buffers_only = 0 | 78 | set $yfile_buffers_only = 0 |
| 79 | 79 | ||
| 80 | set $tagmask = (((long)1 << gdb_gctypebits) - 1) | 80 | set $tagmask = (((long)1 << gdb_gctypebits) - 1) |
| 81 | set $valmask = gdb_use_lsb ? ~($tagmask) : ((long)1 << gdb_valbits) - 1 | 81 | # The consing_since_gc business widens the 1 to EMACS_INT, |
| 82 | # a symbol not directly visible to GDB. | ||
| 83 | set $valmask = gdb_use_lsb ? ~($tagmask) : ((consing_since_gc - consing_since_gc + 1) << gdb_valbits) - 1 | ||
| 82 | 84 | ||
| 83 | define ygetptr | 85 | define ygetptr |
| 84 | set $ptr = $arg0 | 86 | set $ptr = $arg0 |
diff --git a/src/.gdbinit b/src/.gdbinit index 74dbd7a4197..7cd828733b1 100644 --- a/src/.gdbinit +++ b/src/.gdbinit | |||
| @@ -1259,7 +1259,9 @@ end | |||
| 1259 | 1259 | ||
| 1260 | define xreload | 1260 | define xreload |
| 1261 | set $tagmask = (((long)1 << gdb_gctypebits) - 1) | 1261 | set $tagmask = (((long)1 << gdb_gctypebits) - 1) |
| 1262 | set $valmask = gdb_use_lsb ? ~($tagmask) : ((long)1 << gdb_valbits) - 1 | 1262 | # The consing_since_gc business widens the 1 to EMACS_INT, |
| 1263 | # a symbol not directly visible to GDB. | ||
| 1264 | set $valmask = gdb_use_lsb ? ~($tagmask) : ((consing_since_gc - consing_since_gc + 1) << gdb_valbits) - 1 | ||
| 1263 | end | 1265 | end |
| 1264 | document xreload | 1266 | document xreload |
| 1265 | When starting Emacs a second time in the same gdb session under | 1267 | When starting Emacs a second time in the same gdb session under |
diff --git a/src/ChangeLog b/src/ChangeLog index 911799b2bd2..bd376e9b855 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,5 +1,8 @@ | |||
| 1 | 2012-02-20 Paul Eggert <eggert@cs.ucla.edu> | 1 | 2012-02-20 Paul Eggert <eggert@cs.ucla.edu> |
| 2 | 2 | ||
| 3 | * .gdbinit (xreload): Don't assume EMACS_INT fits in 'long' | ||
| 4 | when computing $valmask. | ||
| 5 | |||
| 3 | Fix crash due to non-contiguous EMACS_INT (Bug#10780). | 6 | Fix crash due to non-contiguous EMACS_INT (Bug#10780). |
| 4 | * lisp.h (VALBITS): Move definition up, so that USE_LSB_TAG can use it. | 7 | * lisp.h (VALBITS): Move definition up, so that USE_LSB_TAG can use it. |
| 5 | (USE_LSB_TAG): Do not define if UINTPTR_MAX >> VALBITS == 0. | 8 | (USE_LSB_TAG): Do not define if UINTPTR_MAX >> VALBITS == 0. |