[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

r1504 - in glibc-package/trunk/debian: . patches/kfreebsd



Author: aurel32
Date: 2006-05-21 20:34:48 +0000 (Sun, 21 May 2006)
New Revision: 1504

Modified:
   glibc-package/trunk/debian/changelog
   glibc-package/trunk/debian/patches/kfreebsd/local-sysdeps.diff
Log:
  * patches/kfreebsd/local-sysdeps.diff: update to revision 1571 (from
    glibc-bsd).



Modified: glibc-package/trunk/debian/changelog
===================================================================
--- glibc-package/trunk/debian/changelog	2006-05-21 20:31:09 UTC (rev 1503)
+++ glibc-package/trunk/debian/changelog	2006-05-21 20:34:48 UTC (rev 1504)
@@ -17,6 +17,8 @@
   * debhelper.in/libc.preinst, debhelper.in/libc-otherbuild.postinst, 
     debhelper.in/libc.postinst, debhelper.in/libc-otherbuild.preinst: use
     /bin/sh instead of /bin/bash.  (Closes: #267594)
+  * patches/kfreebsd/local-sysdeps.diff: update to revision 1571 (from
+    glibc-bsd).
 
  -- Aurelien Jarno <aurel32@debian.org>  Fri, 19 May 2006 05:49:18 +0000
 

Modified: glibc-package/trunk/debian/patches/kfreebsd/local-sysdeps.diff
===================================================================
--- glibc-package/trunk/debian/patches/kfreebsd/local-sysdeps.diff	2006-05-21 20:31:09 UTC (rev 1503)
+++ glibc-package/trunk/debian/patches/kfreebsd/local-sysdeps.diff	2006-05-21 20:34:48 UTC (rev 1504)
@@ -3193,8 +3193,8 @@
 +#define IPV6CTL_MAXID		46
 diff -x .svn -Nurd null/unix/bsd/bsd4.4/kfreebsd/bits/ioctls.h sysdeps/unix/bsd/bsd4.4/kfreebsd/bits/ioctls.h
 --- null/unix/bsd/bsd4.4/kfreebsd/bits/ioctls.h	1970-01-01 01:00:00.000000000 +0100
-+++ sysdeps/unix/bsd/bsd4.4/kfreebsd/bits/ioctls.h	2006-01-26 20:16:36.000000000 +0100
-@@ -0,0 +1,366 @@
++++ sysdeps/unix/bsd/bsd4.4/kfreebsd/bits/ioctls.h	2006-05-02 21:24:22.000000000 +0200
+@@ -0,0 +1,67 @@
 +/*-
 + * Copyright (c) 1982, 1986, 1990 The Regents of the University of California.
 + * All rights reserved.
@@ -3229,342 +3229,43 @@
 +#ifndef	_IOCTLS_H_
 +#define	_IOCTLS_H_
 +
-+/*
-+ *	@(#)ioccom.h	8.2 (Berkeley) 3/28/94
-+ */
++#include <sys/ioccom.h>
 +
-+/*
-+ * Ioctl's have the command encoded in the lower word, and the size of
-+ * any in or out parameters in the upper word.  The high 3 bits of the
-+ * upper word are used to encode the in/out status of the parameter.
-+ */
-+#define	IOCPARM_MASK	0x1fff		/* parameter length, at most 13 bits */
-+#define	IOCPARM_LEN(x)	(((x) >> 16) & IOCPARM_MASK)
-+#define	IOCBASECMD(x)	((x) & ~(IOCPARM_MASK << 16))
-+#define	IOCGROUP(x)	(((x) >> 8) & 0xff)
++#include <sys/ttycom.h>
 +
-+#define	IOCPARM_MAX	NBPG		/* max size of ioctl, mult. of NBPG */
-+#define	IOC_VOID	0x20000000	/* no parameters */
-+#define	IOC_OUT		0x40000000	/* copy out parameters */
-+#define	IOC_IN		0x80000000	/* copy in parameters */
-+#define	IOC_INOUT	(IOC_IN|IOC_OUT)
-+#define	IOC_DIRMASK	0xe0000000	/* mask for IN/OUT/VOID */
-+
-+#define	_IOC(inout,group,num,len) \
-+	((unsigned long)(inout | ((len & IOCPARM_MASK) << 16) | ((group) << 8) | (num)))
-+#define	_IO(g,n)	_IOC(IOC_VOID,	(g), (n), 0)
-+#define	_IOR(g,n,t)	_IOC(IOC_OUT,	(g), (n), sizeof(t))
-+#define	_IOW(g,n,t)	_IOC(IOC_IN,	(g), (n), sizeof(t))
-+/* this should be _IORW, but stdio got there first */
-+#define	_IOWR(g,n,t)	_IOC(IOC_INOUT,	(g), (n), sizeof(t))
-+
 +/*
-+ *	@(#)ttycom.h	8.1 (Berkeley) 3/28/94
-+ */
-+
-+#define	TIOCMODG	_IOR('t', 3, int)	/* get modem control state */
-+#define	TIOCMODS	_IOW('t', 4, int)	/* set modem control state */
-+#define		TIOCM_LE	0001		/* line enable */
-+#define		TIOCM_DTR	0002		/* data terminal ready */
-+#define		TIOCM_RTS	0004		/* request to send */
-+#define		TIOCM_ST	0010		/* secondary transmit */
-+#define		TIOCM_SR	0020		/* secondary receive */
-+#define		TIOCM_CTS	0040		/* clear to send */
-+#define		TIOCM_CAR	0100		/* carrier detect */
-+#define		TIOCM_CD	TIOCM_CAR
-+#define		TIOCM_RNG	0200		/* ring */
-+#define		TIOCM_RI	TIOCM_RNG
-+#define		TIOCM_DSR	0400		/* data set ready */
-+						/* 8-10 compat */
-+#define	TIOCEXCL	 _IO('t', 13)		/* set exclusive use of tty */
-+#define	TIOCNXCL	 _IO('t', 14)		/* reset exclusive use of tty */
-+						/* 15 unused */
-+#define	TIOCFLUSH	_IOW('t', 16, int)	/* flush buffers */
-+						/* 17-18 compat */
-+#define	TIOCGETA	_IOR('t', 19, struct termios) /* get termios struct */
-+#define	TIOCSETA	_IOW('t', 20, struct termios) /* set termios struct */
-+#define	TIOCSETAW	_IOW('t', 21, struct termios) /* drain output, set */
-+#define	TIOCSETAF	_IOW('t', 22, struct termios) /* drn out, fls in, set */
-+#define	TIOCGETD	_IOR('t', 26, int)	/* get line discipline */
-+#define	TIOCSETD	_IOW('t', 27, int)	/* set line discipline */
-+						/* 127-124 compat */
-+#define	TIOCSBRK	 _IO('t', 123)		/* set break bit */
-+#define	TIOCCBRK	 _IO('t', 122)		/* clear break bit */
-+#define	TIOCSDTR	 _IO('t', 121)		/* set data terminal ready */
-+#define	TIOCCDTR	 _IO('t', 120)		/* clear data terminal ready */
-+#define	TIOCGPGRP	_IOR('t', 119, int)	/* get pgrp of tty */
-+#define	TIOCSPGRP	_IOW('t', 118, int)	/* set pgrp of tty */
-+						/* 117-116 compat */
-+#define	TIOCOUTQ	_IOR('t', 115, int)	/* output queue size */
-+#define	TIOCSTI		_IOW('t', 114, char)	/* simulate terminal input */
-+#define	TIOCNOTTY	 _IO('t', 113)		/* void tty association */
-+#define	TIOCPKT		_IOW('t', 112, int)	/* pty: set/clear packet mode */
-+#define		TIOCPKT_DATA		0x00	/* data packet */
-+#define		TIOCPKT_FLUSHREAD	0x01	/* flush packet */
-+#define		TIOCPKT_FLUSHWRITE	0x02	/* flush packet */
-+#define		TIOCPKT_STOP		0x04	/* stop output */
-+#define		TIOCPKT_START		0x08	/* start output */
-+#define		TIOCPKT_NOSTOP		0x10	/* no more ^S, ^Q */
-+#define		TIOCPKT_DOSTOP		0x20	/* now do ^S ^Q */
-+#define		TIOCPKT_IOCTL		0x40	/* state change of pty driver */
-+#define	TIOCSTOP	 _IO('t', 111)		/* stop output, like ^S */
-+#define	TIOCSTART	 _IO('t', 110)		/* start output, like ^Q */
-+#define	TIOCMSET	_IOW('t', 109, int)	/* set all modem bits */
-+#define	TIOCMBIS	_IOW('t', 108, int)	/* bis modem bits */
-+#define	TIOCMBIC	_IOW('t', 107, int)	/* bic modem bits */
-+#define	TIOCMGET	_IOR('t', 106, int)	/* get all modem bits */
-+#define	TIOCREMOTE	_IOW('t', 105, int)	/* remote input editing */
-+#define	TIOCGWINSZ	_IOR('t', 104, struct winsize)	/* get window size */
-+#define	TIOCSWINSZ	_IOW('t', 103, struct winsize)	/* set window size */
-+#define	TIOCUCNTL	_IOW('t', 102, int)	/* pty: set/clr usr cntl mode */
-+#define	TIOCSTAT	 _IO('t', 101)		/* simulate ^T status message */
-+#define		UIOCCMD(n)	_IO('u', n)	/* usr cntl op "n" */
-+#define	TIOCCONS	_IOW('t', 98, int)	/* become virtual console */
-+#define	TIOCSCTTY	 _IO('t', 97)		/* become controlling tty */
-+#define	TIOCEXT		_IOW('t', 96, int)	/* pty: external processing */
-+#define	TIOCSIG		 _IO('t', 95)		/* pty: generate signal */
-+#define	TIOCDRAIN	 _IO('t', 94)		/* wait till output drained */
-+#define	TIOCMSDTRWAIT	_IOW('t', 91, int)	/* modem: set wait on close */
-+#define	TIOCMGDTRWAIT	_IOR('t', 90, int)	/* modem: get wait on close */
-+#define	TIOCTIMESTAMP	_IOR('t', 89, struct timeval)	/* enable/get timestamp
-+						 * of last input event */
-+#define	TIOCDCDTIMESTAMP _IOR('t', 88, struct timeval)	/* enable/get timestamp
-+						 * of last DCd rise */
-+#define	TIOCSDRAINWAIT	_IOW('t', 87, int)	/* set ttywait timeout */
-+#define	TIOCGDRAINWAIT	_IOR('t', 86, int)	/* get ttywait timeout */
-+
-+#define	TTYDISC		0		/* termios tty line discipline */
-+#define	SLIPDISC	4		/* serial IP discipline */
-+#define	PPPDISC		5		/* PPP discipline */
-+#define	NETGRAPHDISC	6		/* Netgraph tty node discipline */
-+
-+/*
 + *	@(#)ioctl.h	8.6 (Berkeley) 3/28/94
 + */
 +
 +#define	TIOCGSIZE	TIOCGWINSZ
 +#define	TIOCSSIZE	TIOCSWINSZ
 +
-+/*
-+ *	@(#)filio.h	8.1 (Berkeley) 3/28/94
-+ */
++#include <sys/filio.h>
 +
-+/* Generic file-descriptor ioctl's. */
-+#define	FIOCLEX		 _IO('f', 1)		/* set close on exec on fd */
-+#define	FIONCLEX	 _IO('f', 2)		/* remove close on exec */
-+#define	FIONREAD	_IOR('f', 127, int)	/* get # bytes to read */
-+#define	FIONBIO		_IOW('f', 126, int)	/* set/clear non-blocking i/o */
-+#define	FIOASYNC	_IOW('f', 125, int)	/* set/clear async i/o */
-+#define	FIOSETOWN	_IOW('f', 124, int)	/* set owner */
-+#define	FIOGETOWN	_IOR('f', 123, int)	/* get owner */
-+#define	FIODTYPE	_IOR('f', 122, int)	/* get d_flags type part */
-+#define	FIOGETLBA	_IOR('f', 121, int)	/* get start blk # */
++#include <sys/sockio.h>
 +
-+/*
-+ *	@(#)sockio.h	8.1 (Berkeley) 3/28/94
-+ */
++#ifndef _SYS_IOCTL_COMPAT_H_
++#ifndef BURN_BRIDGES
 +
-+/* Socket ioctl's. */
-+#define	SIOCSHIWAT	 _IOW('s',  0, int)		/* set high watermark */
-+#define	SIOCGHIWAT	 _IOR('s',  1, int)		/* get high watermark */
-+#define	SIOCSLOWAT	 _IOW('s',  2, int)		/* set low watermark */
-+#define	SIOCGLOWAT	 _IOR('s',  3, int)		/* get low watermark */
-+#define	SIOCATMARK	 _IOR('s',  7, int)		/* at oob mark? */
-+#define	SIOCSPGRP	 _IOW('s',  8, int)		/* set process group */
-+#define	SIOCGPGRP	 _IOR('s',  9, int)		/* get process group */
-+
-+#define	SIOCADDRT	 _IOW('r', 10, struct ortentry)	/* add route */
-+#define	SIOCDELRT	 _IOW('r', 11, struct ortentry)	/* delete route */
-+#define	SIOCGETVIFCNT	_IOWR('r', 15, struct sioc_vif_req)/* get vif pkt cnt */
-+#define	SIOCGETSGCNT	_IOWR('r', 16, struct sioc_sg_req) /* get s,g pkt cnt */
-+
-+#define	SIOCSIFADDR	 _IOW('i', 12, struct ifreq)	/* set ifnet address */
-+#define	OSIOCGIFADDR	_IOWR('i', 13, struct ifreq)	/* get ifnet address */
-+#define	SIOCGIFADDR	_IOWR('i', 33, struct ifreq)	/* get ifnet address */
-+#define	SIOCSIFDSTADDR	 _IOW('i', 14, struct ifreq)	/* set p-p address */
-+#define	OSIOCGIFDSTADDR	_IOWR('i', 15, struct ifreq)	/* get p-p address */
-+#define	SIOCGIFDSTADDR	_IOWR('i', 34, struct ifreq)	/* get p-p address */
-+#define	SIOCSIFFLAGS	 _IOW('i', 16, struct ifreq)	/* set ifnet flags */
-+#define	SIOCGIFFLAGS	_IOWR('i', 17, struct ifreq)	/* get ifnet flags */
-+#define	OSIOCGIFBRDADDR	_IOWR('i', 18, struct ifreq)	/* get broadcast addr */
-+#define	SIOCGIFBRDADDR	_IOWR('i', 35, struct ifreq)	/* get broadcast addr */
-+#define	SIOCSIFBRDADDR	 _IOW('i', 19, struct ifreq)	/* set broadcast addr */
-+#define	OSIOCGIFCONF	_IOWR('i', 20, struct ifconf)	/* get ifnet list */
-+#define	SIOCGIFCONF	_IOWR('i', 36, struct ifconf)	/* get ifnet list */
-+#define	OSIOCGIFNETMASK	_IOWR('i', 21, struct ifreq)	/* get net addr mask */
-+#define	SIOCGIFNETMASK	_IOWR('i', 37, struct ifreq)	/* get net addr mask */
-+#define	SIOCSIFNETMASK	 _IOW('i', 22, struct ifreq)	/* set net addr mask */
-+#define	SIOCGIFMETRIC	_IOWR('i', 23, struct ifreq)	/* get IF metric */
-+#define	SIOCSIFMETRIC	 _IOW('i', 24, struct ifreq)	/* set IF metric */
-+#define	SIOCDIFADDR	 _IOW('i', 25, struct ifreq)	/* delete IF addr */
-+#define	SIOCAIFADDR	 _IOW('i', 26, struct ifaliasreq)/* add/chg IF alias */
-+
-+#define	SIOCALIFADDR	_IOW('i', 27, struct if_laddrreq) /* add IF addr */
-+#define	SIOCGLIFADDR	_IOWR('i', 28, struct if_laddrreq) /* get IF addr */
-+#define	SIOCDLIFADDR	_IOW('i', 29, struct if_laddrreq) /* delete IF addr */
-+#define	SIOCSIFCAP	 _IOW('i', 30, struct ifreq)	/* set IF features */
-+#define	SIOCGIFCAP	_IOWR('i', 31, struct ifreq)	/* get IF features */
-+
-+#define	SIOCADDMULTI	 _IOW('i', 49, struct ifreq)	/* add m'cast addr */
-+#define	SIOCDELMULTI	 _IOW('i', 50, struct ifreq)	/* del m'cast addr */
-+#define	SIOCGIFMTU	_IOWR('i', 51, struct ifreq)	/* get IF mtu */
-+#define	SIOCSIFMTU	 _IOW('i', 52, struct ifreq)	/* set IF mtu */
-+#define	SIOCGIFPHYS	_IOWR('i', 53, struct ifreq)	/* get IF wire */
-+#define	SIOCSIFPHYS	 _IOW('i', 54, struct ifreq)	/* set IF wire */
-+#define	SIOCSIFMEDIA	_IOWR('i', 55, struct ifreq)	/* set net media */
-+#define	SIOCGIFMEDIA	_IOWR('i', 56, struct ifmediareq) /* get net media */
-+
-+#define	SIOCSIFPHYADDR   _IOW('i', 70, struct ifaliasreq) /* set gif addres */
-+#define	SIOCGIFPSRCADDR	_IOWR('i', 71, struct ifreq)	/* get gif psrc addr */
-+#define	SIOCGIFPDSTADDR	_IOWR('i', 72, struct ifreq)	/* get gif pdst addr */
-+#define	SIOCDIFPHYADDR	 _IOW('i', 73, struct ifreq)	/* delete gif addrs */
-+#define	SIOCSLIFPHYADDR	 _IOW('i', 74, struct if_laddrreq) /* set gif addrs */
-+#define	SIOCGLIFPHYADDR	_IOWR('i', 75, struct if_laddrreq) /* get gif addrs */
-+
-+#define	SIOCSIFGENERIC	 _IOW('i', 57, struct ifreq)	/* generic IF set op */
-+#define	SIOCGIFGENERIC	_IOWR('i', 58, struct ifreq)	/* generic IF get op */
-+
-+#define	SIOCGIFSTATUS	_IOWR('i', 59, struct ifstat)	/* get IF status */
-+#define	SIOCSIFLLADDR	 _IOW('i', 60, struct ifreq)	/* set linklevel addr */
-+
-+#define	SIOCGPRIVATE_0	_IOWR('i', 80, struct ifreq)	/* Linux Private + 0 */
-+#define	SIOCGPRIVATE_1	_IOWR('i', 81, struct ifreq)	/* Linux Private + 1 */
-+
-+#define SIOCIFCREATE	_IOWR('i', 122, struct ifreq)	/* create clone if */
-+#define SIOCIFDESTROY	 _IOW('i', 121, struct ifreq)	/* destroy clone if */
-+#define SIOCIFGCLONERS	_IOWR('i', 120, struct if_clonereq) /* get cloners */
-+
-+/*
-+ * Compatibility with 4.3 BSD terminal driver.
-+ *	@(#)ioctl_compat.h	8.4 (Berkeley) 1/21/94
-+ */
-+
-+#ifdef USE_OLD_TTY
-+# undef  TIOCGETD
-+# define TIOCGETD	_IOR('t', 0, int)	/* get line discipline */
-+# undef  TIOCSETD
-+# define TIOCSETD	_IOW('t', 1, int)	/* set line discipline */
-+#else
-+# define OTIOCGETD	_IOR('t', 0, int)	/* get line discipline */
-+# define OTIOCSETD	_IOW('t', 1, int)	/* set line discipline */
-+#endif
-+#define	TIOCHPCL	_IO('t', 2)		/* hang up on last close */
-+#define	TIOCGETP	_IOR('t', 8,struct sgttyb)/* get parameters -- gtty */
-+#define	TIOCSETP	_IOW('t', 9,struct sgttyb)/* set parameters -- stty */
-+#define	TIOCSETN	_IOW('t',10,struct sgttyb)/* as above, but no flushtty*/
-+#define	TIOCSETC	_IOW('t',17,struct tchars)/* set special characters */
-+#define	TIOCGETC	_IOR('t',18,struct tchars)/* get special characters */
-+#define		TANDEM		0x00000001	/* send stopc on out q full */
-+#define		CBREAK		0x00000002	/* half-cooked mode */
-+#define		LCASE		0x00000004	/* simulate lower case */
 +#undef		ECHO				/* see bits/termios.h */
-+#define		ECHO		0x00000008	/* echo input */
-+#define		CRMOD		0x00000010	/* map \r to \r\n on output */
-+#define		RAW		0x00000020	/* no i/o processing */
-+#define		ODDP		0x00000040	/* get/send odd parity */
-+#define		EVENP		0x00000080	/* get/send even parity */
-+#define		ANYP		0x000000c0	/* get any parity/send none */
-+#define		NLDELAY		0x00000300	/* \n delay */
-+#define			NL0	0x00000000
-+#define			NL1	0x00000100	/* tty 37 */
-+#define			NL2	0x00000200	/* vt05 */
-+#define			NL3	0x00000300
-+#define		TBDELAY		0x00000c00	/* horizontal tab delay */
-+#define			TAB0	0x00000000
-+#define			TAB1	0x00000400	/* tty 37 */
-+#define			TAB2	0x00000800
-+#define			TAB3	0x00000c00
-+#define		XTABS		TAB3		/* expand tabs on output */
-+#define		CRDELAY		0x00003000	/* \r delay */
-+#define			CR0	0x00000000
-+#define			CR1	0x00001000	/* tn 300 */
-+#define			CR2	0x00002000	/* tty 37 */
-+#define			CR3	0x00003000	/* concept 100 */
-+#define		VTDELAY		0x00004000	/* vertical tab delay */
-+#define			FF0	0x00000000
-+#define			FF1	0x00004000	/* tty 37 */
-+#define		BSDELAY		0x00008000	/* \b delay */
-+#define			BS0	0x00000000
-+#define			BS1	0x00008000
-+#define		ALLDELAY	(NLDELAY|TBDELAY|CRDELAY|VTDELAY|BSDELAY)
-+#define		CRTBS		0x00010000	/* do backspacing for crt */
-+#define		PRTERA		0x00020000	/* \ ... / erase */
-+#define		CRTERA		0x00040000	/* " \b " to wipe out char */
-+#define		TILDE		0x00080000	/* hazeltine tilde kludge */
 +#undef		MDMBUF				/* see bits/termios.h */
-+#define		MDMBUF		0x00100000	/*start/stop output on carrier*/
-+#define		LITOUT		0x00200000	/* literal output */
 +#undef		TOSTOP				/* see bits/termios.h */
-+#define		TOSTOP		0x00400000	/*SIGSTOP on background output*/
 +#undef		FLUSHO				/* see bits/termios.h */
-+#define		FLUSHO		0x00800000	/* flush output to terminal */
-+#define		NOHANG		0x01000000	/* (no-op) was no SIGHUP on carrier drop */
-+#define		L001000		0x02000000
-+#define		CRTKIL		0x04000000	/* kill line with " \b " */
-+#define		PASS8		0x08000000
-+#define		CTLECH		0x10000000	/* echo control chars as ^X */
 +#undef		PENDIN				/* see bits/termios.h */
-+#define		PENDIN		0x20000000	/* tp->t_rawq needs reread */
-+#define		DECCTQ		0x40000000	/* only ^Q starts after ^S */
 +#undef		NOFLSH				/* see bits/termios.h */
-+#define		NOFLSH		0x80000000	/* no output flush on signal */
-+#define	TIOCLBIS	_IOW('t', 127, int)	/* bis local mode bits */
-+#define	TIOCLBIC	_IOW('t', 126, int)	/* bic local mode bits */
-+#define	TIOCLSET	_IOW('t', 125, int)	/* set entire local mode word */
-+#define	TIOCLGET	_IOR('t', 124, int)	/* get local modes */
-+#define		LCRTBS		(CRTBS>>16)
-+#define		LPRTERA		(PRTERA>>16)
-+#define		LCRTERA		(CRTERA>>16)
-+#define		LTILDE		(TILDE>>16)
-+#define		LMDMBUF		(MDMBUF>>16)
-+#define		LLITOUT		(LITOUT>>16)
-+#define		LTOSTOP		(TOSTOP>>16)
-+#define		LFLUSHO		(FLUSHO>>16)
-+#define		LNOHANG		(NOHANG>>16)
-+#define		LCRTKIL		(CRTKIL>>16)
-+#define		LPASS8		(PASS8>>16)
-+#define		LCTLECH		(CTLECH>>16)
-+#define		LPENDIN		(PENDIN>>16)
-+#define		LDECCTQ		(DECCTQ>>16)
-+#define		LNOFLSH		(NOFLSH>>16)
-+#define	TIOCSLTC	_IOW('t',117,struct ltchars)/* set local special chars*/
-+#define	TIOCGLTC	_IOR('t',116,struct ltchars)/* get local special chars*/
-+#define OTIOCCONS	_IO('t', 98)	/* for hp300 -- sans int arg */
-+#define	OTTYDISC	0
-+#define	NETLDISC	1
-+#define	NTTYDISC	2
 +
-+/*
-+ * Compatibility with 4.3 BSD terminal driver.
-+ *	@(#)ttydev.h	8.2 (Berkeley) 1/4/94
-+ */
++#include <sys/ioctl_compat.h>
 +
-+#ifdef USE_OLD_TTY
-+#define B0	0
-+#define B50	1
-+#define B75	2
-+#define B110	3
-+#define B134	4
-+#define B150	5
-+#define B200	6
-+#define B300	7
-+#define B600	8
-+#define B1200	9
-+#define	B1800	10
-+#define B2400	11
-+#define B4800	12
-+#define B9600	13
-+#define EXTA	14
-+#define EXTB	15
-+#define B57600  16
-+#define B115200 17
-+#endif /* USE_OLD_TTY */
++#define		TAB3 XTABS			/* expand tabs on output */
 +
++#endif /* !BURN_BRIDGES */
++#endif /* !_SYS_IOCTL_COMPAT_H_ */
++
 +#endif /* !_IOCTLS_H_ */
 diff -x .svn -Nurd null/unix/bsd/bsd4.4/kfreebsd/bits/ioctl-types.h sysdeps/unix/bsd/bsd4.4/kfreebsd/bits/ioctl-types.h
 --- null/unix/bsd/bsd4.4/kfreebsd/bits/ioctl-types.h	1970-01-01 01:00:00.000000000 +0100
-+++ sysdeps/unix/bsd/bsd4.4/kfreebsd/bits/ioctl-types.h	2006-01-02 19:10:54.000000000 +0100
-@@ -0,0 +1,90 @@
++++ sysdeps/unix/bsd/bsd4.4/kfreebsd/bits/ioctl-types.h	2006-05-02 21:24:22.000000000 +0200
+@@ -0,0 +1,57 @@
 +/* Structure types for pre-termios terminal ioctls.  FreeBSD version.
 +   Copyright (C) 1996, 1997, 2002 Free Software Foundation, Inc.
 +   This file is part of the GNU C Library.
@@ -3589,57 +3290,22 @@
 +#endif
 +
 +/* Type of ARG for TIOCGETC and TIOCSETC requests.  */
-+struct tchars
-+{
-+  char t_intrc;			/* Interrupt character.  */
-+  char t_quitc;			/* Quit character.  */
-+  char t_startc;		/* Start-output character.  */
-+  char t_stopc;			/* Stop-output character.  */
-+  char t_eofc;			/* End-of-file character.  */
-+  char t_brkc;			/* Input delimiter character.  */
-+};
-+
++/* struct tchars is defined in <sys/ioctl_compat.h> */
 +#define	_IOT_tchars	/* Hurd ioctl type field.  */ \
 +  _IOT (_IOTS (char), 6, 0, 0, 0, 0)
 +
 +/* Type of ARG for TIOCGLTC and TIOCSLTC requests.  */
-+struct ltchars
-+{
-+  char t_suspc;			/* Suspend character.  */
-+  char t_dsuspc;		/* Delayed suspend character.  */
-+  char t_rprntc;		/* Reprint-line character.  */
-+  char t_flushc;		/* Flush-output character.  */
-+  char t_werasc;		/* Word-erase character.  */
-+  char t_lnextc;		/* Literal-next character.  */
-+};
-+
++/* struct ltchars is defined in <sys/ioctl_compat.h> */ 
 +#define	_IOT_ltchars	/* Hurd ioctl type field.  */ \
 +  _IOT (_IOTS (char), 6, 0, 0, 0, 0)
 +
 +/* Type of ARG for TIOCGETP and TIOCSETP requests (and gtty and stty).  */
-+struct sgttyb
-+{
-+  char sg_ispeed;		/* Input speed.  */
-+  char sg_ospeed;		/* Output speed.  */
-+  char sg_erase;		/* Erase character.  */
-+  char sg_kill;			/* Kill character.  */
-+  short int sg_flags;		/* Mode flags.  */
-+};
-+
++/* struct sgttyb  is defined in <sys/ioctl_compat.h> */
 +#define	_IOT_sgttyb	/* Hurd ioctl type field.  */ \
 +  _IOT (_IOTS (char), 6, _IOTS (short int), 1, 0, 0)
 +
 +/* Type of ARG for TIOCGWINSZ and TIOCSWINSZ requests.  */
-+struct winsize
-+{
-+  unsigned short int ws_row;	/* Rows, in characters.  */
-+  unsigned short int ws_col;	/* Columns, in characters.  */
-+
-+  /* These are not actually used.  */
-+  unsigned short int ws_xpixel;	/* Horizontal pixels.  */
-+  unsigned short int ws_ypixel;	/* Vertical pixels.  */
-+};
-+
++/* struct winsize is defined in <sys/ttycom.h> */
 +#define	_IOT_winsize	/* Hurd ioctl type field.  */ \
 +  _IOT (_IOTS (unsigned short int), 4, 0, 0, 0, 0)
 +
@@ -3647,6 +3313,8 @@
 +   compatibility with Sun; they define `struct ttysize' to have identical
 +   layout as `struct winsize' and #define TIOCGSIZE to be TIOCGWINSZ
 +   (likewise TIOCSSIZE and TIOCSWINSZ).  */
++/* struct ttysize is in FreeBSD originally defined in <sys/ioctl.h>,
++   which is replaced by GLIBC version -> define here */
 +struct ttysize
 +{
 +  unsigned short int ts_lines;
@@ -4836,8 +4504,8 @@
 +#endif	/* have _SIGNAL_H.  */
 diff -x .svn -Nurd null/unix/bsd/bsd4.4/kfreebsd/bits/signum.h sysdeps/unix/bsd/bsd4.4/kfreebsd/bits/signum.h
 --- null/unix/bsd/bsd4.4/kfreebsd/bits/signum.h	1970-01-01 01:00:00.000000000 +0100
-+++ sysdeps/unix/bsd/bsd4.4/kfreebsd/bits/signum.h	2006-01-26 20:16:36.000000000 +0100
-@@ -0,0 +1,69 @@
++++ sysdeps/unix/bsd/bsd4.4/kfreebsd/bits/signum.h	2006-05-02 21:24:22.000000000 +0200
+@@ -0,0 +1,71 @@
 +/* Signal number definitions.  FreeBSD version.
 +   Copyright (C) 1991-1993, 1996, 1998, 2002 Free Software Foundation, Inc.
 +   This file is part of the GNU C Library.
@@ -4867,6 +4535,8 @@
 +#define	SIG_DFL	((__sighandler_t) 0) /* Default action.  */
 +#define	SIG_IGN	((__sighandler_t) 1) /* Ignore signal.  */
 +
++#define	SIG_CATCH ((__sighandler_t) 2) /* FreeBSD specific ? */
++#define	SIG_HOLD  ((__sighandler_t) 3) /* Add signal to hold mask.  */
 +
 +/* Signals.  */
 +#define	SIGHUP		1	/* Hangup (POSIX).  */
@@ -5768,8 +5438,8 @@
 +#endif /* __USE_BSD */
 diff -x .svn -Nurd null/unix/bsd/bsd4.4/kfreebsd/bits/statvfs.h sysdeps/unix/bsd/bsd4.4/kfreebsd/bits/statvfs.h
 --- null/unix/bsd/bsd4.4/kfreebsd/bits/statvfs.h	1970-01-01 01:00:00.000000000 +0100
-+++ sysdeps/unix/bsd/bsd4.4/kfreebsd/bits/statvfs.h	2006-01-02 19:10:54.000000000 +0100
-@@ -0,0 +1,85 @@
++++ sysdeps/unix/bsd/bsd4.4/kfreebsd/bits/statvfs.h	2006-05-18 19:31:40.000000000 +0200
+@@ -0,0 +1,95 @@
 +/* Definition of `struct statvfs', information about a filesystem.
 +   Copyright (C) 1998, 2000-2002 Free Software Foundation, Inc.
 +   This file is part of the GNU C Library.
@@ -5795,6 +5465,10 @@
 +
 +#include <bits/types.h>
 +
++#if __WORDSIZE == 32
++#define _STATVFSBUF_F_UNUSED
++#endif
++
 +struct statvfs
 +  {
 +    unsigned long int f_bsize;
@@ -5814,7 +5488,10 @@
 +    __fsfilcnt64_t f_ffree;
 +    __fsfilcnt64_t f_favail;
 +#endif
-+    __fsid_t f_fsid;
++    unsigned long int f_fsid;
++#ifdef _STATVFSBUF_F_UNUSED
++    int __f_unused;
++#endif
 +    unsigned long int f_flag;
 +    unsigned long int f_namemax;
 +    unsigned int f_spare[6];
@@ -5831,7 +5508,10 @@
 +    __fsfilcnt64_t f_files;
 +    __fsfilcnt64_t f_ffree;
 +    __fsfilcnt64_t f_favail;
-+    __fsid_t f_fsid;
++    unsigned long int f_fsid;
++#ifdef _STATVFSBUF_F_UNUSED
++    int __f_unused;
++#endif
 +    unsigned long int f_flag;
 +    unsigned long int f_namemax;
 +    unsigned int f_spare[6];
@@ -10219,8 +9899,8 @@
 +endif
 diff -x .svn -Nurd null/unix/bsd/bsd4.4/kfreebsd/i386/rfork.S sysdeps/unix/bsd/bsd4.4/kfreebsd/i386/rfork.S
 --- null/unix/bsd/bsd4.4/kfreebsd/i386/rfork.S	1970-01-01 01:00:00.000000000 +0100
-+++ sysdeps/unix/bsd/bsd4.4/kfreebsd/i386/rfork.S	2006-01-02 19:10:53.000000000 +0100
-@@ -0,0 +1,43 @@
++++ sysdeps/unix/bsd/bsd4.4/kfreebsd/i386/rfork.S	2006-05-21 22:27:34.000000000 +0200
+@@ -0,0 +1,44 @@
 +/* Copyright (C) 1991-1992, 1994-1995, 1997, 2002 Free Software Foundation, Inc.
 +   This file is part of the GNU C Library.
 +
@@ -10256,6 +9936,7 @@
 +	andl %edx, %eax
 +
 +	popl %edx
++	cfi_adjust_cfa_offset(-4)
 +	jmp  *%ecx
 +
 +L(pseudo_end):
@@ -10295,8 +9976,8 @@
 +  (handler)((signo), SIGCONTEXT_EXTRA_ARGS (ctx))
 diff -x .svn -Nurd null/unix/bsd/bsd4.4/kfreebsd/i386/start_thread.S sysdeps/unix/bsd/bsd4.4/kfreebsd/i386/start_thread.S
 --- null/unix/bsd/bsd4.4/kfreebsd/i386/start_thread.S	1970-01-01 01:00:00.000000000 +0100
-+++ sysdeps/unix/bsd/bsd4.4/kfreebsd/i386/start_thread.S	2006-01-10 15:22:17.000000000 +0100
-@@ -0,0 +1,202 @@
++++ sysdeps/unix/bsd/bsd4.4/kfreebsd/i386/start_thread.S	2006-05-21 22:27:34.000000000 +0200
+@@ -0,0 +1,207 @@
 +/* Copyright (C) 2002 Free Software Foundation, Inc.
 +   This file is part of the GNU C Library.
 +   Contributed by Bruno Haible <bruno@clisp.org>, 2002.
@@ -10327,6 +10008,10 @@
 +
 +	.text
 +ENTRY (__start_thread)
++	/* End FDE now, because in the child the unwind info will be
++	   wrong.  */
++	cfi_endproc
++
 +	/* There is a window of a few instructions, right after the rfork
 +	   system call, where the handling of a signal would write garbage
 +	   into the stack shared by the parent and the child (assuming
@@ -10498,6 +10183,7 @@
 +	popl	%ebx
 +	popl	%ebp
 +	jmp	SYSCALL_ERROR_LABEL
++	cfi_startproc
 +PSEUDO_END (__start_thread)
 diff -x .svn -Nurd null/unix/bsd/bsd4.4/kfreebsd/i386/swapcontext.S sysdeps/unix/bsd/bsd4.4/kfreebsd/i386/swapcontext.S
 --- null/unix/bsd/bsd4.4/kfreebsd/i386/swapcontext.S	1970-01-01 01:00:00.000000000 +0100
@@ -10910,8 +10596,8 @@
 +#endif /* _SYSARCH_H */
 diff -x .svn -Nurd null/unix/bsd/bsd4.4/kfreebsd/i386/syscall.S sysdeps/unix/bsd/bsd4.4/kfreebsd/i386/syscall.S
 --- null/unix/bsd/bsd4.4/kfreebsd/i386/syscall.S	1970-01-01 01:00:00.000000000 +0100
-+++ sysdeps/unix/bsd/bsd4.4/kfreebsd/i386/syscall.S	2006-01-12 19:06:01.000000000 +0100
-@@ -0,0 +1,31 @@
++++ sysdeps/unix/bsd/bsd4.4/kfreebsd/i386/syscall.S	2006-05-21 22:27:34.000000000 +0200
+@@ -0,0 +1,33 @@
 +/* Copyright (C) 1993, 1995-1998, 2002 Free Software Foundation, Inc.
 +   This file is part of the GNU C Library.
 +
@@ -10935,9 +10621,11 @@
 +	  .text;
 +ENTRY (syscall)
 +	popl %ecx		/* Pop return address into %ecx.  */
++	cfi_adjust_cfa_offset (-4)
 +	movl 0(%esp), %eax	/* Load syscall number into %eax. */
 +	int $0x80		/* Do the system call.  */
 +	pushl %ecx		/* Push back return address.  */
++	cfi_adjust_cfa_offset (4)
 +	jb SYSCALL_ERROR_LABEL;	/* Jump to error handler if error.  */
 +
 +L(pseudo_end):
@@ -10945,8 +10633,8 @@
 +PSEUDO_END (syscall)
 diff -x .svn -Nurd null/unix/bsd/bsd4.4/kfreebsd/i386/sysdep.h sysdeps/unix/bsd/bsd4.4/kfreebsd/i386/sysdep.h
 --- null/unix/bsd/bsd4.4/kfreebsd/i386/sysdep.h	1970-01-01 01:00:00.000000000 +0100
-+++ sysdeps/unix/bsd/bsd4.4/kfreebsd/i386/sysdep.h	2006-01-21 00:13:27.000000000 +0100
-@@ -0,0 +1,222 @@
++++ sysdeps/unix/bsd/bsd4.4/kfreebsd/i386/sysdep.h	2006-05-18 19:31:40.000000000 +0200
+@@ -0,0 +1,228 @@
 +/* Copyright (C) 1992,1993,1995-2000,2002,2003,2004
 +   Free Software Foundation, Inc.
 +   This file is part of the GNU C Library.
@@ -11085,14 +10773,20 @@
 +#  else
 +#   define SYSCALL_ERROR_HANDLER					      \
 +0:pushl %ebx;								      \
++  cfi_adjust_cfa_offset (4);                                                  \
++  cfi_rel_offset (ebx, 0);                                                    \
 +  SETUP_PIC_REG (bx);							      \
 +  addl $_GLOBAL_OFFSET_TABLE_, %ebx;					      \
 +  pushl %eax;								      \
++  cfi_adjust_cfa_offset (4);                                                  \
 +  PUSH_ERRNO_LOCATION_RETURN;						      \
 +  call BP_SYM (__errno_location)@PLT;					      \
 +  POP_ERRNO_LOCATION_RETURN;						      \
 +  popl %ecx;								      \
++  cfi_adjust_cfa_offset (-4);                                                 \
 +  popl %ebx;								      \
++  cfi_adjust_cfa_offset (-4);                                                 \
++  cfi_restore (ebx);                                                          \
 +  movl %ecx, (%eax);							      \
 +  orl $-1, %eax;							      \
 +  jmp L(pseudo_end);
@@ -11338,8 +11032,8 @@
 +}
 diff -x .svn -Nurd null/unix/bsd/bsd4.4/kfreebsd/i386/vfork.S sysdeps/unix/bsd/bsd4.4/kfreebsd/i386/vfork.S
 --- null/unix/bsd/bsd4.4/kfreebsd/i386/vfork.S	1970-01-01 01:00:00.000000000 +0100
-+++ sysdeps/unix/bsd/bsd4.4/kfreebsd/i386/vfork.S	2006-01-02 19:10:53.000000000 +0100
-@@ -0,0 +1,56 @@
++++ sysdeps/unix/bsd/bsd4.4/kfreebsd/i386/vfork.S	2006-05-21 22:27:34.000000000 +0200
+@@ -0,0 +1,58 @@
 +/* Copyright (C) 1999, 2002 Free Software Foundation, Inc.
 +   This file is part of the GNU C Library.
 +
@@ -11369,6 +11063,7 @@
 +
 +	/* Pop the return PC value into ECX.  */
 +	popl	%ecx
++	cfi_adjust_cfa_offset(-4)
 +
 +	/* Perform the system call.  */
 +	DO_CALL (vfork, 0)
@@ -11387,6 +11082,7 @@
 +L(error):
 +	/* Push back the return PC.  */
 +	pushl	%ecx
++	cfi_adjust_cfa_offset(4)
 +
 +	/* Branch to the error handler, hidden in PSEUDO_END.  */
 +	jmp	SYSCALL_ERROR_LABEL
@@ -12452,8 +12148,8 @@
 +weak_alias (__lxstat, _lxstat)
 diff -x .svn -Nurd null/unix/bsd/bsd4.4/kfreebsd/Makefile sysdeps/unix/bsd/bsd4.4/kfreebsd/Makefile
 --- null/unix/bsd/bsd4.4/kfreebsd/Makefile	1970-01-01 01:00:00.000000000 +0100
-+++ sysdeps/unix/bsd/bsd4.4/kfreebsd/Makefile	2006-03-20 09:32:48.000000000 +0100
-@@ -0,0 +1,116 @@
++++ sysdeps/unix/bsd/bsd4.4/kfreebsd/Makefile	2006-05-02 21:24:22.000000000 +0200
+@@ -0,0 +1,118 @@
 +# Use bash, not /bin/sh, for executing scripts, because the native
 +# FreeBSD /bin/sh does not interpret the  IFS="<tab>" read ...  command
 +# in localedata/tst-fmon.sh correctly.
@@ -12566,9 +12262,11 @@
 +
 +# Special ELF hacks.
 +ifeq ($(subdir),elf)
-+
 +sysdep-rtld-routines += dl-brk dl-sbrk
++endif
 +
++ifeq ($(subdir),sunrpc)
++sysdep_headers += nfs/nfs.h
 +endif
 diff -x .svn -Nurd null/unix/bsd/bsd4.4/kfreebsd/mmap64.c sysdeps/unix/bsd/bsd4.4/kfreebsd/mmap64.c
 --- null/unix/bsd/bsd4.4/kfreebsd/mmap64.c	1970-01-01 01:00:00.000000000 +0100
@@ -13223,8 +12921,8 @@
 +#endif /* !_NET_IF_H_ */
 diff -x .svn -Nurd null/unix/bsd/bsd4.4/kfreebsd/netinet/if_ether.h sysdeps/unix/bsd/bsd4.4/kfreebsd/netinet/if_ether.h
 --- null/unix/bsd/bsd4.4/kfreebsd/netinet/if_ether.h	1970-01-01 01:00:00.000000000 +0100
-+++ sysdeps/unix/bsd/bsd4.4/kfreebsd/netinet/if_ether.h	2006-01-15 18:55:01.000000000 +0100
-@@ -0,0 +1,104 @@
++++ sysdeps/unix/bsd/bsd4.4/kfreebsd/netinet/if_ether.h	2006-05-21 22:27:37.000000000 +0200
+@@ -0,0 +1,127 @@
 +/* Copyright (C) 1996, 1997, 1999, 2006 Free Software Foundation, Inc.
 +   This file is part of the GNU C Library.
 +
@@ -13309,6 +13007,12 @@
 +#define	arp_op	ea_hdr.ar_op
 +
 +/*
++ * IP and ethernet specific routing flags
++ */
++#define	RTF_USETRAILERS	RTF_PROTO1	/* use trailers */
++#define RTF_ANNOUNCE	RTF_PROTO2	/* announce new arp entry */
++
++/*
 + * Macro to map an IP multicast address to an Ethernet multicast address.
 + * The high-order 25 bits of the Ethernet address are statically assigned,
 + * and the low-order 23 bits are taken from the low end of the IP address.
@@ -13325,6 +13029,23 @@
 +	(enaddr)[5] = ((u_int8_t *)ipaddr)[3]; \
 +}
 +
++/*
++ * Macro to map an IP6 multicast address to an Ethernet multicast address.
++ * The high-order 16 bits of the Ethernet address are statically assigned,
++ * and the low-order 32 bits are taken from the low end of the IP6 address.
++ */
++#define ETHER_MAP_IPV6_MULTICAST(ip6addr, enaddr)			\
++/* struct	in6_addr *ip6addr; */					\
++/* u_char	enaddr[ETH_ALEN]; */				\
++{                                                                       \
++	(enaddr)[0] = 0x33;						\
++	(enaddr)[1] = 0x33;						\
++	(enaddr)[2] = ((u_int8_t *)ip6addr)[12];				\
++	(enaddr)[3] = ((u_int8_t *)ip6addr)[13];				\
++	(enaddr)[4] = ((u_int8_t *)ip6addr)[14];				\
++	(enaddr)[5] = ((u_int8_t *)ip6addr)[15];				\
++}
++
 +__END_DECLS
 +#endif /* __USE_BSD */
 +
@@ -13883,6 +13604,13 @@
 +#endif /* Misc.  */
 +
 +#endif /* netinet/tcp.h */
+diff -x .svn -Nurd null/unix/bsd/bsd4.4/kfreebsd/nfs/nfs.h sysdeps/unix/bsd/bsd4.4/kfreebsd/nfs/nfs.h
+--- null/unix/bsd/bsd4.4/kfreebsd/nfs/nfs.h	1970-01-01 01:00:00.000000000 +0100
++++ sysdeps/unix/bsd/bsd4.4/kfreebsd/nfs/nfs.h	2006-05-02 21:24:22.000000000 +0200
+@@ -0,0 +1,3 @@
++#include <stdint.h>
++#include <sys/mount.h>
++#include <nfs/nfsproto.h>
 diff -x .svn -Nurd null/unix/bsd/bsd4.4/kfreebsd/not-cancel.h sysdeps/unix/bsd/bsd4.4/kfreebsd/not-cancel.h
 --- null/unix/bsd/bsd4.4/kfreebsd/not-cancel.h	1970-01-01 01:00:00.000000000 +0100
 +++ sysdeps/unix/bsd/bsd4.4/kfreebsd/not-cancel.h	2006-01-02 19:10:55.000000000 +0100
@@ -15497,8 +15225,8 @@
 +weak_alias (__statfs, statfs)
 diff -x .svn -Nurd null/unix/bsd/bsd4.4/kfreebsd/statfsconv.c sysdeps/unix/bsd/bsd4.4/kfreebsd/statfsconv.c
 --- null/unix/bsd/bsd4.4/kfreebsd/statfsconv.c	1970-01-01 01:00:00.000000000 +0100
-+++ sysdeps/unix/bsd/bsd4.4/kfreebsd/statfsconv.c	2006-01-02 20:10:57.000000000 +0100
-@@ -0,0 +1,201 @@
++++ sysdeps/unix/bsd/bsd4.4/kfreebsd/statfsconv.c	2006-05-18 19:31:40.000000000 +0200
+@@ -0,0 +1,203 @@
 +/* Convert between different 'struct statfs' and 'struct statvfs' formats.
 +   Copyright (C) 2002 Free Software Foundation, Inc.
 +   This file is part of the GNU C Library.
@@ -15658,7 +15386,8 @@
 +  p32->f_ffree		= MIN(pk->f_ffree,  ULONG_MAX);
 +  p32->f_favail		= MIN(pk->f_ffree,  ULONG_MAX); /* Hmm.	 May be filesystem dependent.  */
 +  
-+  p32->f_fsid		= pk->f_fsid;
++  memcpy(&(p32->f_fsid), &(pk->f_fsid), sizeof(__fsid_t));
++  
 +  p32->f_flag		=
 +      (pk->f_flags & MNT_RDONLY ? ST_RDONLY : 0)
 +    | (pk->f_flags & MNT_NOSUID ? ST_NOSUID : 0)
@@ -15689,7 +15418,8 @@
 +  p64->f_ffree		= pk->f_ffree;
 +  p64->f_favail		= pk->f_ffree; /* Hmm.	May be filesystem dependent.  */
 +  
-+  p64->f_fsid		= pk->f_fsid;
++  memcpy(&(p64->f_fsid), &(pk->f_fsid), sizeof(__fsid_t));
++  
 +  p64->f_flag		=
 +      (pk->f_flags & MNT_RDONLY ? ST_RDONLY : 0)
 +    | (pk->f_flags & MNT_NOSUID ? ST_NOSUID : 0)
@@ -21612,8 +21342,8 @@
 +#endif /* _FREEBSD_PT_MACHINE_H  */
 diff -x .svn -Nurd null/sysdeps/unix/bsd/bsd4.4/kfreebsd/i386/sysdep-cancel.h linuxthreads/sysdeps/unix/bsd/bsd4.4/kfreebsd/i386/sysdep-cancel.h
 --- null/sysdeps/unix/bsd/bsd4.4/kfreebsd/i386/sysdep-cancel.h	1970-01-01 01:00:00.000000000 +0100
-+++ linuxthreads/sysdeps/unix/bsd/bsd4.4/kfreebsd/i386/sysdep-cancel.h	2005-12-19 21:20:00.000000000 +0100
-@@ -0,0 +1,149 @@
++++ linuxthreads/sysdeps/unix/bsd/bsd4.4/kfreebsd/i386/sysdep-cancel.h	2006-05-18 19:31:39.000000000 +0200
+@@ -0,0 +1,158 @@
 +/* Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
 +   This file is part of the GNU C Library.
 +   Contributed by Jakub Jelinek <jakub@redhat.com>, 2002.
@@ -21677,12 +21407,13 @@
 +	fork()
 +	vfork()
 +	rfork()
++	pipe()
 +   
 +   none of them is cancelable, therefore
 +*/
 +
-+# define PUSHRESULT	pushl %eax; pushfl
-+# define POPRESULT	popfl; popl %eax
++# define PUSHRESULT	pushl %eax; cfi_adjust_cfa_offset (4);  pushfl;    cfi_adjust_cfa_offset (4)
++# define POPRESULT	popfl;      cfi_adjust_cfa_offset (-4); popl %eax; cfi_adjust_cfa_offset (-4)
 +
 +# ifdef IS_IN_libpthread
 +#  define CENABLE	call __pthread_enable_asynccancel;
@@ -21690,15 +21421,23 @@
 +# elif defined IS_IN_librt
 +#  ifdef PIC
 +#   define CENABLE	pushl %ebx; \
++			cfi_adjust_cfa_offset (4); \
++			cfi_rel_offset (ebx, 0); \
 +			call __i686.get_pc_thunk.bx; \
 +			addl     $_GLOBAL_OFFSET_TABLE_, %ebx; \
 +			call __librt_enable_asynccancel@PLT; \
-+			popl %ebx;
++			popl %ebx; \
++			cfi_adjust_cfa_offset (-4); \
++			cfi_restore (ebx);
 +#   define CDISABLE	pushl %ebx; \
++			cfi_adjust_cfa_offset (4); \
++			cfi_rel_offset (ebx, 0); \
 +			call __i686.get_pc_thunk.bx; \
 +			addl     $_GLOBAL_OFFSET_TABLE_, %ebx; \
 +			call __librt_disable_asynccancel@PLT; \
-+			popl %ebx;
++			popl %ebx; \
++			cfi_adjust_cfa_offset (-4); \
++			cfi_restore (ebx);
 +#  else
 +#   define CENABLE	call __librt_enable_asynccancel;
 +#   define CDISABLE	call __librt_disable_asynccancel



Reply to: