MIPS32 Dynamic Linker Characteristics ...no
Mr. Miyagi
waxinwaxout at hotmail.com
Fri May 11 08:47:04 PDT 2007
>From: Mike Frysinger <vapier at gentoo.org>
>To: uclibc at uclibc.org
>CC: "Mr. Miyagi" <waxinwaxout at hotmail.com>
>Subject: Re: MIPS32 Dynamic Linker Characteristics ...no
>Date: Thu, 10 May 2007 19:49:44 -0400
>
>On Wednesday 09 May 2007, Mr. Miyagi wrote:
> > I can't get dynamic shared object loading for C++ sources. Apparently,
>the
> > linker is not even capable of creating shared libraries for C++ while
>it's
> > reported being capable of producing shared libraries for C.
>
>incorrect ... you've hit some issues with libtool not recognizing your
>tuple
>properly, nothing more ... uClibc is fully capable of doing C and C++ code
>(not that it should even really matter ... that's mostly gcc's realm)
Ok, thanks for pointing this out. This helped me find the problem/solution
(below).
>
> > The build of the toolchain produced libstdc++ (6.0.3) which is reported
>to
> > be an ELF 32bit LSB shared object, MIPS, version 1 (SYSV).
> >
> > 'configure' (on my own sources) reports (below) shared libraries are
> > possible when using ...gcc as the linker, but not when using ...g++ as
>the
> > linker, although the same linker is apparently used in both instances.
>
>this is probably partly libtool's fault and partly file's fault and partly
>other random autotool stuff
>
>your best bet is to update to the very latest package
>of "file", "libtool", "automake", and "autoconf" and then regenerate all
>the
>autotool files in the package you're trying to compile
That's a money-making bet.
I'm using libtool 1.5.22, autoconf 2.59. I have a src dir (top_srcdir) and
then separte build dirs per target. I actually regenerate most of the
autotools files in the top_srcdir from my own script which takes global
parameters/directives to generate the autotool files.
The problem is that after running configure, a libtool script is installed
in $top_builddir (apparently) coming from the host (x86_32). This works fine
when targetting the host architecture (produces shared libraries and
dynamically loadable modules) but this script prevents shared libraries from
being built when targetting MIPS. (After a whole lot of investigating) I
found the libtool script from the (OpenWRT) SDK (in it's 'bin' directory),
copied that to the top_builddir pertaining to a MIPS build (after running
$top_srcdir/configure) and voila, shared libraries, dynamically shared
modules and sliced bread.
That was a great tip, thanks for this.
Miyagi
_________________________________________________________________
Now you can see trouble
before he arrives
http://newlivehotmail.com/?ocid=TXT_TAGHM_migration_HM_viral_protection_0507
More information about the uClibc
mailing list