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

Bug#353516: Processed: Re: Bug#227386: libc6-dev: ENOTSUP==EOPNOTSUPP, which violates SUSv3



reopen 353516
thanks, control, and have a nice day

On Sun, 2006-02-19 at 14:53 +0100, Bastian Blank wrote:
> bits/errno.h says: Linux has no ENOTSUP error code.
> and linux themself don't specify this.

I understand that.  However, SUSv3 requires that it exist[0]:

  The <errno.h> header shall provide a declaration for errno and give
  positive values for the following symbolic constants. Their values
  shall be unique except as noted below.

The fact that it does not exist means that glibc defines it to be the
same as EOPNOTSUPP, which is not allowed.  The fact that they are the
same when they should not be prohibits the use of error numbers in
switch statements, which breaks actual code.

It is actually easier for Linux to implement this than glibc, because if
glibc assigns it a number, Linux may use that number for something else
in the future, and then there's a conflict, and we go through this all
over again.

However, either Linux needs to implement it, or glibc does.  Simply
pointing fingers at each other or ignoring it won't cut it.  Please
don't close this bug again until it is decided which one will implement
it.

[0] http://www.opengroup.org/onlinepubs/000095399/basedefs/errno.h.html




Reply to: