From: Andrew Morton kernel/built-in.o: In function `bacct_add_tsk': /usr/src/linux-mm/kernel/tsacct.c:39: undefined reference to `__divdi3' Cc: "Michal Piotrowski" Cc: "Jay Lan" Signed-off-by: Andrew Morton --- kernel/tsacct.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff -puN kernel/tsacct.c~csa-basic-accounting-over-taskstats-fix kernel/tsacct.c --- a/kernel/tsacct.c~csa-basic-accounting-over-taskstats-fix +++ a/kernel/tsacct.c @@ -29,6 +29,7 @@ void bacct_add_tsk(struct taskstats *stats, struct task_struct *tsk) { struct timespec uptime, ts; + s64 ac_etime; BUILD_BUG_ON(TS_COMM_LEN < TASK_COMM_LEN); @@ -36,7 +37,9 @@ void bacct_add_tsk(struct taskstats *sta do_posix_clock_monotonic_gettime(&uptime); ts = timespec_sub(uptime, current->group_leader->start_time); /* rebase elapsed time to usec */ - stats->ac_etime = (timespec_to_ns(&ts))/NSEC_PER_USEC; + ac_etime = timespec_to_ns(&ts); + do_div(ac_etime, NSEC_PER_USEC); + stats->ac_etime = ac_etime; stats->ac_btime = xtime.tv_sec - ts.tv_sec; if (thread_group_leader(tsk)) { stats->ac_exitcode = tsk->exit_code; _