On 15.07.2017 00:38, Mark Wooding wrote:
> Package: python2.7
> Version: 2.7.13-2
> Severity: normal
> 
> [stratocaster ~]nm --dynamic /usr/bin/python2.7 | grep md5
> 00091732 T init_md5
> 001d6890 T md5_append
> 001d67d0 T md5_finish
> 000919f3 T md5_init
> [stratocaster ~]
> 
> This causes trouble when trying to use bindings to a crypto library
> which also wants to define `md5_init', because they disagree about how
> the hashing state ought to be arranged: the outcome is a wrong answer on
> amd64, and a segfault on i386.  While it can certainly be argued that
> neither Python nor the other library has especially good taste in
> naming, `md5_init' is at least a proper, documented part of the
> library's public interface, directly relevant to its purpose (and has
> been since 1999), though the same can't be argued for Python:
> 
> [stratocaster ~]grep -ri md5 /usr/include/python2.7/
> [stratocaster ~]
> 
> Indeed, it seems that the Python package has leaked its MD5 symbols
> before: see bug #440272.
> 
> I'm deploying an awful hack involving `RTLD_DEEPBIND' in the meantime,
> but it would be nice to get this fixed properly.

python uses <module_name>_init for extension modules / builtins to initilize
these.   So it's part of the ABI as well. Not sure how to change that.

Reply via email to