|
From: <jo...@hy...> - 2007-04-12 21:24:07
|
Hi,
> # file reldbsrv
> reldbsrv: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV),
> dynamically
> linked (uses shared libs), not stripped
>
> So, I don't know if this binary is compatible with linux-abi or there is
> something not working with dynamic libraries or.... what's wrong???!!!!!
There is nothing wrong with dynamic libraries in linux-abi. The problem
is probably the loader. The loader for elf binaries is fs/binfmt_out.c
It examines the elf structures to find out the interpreter in charge of
this binary.
Try "eu-readelf -a /usr/bin/ls| grep interpreter" and post the result
please (I remeber that eu-readelf once was called simply readelf).
For linux native (glibc) binaries this will be
[Requesting program interpreter: /lib/ld-linux.so.2]
For your binary this should be something else. Typically
/usr/lib/libc.so.1 or
/usr/lib/ld.so.1
Only if the interpreter is one of the 2 above, binfmt_elf.c will set
the personality of the program to "ibcs2_interpreter" which is the point
where linux-abi is involved.
If the interpreter for your binary is either /usr/lib/libc.so.1 or
/usr/lib/ld.so.1 then please check if this file exists and if the
execute bit in file premissions is set.
If the interpreter of your binary is something else, then you will have
to modify fs/binfmt_elf.c to pass the loader with the correct
personality.
Even if your interpreter is /lib/ld-linux.so.2 which I do not expect,
there is a chance to succeed by modifying fs/binfmt_elf.c
> Someone on the list (thank's John) suggested me to use elfmark to "force" or
> specify the ELF binary for SCO on that program. I've done, but it still
> doesn't work.
elfmark changes the e_flags which are silently ignored by binfmt_elf.c
Jörg
--
|