gnucc and signal 6

Guy Harris guy at auspex.auspex.com
Sat May 6 08:32:30 AEST 1989


 >gnucc: Program cc1 got fatal signal 6.
 >
 >I looked this up in the SDS manual, and it says that signal 6 is SIGIOT,
 >and has the ever helpful description:
 >
 >SIGIOT	06	IOT instruction
 >
 >(Thanks guys ;-)  Anyway, what is an IOT instruction and why would I be
 >getting one during a compile.
 >
 >My system is MicroPort V386r3.0e.

And the manual is being stupid.  An IOT instruction is an instruction on
the PDP-11; a routine called "abort()" in PDP-11 UNIX executed this
instruction.  That routine was to be used by programs that were "at the
end of their rope", and wanted to exit and force a core dump.  In later
UNIX releases, "abort()" just sent a SIGIOT signal to the process
itself, which means it didn't have to execute some instruction that
might not even exist.  In even later UNIX releases, such as S5R3 - upon
which the Microport release in question is, I assume, based, so I don't
understand why it doesn't follow suit here - the signal SIGIOT was
renamed SIGABRT, to reflect the fact that it now meant
"program-generated abort" rather than "IOT instruction executed".

The message means "Program cc1 came to the end of its rope and executed
'abort()' in the hopes that somebody might be able to paw through its
core dump and figure out what went wrong."  Have fun with the "core"
file....



More information about the Comp.unix.questions mailing list