2003-08-07 19:37:57

by Patrick McLean

[permalink] [raw]
Subject: 2.6.0-test2-mm5 x86-64 link errors

I get to play with an opteron for a bit, so I'm going to try 2.6 on it,
but test2-mm5 seems to compile fine, but when it goes to link it, it
gives these errors:

LD init/built-in.o
LD .tmp_vmlinux1
kernel/built-in.o(.text+0x359): In function `try_to_wake_up':
: undefined reference to `sched_clock'
kernel/built-in.o(.text+0x3b9): In function `try_to_wake_up':
: undefined reference to `sched_clock'
kernel/built-in.o(.text+0x1150): In function `load_balance':
: undefined reference to `sched_clock'
kernel/built-in.o(.text+0x1ae3): In function `schedule':
: undefined reference to `sched_clock'
kernel/built-in.o(.text+0x3a22): In function `move_task_away':
: undefined reference to `sched_clock'
kernel/built-in.o(.text+0x56cc): more undefined references to
`sched_clock' follow
make: *** [.tmp_vmlinux1] Error 1


2003-08-07 21:01:15

by Andrew Morton

[permalink] [raw]
Subject: Re: 2.6.0-test2-mm5 x86-64 link errors

Patrick McLean <[email protected]> wrote:
>
> I get to play with an opteron for a bit, so I'm going to try 2.6 on it,
> but test2-mm5 seems to compile fine, but when it goes to link it, it
> gives these errors:
>
> LD init/built-in.o
> LD .tmp_vmlinux1
> kernel/built-in.o(.text+0x359): In function `try_to_wake_up':
> : undefined reference to `sched_clock'

Ingo's scheduler patch requires that the architecture provide a
sched_clock() function which returns nanoseconds. We only have ia32, ia64,
ppc and ppc64 versions thus far.

A lame version is to just add

unsigned long long sched_clock(void)
{
return (unsigned long long)jiffies * (1000000000 / HZ);
}

to arch/<foo>/kernel/timer.c