public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* gcc 3.5 compile fixes
@ 2004-07-09 10:25 Andi Kleen
  2004-07-09 14:39 ` Felipe Alfaro Solana
  0 siblings, 1 reply; 3+ messages in thread
From: Andi Kleen @ 2004-07-09 10:25 UTC (permalink / raw)
  To: akpm; +Cc: linux-kernel


I tried to compile 2.6.7-bk9 with a recent gcc 3.5 snapshot on i386
and x86-64. It gave a lot of warnings and a lot of compile errors
for make allyesconfig.

On x86-64 it miscompiled the kernel (due to kernel bugs); I will send
fixes for that separately.

Most compile errors were about mixing extern and static declarations
of the same symbol. I fixed this all except for the au88x0 driver
in ALSA which had a too broken module setup (someone else will have 
to tackle that)

I got one gcc internal compiler error while compiling the sunrpc 
gss module. I filed an gcc bug for that. 

One problem was that it didn't always inline fix_to_virt() which
resulted in undefined symbols. (gcc 3.4 and up doesn't set always 
inline for normal inline). I fixed this by defining a new macro
__always_inline in compiler.h and using that for fix_to_virt

Another issue (I think already fixed in -mm) was that memmove()
needs to be moved out of line.

The result were a lot of patches for a lot of files. Instead
of spamming l-k with them all I put them in 
http://www.firstfloor.org/~andi/35/ 
Andrew, please consider adding them to your tree.

The resulting i386 kernel booted on one machine; but failed to find
the SCSI disks on another (didn't investigate what the problem 
was on the later, some more work needed on that)  

-Andi


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: gcc 3.5 compile fixes
  2004-07-09 10:25 gcc 3.5 compile fixes Andi Kleen
@ 2004-07-09 14:39 ` Felipe Alfaro Solana
  2004-07-10  4:52   ` Andi Kleen
  0 siblings, 1 reply; 3+ messages in thread
From: Felipe Alfaro Solana @ 2004-07-09 14:39 UTC (permalink / raw)
  To: Andi Kleen; +Cc: akpm, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 1778 bytes --]

I need the following patch to make recent -bk kernels compile against
gcc35.

On Fri, 2004-07-09 at 12:25 +0200, Andi Kleen wrote:
> I tried to compile 2.6.7-bk9 with a recent gcc 3.5 snapshot on i386
> and x86-64. It gave a lot of warnings and a lot of compile errors
> for make allyesconfig.
> 
> On x86-64 it miscompiled the kernel (due to kernel bugs); I will send
> fixes for that separately.
> 
> Most compile errors were about mixing extern and static declarations
> of the same symbol. I fixed this all except for the au88x0 driver
> in ALSA which had a too broken module setup (someone else will have 
> to tackle that)
> 
> I got one gcc internal compiler error while compiling the sunrpc 
> gss module. I filed an gcc bug for that. 
> 
> One problem was that it didn't always inline fix_to_virt() which
> resulted in undefined symbols. (gcc 3.4 and up doesn't set always 
> inline for normal inline). I fixed this by defining a new macro
> __always_inline in compiler.h and using that for fix_to_virt
> 
> Another issue (I think already fixed in -mm) was that memmove()
> needs to be moved out of line.
> 
> The result were a lot of patches for a lot of files. Instead
> of spamming l-k with them all I put them in 
> http://www.firstfloor.org/~andi/35/ 
> Andrew, please consider adding them to your tree.
> 
> The resulting i386 kernel booted on one machine; but failed to find
> the SCSI disks on another (didn't investigate what the problem 
> was on the later, some more work needed on that)  
> 
> -Andi
> 
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/

[-- Attachment #2: gcc-35.patch --]
[-- Type: text/x-patch, Size: 3042 bytes --]

diff -uNr linux-2.6.7-mm7/arch/i386/kernel/cpu/mtrr/if.c linux-2.6.7-mm7-gcc35/arch/i386/kernel/cpu/mtrr/if.c
--- linux-2.6.7-mm7/arch/i386/kernel/cpu/mtrr/if.c	2004-06-16 07:19:02.000000000 +0200
+++ linux-2.6.7-mm7-gcc35/arch/i386/kernel/cpu/mtrr/if.c	2004-07-09 10:17:04.000000000 +0200
@@ -16,7 +16,7 @@
 
 #define FILE_FCOUNT(f) (((struct seq_file *)((f)->private_data))->private)
 
-static char *mtrr_strings[MTRR_NUM_TYPES] =
+char *mtrr_strings[MTRR_NUM_TYPES] =
 {
     "uncachable",               /* 0 */
     "write-combining",          /* 1 */
diff -uNr linux-2.6.7-mm7/drivers/pcmcia/ds.c linux-2.6.7-mm7-gcc35/drivers/pcmcia/ds.c
--- linux-2.6.7-mm7/drivers/pcmcia/ds.c	2004-07-09 10:55:33.000000000 +0200
+++ linux-2.6.7-mm7-gcc35/drivers/pcmcia/ds.c	2004-07-09 10:47:25.000000000 +0200
@@ -413,7 +413,7 @@
 EXPORT_SYMBOL(pcmcia_unregister_driver);
 
 #ifdef CONFIG_PROC_FS
-static struct proc_dir_entry *proc_pccard = NULL;
+struct proc_dir_entry *proc_pccard = NULL;
 
 static int proc_read_drivers_callback(struct device_driver *driver, void *d)
 {
diff -uNr linux-2.6.7-mm7/drivers/usb/class/usblp.c linux-2.6.7-mm7-gcc35/drivers/usb/class/usblp.c
--- linux-2.6.7-mm7/drivers/usb/class/usblp.c	2004-07-09 10:55:34.000000000 +0200
+++ linux-2.6.7-mm7-gcc35/drivers/usb/class/usblp.c	2004-07-09 10:51:48.000000000 +0200
@@ -1179,7 +1179,7 @@
 
 MODULE_DEVICE_TABLE (usb, usblp_ids);
 
-static struct usb_driver usblp_driver = {
+struct usb_driver usblp_driver = {
 	.owner =	THIS_MODULE,
 	.name =		"usblp",
 	.probe =	usblp_probe,
diff -uNr linux-2.6.7-mm7/net/ipv6/ip6_fib.c linux-2.6.7-mm7-gcc35/net/ipv6/ip6_fib.c
--- linux-2.6.7-mm7/net/ipv6/ip6_fib.c	2004-06-16 07:19:52.000000000 +0200
+++ linux-2.6.7-mm7-gcc35/net/ipv6/ip6_fib.c	2004-07-09 10:49:25.000000000 +0200
@@ -94,7 +94,7 @@
 
 static struct timer_list ip6_fib_timer = TIMER_INITIALIZER(fib6_run_gc, 0, 0);
 
-static struct fib6_walker_t fib6_walker_list = {
+struct fib6_walker_t fib6_walker_list = {
 	.prev	= &fib6_walker_list,
 	.next	= &fib6_walker_list, 
 };
diff -uNr linux-2.6.7-mm7/net/ipv6/xfrm6_state.c linux-2.6.7-mm7-gcc35/net/ipv6/xfrm6_state.c
--- linux-2.6.7-mm7/net/ipv6/xfrm6_state.c	2004-06-16 07:19:13.000000000 +0200
+++ linux-2.6.7-mm7-gcc35/net/ipv6/xfrm6_state.c	2004-07-09 10:50:23.000000000 +0200
@@ -119,7 +119,7 @@
 	return x0;
 }
 
-static struct xfrm_state_afinfo xfrm6_state_afinfo = {
+struct xfrm_state_afinfo xfrm6_state_afinfo = {
 	.family			= AF_INET6,
 	.lock			= RW_LOCK_UNLOCKED,
 	.init_tempsel		= __xfrm6_init_tempsel,
diff -uNr linux-2.6.7-mm7/scripts/kconfig/mconf.c linux-2.6.7-mm7-gcc35/scripts/kconfig/mconf.c
--- linux-2.6.7-mm7/scripts/kconfig/mconf.c	2004-06-16 07:19:02.000000000 +0200
+++ linux-2.6.7-mm7-gcc35/scripts/kconfig/mconf.c	2004-07-09 10:10:07.000000000 +0200
@@ -88,7 +88,7 @@
 static int indent;
 static struct termios ios_org;
 static int rows, cols;
-static struct menu *current_menu;
+struct menu *current_menu;
 static int child_count;
 static int do_resize;
 static int single_menu_mode;

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: gcc 3.5 compile fixes
  2004-07-09 14:39 ` Felipe Alfaro Solana
@ 2004-07-10  4:52   ` Andi Kleen
  0 siblings, 0 replies; 3+ messages in thread
From: Andi Kleen @ 2004-07-10  4:52 UTC (permalink / raw)
  To: Felipe Alfaro Solana; +Cc: akpm, linux-kernel

On Fri, Jul 09, 2004 at 04:39:07PM +0200, Felipe Alfaro Solana wrote:
> I need the following patch to make recent -bk kernels compile against
> gcc35.

It's mostly redundant with my patch kit, except for scripts/* change. 
I missed that.

-Andi

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2004-07-10  4:52 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-07-09 10:25 gcc 3.5 compile fixes Andi Kleen
2004-07-09 14:39 ` Felipe Alfaro Solana
2004-07-10  4:52   ` Andi Kleen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox