develooper Front page | perl.perl5.porters | Postings from November 2013

Re: Option to use and create "unique" library names

Thread Previous | Thread Next
From:
Brian Fraser
Date:
November 20, 2013 09:43
Subject:
Re: Option to use and create "unique" library names
Message ID:
CA+nL+nZqdOoGj2GZ19yoFPsxANjUsmk_Pymf2W-wjxdBATWBNg@mail.gmail.com
On Wed, Nov 20, 2013 at 6:09 AM, H.Merijn Brand <h.m.brand@xs4all.nl> wrote:

> On Wed, 20 Nov 2013 03:41:55 -0200, Brian Fraser <fraserbn@gmail.com>
> wrote:
>
> > Background:
> > Android's linker has some bugg^Wunusual behavior, in that it caches
> loaded
> > libraries, but only uses the basename in the cache.  That means that,
> > as far as its dlopen() is concerned, the libraries for Hash::Util and
> > List::Util,
> > both of which are named Util.so, are the same.
> >
> > What we did in the android branch was introduce an option,
> d_libname_unique,
> > that when defined, has Makemaker create an "unique" libname for each
> module,
> > and teaches XSLoader and Dynaloader to look for those; So for example,
> > Hash/Util/Util.so becomes Hash/Util/Perl_Hash_Util.so.
> >
> > The changes for this are in
> >
> http://perl5.git.perl.org/perl.git/shortlog/refs/heads/hugmeir/d_libname_uniqueand
> > can be tested by compiling perl with -Dd_libname_unique.
>
> The change is by far complete, as it is missing
> • documentation in Porting/Glossaary
>

That file says that it's generated by metaconfig?
https://github.com/castaway/metaconfig/commit/8aca8823163546bf8589275d60d3a4742c7c888chas
the changes for metaconfig, including the description, although the
branch I pushed has a slightly reworded message for Configure, to avoid
ruffling people's feathers.


> • documentation in config_h.SH (might not be required in this case)
>

Not necessary, it's not a C-visible symbol.


> • entries in Porting/config*
>

Should I only add it to Porting/config.sh, or to all the canned config
files?


> • entry in uconfig.h


> run Porting/checkcfgvar.pl
>

I did this, both before and after modifying Porting/config.sh, and with
perls with/without -Dd_libname_unique, and nothing happened. --tap says
that it's all good. I imagine that's not actually true, since the other
canned config files are missing the value?

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About