[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: UserModeLinux port on ppc: problem with _SDA_BASE_ on /usr/lib/crt1.o



On Fri, Jan 20, 2006 at 11:44:36AM +0100, Stefano Melchior wrote:
> Hi list,
> I have worked on the porting of UML, User Mode Linux, on ppc arch and I
> encountered a big stop, since I can not find the way out of this issue:
> 
> [...]
> /usr/bin/make    ARCH=um \
>                              vmlinux
> make[1]: Entering directory `/usr/src/linux-2.6.13.5'
>   CHK     include/linux/version.h
>   SPLIT   include/linux/autoconf.h -> include/config/*
>   CHK     arch/um/user-offsets.h
> make[2]: `arch/um/sys-ppc/util/mk_sc' is up to date.
>   CHK     arch/um/include/sysdep-ppc/sc.h
>   CHK     arch/um/include/uml-config.h
>   UPD     arch/um/include/uml-config.h
>   CHK     arch/um/include/user_constants.h
> gcc -Wall -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing
> -fno-common -ffreestanding -O2     -fomit-frame-pointer  -D__arch_um__
> -DSUBARCH=\"ppc\" -Iarch/um/include
> -I/usr/src/linux-2.6.13.5/arch/um/kernel/tt/include -Dvmap=kernel_vmap
> -Derrno=kernel_errno -Dsigpro
> cmask=kernel_sigprocmask -fno-unit-at-a-time -U__powerpc__ -Upowerpc
> -D__UM_PPC__ -D_LARGEFILE64_SOURCE -Wdeclaration-after-statement -Wn
> o-pointer-sign  -nostdinc -isystem
> /usr/lib/gcc/powerpc-linux-gnu/4.0.3/include -D__KERNEL__ -Iinclude  -S -o
> arch/um/kernel-offsets.s ar
> ch/um/sys-ppc/kernel-offsets.c
>   CHK     arch/um/kernel-offsets.h
> make[2]: `arch/um/sys-ppc/util/mk_thread' is up to date.
>   CHK     arch/um/include/task.h
>   CHK     arch/um/include/kern_constants.h
>   CHK     include/linux/compile.h
>   CHK     usr/initramfs_list
>   QUOTE   arch/um/kernel/config.tmp
>   QUOTE   arch/um/kernel/config.c
>   CC      arch/um/kernel/config.o
>   LD      arch/um/kernel/built-in.o
>   GZIP    kernel/config_data.gz
>   IKCFG   kernel/config_data.h
>   CC      kernel/configs.o
>   LD      kernel/built-in.o
>   GEN     .version
>   CHK     include/linux/compile.h
>   UPD     include/linux/compile.h
>   CC      init/version.o
>   LD      init/built-in.o
>   LD      .tmp_vmlinux1
> /usr/lib/gcc/powerpc-linux-gnu/4.0.3/../../../../lib/crt1.o:(.rodata+0x0):
> undefined reference to `_SDA_BASE_'
> collect2: ld returned 1 exit status
>   KSYM    .tmp_kallsyms1.S
> nm: '.tmp_vmlinux1': No such file
> No valid symbol.
> make[1]: *** [.tmp_kallsyms1.S] Error 1
> make[1]: Leaving directory `/usr/src/linux-2.6.13.5'
> make: *** [debian/stamp-build-kernel] Error 2
> monteverdi:/usr/src/linux-2.6.13.5#
> 
> I use:
> 
> - 2.6.13 kernel from http://www.kernel.org;
> - an experimental UML patch;
> 
> but it seems that the problem is neither the kernel nor the patch, because
> it refers to external reference error on linker and in particular on
> /usr/lib/crt1.o .
> Referring to the following doc from IBM, you can have an idea of what
> _SDAx_BASE_ mean (page 7):

Please look in the archive of debian-powerpc, i fixed something such in the
past, don't remember what though. it is a toolchain change which means a
source change. Don't remember 2.6.13, but i fixed it some time back for PReP
or something. I think the difference was that you had to add some section to
the arch/ppc/ld.script file or something.

Friendly,

Sven Luther



Reply to: