7.7.2010 5:22, [email protected] kirjoitti:

I am doing meego arm-based development now. But I failed to build my
kernel with toolchain offered in repo.meego.com.

Fortunately my current development platform was too old and with wrong
(AMD) CPU, so that the prebuilt cross GCC couldn't even be tried :

[r...@localhost bin]# ldd armv7l-meego-linux-gnueabi-gcc ./armv7l-meego-linux-gnueabi-gcc: /lib/libc.so.6: version `GLIBC_2.11' not found (required by ./armv7l-meego-linux-gnueabi-gcc)
        linux-gate.so.1 =>  (0x00b63000)
        libc.so.6 => /lib/libc.so.6 (0x00101000)
        /lib/ld-linux.so.2 (0x00ccf000)

Why anyone (but a ignorant newbie) would produce toolchains as binaries
only for the bleeding edge Linux distros, is really odd...

So I simply produced all the three toolchains (i586, armv5tel, armv7l)
for my current "least common nominator" Linux host - older than my
current installed development host distro (CentOS 5.5, glibc-2.5
based)...

But I start to build the package, I got a error meesage:
/opt/cross/bin/armv7l-meego-linux-gnueabi-ld: skipping incompatible 
/opt/cross/libexec/../lib/gcc/armv7l-meego-linux-gnueabi/4.4.2/libgcc.a 
when searching for -lgcc

The 'libgcc.a' in the prebuilt toolchain really seems to be broken,
the first object in the archive shows :

[r...@localhost 4.4.2]# file _udivsi3.o
_udivsi3.o: ELF 32-bit LSB relocatable, no machine, version 1 (SYSV), not stripped
[r...@localhost 4.4.2]# objdump -p _udivsi3.o

_udivsi3.o:     file format elf32-little

[r...@localhost 4.4.2]# readelf -h _udivsi3.o
ELF Header:
  Magic:   7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
  Class:                             ELF32
  Data:                              2's complement, little endian
  Version:                           1 (current)
  OS/ABI:                            UNIX - System V
  ABI Version:                       0
  Type:                              REL (Relocatable file)
  Machine:                           None
  Version:                           0x1
  Entry point address:               0x0
  Start of program headers:          0 (bytes into file)
  Start of section headers:          676 (bytes into file)
  Flags:                             0x5000000
  Size of this header:               52 (bytes)
  Size of program headers:           0 (bytes)
  Number of program headers:         0
  Size of section headers:           40 (bytes)
  Number of section headers:         10
  Section header string table index: 7

Others seem to be Ok. Meanwhile the one in my self-made toolchain
(gcc-4.4.4 based) shows:

[r...@localhost 4.4.4]# file _udivsi3.o
_udivsi3.o: ELF 32-bit LSB relocatable, ARM, version 1 (SYSV), not stripped
[r...@localhost 4.4.4]# objdump -p _udivsi3.o

_udivsi3.o:     file format elf32-little

[r...@localhost 4.4.4]# readelf -h _udivsi3.o
ELF Header:
  Magic:   7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
  Class:                             ELF32
  Data:                              2's complement, little endian
  Version:                           1 (current)
  OS/ABI:                            UNIX - System V
  ABI Version:                       0
  Type:                              REL (Relocatable file)
  Machine:                           ARM
  Version:                           0x1
  Entry point address:               0x0
  Start of program headers:          0 (bytes into file)
  Start of section headers:          828 (bytes into file)
  Flags:                             0x5000000, Version5 EABI
  Size of this header:               52 (bytes)
  Size of program headers:           0 (bytes)
  Number of program headers:         0
  Size of section headers:           40 (bytes)
  Number of section headers:         19
  Section header string table index: 16

I would expect the GNU binutils in the prebuilt toolchain being
buggy, I myself used:

[r...@localhost 4.4.4]# armv7l-meego-linux-gnueabi-ld -V
GNU ld (Linux/GNU Binutils) 2.20.51.0.8.20100412
  Supported emulations:
   armelf_linux_eabi
   armelfb_linux_eabi

Also the prebuilt binutils were just as oddly built :

[r...@localhost bin]# ./armv7l-meego-linux-gnueabi-ld -V
./armv7l-meego-linux-gnueabi-ld: /lib/libc.so.6: version `GLIBC_2.8' not found (required by ./armv7l-meego-linux-gnueabi-ld) ./armv7l-meego-linux-gnueabi-ld: /lib/libc.so.6: version `GLIBC_2.7' not found (required by ./armv7l-meego-linux-gnueabi-ld)

so checking their version isn't that easy :(
_______________________________________________
MeeGo-dev mailing list
[email protected]
http://lists.meego.com/listinfo/meego-dev

Reply via email to