|Subject:||Re: RFC: on AIX, which "soname"-equivalent to prefer with runtime linking?|
|Date:||Sun, 23 Jan 2011 06:31:39 -0000|
The reasons to choose this way: *) It is possible to dlopen() with or without a version number: - dlopen("libNAME.so(shr.o)", RTLD_MEMBER), besides the preferred - dlopen("libNAME.so.1(shr.o)", RTLD_MEMBER), and even - dlopen("libNAME.so.1.2.3(shr.o)", RTLD_MEMBER) does work.Does dlopen("libNAME.so", RTLD_GLOBAL|RTLD_NOW) (for example) without RTLD_MEMBER work?RTLD_MEMBER is only needed for loading an archive library. As it implies, it also requires the name of the member you want to load. .so is the format of one of those members, so it's not required in this case.There are cases where I have found this useful though. AIX has to a small degree adopted the lib64 convention, but not well enough to be useful. So with one library I built, I combined both into the same .a file, including its dlopen'd libs. So it would be nice to have Libtool support for this too.However, it seems that for all of the requested functionality, it may be necessary to have an AIX-specific libtool script and maybe even an AIX-specific LTDL.
Apparently I need to read closer. So the libs are named with .so, but they are apparently in .a format, according to the above dlopens. In that case, RTLD_MEMBER is required and must include the member object name.
|[Prev in Thread]||Current Thread||[Next in Thread]|