patches/linux/2.6.11.3/170-linux-2.6.11-allow-gcc-4.0-ppc-mikpe.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Feb 17 22:12:59 2008 +0000 (2008-02-17)
changeset 433 9886aa0a9694
permissions -rw-r--r--
Robert P. J. DAY says:

According to Mike Frysinger, this patch was removed from Gentoo in the
2.3.x series and didn't seem to cause any adverse effects. So toss it
from the patch directories for glibc 2.5 and up.
     1 
     2 Fixes
     3 
     4 In file included from arch/ppc/kernel/time.c:68:
     5 arch/ppc/kernel/time.c:92: error: static declaration of 'time_offset' follows non-static declaration
     6 include/linux/timex.h:236: error: previous declaration of 'time_offset' was here
     7 make[1]: *** [arch/ppc/kernel/time.o] Error 1
     8 
     9 when compiling with gcc-4.0
    10 
    11 Taken from
    12 http://user.it.uu.se/~mikpe/linux/patches/2.6/patch-gcc4-fixes-v2-2.6.11
    13 Also removes some obsolete externs that caused problems for Mike
    14 Mike's patch has a bit more stuff in it, but this was enough for me
    15 
    16 
    17 diff -rupN linux-2.6.11/arch/ppc/kernel/time.c linux-2.6.11.gcc4-fixes-v2/arch/ppc/kernel/time.c
    18 --- linux-2.6.11/arch/ppc/kernel/time.c	2005-03-02 19:24:14.000000000 +0100
    19 +++ linux-2.6.11.gcc4-fixes-v2/arch/ppc/kernel/time.c	2005-03-02 19:36:26.000000000 +0100
    20 @@ -89,7 +89,7 @@ unsigned long tb_to_ns_scale;
    21  
    22  extern unsigned long wall_jiffies;
    23  
    24 -static long time_offset;
    25 +static long ppc_time_offset;
    26  
    27  DEFINE_SPINLOCK(rtc_lock);
    28  
    29 @@ -172,7 +172,7 @@ void timer_interrupt(struct pt_regs * re
    30  		     xtime.tv_sec - last_rtc_update >= 659 &&
    31  		     abs((xtime.tv_nsec / 1000) - (1000000-1000000/HZ)) < 500000/HZ &&
    32  		     jiffies - wall_jiffies == 1) {
    33 -		  	if (ppc_md.set_rtc_time(xtime.tv_sec+1 + time_offset) == 0)
    34 +		  	if (ppc_md.set_rtc_time(xtime.tv_sec+1 + ppc_time_offset) == 0)
    35  				last_rtc_update = xtime.tv_sec+1;
    36  			else
    37  				/* Try again one minute later */
    38 @@ -289,7 +289,7 @@ void __init time_init(void)
    39  	unsigned old_stamp, stamp, elapsed;
    40  
    41          if (ppc_md.time_init != NULL)
    42 -                time_offset = ppc_md.time_init();
    43 +                ppc_time_offset = ppc_md.time_init();
    44  
    45  	if (__USE_RTC()) {
    46  		/* 601 processor: dec counts down by 128 every 128ns */
    47 @@ -334,10 +334,10 @@ void __init time_init(void)
    48  	set_dec(tb_ticks_per_jiffy);
    49  
    50  	/* If platform provided a timezone (pmac), we correct the time */
    51 -        if (time_offset) {
    52 -		sys_tz.tz_minuteswest = -time_offset / 60;
    53 +        if (ppc_time_offset) {
    54 +		sys_tz.tz_minuteswest = -ppc_time_offset / 60;
    55  		sys_tz.tz_dsttime = 0;
    56 -		xtime.tv_sec -= time_offset;
    57 +		xtime.tv_sec -= ppc_time_offset;
    58          }
    59          set_normalized_timespec(&wall_to_monotonic,
    60                                  -xtime.tv_sec, -xtime.tv_nsec);
    61 diff -rupN linux-2.6.11/arch/ppc/syslib/open_pic_defs.h linux-2.6.11.gcc4-fixes-v2/arch/ppc/syslib/open_pic_defs.h
    62 --- linux-2.6.11/arch/ppc/syslib/open_pic_defs.h	2005-03-02 19:24:14.000000000 +0100
    63 +++ linux-2.6.11.gcc4-fixes-v2/arch/ppc/syslib/open_pic_defs.h	2005-03-02 19:36:26.000000000 +0100
    64 @@ -172,9 +172,6 @@ struct OpenPIC {
    65      OpenPIC_Processor Processor[OPENPIC_MAX_PROCESSORS];
    66  };
    67  
    68 -extern volatile struct OpenPIC __iomem *OpenPIC;
    69 -
    70 -
    71      /*
    72       *  Current Task Priority Register
    73       */
    74 diff -rupN linux-2.6.11/include/asm-ppc/prom.h linux-2.6.11.gcc4-fixes-v2/include/asm-ppc/prom.h
    75 --- linux-2.6.11/include/asm-ppc/prom.h	2003-09-28 12:19:57.000000000 +0200
    76 +++ linux-2.6.11.gcc4-fixes-v2/include/asm-ppc/prom.h	2005-03-02 19:36:26.000000000 +0100
    77 @@ -13,9 +13,6 @@
    78  typedef void *phandle;
    79  typedef void *ihandle;
    80  
    81 -extern char *prom_display_paths[];
    82 -extern unsigned int prom_num_displays;
    83 -
    84  struct address_range {
    85  	unsigned int space;
    86  	unsigned int address;