Ar an t-ochtú lá déag de mí Feabhra, scríobh David Kastrup:
From Emacs DEBUG the following life-saving advice:
** 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.
I have tried to convince gcclib developers _not_ to declare the abort
function as _noreturn_ since its sole function over exit(1) is to create
a core dump and/or let a break point be set, and this is utterly useless
if the compiler assumes that it can trash the stack and does not need to
retain a recognizable return address.
That wouldn’t help us, as far as I can tell. In the context of assertions
failing, we only call abort from one place, the assert_failed function in
21.4 and the really_abort function (called from assert_failed) in 21.5. It
seems a reasonable general suggestion, though.
¿Dónde estará ahora mi sobrino Yoghurtu Nghe, que tuvo que huir
precipitadamente de la aldea por culpa de la escasez de rinocerontes?
XEmacs-Beta mailing list