2009-10-29 04:21:42

by Bob Tracy

[permalink] [raw]
Subject: [BUG] 2.6.32-rc5 build failure on Alpha

Mainline 2.6.32-rc5 kernel build failure. The last few lines of the kernel
build output are:

LD vmlinux.o
MODPOST vmlinux.o
WARNING: "saved_config" [vmlinux] is COMMON symbol
GEN .version
CHK include/linux/compile.h
UPD include/linux/compile.h
CC init/version.o
LD init/built-in.o
LD .tmp_vmlinux1
arch/alpha/kernel/vmlinux.lds:241: undefined symbol `THREAD_SIZE' referenced in expression
make: *** [.tmp_vmlinux1] Error 1

--
------------------------------------------------------------------------
Bob Tracy | "Every normal man must be tempted at times to spit
[email protected] | upon his hands, hoist the black flag, and begin
| slitting throats." -- H.L. Mencken
------------------------------------------------------------------------


2009-10-29 05:10:54

by Bob Tracy

[permalink] [raw]
Subject: Re: [BUG] 2.6.32-rc5 build failure on Alpha

On Wed, Oct 28, 2009 at 10:53:05PM -0500, Bob Tracy wrote:
> Mainline 2.6.32-rc5 kernel build failure. The last few lines of the kernel
> build output are:
>
> LD vmlinux.o
> MODPOST vmlinux.o
> WARNING: "saved_config" [vmlinux] is COMMON symbol
> GEN .version
> CHK include/linux/compile.h
> UPD include/linux/compile.h
> CC init/version.o
> LD init/built-in.o
> LD .tmp_vmlinux1
> arch/alpha/kernel/vmlinux.lds:241: undefined symbol `THREAD_SIZE' referenced in expression
> make: *** [.tmp_vmlinux1] Error 1

In arch/alpha/include/asm/thread_info.h, THREAD_SIZE is defined as
(2*PAGE_SIZE). I tried editing arch/alpha/kernel/vmlinux.lds.S and making
that substitution manually, and the build succeeds. "thread_info.h" is
being included, so I have no idea why the build is breaking. gcc
version is 4.3.4 (Debian 4.3.4-5), and binutils version is
2.19.91.20091006.

--Bob

2009-10-29 05:39:56

by Bob Tracy

[permalink] [raw]
Subject: Re: [BUG] 2.6.32-rc5 build failure on Alpha

On Wed, Oct 28, 2009 at 10:53:05PM -0500, Bob Tracy wrote:
> Mainline 2.6.32-rc5 kernel build failure. The last few lines of the kernel
> build output are:
>
> LD vmlinux.o
> MODPOST vmlinux.o
> WARNING: "saved_config" [vmlinux] is COMMON symbol
> GEN .version
> CHK include/linux/compile.h
> UPD include/linux/compile.h
> CC init/version.o
> LD init/built-in.o
> LD .tmp_vmlinux1
> arch/alpha/kernel/vmlinux.lds:241: undefined symbol `THREAD_SIZE' referenced in expression
> make: *** [.tmp_vmlinux1] Error 1

> In arch/alpha/include/asm/thread_info.h, THREAD_SIZE is defined as
> (2*PAGE_SIZE).

Ok. Found it. The THREAD_SIZE definition is inside a
"#ifndef __ASSEMBLY__" block, so it never gets referenced (because
"__ASSEMBLY__" is defined for the "vmlinux.lds" build). The obvious
suggested fix is to move the definition outside the block.

--Bob

2009-10-29 05:57:18

by Sam Ravnborg

[permalink] [raw]
Subject: Re: [BUG] 2.6.32-rc5 build failure on Alpha

On Thu, Oct 29, 2009 at 12:39:47AM -0500, Bob Tracy wrote:
> On Wed, Oct 28, 2009 at 10:53:05PM -0500, Bob Tracy wrote:
> > Mainline 2.6.32-rc5 kernel build failure. The last few lines of the kernel
> > build output are:
> >
> > LD vmlinux.o
> > MODPOST vmlinux.o
> > WARNING: "saved_config" [vmlinux] is COMMON symbol
> > GEN .version
> > CHK include/linux/compile.h
> > UPD include/linux/compile.h
> > CC init/version.o
> > LD init/built-in.o
> > LD .tmp_vmlinux1
> > arch/alpha/kernel/vmlinux.lds:241: undefined symbol `THREAD_SIZE' referenced in expression
> > make: *** [.tmp_vmlinux1] Error 1
>
> > In arch/alpha/include/asm/thread_info.h, THREAD_SIZE is defined as
> > (2*PAGE_SIZE).
>
> Ok. Found it. The THREAD_SIZE definition is inside a
> "#ifndef __ASSEMBLY__" block, so it never gets referenced (because
> "__ASSEMBLY__" is defined for the "vmlinux.lds" build). The obvious
> suggested fix is to move the definition outside the block.

A patch doing this has been posted some time ago.
I think/hope it is in -mm if it is not yet in -linus.

Sam