Re: Two XS modules linked to one .a library.

[email protected] (Bill Moseley) Tue, 30 Sep 2014 08:12:32 -0700
Newsgroups perl.xs
Message-ID <CAKhN_m4n7uE8YfGryO2Yb2bPQbwJg14POBjRaamiGKv0y-ZtKA@mail.gmail.com>
--001a11c151d6c71b70050449d1a1
Content-Type: text/plain; charset=UTF-8

On Tue, Sep 30, 2014 at 7:36 AM, <[email protected]> wrote:

>
> No.
> It should not be possible for the set up you described to result in a
> "clash" of XS symbols, no matter how hard you try. The XS symbols are
> private to both modules - it doesn't matter if identical symbols exist.
>

Thanks for the quick reply, Rob.

Just to clarify I was meaning the symbols in the shared third-party .a
library.   Where two separate Perl (XS) modules link to the same static .a
library and those two Perl modules are then used in the same program.

We are going to try and get the .a library built as a .so file (or really
many .so libraries).   As it is right now it's kind of a beast so the
resulting Perl XS-build .so files are quite big.   Seems like a cleaner
approach, and that would allow patching the third-party library w/o having
to rebuild the Perl modules.

Thanks again.


-- 
Bill Moseley
[email protected]

--001a11c151d6c71b70050449d1a1
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><br><div class=3D"gmail_extra"><br><div class=3D"gmail_quo=
te">On Tue, Sep 30, 2014 at 7:36 AM,  <span dir=3D"ltr">&lt;<a href=3D"mail=
to:[email protected]" target=3D"_blank">[email protected]</=
a>&gt;</span> wrote:<br><blockquote class=3D"gmail_quote" style=3D"margin:0=
 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class=3D""><br=
></span>
No.<br>
It should not be possible for the set up you described to result in a &quot=
;clash&quot; of XS symbols, no matter how hard you try. The XS symbols are =
private to both modules - it doesn&#39;t matter if identical symbols exist.=
<br></blockquote><div><br></div><div>Thanks for the quick reply, Rob.</div>=
<div><br></div><div>Just to clarify I was meaning the symbols in the shared=
 third-party .a library. =C2=A0 Where two separate Perl (XS) modules link t=
o the same static .a library and those two Perl modules are then used in th=
e same program.</div><div><br></div><div>We are going to try and get the .a=
 library built as a .so file (or really many .so libraries). =C2=A0 As it i=
s right now it&#39;s kind of a beast so the resulting Perl XS-build .so fil=
es are quite big. =C2=A0 Seems like a cleaner approach, and that would allo=
w patching the third-party library w/o having to rebuild the Perl modules.<=
/div><div><br></div><div>Thanks again.</div><div><br></div></div><div><br><=
/div>-- <br>Bill Moseley<br><a href=3D"mailto:[email protected]" target=3D"_=
blank">[email protected]</a>
</div></div>

--001a11c151d6c71b70050449d1a1--