Bug#199134: libc6: ioperm() bug on some ARM targets
Package: libc6
Version: 2.3.1-17
Severity: normal
Tags: upstream patch
The ioperm() call on ARM architectures is emulated on specific ARM sub
architectures that support it. If the ARM architecture is not
recognised or does not support the ioperm() call at all (many arm
targets do not have ISA or PCI) the routine is returning EINVAL and
not ENODEV.
This has been fixed in the HEAD CVS branch but appears not to be
applied to the debian current glibc.
This is important for many ARM sub arches because several packages
fail the most obvious being the X Servers.
--- glibc-2.3.1/sysdeps/unix/sysv/linux/arm/ioperm.c.orig 2003-06-28 10:52:53.000000000 +0100
+++ glibc-2.3.1/sysdeps/unix/sysv/linux/arm/ioperm.c 2003-06-28 10:53:04.000000000 +0100
@@ -166,7 +166,7 @@
}
/* systype is not a known platform name... */
- __set_errno (EINVAL);
+ __set_errno (ENODEV);
return -1;
}
-- System Information:
Debian Release: testing/unstable
Architecture: i386
Kernel: Linux pbell 2.4.20-3-k7 #1 Sun Jun 8 01:35:14 EST 2003 i686
Locale: LANG=C, LC_CTYPE=C
Versions of packages libc6 depends on:
ii libdb1-compat 2.1.3-7 The Berkeley database routines [gl
-- no debconf information
Reply to: