Garrett D'Amore wrote:
> My only possible objection to this is that this change might mask 
> certain kinds of bugs which might be useful to catch.

Doesn't seem to be a problem for other platforms.

> Can we have an environment variable to turn off this behavior for 
> debugging purposes (perhaps leaving it turned off by default in a debug 
> build of ON?)  

I don't think that is a good idea. None of the other platforms I viewed 
have this and we didn't have this with SunOS 4.x either.  More 
importantly I don't like the idea of having to check an environment 
variable on every printf(3C) family call, there could be a noticable 
performance hit for that.

Basically I see the current behaviour as a long standing regression from 
SunOS 4.x and was really tempted to not even file an ARC case but just 
do a bug fix.  Lets not over design this or beat it to death in ARC 
unless there is a standards reason our sound architectural reason why 
this is the wrong thing do to (and given the behaviour of all the other 
platforms I'd have a hard time believing that).

 > A perhaps better solution might be to place an assert()
> in printf for the string not being NULL.  (Hmmm... do we even *have* 
> debug/non-debug versions of libc as we do for the kernel?)

No we don't, but then with DTrace we don't need to either.  If the goal 
is to find applications that could be fixed to not do this then use 
DTrace with the pid provider to find them.

-- 
Darren J Moffat

Reply via email to