Okay, so what do we do with the new errno?

Joerg Sonnenberger joerg at britannica.bec.de
Wed May 4 04:26:18 PDT 2005


On Tue, May 03, 2005 at 07:46:45PM -0700, walt wrote:
> After today's update I started to recompile all of my ports again
> (yes, I was well aware that I must) but the first port I tried
> (bash) died because of this line in psize.c:
> 
> extern int errno;
> 
> and this obviously conflicts with the definition in /usr/include/errno.h
> 
> extern __thread int  errno;
> 
> So -- what kind of patching does bash need?  The bash port might be a
> useful place to explain how this is going to work.  I see that errno.h
> includes a message about ports that want to define errno as a normal
> 'int' but the provided workaround doesn't seem to work:
> 
> #define errno   errno
> 
> Is that really the intended definition, or a typo?

The definition helps those programs like GCC which check if errno is
defined as macro and don't define it then. The definition of errno in
the source should be either dropped or at least conditionalized
on __STDC__.

I can't fix it for other programs, sorry.

Joerg





More information about the Bugs mailing list