[uClinux-dev] Shared Libs on ARM
pauli at bne.snapgear.com
Wed Aug 3 17:08:11 EDT 2005
> I'm currently compiling all my userspace Programs with static libs, since
> the uClinux (flat) shared libs support only works for m68k Targets, as I've
> read (and yet didnot succeed to get shared libs working myself).
> Is this correct, or did anybody succeed having shared libs on armnommu ?
This is correct. My shared library implementation only works for m68k based
targets. I did have a quick look at doing an arm port a couple of years ago
and didn't see anything that would make it difficult. Unfortunately, it was
never a work priority so I never really got started. It was also a fairly
quick look so I might have missed something nasty. I think my estimate was a
couple of days' to a week's work but I knew what to do in quite a bit of
> A second question: Are there any experiences with the X-flat
> (http://www.cadenux.com/xflat) binfmt. Sounds promising, but it's not all
> open-source), as I understand.
The section talking about the arm.org approach roughly describes my m68k work.
I've not heard of this being ported to the arm. The arm.org site looks a lot
like a religious site not a programming one :-)
I'm probably biased here, but their approach looks overly complicated to me and the only gain will be a little performance. I'm not certain how much performance but I suspect not a lot, it might even be a loss if you have lots of cross library calls. We've never saw the need to tune performance to such an extent on the m68k devices we used to make, they typically had plenty of CPU for what we wanted of them.
If you really care about performance enough to justify a minor improvement like this, then you probably care enough to simply skip shared libraries on the code you care about. Shared libraries are always going to be slower than a statically linked executable.
Dr Paul Dale, Software Grunt, SnapGear - A CyberGuard Company
Leaders in embedded Linux security http://www.SnapGear.com/
More information about the uClinux-dev