libtool-patches
[Top][All Lists]
Advanced

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

Re: [PATCH] AIX SONAME emulation, simplified implementation


From: Michael Haubenwallner
Subject: Re: [PATCH] AIX SONAME emulation, simplified implementation
Date: Mon, 06 Jul 2015 16:44:24 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.5.0

Hi Daniel,

(I'm not a libtool maintainer, but the author of current --with-aix-soname impl)

On 06/24/2015 03:34 PM, Daniel Ruoso (BLOOMBERG/ 731 LEX) wrote:
> This patch offers a simplified implementation of a SONAME-like behavior 
> emulation.

I've tried this variant of soname-emulation too, but discovered the one using
the "lib.so.v(shr.o,shr.imp)" archive (=svr4) as the more reasonable compromise.

Is there a specific reason you need/want this simplified implementation?

> This is different in the sense that it doesn't add archives disguised as .so 
> files,

Yeah, instead it does provide plain text files disguised as .so files.

Besides that, there's potential for more different confusion:
*) Linking with "/path/to/lib.so" produces different result than 
   linking with "/path/to/lib.so.v" (difference is in the runpath).
*) dlopen("lib.so") fails, while dlopen("lib.so.v") does work.
*) Provides two distinct files, instead of one single file with symlinks.

> and instead relies on the fact that the AIX linker will take an import file 
> when
> looking for -l<foo>, and will record what the import file says.

This very detail isn't anything different compared to aix-soname=svr4.

Leaving alone different confusion, this version of the patch has some real 
problems:

*) Please post patches as plain-text.
*) Breaks test cases in build setups that should be unaffected by this patch
   (I'm using https://github.com/haubi/libtool-testing/ for the different build
   setups to run the testsuite in and compare the results).
*) Why do you change archive_expsym_cmds for $host_cpu = ia64 ?
*) Seems you haven't used 'make distcheck': Tells to not use '==' with 'test'.
*) Prohibits the AIX-style of multilib (multiple shared objects in one archive).
*) Existing site setups using LDFLAGS=-Wl,-brtl will break, as their existing
   binaries depend on the unversioned .so files, which will be replaced by
   plain text files.
   At least something like --with-aix-soname=simple would be necessary.

Thanks for your interest on this topic!
/haubi/



reply via email to

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