# HG changeset patch # User David Kastrup # Date 1109692865 0 # Node ID ec7a860cdd572bcd75a3b3ec82f88b7d73b4b0a0 # Parent e1f267f69b789940151a7310370a400c3adf5cb0 Add information about `-fno-crossjumping' for GCC. diff -r e1f267f69b78 -r ec7a860cdd57 etc/ChangeLog --- a/etc/ChangeLog Tue Mar 01 13:38:34 2005 +0000 +++ b/etc/ChangeLog Tue Mar 01 16:01:05 2005 +0000 @@ -1,3 +1,7 @@ +2005-03-01 David Kastrup + + * DEBUG: Add information about `-fno-crossjumping' for GCC. + 2005-02-14 Lute Kamstra * TODO: Remove battery.el entry (DONE). diff -r e1f267f69b78 -r ec7a860cdd57 etc/DEBUG --- a/etc/DEBUG Tue Mar 01 13:38:34 2005 +0000 +++ b/etc/DEBUG Tue Mar 01 16:01:05 2005 +0000 @@ -1,5 +1,5 @@ Debugging GNU Emacs -Copyright (c) 1985, 2000, 2001 Free Software Foundation, Inc. +Copyright (c) 1985, 2000, 2001, 2005 Free Software Foundation, Inc. Permission is granted to anyone to make or distribute verbatim copies of this document as received, in any medium, provided that the @@ -20,6 +20,13 @@ where the executable was made. That directory has a .gdbinit file that defines various "user-defined" commands for debugging Emacs. +** When you are trying to analyze failed assertions, it will be +essential to compile Emacs either completely without optimizations or +at least (when using GCC) with the -fno-crossjumping option. Failure +to do so may make the compiler recycle the same abort call for all +assertions in a given function, rendering the stack backtrace useless +for identifying the specific failed assertion. + ** It is a good idea to run Emacs under GDB (or some other suitable debugger) *all the time*. Then, when Emacs crashes, you will be able to debug the live process, not just a core dump. (This is especially