[uClibc]troubles with Busybox and lastest uClibc CVS snapshot

Wayne Buckhanan buck at andrews.edu
Thu May 31 17:59:33 UTC 2001


I'm not sure what changed but I can get busybox 0.51 to compile with today's
snapshot of uClibc.

On Thu, May 31, 2001 at 10:35:11AM -0600, Erik Andersen wrote:
> This suggests to me that you compiled uClibc with "HAS_MMU=false" in
> your Config...

That may have been the case for the snapshot I downloaded on the 28th
since it didn't seem to set HAS_MMU at all unless the proc was an SH.
But I'm positive that the snapshot from yesterday has HAS_MMU=true.

> This is very odd.  updwtmp() is enabled in tinylogin/utmp.c in the CVS
> version.  Could you try with the latest from CVS?
The CVS of tinylogin compiles fine.

Now I'm confused why I can't run busybox or tinylogin on my devel sys.

bash$ ldd tinylogin
/usr/bin/ldd: ./tinylogin: No such file or directory
bash$ ./tinylogin
bash: ./tinylogin: No such file or directory

bash$ ldd busybox
/usr/bin/ldd: ./busybox: No such file or directory
bash$ ./busybox
bash: ./busybox: No such file or directory

I tried setting my LD_LIBRARY_PATH to where I installed the libs and
that doesn't seem to make a difference.

While I'm on a roll at breaking things I've managed to recreate Andreas'
ldd troubles under a RedHat install (likely 7.0 but it might be 6.2, can't
remember which).

bash$ ldd ~/WLinB/i386-linux-uclibc/lib/libuClibc-0.9.5.so 
ldd: warning: you do not have execution permission for `/homes/buck/WLinB/i386-linux-uclibc/lib/libuClibc-0.9.5.so'
        /lib/libNoVersion.so.1 => /lib/libNoVersion.so.1 (0x40030000)
        ld-uclibc.so.0 => /home/buck/WLinB/i386-linux-uclibc/lib/ld-uclibc.so.0 (0x40032000)
        libc.so.6 => /lib/libc.so.6 (0x4003d000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)
bash$ readelf -ld ~/WLinB/i386-linux-uclibc/lib/libuClibc-0.9.5.so 

Elf file is DYN (Shared object file)
Entry point 0xdaf0
There are 3 program headers, starting at offset 34:

Program Headers:
  Type           Offset   VirtAddr   PhysAddr   FileSiz MemSiz  Flg Align
  LOAD           0x000000 0x00000000 0x00000000 0x2b0c7 0x2b0c7 R E 0x1000
  LOAD           0x02b0e0 0x0002c0e0 0x0002c0e0 0x0039c 0x02804 RW 0x1000
  DYNAMIC        0x02b41c 0x0002c41c 0x0002c41c 0x00060 0x00060 RW  0x4

 Section to Segment mapping:
  Segment Sections...
   00     .hash .dynsym .dynstr .rel.text .rel.rodata .rel.data .text .rodata 
   01     .data .got .dynamic .bss 
   02     .dynamic 

Dynamic segment at offset 0x2b41c contains 12 entries:
  Tag        Type                         Name/Value
  0x00000001 (NEEDED)                     Shared library: [ld-uclibc.so.0]
  0x0000000e (SONAME)                     Library soname: [libc.so.0]
  0x00000004 (HASH)                       0x94
  0x00000005 (STRTAB)                     0x4344
  0x00000006 (SYMTAB)                     0x1474
  0x0000000a (STRSZ)                      7279 (bytes)
  0x0000000b (SYMENT)                     16 (bytes)
  0x00000011 (REL)                        0x5fb4
  0x00000012 (RELSZ)                      31536 (bytes)
  0x00000013 (RELENT)                     8 (bytes)
  0x00000016 (TEXTREL)                    0
  0x00000000 (NULL)                       0
bash$ readelf -ld tinylogin

Elf file is EXEC (Executable file)
Entry point 0x804f750
There are 5 program headers, starting at offset 34:

Program Headers:
  Type           Offset   VirtAddr   PhysAddr   FileSiz MemSiz  Flg Align
  PHDR           0x000034 0x08048034 0x08048034 0x000a0 0x000a0 R E 0x4
  INTERP         0x0000d4 0x080480d4 0x080480d4 0x00014 0x00014 R   0x1
      [Requesting program interpreter: /lib/ld-uclibc.so.0]
  LOAD           0x000000 0x08048000 0x08048000 0x09ce8 0x09ce8 R E 0x1000
  LOAD           0x009d00 0x08052d00 0x08052d00 0x003d0 0x01694 RW 0x1000
  DYNAMIC        0x00a050 0x08053050 0x08053050 0x00080 0x00080 RW  0x4

 Section to Segment mapping:
  Segment Sections...
   00     
   01     .interp 
   02     .interp .hash .dynsym .dynstr .rel.bss .rel.plt .plt .text .rodata 
   03     .data .got .dynamic .bss 
   04     .dynamic 

Dynamic segment at offset 0xa050 contains 16 entries:
  Tag        Type                         Name/Value
  0x00000001 (NEEDED)                     Shared library: [libcrypt.so.0]
  0x00000001 (NEEDED)                     Shared library: [libc.so.0]
  0x00000004 (HASH)                       0x80480e8
  0x00000005 (STRTAB)                     0x8048edc
  0x00000006 (SYMTAB)                     0x804855c
  0x0000000a (STRSZ)                      1217 (bytes)
  0x0000000b (SYMENT)                     16 (bytes)
  0x00000015 (DEBUG)                      0
  0x00000003 (PLTGOT)                     0x8052e68
  0x00000002 (PLTRELSZ)                   952 (bytes)
  0x00000014 (PLTREL)                     REL
  0x00000017 (JMPREL)                     0x80493d0
  0x00000011 (REL)                        0x80493a0
  0x00000012 (RELSZ)                      48 (bytes)
  0x00000013 (RELENT)                     8 (bytes)
  0x00000000 (NULL)                       0
bash$ readelf -ld ../busybox-0.51/busybox

Elf file is EXEC (Executable file)
Entry point 0x806201c
There are 5 program headers, starting at offset 34:

Program Headers:
  Type           Offset   VirtAddr   PhysAddr   FileSiz MemSiz  Flg Align
  PHDR           0x000034 0x08048034 0x08048034 0x000a0 0x000a0 R E 0x4
  INTERP         0x0000d4 0x080480d4 0x080480d4 0x00014 0x00014 R   0x1
      [Requesting program interpreter: /lib/ld-uclibc.so.0]
  LOAD           0x000000 0x08048000 0x08048000 0x1fa2a 0x1fa2a R E 0x1000
  LOAD           0x01fa40 0x08068a40 0x08068a40 0x00e8c 0x04ae8 RW 0x1000
  DYNAMIC        0x020854 0x08069854 0x08069854 0x00078 0x00078 RW  0x4

 Section to Segment mapping:
  Segment Sections...
   00     
   01     .interp 
   02     .interp .hash .dynsym .dynstr .rel.bss .rel.plt .plt .text .rodata 
   03     .data .got .dynamic .bss 
   04     .dynamic 

Dynamic segment at offset 0x20854 contains 15 entries:
  Tag        Type                         Name/Value
  0x00000001 (NEEDED)                     Shared library: [libc.so.0]
  0x00000004 (HASH)                       0x80480e8
  0x00000005 (STRTAB)                     0x80494d0
  0x00000006 (SYMTAB)                     0x8048760
  0x0000000a (STRSZ)                      1729 (bytes)
  0x0000000b (SYMENT)                     16 (bytes)
  0x00000015 (DEBUG)                      0
  0x00000003 (PLTGOT)                     0x8069530
  0x00000002 (PLTRELSZ)                   1584 (bytes)
  0x00000014 (PLTREL)                     REL
  0x00000017 (JMPREL)                     0x8049bc4
  0x00000011 (REL)                        0x8049b94
  0x00000012 (RELSZ)                      48 (bytes)
  0x00000013 (RELENT)                     8 (bytes)
  0x00000000 (NULL)                       0
bash$ 

-- 
Wayne Buckhanan					buck at andrews.edu
Piro:				Largo:
"Why are you naked?"		"One must take drastic measures to prevent 
				static discharge.  Care must be taken to 
(Visit Piro and Largo at	preserve the purity of these components."
http://www.megatokyo.com)	"PH34R MY L33T N3KKID SKILLZ!!!"





More information about the uClibc mailing list