2006-11-24 09:47:53

by Miklos Szeredi

[permalink] [raw]
Subject: UML compile problems on -mm

Having problems compiling UML on 2.6.19-rc6-mm1:

CC arch/um/os-Linux/skas/process.o
arch/um/os-Linux/skas/process.c:538:2: warning: #warning need cpu pid in switch_mm_skas
arch/um/os-Linux/skas/process.c: In function ‘copy_context_skas0’:
arch/um/os-Linux/skas/process.c:342: error: ‘PAGE_SHIFT’ undeclared (first use in this function)
arch/um/os-Linux/skas/process.c:342: error: (Each undeclared identifier is reported only once
arch/um/os-Linux/skas/process.c:342: error: for each function it appears in.)
make[2]: *** [arch/um/os-Linux/skas/process.o] Error 1

After applying this patch:

Index: linux/arch/um/include/sysdep-i386/stub.h
===================================================================
--- linux.orig/arch/um/include/sysdep-i386/stub.h 2006-11-23 13:51:54.000000000 +0100
+++ linux/arch/um/include/sysdep-i386/stub.h 2006-11-23 13:52:10.000000000 +0100
@@ -9,6 +9,7 @@
#include <sys/mman.h>
#include <asm/ptrace.h>
#include <asm/unistd.h>
+#include <asm/page.h>
#include "stub-data.h"
#include "kern_constants.h"
#include "uml-config.h"

it still fails on linking:

LD .tmp_vmlinux1
lib/lib.a(bug.o): In function `find_bug':
lib/bug.c:108: undefined reference to `__start___bug_table'
lib/bug.c:108: undefined reference to `__stop___bug_table'
lib/bug.c:109: undefined reference to `__start___bug_table'
lib/bug.c:109: undefined reference to `__start___bug_table'
lib/bug.c:108: undefined reference to `__stop___bug_table'
collect2: ld returned 1 exit status

Miklos


2006-11-24 20:38:11

by Jeff Dike

[permalink] [raw]
Subject: Re: UML compile problems on -mm

On Fri, Nov 24, 2006 at 10:47:27AM +0100, Miklos Szeredi wrote:
> it still fails on linking:
>
> LD .tmp_vmlinux1
> lib/lib.a(bug.o): In function `find_bug':
> lib/bug.c:108: undefined reference to `__start___bug_table'

rc6-mm1 builds and boots here fine.

The bug table stuff is defined in asm-generic/vmlinux.lds.S, which is
pulled in through arch/um/kernel/dyn.lds.S and asm-um/common.lds.S.

Jeff
--
Work email - jdike at linux dot intel dot com

2006-11-24 22:35:36

by Miklos Szeredi

[permalink] [raw]
Subject: Re: UML compile problems on -mm

> > it still fails on linking:
> >
> > LD .tmp_vmlinux1
> > lib/lib.a(bug.o): In function `find_bug':
> > lib/bug.c:108: undefined reference to `__start___bug_table'
>
> rc6-mm1 builds and boots here fine.
>
> The bug table stuff is defined in asm-generic/vmlinux.lds.S, which is
> pulled in through arch/um/kernel/dyn.lds.S and asm-um/common.lds.S.

You mean /asm-generic/vmlinux.lds.h?

That one defines the macro named BUG_TABLE, but does not use it. And
AFAICS neither does the other two files you mentioned.

So there's somthing fishy going on ;)

Miklos

2006-11-25 04:52:20

by Jeff Dike

[permalink] [raw]
Subject: Re: UML compile problems on -mm

On Fri, Nov 24, 2006 at 11:34:46PM +0100, Miklos Szeredi wrote:
> You mean /asm-generic/vmlinux.lds.h?
>
> That one defines the macro named BUG_TABLE, but does not use it. And
> AFAICS neither does the other two files you mentioned.

Yup, I missed the '\'s over on the right.

> So there's somthing fishy going on ;)

Yes, somehow I have it, and I'm not sure how:
(gdb) p &__start___bug_table
$1 = (
<variable (not text or data), no debug info> *) 0x81aa61c "\ufffd\221\004\b\ufffd\ufffd\030\b\a\001"


Jeff

--
Work email - jdike at linux dot intel dot com