linux/kernel/time
Arnd Bergmann 4f973dff40 UPSTREAM: timekeeping/vsyscall: Use __iter_div_u64_rem()
On 32-bit x86 when building with clang-9, the 'division' loop gets turned
back into an inefficient division that causes a link error:

kernel/time/vsyscall.o: In function `update_vsyscall':
vsyscall.c:(.text+0xe3): undefined reference to `__udivdi3'

Use the existing __iter_div_u64_rem() function which is used to address the
same issue in other places.

Fixes: 44f57d788e ("timekeeping: Provide a generic update_vsyscall() implementation")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Nathan Chancellor <natechancellor@gmail.com>
Tested-by: Nathan Chancellor <natechancellor@gmail.com>
Link: https://lkml.kernel.org/r/20190710130206.1670830-1-arnd@arndb.de
(cherry picked from commit 0df1c9868c)
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Ia4f87df23b07dd0835ca5f1a6eb49ad2f757aefd
2020-11-16 09:22:35 +01:00
..
alarmtimer.c This is the 4.19.103 stable release 2020-02-11 15:05:03 -08:00
clockevents.c clockevents: Warn if cpu_all_mask is used as cpumask 2018-08-02 14:55:53 +02:00
clocksource.c clocksource: Prevent double add_timer_on() for watchdog_timer 2020-02-11 04:34:18 -08:00
hrtimer.c hrtimer: Annotate lockless access to timer->state 2020-01-04 19:13:32 +01:00
itimer.c pid: Implement PIDTYPE_TGID 2018-07-21 10:43:12 -05:00
jiffies.c
Kconfig
Makefile UPSTREAM: timekeeping: Provide a generic update_vsyscall() implementation 2020-04-27 22:51:55 -07:00
ntp_internal.h timekeeping/ntp: Constify some function arguments 2018-07-19 17:08:05 -07:00
ntp.c ntp: Limit TAI-UTC offset 2019-07-26 09:14:10 +02:00
posix-clock.c ptp: fix the race between the release of ptp_clock and cdev 2020-01-04 19:13:35 +01:00
posix-cpu-timers.c posix-cpu-timers: Sanitize bogus WARNONS 2019-10-05 13:09:47 +02:00
posix-stubs.c posix-timers: Use new ktime_get_*_ts64() helpers 2018-06-19 09:56:27 +02:00
posix-timers.c posix-timers: Fix division by zero bug 2018-12-29 13:37:56 +01:00
posix-timers.h posix-timers: Make forward callback return s64 2018-07-02 11:33:25 +02:00
sched_clock.c timers/sched_clock: Prevent generic sched_clock wrap caused by tick_freeze() 2019-04-27 09:36:38 +02:00
test_udelay.c
tick-broadcast-hrtimer.c tick: broadcast-hrtimer: Fix a race in bc_set_next 2019-10-11 18:21:28 +02:00
tick-broadcast.c
tick-common.c timers/sched_clock: Prevent generic sched_clock wrap caused by tick_freeze() 2019-04-27 09:36:38 +02:00
tick-internal.h
tick-oneshot.c
tick-sched.c ANDROID: GKI: kernel: tick-sched: Move wake callback registration code 2020-08-01 21:32:18 +00:00
tick-sched.h
time.c y2038: make do_gettimeofday() and get_seconds() inline 2019-11-20 18:45:24 +01:00
timeconst.bc
timeconv.c
timecounter.c
timekeeping_debug.c timekeeping/ntp: Constify some function arguments 2018-07-19 17:08:05 -07:00
timekeeping_internal.h timekeeping/ntp: Constify some function arguments 2018-07-19 17:08:05 -07:00
timekeeping.c UPSTREAM: timekeeping/vsyscall: Prevent math overflow in BOOTTIME update 2020-11-16 09:22:35 +01:00
timekeeping.h timers/sched_clock: Prevent generic sched_clock wrap caused by tick_freeze() 2019-04-27 09:36:38 +02:00
timer_list.c timer_list: Guard procfs specific code 2019-07-26 09:14:10 +02:00
timer.c random32: update the net random state on interrupt and activity 2020-08-07 09:36:20 +02:00
vsyscall.c UPSTREAM: timekeeping/vsyscall: Use __iter_div_u64_rem() 2020-11-16 09:22:35 +01:00