On Sun, May 14, 2017 at 2:22 AM, Alexey Neyman <stilor@att.net> wrote:
divdi3.c:
90 if (d0 == 0)
91 d0 = 1 / d0; /* Divide intentionally by zero. */
Isn't the purpose of this intentional division to generate a SIGFPE, rather
than SIGILL?
Shouldn't divdi3.c do something else here, e.g. raise(SIGFPE) or be compiled
with -fno-sanitize=integer-divide-by-zero?
Yes, I think you're right.
We should try to get an actual hardware division by zero if we can;
raise(SIGFPE) will not fill in the siginfo structure exactly the same
way. It might be the best we can do sometimes, though.