On Thu, Aug 09, 2007 at 01:04:06PM -0700, Tom Jackson wrote:
> Subject: Re: [AOLSERVER] aolserver focus

> One is writing a new C module. I've done some where I use a shared .so module 
> for the interesting library code, and I think I have used a static .la (or 
> whatever it is) file.

Linking a static foo.a library directly into an AOLserver module's
bar.so can definitely be useful at times, rather than using the foo.so
at run time.  (I remember once doing so to work around some weird
problem with particular OpenSSL versions.)  This isn't specific to
AOLserver at all though, it is general C library hackery.

There are all sorts of ways to tell different linkers what you want,
too.  For example, the Gnu linker accepts a '--version-script=' arg
giving you complete control over what functions are exported vs. kept
private within the *.so, which CAN be very useful in fixing name
collisions.  On Linux, I've told gcc to tell Gnu ld that I want to use
that feature with:  -Wl,--version-script=vis.map

Then there's -Wl,-Bstatic and -Wl,-Bdynamic to control which libraries
you link in statically vs. dynamically, etc.  Lots of knobs.

Again, nothing specific to AOLserver, this is just the fun of C
programming, object file linking, ELF libraries, etc.  Other
platforms, like MS Windows, no doubt have their own esotericisms.

-- 
Andrew Piskorski <[EMAIL PROTECTED]>
http://www.piskorski.com/


--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to <[EMAIL PROTECTED]> 
with the
body of "SIGNOFF AOLSERVER" in the email message. You can leave the Subject: 
field of your email blank.

Reply via email to