Converting libfoo.so for linux to freebsd

M. Warner Losh imp at bsdimp.com
Wed Aug 10 05:52:40 GMT 2005


In message: <20050809212708.GS94041 at cicely12.cicely.de>
            Bernd Walter <ticso at cicely12.cicely.de> writes:
: On Tue, Aug 09, 2005 at 01:37:34PM -0600, M. Warner Losh wrote:
: > I have recently purcahsed a device that comes with a .so for linux,
: > but no sources.  Is there any way one can take an arbitrary linux .so
: > which appears to have no dependencies to a FreeBSD .so?  The binary
: > code is about 20k or so.
: 
: Isn't this just brandelf'ing to FreeBSD-i386?
: Asuming that the lib really has no dependencies to linux specific
: device/kernel features or linux specific libs.

I tried brandelfing, but that didn't work.  There's some weird symbols
in there:

00000000      DF *UND*  00000023  GLIBC_2.0   fprintf
00000000      DF *UND*  000000f8  GLIBC_2.0   fflush
00000000      DF *UND*  000001b4  GLIBC_2.0   malloc
00000000      DF *UND*  00000058  GLIBC_2.0   memmove
00000000      DO *UND*  00000004  GLIBC_2.0   stderr
00000000      DF *UND*  0000020d  GLIBC_2.0   abort
00000000      DF *UND*  00000027  GLIBC_2.0   memcpy
00000000  w   DF *UND*  000000ac  GLIBC_2.1.3 __cxa_finalize
00000000      DF *UND*  00000043  GLIBC_2.0   memset

So it looks like I'm close...  objcopy -R kept the GLIBC_* references
in place, alas, so that didn't work, as suggested elsewhere in this
thread.

The above list is small, but has hree bad entries: fprintf, fflush and
stderr.  So that may present a problem for me if these functions are
ever called.

Warner



More information about the freebsd-hackers mailing list