[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: