[PATCHES] Generate shorter name for extra python files
Andrew Bartlett
abartlet at samba.org
Fri Sep 22 20:16:37 UTC 2017
On Fri, 2017-09-22 at 00:07 +0200, Lukas Slebodnik wrote:
> On (21/09/17 22:38), Lukas Slebodnik via samba-technical wrote:
> > On (21/09/17 09:27), Andrew Bartlett wrote:
> > > Thanks for sending in the new patch set.
> > >
> > > My concern is that by having the same python ABI file in samba, it will
> > > break with:
> > >
> > > #if PY_MAJOR_VERSION < 3
> > >
> > > static void py_cobject_talloc_free(void *ptr)
> > > {
> > > talloc_free(ptr);
> > > }
> > >
> > > _PUBLIC_ PyObject *pytalloc_CObject_FromTallocPtr(void *ptr)
> > > {
> > > if (ptr == NULL) {
> > > Py_RETURN_NONE;
> > > }
> > > return PyCObject_FromVoidPtr(ptr, py_cobject_talloc_free);
> > > }
> > >
> > > #endif
> > >
> > > from pytalloc-util.c
> > >
> > > If you build with python 2 that will not be included in the ABI, and if
> > > you build with python3 it will.
> > >
> > > That is why we need distinct ABI files for python 2 and python 3.
> > >
> >
> > I do not have a problem with distinct ABI files for python 2 and python 3.
> > Initial version of patches didn't contain it. Files were merged
> > per requests in previous mails. Or did I misunderstand something?
> >
>
> Actually,
> I cannot see any problem with current patches and
> pytalloc_CObject_FromTallocPtr
>
> sh# objdump -T /usr/lib64/libpytalloc-util.so.2.1.10 | grep CObject
> 0000000000000000 DF *UND* 0000000000000000 PyCObject_FromVoidPtr
> 0000000000001820 g DF .text 0000000000000024 PYTALLOC_UTIL_2.0.6
> pytalloc_CObject_FromTallocPtr
> sh# objdump -T /usr/lib64/libpytalloc-util-cp36m.so.2.1.10 | grep CObject
> sh# echo $?
> 1
>
> Andrew,
> Could you provide me steps to reproduce your case?
I'm talking about the files in Samba's ABI/ subdirectories.
I misunderstood, I thought there was only going to be one ABI
file. However while there are now python3 ABI files I see two
problems:
- The name (the cp3m bit needs to become .py3 again)
lib/talloc/ABI/pytalloc-util-cp35m-2.1.10.sigs
- The vscript:
cat bin/default/lib/talloc/pytalloc-util-cp35m.vscript | grep CObject
pytalloc_CObject_FromTallocPtr;
This contains references to CObject_FromTallocPtr
This suggests to me that there is a cross-leakage between the python2
and python3 ABI stuff.
Andrew Bartlett
--
Andrew Bartlett http://samba.org/~abartlet/
Authentication Developer, Samba Team http://samba.org
Samba Developer, Catalyst IT http://catalyst.net.nz/services/samba
More information about the samba-technical
mailing list