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):
http://www-3.ibm.com/chips/techlib/techlib.nsf/techdocs/852569B20050FF77852569970071B0D6/$file/eabi_app.pdf
how can I proceed with the definition of there ppc symbols on the linker?
They are called on the <linux-source-dir>/script/kallsyms.c in the kernel
original way and it is not touch by the patch.
Can anyone help me?
I found on web that Renzo Davoli encountered the same problem and there is
still no solution to it.
Thank you in advance for your precious help
Cheers
SteX
PS: I work on an Apple Powerbook Aluminum 15"
--
Stefano Melchior, GPG key = D52DF829 - <stefano.melchior@openlabs.it>
http://etinarcadiaego.dyndns.org -- http://www.stex.name
Attachment:
signature.asc
Description: Digital signature