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