linux/kernel/time
John Stultz c7dcf87a68 time: Workaround gcc loop optimization that causes 64bit div errors
Early 4.3 versions of gcc apparently aggressively optimize the raw
time accumulation loop, replacing it with a divide.

On 32bit systems, this causes the following link errors:
	undefined reference to `__umoddi3'
	undefined reference to `__udivdi3'

The gcc issue has been fixed in 4.4 and greater.

This patch replaces the accumulation loop with a do_div, as suggested
by Linus.

Signed-off-by: John Stultz <johnstul@us.ibm.com>
CC: Jason Wessel <jason.wessel@windriver.com>
CC: Larry Finger <Larry.Finger@lwfinger.net>
CC: Ingo Molnar <mingo@elte.hu>
CC: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2010-08-13 12:03:24 -07:00
..
Kconfig time: Kill off CONFIG_GENERIC_TIME 2010-07-27 12:40:54 +02:00
Makefile time: add function to convert between calendar time and broken-down time for universal use 2009-09-24 07:20:56 -07:00
clockevents.c clockevent: Don't remove broadcast device when cpu is dead 2010-01-18 14:44:50 +01:00
clocksource.c clocksource: Add __clocksource_updatefreq_hz/khz methods 2010-07-27 12:40:55 +02:00
jiffies.c clocksource: Cleanup clocksource selection 2009-08-15 10:55:46 +02:00
ntp.c ntp: Make time_adjust static 2010-03-23 17:19:37 +01:00
tick-broadcast.c fix comment/printk typos concerning "already" 2010-07-11 21:45:40 +02:00
tick-common.c clockevents: Convert to raw_spinlock 2009-12-14 23:55:34 +01:00
tick-internal.h clockevents: Make tick_device_lock static 2009-12-14 23:55:34 +01:00
tick-oneshot.c clockevents: Sanitize min_delta_ns adjustment and prevent overflows 2010-03-12 19:10:29 +01:00
tick-sched.c Merge branch 'timers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2010-08-06 13:12:36 -07:00
timecompare.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
timeconv.c time: add function to convert between calendar time and broken-down time for universal use 2009-09-24 07:20:56 -07:00
timekeeping.c time: Workaround gcc loop optimization that causes 64bit div errors 2010-08-13 12:03:24 -07:00
timer_list.c sched: Intoduce get_cpu_iowait_time_us() 2010-05-09 19:35:27 +02:00
timer_stats.c hrtimers: Convert to raw_spinlocks 2009-12-14 23:55:34 +01:00