SOURCES: linux-2.4-gcc4.patch (NEW) - gcc 4.x fixes (at least to b...

qboosh qboosh at pld-linux.org
Sun Dec 4 01:30:00 CET 2005


Author: qboosh                       Date: Sun Dec  4 00:30:00 2005 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
- gcc 4.x fixes (at least to build sparc64 kernel using gcc 4.0.2)

---- Files affected:
SOURCES:
   linux-2.4-gcc4.patch (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: SOURCES/linux-2.4-gcc4.patch
diff -u /dev/null SOURCES/linux-2.4-gcc4.patch:1.1
--- /dev/null	Sun Dec  4 01:30:00 2005
+++ SOURCES/linux-2.4-gcc4.patch	Sun Dec  4 01:29:55 2005
@@ -0,0 +1,557 @@
+--- linux-2.4.32/drivers/net/wan/comx.c.orig	2002-08-03 00:39:44.000000000 +0000
++++ linux-2.4.32/drivers/net/wan/comx.c	2005-12-03 16:47:24.395727094 +0000
+@@ -111,7 +111,7 @@
+ };
+ 
+ 
+-static struct proc_dir_entry * comx_root_dir;
++struct proc_dir_entry * comx_root_dir;
+ 
+ struct comx_debugflags_struct	comx_debugflags[] = {
+ 	{ "comx_rx",		DEBUG_COMX_RX		},
+--- linux-2.4.32/drivers/sbus/char/pcikbd.h.orig	1998-01-12 23:15:45.000000000 +0000
++++ linux-2.4.32/drivers/sbus/char/pcikbd.h	2005-12-03 16:52:06.403543318 +0000
+@@ -31,9 +31,6 @@
+ extern unsigned char pckbd_read_mask;
+ extern unsigned char aux_device_present;
+ 
+-extern unsigned long pcikbd_iobase;
+-extern unsigned int pcikbd_irq;
+-
+ /*
+  *	Keyboard Controller Registers
+  *
+--- linux-2.4.32/include/net/ipv6.h.orig	2005-12-03 16:56:22.516355000 +0000
++++ linux-2.4.32/include/net/ipv6.h	2005-12-03 17:12:15.276979392 +0000
+@@ -101,6 +101,7 @@
+ #ifdef __KERNEL__
+ 
+ #include <net/sock.h>
++#include <net/snmp.h>
+ 
+ /* sysctls */
+ extern int sysctl_ipv6_bindv6only;
+--- linux-2.4.32/include/net/icmp.h.orig	2005-12-03 17:12:44.765810000 +0000
++++ linux-2.4.32/include/net/icmp.h	2005-12-03 17:15:30.088592934 +0000
+@@ -22,6 +22,7 @@
+ #include <linux/skbuff.h>
+ 
+ #include <net/sock.h>
++#include <net/snmp.h>
+ #include <net/protocol.h>
+ 
+ struct icmp_err {
+--- linux-2.4.32/include/asm-sparc64/mostek.h.orig	2005-12-03 17:19:12.589934000 +0000
++++ linux-2.4.32/include/asm-sparc64/mostek.h	2005-12-03 17:22:39.581903369 +0000
+@@ -134,13 +134,11 @@
+  */
+ #define MOSTEK_48T08_OFFSET	0x0000UL	/* Lower NVRAM portions */
+ #define MOSTEK_48T08_48T02	0x1800UL	/* Offset to 48T02 chip */
+-extern unsigned long mstk48t08_regs;
+ 
+ /* SUN5 systems usually have 48t59 model clock chipsets.  But we keep the older
+  * clock chip definitions around just in case.
+  */
+ #define MOSTEK_48T59_OFFSET	0x0000UL	/* Lower NVRAM portions */
+ #define MOSTEK_48T59_48T02	0x1800UL	/* Offset to 48T02 chip */
+-extern unsigned long mstk48t59_regs;
+ 
+ #endif /* !(_SPARC64_MOSTEK_H) */
+--- linux-2.4.32/include/asm-sparc/mostek.h.orig	2001-01-22 21:30:20.000000000 +0000
++++ linux-2.4.32/include/asm-sparc/mostek.h	2005-12-03 17:22:28.801464500 +0000
+@@ -127,7 +127,6 @@
+ 	char offset[6*1024];         /* Magic things may be here, who knows? */
+ 	struct mostek48t02 regs;     /* Here is what we are interested in.   */
+ };
+-extern struct mostek48t08 *mstk48t08_regs;
+ 
+ extern enum sparc_clock_type sp_clock_typ;
+ 
+--- linux-2.4.32/arch/sparc64/mm/init.c.orig	2004-11-17 11:54:21.000000000 +0000
++++ linux-2.4.32/arch/sparc64/mm/init.c	2005-12-03 17:27:13.883418845 +0000
+@@ -95,7 +95,7 @@
+                                 if (page2)
+                                         page2->next_hash = page->next_hash;
+                                 else
+-                                        (struct page *)pgd_quicklist = page->next_hash;
++                                        pgd_quicklist = page->next_hash;
+                                 page->next_hash = NULL;
+                                 page->pprev_hash = NULL;
+                                 pgd_cache_size -= 2;
+--- linux-2.4.32/drivers/atm/fore200e.c.orig	2004-11-17 11:54:21.000000000 +0000
++++ linux-2.4.32/drivers/atm/fore200e.c	2005-12-03 17:35:49.888672929 +0000
+@@ -112,8 +112,8 @@
+ #endif
+ 
+ 
+-extern const struct atmdev_ops   fore200e_ops;
+-extern const struct fore200e_bus fore200e_bus[];
++static const struct atmdev_ops   fore200e_ops;
++static const struct fore200e_bus fore200e_bus[];
+ 
+ static struct fore200e* fore200e_boards = NULL;
+ 
+--- linux-2.4.32/drivers/block/nbd.c.orig	2005-12-03 16:40:57.827650000 +0000
++++ linux-2.4.32/drivers/block/nbd.c	2005-12-03 17:45:11.225316266 +0000
+@@ -34,7 +34,6 @@
+  *          structure with userland
+  */
+ 
+-#define PARANOIA
+ #include <linux/major.h>
+ 
+ #include <linux/module.h>
+--- linux-2.4.32/drivers/fc4/soc.h.orig	2005-12-03 17:46:20.095041000 +0000
++++ linux-2.4.32/drivers/fc4/soc.h	2005-12-03 17:51:36.792763541 +0000
+@@ -111,21 +111,21 @@
+ 	}
+ }
+ 
+-static inline void xram_copy_from (void *p, xram_p x, int len)
++static inline void xram_copy_from (u32 *p, xram_p x, int len)
+ {
+ 	for (len >>= 2; len > 0; len--, x += sizeof(u32)) {
+ 		u32 val;
+ 
+ 		val = ((sbus_readw(x + 0x00UL) << 16) |
+ 		       (sbus_readw(x + 0x02UL)));
+-		*((u32 *)p)++ = val;
++		*p++ = val;
+ 	}
+ }
+ 
+-static inline void xram_copy_to (xram_p x, void *p, int len)
++static inline void xram_copy_to (xram_p x, u32 *p, int len)
+ {
+ 	for (len >>= 2; len > 0; len--, x += sizeof(u32)) {
+-		u32 tmp = *((u32 *)p)++;
++		u32 tmp = *p++;
+ 		sbus_writew(tmp >> 16, x + 0x00UL);
+ 		sbus_writew(tmp, x + 0x02UL);
+ 	}
+--- linux-2.4.32/include/linux/i2c.h.orig	2005-12-03 18:24:44.838428000 +0000
++++ linux-2.4.32/include/linux/i2c.h	2005-12-03 18:29:22.494552894 +0000
+@@ -60,6 +60,25 @@
+ union i2c_smbus_data;
+ 
+ /*
++ * I2C Message - used for pure i2c transaction, also from /dev interface
++ */
++struct i2c_msg {
++	__u16 addr;	/* slave address			*/
++	__u16 flags;		
++#define I2C_M_TEN	0x10	/* we have a ten bit chip address	*/
++#define I2C_M_RD	0x01
++#define I2C_M_NOSTART	0x4000
++#define I2C_M_REV_DIR_ADDR	0x2000
++#define I2C_M_IGNORE_NAK	0x1000
++#define I2C_M_NO_RD_ACK		0x0800
++#define I2C_M_RECV_LEN		0x0400 /* length will be first received byte */
++#define I2C_M_RECV_PEC		0x0200 /* receive one more than the returned
++					  length byte for the PEC */
++	__u16 len;		/* msg length				*/
++	__u8 *buf;		/* pointer to msg data			*/
++};
++
++/*
+  * The master routines are the ones normally used to transmit data to devices
+  * on a bus (or read from them). Apart from two basic transfer functions to 
+  * transmit one message at a time, a more complex version can be used to 
+@@ -372,25 +391,6 @@
+ /* Return 1 if adapter supports everything we need, 0 if not. */
+ extern int i2c_check_functionality (struct i2c_adapter *adap, u32 func);
+ 
+-/*
+- * I2C Message - used for pure i2c transaction, also from /dev interface
+- */
+-struct i2c_msg {
+-	__u16 addr;	/* slave address			*/
+-	__u16 flags;		
+-#define I2C_M_TEN	0x10	/* we have a ten bit chip address	*/
+-#define I2C_M_RD	0x01
+-#define I2C_M_NOSTART	0x4000
+-#define I2C_M_REV_DIR_ADDR	0x2000
+-#define I2C_M_IGNORE_NAK	0x1000
+-#define I2C_M_NO_RD_ACK		0x0800
+-#define I2C_M_RECV_LEN		0x0400 /* length will be first received byte */
+-#define I2C_M_RECV_PEC		0x0200 /* receive one more than the returned
+-					  length byte for the PEC */
+-	__u16 len;		/* msg length				*/
+-	__u8 *buf;		/* pointer to msg data			*/
+-};
+-
+ /* To determine what functionality is present */
+ 
+ #define I2C_FUNC_I2C			0x00000001
+--- linux-2.4.32/drivers/ieee1394/highlevel.c.orig	2003-11-28 18:26:20.000000000 +0000
++++ linux-2.4.32/drivers/ieee1394/highlevel.c	2005-12-03 18:35:28.930046618 +0000
+@@ -500,7 +500,7 @@
+                                 rcode = RCODE_TYPE_ERROR;
+                         }
+ 
+-			(u8 *)data += partlength;
++			data += partlength;
+                         length -= partlength;
+                         addr += partlength;
+ 
+@@ -546,7 +546,7 @@
+                                 rcode = RCODE_TYPE_ERROR;
+                         }
+ 
+-			(u8 *)data += partlength;
++			data += partlength;
+                         length -= partlength;
+                         addr += partlength;
+ 
+--- linux-2.4.32/drivers/md/lvm-internal.h.orig	2005-12-03 18:36:51.591981000 +0000
++++ linux-2.4.32/drivers/md/lvm-internal.h	2005-12-03 18:38:37.245186060 +0000
+@@ -45,7 +45,6 @@
+ extern const char *const lvm_name;
+ 
+ 
+-extern uint vg_count;
+ extern vg_t *vg[];
+ extern struct file_operations lvm_chr_fops;
+ 
+--- linux-2.4.32/drivers/media/video/videodev.c.orig	2005-12-03 18:09:57.849459000 +0000
++++ linux-2.4.32/drivers/media/video/videodev.c	2005-12-03 18:40:38.955371653 +0000
+@@ -516,7 +516,7 @@
+ 
+ #endif /* CONFIG_VIDEO_PROC_FS */
+ 
+-extern struct file_operations video_fops;
++static struct file_operations video_fops;
+ 
+ /**
+  *	video_register_device - register video4linux devices
+--- linux-2.4.32/drivers/net/acenic.c.orig	2003-08-25 11:44:42.000000000 +0000
++++ linux-2.4.32/drivers/net/acenic.c	2005-12-03 18:51:53.238428300 +0000
+@@ -594,6 +594,7 @@
+ 
+ static int probed __initdata = 0;
+ 
++static void ace_watchdog(struct net_device *dev);
+ 
+ int __devinit acenic_probe (ACE_PROBE_ARG)
+ {
+@@ -665,7 +666,6 @@
+ 		dev->vlan_rx_kill_vid = ace_vlan_rx_kill_vid;
+ #endif
+ 		if (1) {
+-			static void ace_watchdog(struct net_device *dev);
+ 			dev->tx_timeout = &ace_watchdog;
+ 			dev->watchdog_timeo = 5*HZ;
+ 		}
+--- linux-2.4.32/drivers/net/bonding/bond_alb.c.orig	2004-04-14 13:05:30.000000000 +0000
++++ linux-2.4.32/drivers/net/bonding/bond_alb.c	2005-12-03 18:56:51.592018586 +0000
+@@ -1275,7 +1275,7 @@
+ int bond_alb_xmit(struct sk_buff *skb, struct net_device *bond_dev)
+ {
+ 	struct bonding *bond = bond_dev->priv;
+-	struct ethhdr *eth_data = (struct ethhdr *)skb->mac.raw = skb->data;
++	struct ethhdr *eth_data = (struct ethhdr *)(skb->mac.raw = skb->data);
+ 	struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond));
+ 	struct slave *tx_slave = NULL;
+ 	static u32 ip_bcast = 0xffffffff;
+--- linux-2.4.32/drivers/net/sk98lin/skvpd.c.orig	2005-04-04 01:42:19.000000000 +0000
++++ linux-2.4.32/drivers/net/sk98lin/skvpd.c	2005-12-03 19:01:15.154882292 +0000
+@@ -472,7 +472,7 @@
+ 	    ((unsigned char)pAC->vpd.vpd_buf[0x40] == 0x3c) &&
+ 	    ((unsigned char)pAC->vpd.vpd_buf[0x41] == 0x45) ) {
+ 		printk(KERN_INFO "sk98lin : humm... Asus mainboard with buggy VPD ? correcting data.\n");
+-		(unsigned char)pAC->vpd.vpd_buf[0x40] = 0x38;
++		pAC->vpd.vpd_buf[0x40] = 0x38;
+ 	}
+ 
+ 	/* find the end tag of the RO area */
+--- linux-2.4.32/drivers/net/wan/comx-hw-comx.c.orig	2002-11-28 23:53:14.000000000 +0000
++++ linux-2.4.32/drivers/net/wan/comx-hw-comx.c	2005-12-03 19:05:38.218811988 +0000
+@@ -92,9 +92,9 @@
+ };
+ 
+ static struct net_device *memory_used[(COMX_MEM_MAX - COMX_MEM_MIN) / 0x10000];
+-extern struct comx_hardware hicomx_hw;
+-extern struct comx_hardware comx_hw;
+-extern struct comx_hardware cmx_hw;
++static struct comx_hardware hicomx_hw;
++static struct comx_hardware comx_hw;
++static struct comx_hardware cmx_hw;
+ 
+ static void COMX_interrupt(int irq, void *dev_id, struct pt_regs *regs);
+ 
+--- linux-2.4.32/drivers/scsi/aic7xxx/Makefile.orig	2005-12-03 18:09:58.275455000 +0000
++++ linux-2.4.32/drivers/scsi/aic7xxx/Makefile	2005-12-03 19:16:13.274964696 +0000
+@@ -13,7 +13,7 @@
+ obj-$(CONFIG_SCSI_AIC79XX)	+= aic79xx.o
+ endif
+ 
+-EXTRA_CFLAGS += -I$(TOPDIR)/drivers/scsi -Werror
++EXTRA_CFLAGS += -I$(TOPDIR)/drivers/scsi
+ ifeq ($(wildcard $(TOPDIR)/include/linux/rhconfig.h), \
+ 		 $(TOPDIR)/include/linux/rhconfig.h)
+ EXTRA_CFLAGS += -DAIC_RED_HAT_LINUX_KERNEL
+--- linux-2.4.32/drivers/sound/sound_firmware.c.orig	2001-02-09 19:30:23.000000000 +0000
++++ linux-2.4.32/drivers/sound/sound_firmware.c	2005-12-03 19:20:48.370363242 +0000
+@@ -7,7 +7,6 @@
+ #include <linux/unistd.h>
+ #include <asm/uaccess.h>
+ 
+-static int errno;
+ static int do_mod_firmware_load(const char *fn, char **fp)
+ {
+ 	int fd;
+--- linux-2.4.32/drivers/usb/inode.c.orig	2004-02-18 13:36:31.000000000 +0000
++++ linux-2.4.32/drivers/usb/inode.c	2005-12-03 19:31:02.273854403 +0000
+@@ -64,6 +64,9 @@
+ 
+ #define NRSPECIAL (sizeof(special)/sizeof(special[0]))
+ 
++static struct inode_operations usbdevfs_bus_inode_operations;
++static struct file_operations usbdevfs_bus_file_operations;
++
+ /* --------------------------------------------------------------------- */
+ 
+ static int dnumber(struct dentry *dentry)
+--- linux-2.4.32/include/linux/usbdevice_fs.h.orig	2005-12-03 18:21:45.706998000 +0000
++++ linux-2.4.32/include/linux/usbdevice_fs.h	2005-12-03 19:30:45.804280530 +0000
+@@ -185,8 +185,6 @@
+ extern struct file_operations usbdevfs_devices_fops;
+ extern struct file_operations usbdevfs_device_file_operations;
+ extern struct inode_operations usbdevfs_device_inode_operations;
+-extern struct inode_operations usbdevfs_bus_inode_operations;
+-extern struct file_operations usbdevfs_bus_file_operations;
+ extern void usbdevfs_conn_disc_event(void);
+ 
+ #endif /* __KERNEL__ */
+--- linux-2.4.32/drivers/usb/audio.c.orig	2004-11-17 11:54:21.000000000 +0000
++++ linux-2.4.32/drivers/usb/audio.c	2005-12-03 19:42:13.444071912 +0000
+@@ -217,9 +217,6 @@
+ 
+ #define dprintk(x)
+ 
+-#undef abs
+-extern int abs(int __x) __attribute__ ((__const__)); /* Shut up warning */
+-
+ /* --------------------------------------------------------------------- */
+ 
+ /*
+@@ -460,9 +457,7 @@
+ 
+ /* --------------------------------------------------------------------- */
+ 
+-/* prevent picking up a bogus abs macro */
+-#undef abs
+-static inline int abs(int x)
++static inline int s_abs(int x)
+ {
+         if (x < 0)
+ 		return -x;
+@@ -1401,7 +1396,7 @@
+ 			continue;
+ 		}
+ 		f = cp[0] | (cp[1] << 8) | (cp[2] << 16);
+-		if (abs(f - u->freqn) > (u->freqn >> 3) || f > u->freqmax) {
++		if (s_abs(f - u->freqn) > (u->freqn >> 3) || f > u->freqmax) {
+ 			printk(KERN_WARNING "usbout_sync_retire_desc: requested frequency %u (nominal %u) out of range!\n", f, u->freqn);
+ 			continue;
+ 		}
+--- linux-2.4.32/drivers/usb/host/ehci-q.c.orig	2005-01-19 14:10:07.000000000 +0000
++++ linux-2.4.32/drivers/usb/host/ehci-q.c	2005-12-03 19:46:27.828052178 +0000
+@@ -199,8 +199,6 @@
+ #ifdef	INTR_AUTOMAGIC
+ 	struct urb		*resubmit = 0;
+ 	struct usb_device	*dev = 0;
+-
+-	static int ehci_urb_enqueue (struct usb_hcd *, struct urb *, int);
+ #endif
+ 
+ 	if (likely (urb->hcpriv != 0)) {
+--- linux-2.4.32/fs/cifs/cifsfs.c.orig	2004-07-13 22:25:04.000000000 +0000
++++ linux-2.4.32/fs/cifs/cifsfs.c	2005-12-03 19:56:53.834177489 +0000
+@@ -50,8 +50,6 @@
+ static struct quotactl_ops cifs_quotactl_ops;
+ #endif
+ 
+-extern struct file_system_type cifs_fs_type;
+-
+ int cifsFYI = 0;
+ int cifsERROR = 1;
+ int traceSMB = 0;
+--- linux-2.4.32/fs/reiserfs/file.c.orig	2005-12-03 18:09:53.787491000 +0000
++++ linux-2.4.32/fs/reiserfs/file.c	2005-12-03 20:16:05.515658191 +0000
+@@ -92,61 +92,6 @@
+   return ( n_err < 0 ) ? -EIO : 0;
+ }
+ 
+-static int reiserfs_setattr(struct dentry *dentry, struct iattr *attr) {
+-    struct inode *inode = dentry->d_inode ;
+-    int error ;
+-    unsigned int ia_valid = attr->ia_valid ;
+-
+-    if (ia_valid & ATTR_SIZE) {
+-	/* version 2 items will be caught by the s_maxbytes check
+-	** done for us in vmtruncate
+-	*/
+-	if (get_inode_item_key_version(inode) == KEY_FORMAT_3_5 &&
+-	    attr->ia_size > MAX_NON_LFS)
+-            return -EFBIG ;
+-
+-        /* During a truncate, we have to make sure the new i_size is in
+-	** the transaction before we start dropping updates to data logged
+-	** or ordered write data pages.
+-	*/
+-	if (attr->ia_size < inode->i_size && reiserfs_file_data_log(inode)) {
+-	    struct reiserfs_transaction_handle th ;
+-	    journal_begin(&th, inode->i_sb, 1) ;
+-	    reiserfs_update_sd_size(&th, inode, attr->ia_size) ;
+-	    journal_end(&th, inode->i_sb, 1) ;
+-	/* fill in hole pointers in the expanding truncate case. */
+-        } else if (attr->ia_size > inode->i_size) {
+-	    error = generic_cont_expand(inode, attr->ia_size) ;
+-	    if (inode->u.reiserfs_i.i_prealloc_count > 0) {
+-		struct reiserfs_transaction_handle th ;
+-		/* we're changing at most 2 bitmaps, inode + super */
+-		journal_begin(&th, inode->i_sb, 4) ;
+-		reiserfs_discard_prealloc (&th, inode);
+-		journal_end(&th, inode->i_sb, 4) ;
+-	    }
+-	    if (error)
+-	        return error ;
+-	}
+-    }
+-
+-    if ((((attr->ia_valid & ATTR_UID) && (attr->ia_uid & ~0xffff)) ||
+-	 ((attr->ia_valid & ATTR_GID) && (attr->ia_gid & ~0xffff))) &&
+-	(get_inode_sd_version (inode) == STAT_DATA_V1))
+-		/* stat data of format v3.5 has 16 bit uid and gid */
+-	    return -EINVAL;
+-
+-    error = inode_change_ok(inode, attr) ;
+-    if (!error) {
+-	if ((ia_valid & ATTR_UID && attr->ia_uid != inode->i_uid) ||
+-	    (ia_valid & ATTR_GID && attr->ia_gid != inode->i_gid))
+-		error = DQUOT_TRANSFER(inode, attr) ? -EDQUOT : 0;
+-
+-	if (!error)
+-	    error = inode_setattr(inode, attr) ;
+-    }
+-    return error ;
+-}
+-
+ static ssize_t
+ reiserfs_file_write(struct file *f, const char *b, size_t count, loff_t *ppos)
+ {
+--- linux-2.4.32/include/linux/ufs_fs.h.orig	2005-12-03 18:10:47.690049000 +0000
++++ linux-2.4.32/include/linux/ufs_fs.h	2005-12-03 20:21:16.218147850 +0000
+@@ -555,7 +555,6 @@
+ extern struct file_operations ufs_dir_operations;
+         
+ /* super.c */
+-extern struct file_system_type ufs_fs_type;
+ extern void ufs_warning (struct super_block *, const char *, const char *, ...) __attribute__ ((format (printf, 3, 4)));
+ extern void ufs_error (struct super_block *, const char *, const char *, ...) __attribute__ ((format (printf, 3, 4)));
+ extern void ufs_panic (struct super_block *, const char *, const char *, ...) __attribute__ ((format (printf, 3, 4)));
+--- linux-2.4.32/include/net/udp.h.orig	2005-12-03 21:13:16.977449000 +0000
++++ linux-2.4.32/include/net/udp.h	2005-12-03 21:13:55.194494543 +0000
+@@ -25,6 +25,7 @@
+ #include <linux/udp.h>
+ #include <linux/poll.h>
+ #include <net/sock.h>
++#include <net/snmp.h>
+ 
+ #define UDP_HTABLE_SIZE		128
+ 
+--- linux-2.4.32/net/ipv4/netfilter/ipt_XOR.c.orig	2005-12-03 18:09:54.309487000 +0000
++++ linux-2.4.32/net/ipv4/netfilter/ipt_XOR.c	2005-12-03 21:29:04.347218791 +0000
+@@ -34,7 +34,7 @@
+ 		tcph = (struct tcphdr *) ((*pskb)->data + iph->ihl*4);
+ 		for (i=0, j=0; i<(ntohs(iph->tot_len) - iph->ihl*4 - tcph->doff*4); ) {
+ 			for (k=0; k<=info->block_size; k++) {
+-				(char) (*pskb)->data[ iph->ihl*4 + tcph->doff*4 + i ] ^= 
++				(*pskb)->data[ iph->ihl*4 + tcph->doff*4 + i ] ^= 
+ 						info->key[j];
+ 				i++;
+ 			}
+@@ -46,7 +46,7 @@
+ 		udph = (struct udphdr *) ((*pskb)->data + iph->ihl*4);
+ 		for (i=0, j=0; i<(ntohs(udph->len)-8); ) {
+ 			for (k=0; k<=info->block_size; k++) {
+-				(char) (*pskb)->data[ iph->ihl*4 + sizeof(struct udphdr) + i ] ^= 
++				(*pskb)->data[ iph->ihl*4 + sizeof(struct udphdr) + i ] ^= 
+ 						info->key[j];
+ 				i++;
+ 			}
+--- linux-2.4.32/include/net/ip6_fib.h.orig	2005-12-03 21:22:38.899922000 +0000
++++ linux-2.4.32/include/net/ip6_fib.h	2005-12-03 21:42:51.146783596 +0000
+@@ -95,19 +95,8 @@
+ 	void *args;
+ };
+ 
+-extern struct fib6_walker_t fib6_walker_list;
+ extern rwlock_t fib6_walker_lock;
+ 
+-static inline void fib6_walker_link(struct fib6_walker_t *w)
+-{
+-	write_lock_bh(&fib6_walker_lock);
+-	w->next = fib6_walker_list.next;
+-	w->prev = &fib6_walker_list;
+-	w->next->prev = w;
+-	w->prev->next = w;
+-	write_unlock_bh(&fib6_walker_lock);
+-}
+-
+ static inline void fib6_walker_unlink(struct fib6_walker_t *w)
+ {
+ 	write_lock_bh(&fib6_walker_lock);
+--- linux-2.4.32/net/ipv6/ip6_fib.c.orig	2005-11-16 19:12:54.000000000 +0000
++++ linux-2.4.32/net/ipv6/ip6_fib.c	2005-12-03 21:43:04.714778854 +0000
+@@ -101,6 +101,16 @@
+ 
+ #define FOR_WALKERS(w) for ((w)=fib6_walker_list.next; (w) != &fib6_walker_list; (w)=(w)->next)
+ 
++static inline void fib6_walker_link(struct fib6_walker_t *w)
++{
++	write_lock_bh(&fib6_walker_lock);
++	w->next = fib6_walker_list.next;
++	w->prev = &fib6_walker_list;
++	w->next->prev = w;
++	w->prev->next = w;
++	write_unlock_bh(&fib6_walker_lock);
++}
++
+ static __inline__ u32 fib6_new_sernum(void)
+ {
+ 	u32 n = ++rt_sernum;
+--- linux-2.4.32/net/ipv6/sysctl_net_ipv6.c.orig	2004-04-14 13:05:41.000000000 +0000
++++ linux-2.4.32/net/ipv6/sysctl_net_ipv6.c	2005-12-03 21:49:33.177978127 +0000
+@@ -31,8 +31,7 @@
+ 
+ #ifdef MODULE
+ static struct ctl_table_header *ipv6_sysctl_header;
+-static struct ctl_table ipv6_root_table[];
+-static struct ctl_table ipv6_net_table[];
++extern struct ctl_table ipv6_net_table[];
+ 
+ 
+ ctl_table ipv6_root_table[] = {
+--- linux-2.4.32/net/khttpd/prototypes.h.orig	2005-12-03 21:51:51.222351000 +0000
++++ linux-2.4.32/net/khttpd/prototypes.h	2005-12-03 22:28:03.523640493 +0000
+@@ -49,7 +49,7 @@
+ extern struct khttpd_threadinfo threadinfo[CONFIG_KHTTPD_NUMCPU];
+ extern char CurrentTime[];
+ extern atomic_t ConnectCount;
+-extern struct wait_queue main_wait[CONFIG_KHTTPD_NUMCPU];
++extern wait_queue_t main_wait[CONFIG_KHTTPD_NUMCPU];
+ 
+ /* misc.c */
+ 
+--- linux-2.4.32/include/asm-sparc64/smp.h.orig	2005-12-03 22:45:57.606882000 +0000
++++ linux-2.4.32/include/asm-sparc64/smp.h	2005-12-03 23:00:43.818492761 +0000
+@@ -60,7 +60,6 @@
+  *	Private routines/data
+  */
+  
+-extern unsigned char boot_cpu_id;
+ extern unsigned long cpu_present_map;
+ #define cpu_online_map cpu_present_map
+ 
================================================================



More information about the pld-cvs-commit mailing list