Bug 3665 - errno 118 assigned twice (ECANCELED and ENOTSUP)
Summary: errno 118 assigned twice (ECANCELED and ENOTSUP)
Status: RESOLVED FIXED
Alias: None
Product: glibc
Classification: Unclassified
Component: hurd (show other bugs)
Version: 2.3.6
: P2 normal
Target Milestone: ---
Assignee: Thomas Schwinge
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-12-06 13:23 UTC by Samuel Thibault
Modified: 2014-07-17 14:56 UTC (History)
3 users (show)

See Also:
Host:
Target:
Build:
Last reconfirmed:
fweimer: security-


Attachments
proposed patch (348 bytes, patch)
2007-01-21 23:19 UTC, Samuel Thibault
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Samuel Thibault 2006-12-06 13:23:23 UTC
In manual/errno.texi, 118 is assigned twice: both to ENOTSUP and to
ECANCELED.

That makes 

switch(errno) {
	case ENOTSUP:
		foo();
		break;
	case ECANCELED:
		bar();
		break;
}

not compilable on systems that make use of these numbers for defining
E* constants (the Hurd, for instance).
Comment 1 Samuel Thibault 2007-01-21 23:19:14 UTC
Created attachment 1510 [details]
proposed patch

Here is a proposed patch.

ECANCELED is only supported for aio functions, which have yet no implementation
on the Hurd: the symbols aren't even provided, so no existing program may have
already been compiled using that 118 value.  That's why it is safe to change
that constant rather than ENOTSUP.
Comment 2 Samuel Thibault 2007-07-12 23:51:28 UTC
So, what do you think of this?  This is currently blocking building kdelibs on Debian, I'd like to know how this should be fixed before submitting a patch to debian's glibc package.
Comment 3 Thomas Schwinge 2007-07-22 12:46:42 UTC
This patch has been applied; now `mach/hurd/bits/errno.h' has to be regenerated.
 A patch has been posted in
<http://sourceware.org/ml/libc-alpha/2007-07/msg00089.html>.
Comment 4 Joseph Myers 2012-02-17 17:11:39 UTC
The .texi patch was applied, it looks like this is just an issue for a Hurd header now.

In my view we should add both Samuel and Thomas to <http://sourceware.org/glibc/wiki/MAINTAINERS> as maintainers of the Hurd support - that is, people who can review and commit changes to Hurd-specific code (both Hurd-specific files and Hurd-specific parts of other files where the usual coding conventions are observed) - they are the main people contributing to Hurd support.  Roland, any thoughts on this?
Comment 5 Roland McGrath 2012-02-21 19:41:01 UTC
I should continue to review nontrivial Hurd changes.
But certainly Samuel and Thomas should both be committers able to do trivial fixes and to commit on my approval.
Comment 6 Thomas Schwinge 2012-11-04 21:21:39 UTC
commit d6d98dea2d97e1dee5ab727982dd7430873c836f
Author:     Samuel Thibault <samuel.thibault@ens-lyon.org>
AuthorDate: Sun Jul 22 13:50:04 2007 +0200
Commit:     Thomas Schwinge <thomas@codesourcery.com>
CommitDate: Sun Nov 4 22:15:29 2012 +0100

    [BZ #3665] Regenerate sysdeps/mach/hurd/bits/errno.h.
Comment 7 Jackie Rosen 2014-02-16 17:43:50 UTC Comment hidden (spam)