[Pkg-pciutils-discuss] Bug#456461: pciutils: FTBFS on hurd-i386 (io port access)
Samuel Thibault
samuel.thibault at ens-lyon.org
Sun Dec 16 00:30:50 UTC 2007
Package: pciutils
Version: 1:2.2.4~pre4-1
Severity: important
Tags: patch
Hello,
pciutils currently FTBFS on hurd-i386 because it uses an old method for
enabling io port access. The attached patch makes it use the usual glibc
function.
Samuel
-- System Information:
Debian Release: lenny/sid
APT prefers testing
APT policy: (990, 'testing'), (500, 'unstable'), (500, 'stable'), (1, 'experimental')
Architecture: i386 (i686)
Kernel: Linux 2.6.23
Locale: LANG=fr_FR at euro, LC_CTYPE=fr_FR at euro (charmap=ISO-8859-15)
Shell: /bin/sh linked to /bin/bash
Versions of packages pciutils depends on:
ii libc6 2.7-3 GNU C Library: Shared libraries
ii libpci2 2:2.1.11-3 Obsolete shared library for access
pciutils recommends no packages.
-- no debconf information
--
Samuel
*** s has joined channel #ens-mim
<N> re
<s> pfff
<s> mare de la pfp.
<s> pas commencer et j'en ai deja marre.
<s> bon ct juste un cou de gueule ++
*** s has left channel #ens-mim (s)
-+- #ens-mim et la peufeupeu -+-
-------------- next part --------------
diff -ur pciutils-2.2.4/lib/i386-io-hurd.h pciutils-2.2.4-mine/lib/i386-io-hurd.h
--- pciutils-2.2.4/lib/i386-io-hurd.h 2006-08-01 10:18:51.000000000 +0000
+++ pciutils-2.2.4-mine/lib/i386-io-hurd.h 2007-12-15 20:30:59.000000000 +0000
@@ -10,41 +10,21 @@
*/
#include <sys/io.h>
-
-#include <mach/machine/mach_i386.h>
-#include <device/device.h>
-#include <hurd.h>
-
#include <stdio.h>
-static mach_port_t io_port;
-
static inline int
intel_setup_io(struct pci_access *a)
{
- mach_port_t device;
-
- if ((errno = get_privileged_ports(NULL, &device)))
- a->warning("i386-io-hurd: Can't get_privileged_ports(): %m");
-
- if (!errno && (errno = device_open(device, D_READ | D_WRITE, "io", &io_port)))
- a->warning("i386-io-hurd: Can't device_open(): %m");
-
- mach_port_deallocate(mach_task_self(), device);
-
- if (!errno && (errno = i386_io_port_add(mach_thread_self(), io_port)))
- a->warning("i386-io-hurd: Can't i386_io_port_add(): %m");
-
- return errno ? 0 : 1;
+ if (ioperm(0, 0x10000, 1)) {
+ a->warning("ioperm() failed: %m");
+ return 0;
+ }
+ return 1;
}
static inline int
intel_cleanup_io(struct pci_access *a)
{
- if ((errno = i386_io_port_remove(mach_thread_self(), io_port)))
- a->warning("i386-io-hurd: Can't i386_io_port_remove(): %m");
-
- mach_port_deallocate(mach_task_self(), io_port);
-
+ ioperm(0, 0x10000, 0);
return -1;
}
More information about the Pkg-pciutils-discuss
mailing list