STINNER Victor <vstin...@redhat.com> added the comment:

I'm a little bit scared by the idea of backporting such change in Python 2.7 
and 3.7 stable branches, even if I think that it's a correct bugfix. I'm scared 
by the number of platforms, I don't know all these linker flags and I am not 
able to test all combinations:

AC_MSG_RESULT($CCSHARED)
# LINKFORSHARED are the flags passed to the $(CC) command that links
# the python executable -- this is only needed for a few systems
AC_MSG_CHECKING(LINKFORSHARED)
if test -z "$LINKFORSHARED"
then
        case $ac_sys_system/$ac_sys_release in
        AIX*)   LINKFORSHARED='-Wl,-bE:Modules/python.exp -lld';;
        hp*|HP*)
            LINKFORSHARED="-Wl,-E -Wl,+s";;
#           LINKFORSHARED="-Wl,-E -Wl,+s -Wl,+b\$(BINLIBDEST)/lib-dynload";;
        Linux-android*) LINKFORSHARED="-pie -Xlinker -export-dynamic";;
        Linux*|GNU*) LINKFORSHARED="-Xlinker -export-dynamic";;
        # -u libsys_s pulls in all symbols in libsys
        Darwin/*)
                LINKFORSHARED="$extra_undefs -framework CoreFoundation"

                # Issue #18075: the default maximum stack size (8MBytes) is too
                # small for the default recursion limit. Increase the stack size
                # to ensure that tests don't crash
                LINKFORSHARED="-Wl,-stack_size,1000000 $LINKFORSHARED"

                if test "$enable_framework"
                then
                        LINKFORSHARED="$LINKFORSHARED 
"'$(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)'
                fi
                LINKFORSHARED="$LINKFORSHARED";;
        OpenUNIX*|UnixWare*) LINKFORSHARED="-Wl,-Bexport";;
        SCO_SV*) LINKFORSHARED="-Wl,-Bexport";;
        ReliantUNIX*) LINKFORSHARED="-W1 -Blargedynsym";;
        FreeBSD*|NetBSD*|OpenBSD*|DragonFly*)
                if [[ "`$CC -dM -E - </dev/null | grep __ELF__`" != "" ]]
                then
                        LINKFORSHARED="-Wl,--export-dynamic"
                fi;;
        SunOS/5*) case $CC in
                  *gcc*)
                    if $CC -Xlinker --help 2>&1 | grep export-dynamic >/dev/null
                    then
                        LINKFORSHARED="-Xlinker --export-dynamic"
                    fi;;
                  esac;;
        CYGWIN*)
                if test $enable_shared = "no"
                then
                        LINKFORSHARED='-Wl,--out-implib=$(LDLIBRARY)'
                fi;;
        QNX*)
                # -Wl,-E causes the symbols to be added to the dynamic
                # symbol table so that they can be found when a module
                # is loaded.  -N 2048K causes the stack size to be set
                # to 2048 kilobytes so that the stack doesn't overflow
                # when running test_compile.py.
                LINKFORSHARED='-Wl,-E -N 2048K';;
        VxWorks*)
                LINKFORSHARED='--export-dynamic';;              
        esac
fi
AC_MSG_RESULT($LINKFORSHARED)

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue36508>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to