Staging
v0.5.1
https://github.com/python/cpython
Revision 57ceb79406375f0df2237791cd330521bca2f0f6 authored by Thomas Wouters on 23 May 2001, 15:07:55 UTC, committed by Thomas Wouters on 23 May 2001, 15:07:55 UTC
SF bug #422121 Insecurities in dict comparison.
Fixed a half dozen ways in which general dict comparison could crash
Python (even cause Win98SE to reboot) in the presence of kay and/or
value comparison routines that mutate the dict during dict comparison.
1 parent 780843e
Raw File
Tip revision: 57ceb79406375f0df2237791cd330521bca2f0f6 authored by Thomas Wouters on 23 May 2001, 15:07:55 UTC
Backport Tim's checkin 2.84:
Tip revision: 57ceb79
HPUX-NOTES
Subject: Dynamic Linking under HP-UX
From: "C. Derek Fields" <derek@gamekeeper.bellcore.com>
Date: Thu, 08 Sep 94 14:14:07 -0400

There are two important points.  First, the python executable must be
linked with the -E option to explicitly export all symbols.  This
works with the vanilla interpreter, but I am not sure how friendly it
will be when I try to embed the interpreter in a larger application.
It may be necessary to hand tune the exports using the -e option.
Anyway, the additional flag to $(CC) is "-Wl,-E", which passes the -E
flag to the compiler.  My link line (from an actual run) looks like
this:

cc config.o -Wl,-E libModules.a  ../Python/libPython.a  ../Objects/libObjects.a ../Parser/libParser.a   -lm  -ldld -o python

[Guido's note: as of Python 1.5, replace the four libraries with
../libpython$(VERSION).a]

Second, the dynamic module must be compiled with the +z option to make
it position independent and then linked into a shared library:

ld -b -o <modName>module.sl <object list>

The -b tells the linker to produce a shared library.
back to top