Re: GNU libc snapshots work again on the Hurd
Date: Thu, 10 Dec 1998 17:40:42 +0900
From: UCHIYAMA Yasushi <uch@nop.or.jp>
In libiberty/strerror.c(binutils,gdb), check program which tests
absense of sys_errlist returns
"undefined reference to `sys_errlist'"
So application undefines HAVE_SYS_ERRLIST or defines NEED_sys_errlist,
and defines application original symbol
#ifndef HAVE_SYS_ERRLIST
static int sys_nerr;
static const char **sys_errlist;
#else
But they conflict with stdio.h declarations that
#ifdef __USE_BSD
extern int sys_nerr;
extern const char *const sys_errlist[];
#endif
This must be a bug in the autoconf tests. Why isn't strerror() in
libc used?
One could however argue that the sys_errlist declaration should not be
in stdio.h.
Although to use of sys_errlist is deprecated, sys_errlist &
_sys_errlist symbols shuould define again for consistency...
That can never work. Any program that will use a sys_errlist that is
an alias for _hurd_errlist, that is compiled with a non-buggy version
of gcc will most likely give a segmentation fault.
Mark
Reply to: