Subject: Re: errno conflict in kdump
To: itojun@iijlab.net, Assar Westerlund <assar@netbsd.org>
From: Christos Zoulas <christos@zoulas.com>
List: tech-userlevel
Date: 12/22/2000 08:56:21
On Dec 21,  7:45am, itojun@iijlab.net (itojun@iijlab.net) wrote:
-- Subject: Re: errno conflict in kdump

| >itojun@iijlab.net writes:
| >> >Module Name:	basesrc
| >> >Committed By:	jdolecek
| >> >Date:		Sun Dec 17 16:09:41 UTC 2000
| >> >
| >> >Modified Files:
| >> >	basesrc/usr.bin/kdump: kdump.c
| >> >	basesrc/usr.bin/ktrace: ktrace.h subr.c
| >> >
| >> >Log Message:
| >> >add support for KTR_USER records
| >> 
| >> 	usr.bin/kdump does not compile for me, due to the use of "errno"
| >> 	as member name.  in /usr/include/errno.h "errno" is #defined to be
| >> 	a funcion call.
| >I think the problem was actually introduced in signal.h:1.21.  Either
| >add "#undef errno" or rename the field to something else.  Dunno which
| >is cleaner.
| 
| 	you are correct, very sorry for incorrect finger-pointing.

I don't understand; errno is (*__errno()) so it should compile.

christos
| 
| 	christos, could you tell me why is the signal.h 1.20 -> 1.21 change?
| 	it looks to me that:
| 	- having consistent declaration of "errno" is a good thing.
| 	- inlined version of sig{add,del}set will not compile due to the
| 	  assignment to function result(!), like:
| 		(__errno()) = 22;
| 	- luckily, the inlined version of sig{add,del}set will never be used,
| 	  due to __RENAME().
| 
| itojun
-- End of excerpt from itojun@iijlab.net