[Issue 5517] SEGV: assert(false) in release mode
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Sat Mar 5 05:12:39 PST 2011
http://d.puremagic.com/issues/show_bug.cgi?id=5517
--- Comment #3 from Iain Buclaw <ibuclaw at ubuntu.com> 2011-03-05 05:09:41 PST ---
(In reply to comment #2)
> Some further detail: 0xF4, the HLT opcode, is a privileged instruction; it
> doesn't actually get executed. Instead, a Privileged Instruction hardware
> exception is raised. I would expect Linux to turn this into SIGILL. So I would
> expect an exit code of 132, if nothing is done to process it. There is no way
> it should give a SEGV.
>
If I was going off what I recall, I would have said that when a program
receives the hlt instruction; it just stops executing instructions until there
is an interrupt (in other words it just floats off in an undefined space).
But I've looked it up, and HLT invokes SIGSEGV signal afterall...
> On Windows, druntime checks the offending instruction, and if it is HLT, it is
> identified as a runtime assert(0).
So on Windows, the runtime has a bespoke signal handler?
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
More information about the Digitalmars-d-bugs
mailing list