kernel-hacking-2024-linux-s.../arch/mips
Ralf Baechle 4037500ebc [MIPS] time: Delete weak definition of plat_time_init() due to gcc bug.
Frank Rowand <frank.rowand@am.sony.com> reports:

> In linux-2.6.24-rc4 the Toshiba RBTX4927 hangs on boot.
>
> The cause is that plat_time_init() from arch/mips/tx4927/common/
> tx4927_setup.c does not override the __weak plat_time_init() from
> arch/mips/kernel/time.c.  This is due to a compiler bug in gcc 4.1.1.  The
> bug is reported to not exist in earlier versions of gcc, and to be fixed in
> 4.1.2.  The problem is that the __weak plat_time_init() is empty and thus
> gets optimized out of existence (thus the linker is never given the option
> to replace the __weak function).

[ He meant the call to plat_time_init() from time_init() gets optimized away ]

> For more info on the gcc bug see
>
>    http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27781
>
> The attached patch is one workaround.  Another possible workaround

[ His patch adds -fno-unit-at-a-time for time.c ]

> would be to change the __weak plat_time_init() to be a non-empty
> function.

The __weak definition of plat_time_init was only ever meant to be a
migration helper to keep platforms that don't have a plat_time_init
compiling.  A few greps says that all platforms now supply their own
plat_time_init() so the weak definition is no longer needed.  So I
instead delete it.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2007-12-14 17:34:30 +00:00
..
au1000 [MIPS] Alchemy: fix off by two error in __fixup_bigphys_addr() 2007-12-14 17:34:29 +00:00
basler/excite [MIPS] Excite: Fix build error. 2007-11-02 16:13:47 +00:00
bcm47xx [MIPS] Kill duplicated setup_irq() for cp0 timer 2007-10-19 18:15:58 +01:00
boot [MIPS] checkfiles: Fix "need space after that ','" errors. 2007-10-11 23:46:15 +01:00
cobalt [MIPS] time: Set up Cobalt's mips_hpt_frequency 2007-12-14 17:34:29 +00:00
configs [MIPS] Malta: Enable tickless and highres timers. 2007-12-09 04:51:10 +00:00
dec [MIPS] Allow hardwiring of the CPU type to a single type for optimization. 2007-10-11 23:46:15 +01:00
emma2rh [MIPS] Kill duplicated setup_irq() for cp0 timer 2007-10-19 18:15:58 +01:00
fw [MIPS] Fix "no space between function name and open parenthesis" warnings. 2007-10-11 23:46:15 +01:00
gt64120/wrppmc [MIPS] time: Remove wrppmc's definition of plat_timer_setup. 2007-10-29 19:35:34 +00:00
jazz [MIPS] Jazz: disable PIT; cleanup R4030 clockevent 2007-11-02 16:13:49 +00:00
jmr3927 [MIPS] txx9tmr clockevent/clocksource driver 2007-10-29 19:35:35 +00:00
kernel [MIPS] time: Delete weak definition of plat_time_init() due to gcc bug. 2007-12-14 17:34:30 +00:00
lasat [MIPS] Lasat: Fix overlap of interrupt number ranges. 2007-11-15 23:21:50 +00:00
lemote/lm2e [MIPS] Kill duplicated setup_irq() for cp0 timer 2007-10-19 18:15:58 +01:00
lib [MIPS] Fix "no space between function name and open parenthesis" warnings. 2007-10-11 23:46:15 +01:00
math-emu [MIPS] Compliment va_start() with va_end(). 2007-11-26 17:26:15 +00:00
mips-boards [MIPS] Atlas, Malta: Don't free firmware memory on free_initmem. 2007-12-14 17:34:29 +00:00
mipssim [MIPS] time: MIPSsim's plat_time_init doesn't need to be irq safe. 2007-11-26 17:26:13 +00:00
mm [MIPS] 64-bit Sibyte kernels need DMA32. 2007-11-26 17:26:14 +00:00
oprofile [MIPS] Oprofile: Fix computation of number of counters. 2007-12-06 17:15:58 +00:00
pci [MIPS] PCI: Make pcibios_fixup_device_resources ignore legacy resources. 2007-12-14 17:34:29 +00:00
philips/pnx8550 [MIPS] checkfiles: Fix "need space after that ','" errors. 2007-10-11 23:46:15 +01:00
pmc-sierra [MIPS] Only build r4k clocksource for systems that work ok with it. 2007-11-26 17:26:14 +00:00
qemu qemu: do not enable IP7 blindly 2007-12-09 04:51:10 +00:00
sgi-ip22 IP22ZILOG: fix lockup and sysrq 2007-11-29 09:24:53 -08:00
sgi-ip27 [MIPS] IP27: Fix build error. 2007-11-02 16:13:47 +00:00
sgi-ip32 [MIPS] IP32: More interrupt renumbering fixes. 2007-11-26 17:26:13 +00:00
sibyte [MIPS] Sibyte: Replace use of removed IO_SPACE_BASE with IOADDR. 2007-11-15 23:21:49 +00:00
sni [MIPS] SNI: s/achknowledge/acknowledge/ 2007-11-15 23:21:51 +00:00
tx4927 [MIPS] txx9tmr clockevent/clocksource driver 2007-10-29 19:35:35 +00:00
tx4938 [MIPS] txx9tmr clockevent/clocksource driver 2007-10-29 19:35:35 +00:00
vr41xx [MIPS] Only build r4k clocksource for systems that work ok with it. 2007-11-26 17:26:14 +00:00
defconfig
Kconfig Fix oprofile configuration breakage 2007-12-06 09:37:03 -08:00
Kconfig.debug [MIPS] Kbuild: Use the new cc-cross-prefix feature. 2007-10-22 22:09:01 +01:00
Makefile [MIPS] Makefile: Fix canonical system names 2007-11-15 23:21:51 +00:00