Subject: Re: OK, so netscape 2.0 beta 2 breaks SUNOS_COMPAT. What now?
To: None <port-sparc@NetBSD.ORG>
From: Charles Hannum <Charles-Hannum@deshaw.com>
List: port-sparc
Date: 11/14/1995 19:01:02
   Is there some other pathway it could have followed that wouldn't have gone
   through one of these two cases in trap.c???

There are several other references to SIGILL in sys/arch/sparc/sparc,
mostly having to do with register window manipulations failing.  I
count 8 others just in trap.c.

   Also, reading /usr/src/sys/kern/subr_prf.c, I'm confused by all the printf
   variants.  Should one use printf(), or uprintf(), or tprintf(), or kprintf()?
   I used "uprintf()" here, because the comment says

printf(): prints to the console and syslog.  This is used by various
diagnostics.

uprintf(): prints to the controlling terminal of the current process.
This is used primarily when an immediate operation fails.

tprintf*(): allows you to grab a reference to the controlling terminal
of a process, so you can print something to it and syslog later.  This
is used in things like tape drivers, so that info on an operation
which takes some time to complete will go to the `right' place.

ttyprintf(): prints to a specific tty.

kprintf(): is the internal function which actually does the work.

[Note that the comments above refer to where the functions are
*supposed* to be used.  There is some inconsistency, which should be
fixed at some point.]