This is the mail archive of the glibc-bugs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug libc/6522] abort should not be marked noreturn


------- Additional Comments From dak at gnu dot org  2008-06-17 09:19 -------
(In reply to comment #6)
> The ISO C std 9899:1999, Sec 7.20.4.1 makes it clear:
> The specification of abort() is
>     void abort(void);
> and under "Returns" is the single sentence:
>     The abort function does not return to its caller.
> 
> IEEE POSIX 1003.1-2001 reiterates the above. I hope this answers the questions
> concerning the specification, and why we intend to remain in conformance.

Huh?  Nobody suggested letting abort return to its caller.  My proposal has
nothing whatsoever to do with complying or not complying to the above spec.  The
SPEC does _not_ state "The optimizer should ensure that abort is entered with a
stack state not containing useful information for the ensuing core dump".

Yes, certainly abort should not return.  But making use of this information in
the current manner means that abort is called without an identifiable call
context and associated identifiable register/stackframe/value state.  And for a
function with the distinguishing feature of creating a core dump, that's a
rather hefty drawback.  The resulting core dump is quite often useless, and not
useless in the usual "things may get executed and assigned in strange orders"
sense, but rather in the "utter garbage masquerading as something sensible and
wasting you hours of head-scratching" sense.

-- 


http://sourceware.org/bugzilla/show_bug.cgi?id=6522

------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]