Commit Graph

583 Commits

Author SHA1 Message Date
Michał Górny 1aa00ff383 fixes bpo-31834: Use optimized code for BLAKE2 only with SSSE3+ (#4066)
Rework the code choosing BLAKE2 code paths from using the optimized
variant on all x86_64 machines to using it when SSSE3 or better
supported instructions sets are available.

Firstly, this solves the problem of using pure SSE2 code path on x86_64
machines. As reported in the bug, this code is slower than the reference
code on all tested x86_64 machines. Furthermore, on Athlon64 that lacks
SSSE3, it is even 2.5 times slower than the reference code! Checking
for SSSE3 therefore ensures that the optimized implementation will only
be used when it has a chance of performing better.

Secondly, this makes it possible to use SSSE3+ optimizations on 32-bit
x86 systems. This allows for even 2 times speed gain on modern 32-bit
x86 systems (tested in a 32-bit chroot).
2017-10-23 23:54:19 -07:00
Benjamin Peterson edc05c5d88 remove comment about long-gone SGI modules (#3850) 2017-10-01 23:37:57 -07:00
Antoine Pitrou a106aec2ed bpo-11063, bpo-20519: avoid ctypes and improve import time for uuid (#3796)
bpo-11063, bpo-20519: avoid ctypes and improve import time for uuid.
2017-09-28 23:03:06 +02:00
Antoine Pitrou a6a4dc816d bpo-31370: Remove support for threads-less builds (#3385)
* Remove Setup.config
* Always define WITH_THREAD for compatibility.
2017-09-07 18:56:24 +02:00
Shlomi Fish 6d51b87612 bpo-30912: Don't check the content of ffi.h (GH-2687)
Various platforms have various methods of handling multiarch libffi which probably won't match the previously looked-for defines.  Now we just make sure that ffi.h is available.
2017-09-06 13:19:19 -07:00
Devin Jeanpierre c5bace2bf7 bpo-29505: Add fuzz tests for float(str), int(str), unicode(str) (#2878)
Add basic fuzz tests for a few common builtin functions.

This is an easy place to start, and these functions are probably safe.
We'll want to add more fuzz tests later.  Lets bootstrap using these.

While the fuzz tests are included in CPython and compiled / tested on a
very basic level inside CPython itself, the actual fuzzing happens as
part of oss-fuzz (https://github.com/google/oss-fuzz). The reason to
include the tests in CPython is to make sure that they're maintained
as part of the CPython project, especially when (as some eventually
will) they use internal implementation details in the test.

(This will be necessary sometimes because e.g. the fuzz test should
never enter Python's interpreter loop, whereas some APIs only expose
themselves publicly as Python functions.)

This particular set of changes is part of testing Python's builtins,
tracked internally at Google by b/37562550.

The _xxtestfuzz module that this change adds need not be shipped with binary distributions of Python.
2017-09-06 11:15:35 -07:00
Stefan Krah 9e1e6f528f bpo-30923: Silence fall-through warnings in libexpat build. (#3205) 2017-08-25 14:07:50 +02:00
Victor Stinner 93d0cb58b4 bpo-30947: Update libexpat from 2.2.1 to 2.2.3 (#3106)
* bpo-30947: Update libexpat from 2.2.1 to 2.2.3

* Add NEWS entry

* Add new loadlibrary.c

* expat_external.h: restore include "pyexpatns.h"

* PCbuild: add expat/loadlibrary.c

* Define XML_POOR_ENTROPY to compile expat
2017-08-18 23:43:54 +02:00
Stefan Krah f0202bb349 Issue #30923: Revert flag that is not recognized by an obsolete gcc version. (#3132) 2017-08-18 13:55:45 +02:00
Stefan Krah 72b543308e bpo-30923: Suppress fall-through warnings in libmpdec. (#2698) 2017-07-13 20:54:20 +02:00
xdegaye c0364fc7c2 bpo-20210: Support the *disabled* marker in Setup files (GH-132)
Extension modules listed after the *disabled* marker are not built at all,
neither by the Makefile nor by setup.py.
2017-05-27 18:25:03 +02:00
Neil Schemenauer 6c991bdee7 Check that Python is 64-bit before enabling BLAKE2_USE_SSE. (#1332) 2017-04-28 09:56:48 -07:00
Stefan Krah 26581785f3 Merge 3.6. 2017-02-04 14:59:11 +01:00
Stefan Krah 75c0d4f6bb Issue29439: _decimal on Android requires linking with libm.
Patch by Chi Hsuan Yen.
2017-02-04 14:58:50 +01:00
Xavier de Gaye e43edaad7e Issue #20211: Merge 3.6. 2016-12-14 11:16:06 +01:00
Xavier de Gaye 1351c31aa9 Issue #20211: Do not add the directory for installing C header files and
the directory for installing object code libraries to the cross compilation
search paths.
2016-12-14 11:14:33 +01:00
Xavier de Gaye f191a9e8e4 Issue #28190: Merge 3.6. 2016-12-13 16:05:15 +01:00
Xavier de Gaye e13c3201fb Issue #28190: Cross compiling the _curses module does not use anymore
/usr/include/ncursesw as a headers search path.
2016-12-13 16:04:14 +01:00
Xavier de Gaye c1a26a2e47 Issue #28918: Merge 3.6. 2016-12-10 16:48:07 +01:00
Xavier de Gaye 13f1c331a5 Issue #28918: Fix the cross compilation of xxlimited when Python
has been built with Py_DEBUG defined.
2016-12-10 16:45:53 +01:00
Xavier de Gaye 0eacef3ecf Issue #28444: Merge with 3.5. 2016-10-29 16:59:32 +02:00
Xavier de Gaye 84968b74c8 Issue #28444: Fix missing extensions modules when cross compiling. 2016-10-29 16:57:20 +02:00
Xavier de Gaye 0af10ac472 Issue #28444: Merge with 3.6. 2016-10-29 17:01:07 +02:00
INADA Naoki fa8b8847e2 Issue #28428: Rename _futures module to _asyncio. (merge from 3.6)
It will have more speedup functions or classes other than asyncio.Future.
2016-10-15 15:41:05 +09:00
INADA Naoki 9f2ce25481 Issue #28428: Rename _futures module to _asyncio.
It will have more speedup functions or classes other than asyncio.Future.
2016-10-15 15:39:19 +09:00
INADA Naoki ca2f0d06f1 Issue #26801: Added C implementation of asyncio.Future.
Original patch by Yury Selivanov.
2016-10-09 14:51:36 +09:00
INADA Naoki 9e4e38ecd2 Issue #26801: Added C implementation of asyncio.Future.
Original patch by Yury Selivanov.
2016-10-09 14:44:47 +09:00
Christian Heimes aa630e051b Issue #26661: setup.py now detects system libffi with multiarch wrapper. 2016-09-18 14:35:39 +02:00
Christian Heimes 85c98bf968 Issue #26661: setup.py now detects system libffi with multiarch wrapper. 2016-09-18 14:34:13 +02:00
Christian Heimes 96b2dd5997 Issue #26661: setup.py now detects system libffi with multiarch wrapper. 2016-09-18 14:33:30 +02:00
Zachary Ware f40d4ddff3 Closes #27979: Remove bundled copy of libffi
An installed copy of libffi is now required for building _ctypes on
any platform but OSX and Windows.
2016-09-17 01:25:24 -05:00
Benjamin Peterson 6775231597 Unicode 9.0.0
Not completely mechanical since support for East Asian Width changes—emoji
codepoints became Wide—had to be added to unicodedata.
2016-09-14 23:53:47 -07:00
Stefan Krah 44abad14a3 Issue #23545: Adding -Wextra in setup.py is no longer necessary, since it
is now part of the official flags.
2016-09-12 19:27:46 +02:00
Zachary Ware 935043d1ac Closes #27976: Deprecate bundled full copy of libffi
Builds on non-OSX UNIX now default to using the system libffi, and warn if the
bundled copy is used.
2016-09-09 17:01:21 -07:00
R David Murray 44b548dda8 #27364: fix "incorrect" uses of escape character in the stdlib.
And most of the tools.

Patch by Emanual Barry, reviewed by me, Serhiy Storchaka, and
Martin Panter.
2016-09-08 13:59:53 -04:00
Christian Heimes 6fe2a75b64 Issue #16113: Add SHA-3 and SHAKE support to hashlib module. 2016-09-07 11:58:24 +02:00
Christian Heimes dfb9ef1357 blake2: silence two more warnings on platforms with size_t < uint64_t. Don't use SSE2 when cross-compiling 2016-09-07 11:39:21 +02:00
Christian Heimes 3c397e4c39 Fix out-of-tree builds for blake2 2016-09-06 22:35:14 +02:00
Christian Heimes 121b9487d1 Issue #26798: Add BLAKE2 (blake2b and blake2s) to hashlib. 2016-09-06 22:03:25 +02:00
Vinay Sajip dd917f84e3 Closes #27904: Improved logging statements to defer formatting until needed. 2016-08-31 08:22:29 +01:00
doko@ubuntu.com ae683657b7 - Issue #21277: Don't try to link _ctypes with a ffi_convenience library. 2016-06-05 01:38:29 +02:00
Martin Panter 0b7d84de6b Issue #27171: Merge typo fixes from 3.5 2016-06-02 10:11:18 +00:00
Martin Panter e26da7c03a Issue #27171: Fix typos in documentation, comments, and test function names 2016-06-02 10:07:09 +00:00
Stefan Krah 8d013a8d36 Issue #26846: Post commit cleanup. 2016-04-26 16:34:41 +02:00
Victor Stinner 1fa5a38e92 Merge 3.5: Issue #21668 2016-04-19 15:58:33 +02:00
Victor Stinner def8072c34 setup.py: add missing libm dependency
Issue #21668: Link audioop, _datetime, _ctypes_test modules to libm, except on
Mac OS X. Patch written by Xavier de Gaye.
2016-04-19 15:58:11 +02:00
Ned Deily b8da1a4fee Issue #25136: merge from 3.5 2016-02-25 00:59:16 +11:00
Ned Deily 020250f91f Issue #25136: Support Apple Xcode 7's new textual SDK stub libraries.
As of Xcode 7, SDKs for Apple platforms now include textual-format stub
libraries whose file names have a .tbd extension rather than the
standard OS X .dylib extension.  The Apple compiler tool chain handles
these stub libraries transparently and the installed system shared libraries
are still .dylibs.  However, the new stub libraries cause problems for
third-party programs that support building with Apple SDKs and make
build-time decisions based on the presence or paths of system-supplied
shared libraries in the SDK.  In particular, building Python itself with
an SDK fails to find system-supplied libraries during setup.py's build of
standard library extension modules.  The solution is to have
find_library_file() in Distutils search for .tbd files, along with
the existing types (.a, .so, and .dylib).  Patch by Tim Smith.
2016-02-25 00:56:38 +11:00
Serhiy Storchaka 885bdc4946 Issue #25985: sys.version_info is now used instead of sys.version
to format short Python version.
2016-02-11 13:10:36 +02:00
Martin Panter c9deece272 Issue #24421: Compile _math.c separately to avoid race condition 2016-02-03 05:19:44 +00:00