Currently, I believe, GCC combines various calls to abort in a single
function, because it knows that none of them returns.

If the goal is simply to make the compiled code as small as possible,
this is the way to do it.  But that is not the best goal when
compiling free software.  Merging the various abort calls loses
information about what caused the crash, and sometimes (especially
with a nonreproducible crash) that can be a big pain.

So maybe it would be better to treat abort specially in the opposite
way: to inhibit merging two abort calls even in a situation where
calls to some unknown function might be merged.

Reply via email to