[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: RFC: on AIX, which "soname"-equivalent to prefer with runtime linkin

From: Michael Haubenwallner
Subject: Re: RFC: on AIX, which "soname"-equivalent to prefer with runtime linking?
Date: Tue, 08 Feb 2011 22:00:02 +0100
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv: Gecko/20110113 Lightning/1.0b3pre Lanikai/3.1.7

Hello again,

some updates regarding the '# autoload' property in general, as well as
in combination with both 32 and 64 bit shared objects in one archive:

On 01/21/11 15:19, Michael Haubenwallner wrote:
> *) Create the Import File "shr.imp", containing
>    - this header:
>        #!
>        # autoload
>        #!
>    - the list of symbols exported.

> *) '# autoload' keeps a reference to the shared object in the
>    target binary even when not referenced by some static object.

The problem here is that there is no way to tell the '# autoload' to fire
in either 32 _or_ 64 bit mode only. So when using '# autoload', both 32 and
64 bit shared objects must have the _same_ member name, e.g. "(shr.o)".

When not using '# autoload' (or even independent of that), an additional
line indicating the bitness of the exported symbols would make sense -
either '# 32' or '# 64', to load the correct archive member when needed.

I tend to omit the '# autoload' (and the subsequent '#!') line, as this
is how it works with traditional shared libraries anyway:

>    Unfortunately, another shared object having undefined symbols provided
>    by this shared object does not trigger the latter to be referenced.

Additionally, the ld manpage for AIX [1] says for undefined symbols,
in section 'Import and Export File Format' [2]: "The main program must
export symbols imported by other modules, or loading will fail."



reply via email to

[Prev in Thread] Current Thread [Next in Thread]