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

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



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


Reply to: