This bug is already solved on the Debian package. It seems that Hendrik is using a bare upstream source which includes this bug. Patch is attached just for the sake of information. Thanks.
#! /bin/sh -e ## ## All lines beginning with `## DP:\' are a description of the patch. ## DP: Solves the FTBFS bugs [ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts patch_opts="${patch_opts:--f --no-backup-if-mismatch}" if [ $# -ne 1 ]; then echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" exit 1 fi case "$1" in -patch) patch $patch_opts -p1 < $0;; -unpatch) patch $patch_opts -p1 -R < $0;; *) echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" exit 1;; esac exit 0 @DPATCH@ diff -urN valgrind-2.0.0.orig/coregrind/vg_intercept.c valgrind-2.0.0/coregrind/vg_intercept.c --- valgrind-2.0.0.orig/coregrind/vg_intercept.c 2003-11-04 23:18:08.000000000 +0000 +++ valgrind-2.0.0/coregrind/vg_intercept.c 2003-11-13 22:39:58.000000000 +0000 @@ -62,7 +62,6 @@ #include <stdio.h> #include <sys/ipc.h> #include <sys/msg.h> -#include <asm/ipc.h> /* for ipc_kludge */ #include <sys/poll.h> #include <sys/socket.h> #include <sys/uio.h> @@ -450,7 +449,7 @@ { struct vki_timespec nanosleep_interval; int err; - struct ipc_kludge tmp; + struct vki_ipc_kludge tmp; ensure_valgrind("msgrcv"); diff -urN valgrind-2.0.0.orig/coregrind/vg_syscalls.c valgrind-2.0.0/coregrind/vg_syscalls.c --- valgrind-2.0.0.orig/coregrind/vg_syscalls.c 2003-11-03 19:15:04.000000000 +0000 +++ valgrind-2.0.0/coregrind/vg_syscalls.c 2003-11-13 22:42:07.000000000 +0000 @@ -1825,7 +1825,7 @@ Int msgsz = arg3; msgp = (struct msgbuf *)deref_Addr( tid, - (Addr) (&((struct ipc_kludge *)arg5)->msgp), + (Addr) (&((struct vki_ipc_kludge *)arg5)->msgp), "msgrcv(msgp)" ); SYSCALL_TRACK( pre_mem_write, tid, "msgrcv(msgp->mtype)", @@ -2157,7 +2157,7 @@ break; # endif - case IIOCGETCPS: + case VKI_IIOCGETCPS: /* In early 2.4 kernels, ISDN_MAX_CHANNELS was only defined * when KERNEL was. I never saw a larger value than 64 though */ # ifndef ISDN_MAX_CHANNELS @@ -2171,15 +2171,15 @@ VG_TRACK( post_mem_write, arg3, ISDN_MAX_CHANNELS * 2 * sizeof(unsigned long) ); break; - case IIOCNETGPN: + case VKI_IIOCNETGPN: SYSCALL_TRACK( pre_mem_read, tid, "ioctl(IIOCNETGPN)", - (UInt)&((isdn_net_ioctl_phone *)arg3)->name, - sizeof(((isdn_net_ioctl_phone *)arg3)->name) ); + (UInt)&((vki_isdn_net_ioctl_phone *)arg3)->name, + sizeof(((vki_isdn_net_ioctl_phone *)arg3)->name) ); SYSCALL_TRACK( pre_mem_write, tid, "ioctl(IIOCNETGPN)", arg3, - sizeof(isdn_net_ioctl_phone) ); + sizeof(vki_isdn_net_ioctl_phone) ); KERNEL_DO_SYSCALL(tid,res); if (!VG_(is_kerror)(res) && res == 0) - VG_TRACK( post_mem_write, arg3, sizeof(isdn_net_ioctl_phone) ); + VG_TRACK( post_mem_write, arg3, sizeof(vki_isdn_net_ioctl_phone) ); break; /* These all use struct ifreq AFAIK */ diff -urN valgrind-2.0.0.orig/coregrind/vg_unsafe.h valgrind-2.0.0/coregrind/vg_unsafe.h --- valgrind-2.0.0.orig/coregrind/vg_unsafe.h 2003-11-04 23:18:40.000000000 +0000 +++ valgrind-2.0.0/coregrind/vg_unsafe.h 2003-11-13 22:50:29.000000000 +0000 @@ -46,11 +46,9 @@ #include <net/if.h> /* for struct ifreq et al */ #include <net/if_arp.h> /* for struct arpreq */ #include <net/route.h> /* for struct rtentry */ -#include <asm/ipc.h> /* for struct ipc_kludge */ #include <linux/msg.h> /* for struct msgbuf */ #include <linux/sem.h> /* for struct sembuf */ -#include <linux/isdn.h> /* for ISDN ioctls */ #include <scsi/sg.h> /* for the SG_* ioctls */ #include <sched.h> /* for struct sched_param */ #include <linux/sysctl.h> /* for struct __sysctl_args */ diff -urN valgrind-2.0.0.orig/include/vg_kerneliface.h valgrind-2.0.0/include/vg_kerneliface.h --- valgrind-2.0.0.orig/include/vg_kerneliface.h 2003-07-24 19:35:00.000000000 +0000 +++ valgrind-2.0.0/include/vg_kerneliface.h 2003-11-13 22:50:29.000000000 +0000 @@ -410,7 +410,25 @@ #define VKI_MODIFY_LDT_CONTENTS_STACK 1 #define VKI_MODIFY_LDT_CONTENTS_CODE 2 +/* IPC stuff, from 2.6.0-test7 asm/ipc.h: */ +struct vki_ipc_kludge { + struct msgbuf *msgp; + long msgtyp; +}; + +/* ISDN stuff, from 2.6.0-test7 linux/isdn.h: */ + +#define VKI_IIOCGETCPS _IO('I',21) +#define VKI_IIOCNETGPN _IO('I',34) + +#define VKI_ISDN_MSNLEN 32 + +typedef struct { + char name[10]; + char phone[VKI_ISDN_MSNLEN]; + int outgoing; +} vki_isdn_net_ioctl_phone; #endif /* ndef __VG_KERNELIFACE_H */
-- Andrés Roldán <aroldan@debian.org> GPG Key-ID: 0xB29396EB http://people.fluidsignal.com/~aroldan
Attachment:
pgpf9L3r9w298.pgp
Description: PGP signature