summaryrefslogtreecommitdiffstats
path: root/PCbuild
Commit message (Collapse)AuthorAgeFilesLines
* [3.12] gh-109991: Update Windows build to use OpenSSL 3.0.11 (GH-110054) ↵Miss Islington (bot)2023-10-022-4/+4
| | | | | | | | (#110056) gh-109991: Update Windows build to use OpenSSL 3.0.11 (GH-110054) (cherry picked from commit cf4c29725636e1a0dd2ebab443613b56ca6c9486) Co-authored-by: Zachary Ware <zach@python.org>
* [3.12] gh-107565: Update Windows build to use OpenSSL 3.0.10 (GH-108928) ↵Miss Islington (bot)2023-09-052-4/+4
| | | | | | | | (#108930) gh-107565: Update Windows build to use OpenSSL 3.0.10 (GH-108928) (cherry picked from commit deea7c82682848b2a0db971a4dcc3a32c73a9f8c) Co-authored-by: Zachary Ware <zach@python.org>
* [3.12] gh-107178: Add the C API tests for the Abstract Objects Layer ↵Serhiy Storchaka2023-08-162-2/+10
| | | | | | | | | | | | (GH-107179) (#107728) Cover all the Mapping Protocol, almost all the Sequence Protocol (except PySequence_Fast) and a part of the Object Protocol. Move existing tests to Lib/test/test_capi/test_abstract.py and Modules/_testcapi/abstract.c. Add also tests for PyDict C API.. (cherry picked from commit 16c9415fba4972743f1944ebc44946e475e68bc4)
* [3.12] gh-91795: Update build optimization part of PCbuild/readme.txt ↵Miss Islington (bot)2023-08-161-3/+5
| | | | | | | | (GH-91849) (#107776) gh-91795: Update build optimization part of PCbuild/readme.txt (GH-91849) (cherry picked from commit 906b73be5eada1995bd667a02c59f7a11998310f) Co-authored-by: Fatih <77548106+fatihkabakk@users.noreply.github.com>
* [3.12] gh-107814: Avoid output from Nuget installation in find_python.bat ↵Miss Islington (bot)2023-08-101-2/+6
| | | | | | | | (GH-107815) (#107823) gh-107814: Avoid output from Nuget installation in find_python.bat (GH-107815) (cherry picked from commit 1e229e2c3d212accbd5fbe3a46cd42f8252b2868) Co-authored-by: Max Bachmann <kontakt@maxbachmann.de>
* [3.12] gh-104629: Build _testclinic extension module on Windows (GH-104723) ↵Miss Islington (bot)2023-07-285-1/+168
| | | | | | | (#107393) (cherry picked from commit 3a1d819ebc36189e086198212822c9b29384f242) Co-authored-by: Erlend E. Aasland <erlend@python.org>
* [3.12] gh-101524: Only Use Public C-API in the _xxsubinterpreters Module ↵Miss Islington (bot)2023-07-272-4/+8
| | | | | | | | (gh-105258) (gh-107303) The _xxsubinterpreters module was meant to only use public API. Some internal C-API usage snuck in over the last few years (e.g. gh-28969). This fixes that. (cherry picked from commit e6373c0d8b59512aa7f0dea7f3fb162b6ed10fa4) Co-authored-by: Eric Snow <ericsnowcurrently@gmail.com>
* [3.12] gh-99079: Update Windows build to use OpenSSL 3.0.9 (GH-106649) (#106680)Miss Islington (bot)2023-07-125-8/+9
| | | | | | gh-99079: Update Windows build to use OpenSSL 3.0.9 (GH-106649) (cherry picked from commit e2d7366fb3df44e7434132636d49f22d6d25cc9f) Co-authored-by: Steve Dower <steve.dower@python.org>
* [3.12] ARM64 clamping bug also exists in MSVC 14.35 (GH-105679) (#105695)Miss Islington (bot)2023-06-121-1/+1
| | | | | | ARM64 clamping bug also exists in MSVC 14.35 (GH-105679) (cherry picked from commit 58f0bda34126ed790000451874b96140737f40ed) Co-authored-by: Steve Dower <steve.dower@python.org>
* [3.12] gh-103142: Upgrade binary builds and CI to OpenSSL 1.1.1u (GH-105174) ↵Miss Islington (bot)2023-06-013-5/+5
| | | | | | | | | | | | | | | | | | | | (#105199) gh-103142: Upgrade binary builds and CI to OpenSSL 1.1.1u (GH-105174) Upgrade builds to OpenSSL 1.1.1u. This OpenSSL version addresses a pile if less-urgent CVEs since 1.1.1t. The Mac/BuildScript/build-installer.py was already updated. Also updates _ssl_data_111.h from OpenSSL 1.1.1u, _ssl_data_300.h from 3.0.9, and adds a new _ssl_data_31.h file from 3.1.1 along with the ssl.c code to use it. Manual edits to the _ssl_data_300.h file prevent it from removing any existing definitions in case those exist in some peoples builds and were important (avoiding regressions during backporting). backports of this prior to 3.12 will not include the openssl 3.1 header. (cherry picked from commit ede89af605b1c0442353435ad22195c16274f65d) Co-authored-by: Gregory P. Smith [Google] <greg@krypto.org>
* [3.12] gh-99108: Refresh HACL* (GH-104808) (#104893)Miss Islington (bot)2023-05-242-2/+2
| | | | | | | | gh-99108: Refresh HACL* (GH-104808) Refresh HACL* from upstream to improve SHA2 performance and fix a 32-bit issue in SHA3. (cherry picked from commit 160321e5304b962a162eb023472aa2bc8307ae15) Co-authored-by: Jonathan Protzenko <protz@microsoft.com>
* gh-104623: Update Windows installer to use SQLite 3.42.0 (#104625)Erlend E. Aasland2023-05-183-3/+3
|
* GH-101520: Move tracemalloc functionality into core, leaving interface in ↵Mark Shannon2023-05-174-0/+8
| | | | Modules. (#104508)
* gh-103763: Implement PEP 695 (#103764)Jelle Zijlstra2023-05-163-0/+9
| | | | | | | | | | | | | | This implements PEP 695, Type Parameter Syntax. It adds support for: - Generic functions (def func[T](): ...) - Generic classes (class X[T](): ...) - Type aliases (type X = ...) - New scoping when the new syntax is used within a class body - Compiler and interpreter changes to support the new syntax and scoping rules Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com> Co-authored-by: Eric Traut <eric@traut.com> Co-authored-by: Larry Hastings <larry@hastings.org> Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
* gh-93649: Split gc- and allocation tests from _testcapimodule.c (GH-104403)Jurica Bradarić2023-05-122-0/+4
|
* gh-99108: Replace SHA3 implementation HACL* version (#103597)Jonathan Protzenko2023-05-082-12/+16
| | | | | | | | | | | Replaces our built-in SHA3 implementation with a verified one from the HACL* project. This implementation is used when OpenSSL does not provide SHA3 or is not present. 3.11 shiped with a very slow tiny sha3 implementation to get off of the <=3.10 reference implementation that wound up having serious bugs. This brings us back to a reasonably performing built-in implementation consistent with what we've just replaced our other guaranteed available standard hash algorithms with: code from the HACL* project. --------- Co-authored-by: Gregory P. Smith <greg@krypto.org>
* gh-103963: fix 'make regen-opcode' in out-of-tree builds (#104177)Carl Meyer2023-05-041-1/+1
|
* gh-102500: Implement PEP 688 (#102521)Jelle Zijlstra2023-05-042-0/+4
| | | Co-authored-by: Kumar Aditya <59607654+kumaraditya303@users.noreply.github.com>
* gh-103509: PEP 697 -- Limited C API for Extending Opaque Types (GH-103511)Petr Viktorin2023-05-042-0/+4
| | | | Co-authored-by: Oleg Iarygin <oleg@arhadthedev.net> Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
* gh-84436: Add integration C API tests for immortal objects (gh-103962)Dong-hee Na2023-05-021-0/+1
|
* gh-102997: Update Windows installer to SQLite 3.41.2. (#102999)Mariusz Felisiak2023-05-023-3/+3
|
* GH-103082: Implementation of PEP 669: Low Impact Monitoring for CPython ↵Mark Shannon2023-04-124-0/+16
| | | | | | | | | | (GH-103083) * The majority of the monitoring code is in instrumentation.c * The new instrumentation bytecodes are in bytecodes.c * legacy_tracing.c adapts the new API to the old sys.setrace and sys.setprofile APIs
* gh-103088: Sanitize venv paths when using MSYS or Cygwin Bash (GH-103325)Stanislav Syekirin2023-04-111-1/+1
|
* gh-87092: move assembler related code from compile.c to assemble.c (#103277)Irit Katriel2023-04-114-8/+16
|
* gh-101659: Add _Py_AtExit() (gh-103298)Eric Snow2023-04-062-0/+4
| | | | | The function is like Py_AtExit() but for a single interpreter. This is a companion to the atexit module's register() function, taking a C callback instead of a Python one. We also update the _xxinterpchannels module to use _Py_AtExit(), which is the motivating case. (This is inspired by pain points felt while working on gh-101660.)
* gh-87092: move CFG related code from compile.c to flowgraph.c (#103021)Irit Katriel2023-03-314-0/+9
|
* gh-103097: Add workaround for Windows ARM64 compiler bug (GH-103098)Steve Dower2023-03-281-0/+9
| | | See https://developercommunity.visualstudio.com/t/Regression-in-MSVC-1433-1434-ARM64-co/10224361 for details of the issue. It only applies to version 14.34.
* GH-94808: Cover `PyOS_mystrnicmp` and `PyOS_mystricmp` (gh-102469)Artem Mukhin2023-03-222-0/+4
|
* gh-102304: Move _Py_RefTotal to _PyRuntimeState (gh-102543)Eric Snow2023-03-202-0/+4
| | | | | | | The essentially eliminates the global variable, with the associated benefits. This is also a precursor to isolating this bit of state to PyInterpreterState. Folks that currently read _Py_RefTotal directly would have to start using _Py_GetGlobalRefTotal() instead. https://github.com/python/cpython/issues/102304
* Increase stack reserve size for Windows debug builds to avoid test crashes ↵Steve Dower2023-03-172-2/+3
| | | | (GH-102764)
* gh-99726: Improves correctness of stat results for Windows, and uses faster ↵Steve Dower2023-03-162-0/+4
| | | | | API when available (GH-102149) This deprecates `st_ctime` fields on Windows, with the intent to change them to contain the correct value in 3.14. For now, they should keep returning the creation time as they always have.
* gh-101101: Unstable C API tier (PEP 689) (GH-101102)Petr Viktorin2023-02-282-0/+4
|
* gh-93649: Split exception tests from _testcapimodule.c (GH-102173)Erlend E. Aasland2023-02-232-0/+4
| | | Automerge-Triggered-By: GH:erlend-aasland
* gh-99108: Import MD5 and SHA1 from HACL* (#102089)Jonathan Protzenko2023-02-222-0/+8
| | | Replaces our fallback non-OpenSSL MD5 and SHA1 implementations with those from HACL* as we've already done with SHA2.
* gh-99108: Refactor _sha256 & _sha512 into _sha2. (#101924)Gregory P. Smith2023-02-162-6/+2
| | | | | | | | | This merges their code. They're backed by the same single HACL* static library, having them be a single module simplifies maintenance. This should unbreak the wasm enscripten builds that currently fail due to linking in --whole-archive mode and the HACL* library appearing twice. Long unnoticed error fixed: _sha512.SHA384Type was doubly assigned and was actually SHA512Type. Nobody depends on those internal names. Also rename LIBHACL_ make vars to LIBHACL_SHA2_ in preperation for other future HACL things.
* gh-101763: Update bundled copy of libffi to 3.4.4 on Windows (GH-101784)Steve Dower2023-02-102-3/+3
|
* gh-101759: Update Windows installer to SQLite 3.40.1 (#101762)Erlend E. Aasland2023-02-103-3/+3
|
* gh-101726: Update the OpenSSL version to 1.1.1t (GH-101727)Gregory P. Smith2023-02-093-5/+5
| | | | Fixes CVE-2023-0286 (High) and a couple of Medium security issues. https://www.openssl.org/news/secadv/20230207.txt
* LibFFI build requires x64 Cygwin, and skip the ARM build (GH-101743)Steve Dower2023-02-091-2/+2
|
* gh-99108: Replace SHA2-224 & 256 with verified code from HACL* (#99109)Jonathan Protzenko2023-02-072-1/+5
| | | | | | | | | | | | | | | | | | | | | | replacing hashlib primitives (for the non-OpenSSL case) with verified implementations from HACL*. This is the first PR in the series, and focuses specifically on SHA2-256 and SHA2-224. This PR imports Hacl_Streaming_SHA2 into the Python tree. This is the HACL* implementation of SHA2, which combines a core implementation of SHA2 along with a layer of buffer management that allows updating the digest with any number of bytes. This supersedes the previous implementation in the tree. @franziskuskiefer was kind enough to benchmark the changes: in addition to being verified (thus providing significant safety and security improvements), this implementation also provides a sizeable performance boost! ``` --------------------------------------------------------------- Benchmark Time CPU Iterations --------------------------------------------------------------- Sha2_256_Streaming 3163 ns 3160 ns 219353 // this PR LibTomCrypt_Sha2_256 5057 ns 5056 ns 136234 // library used by Python currently ``` The changes in this PR are as follows: - import the subset of HACL* that covers SHA2-256/224 into `Modules/_hacl` - rewire sha256module.c to use the HACL* implementation Co-authored-by: Gregory P. Smith [Google LLC] <greg@krypto.org> Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
* gh-101524: Split Up the _xxsubinterpreters Module (gh-101526)Eric Snow2023-02-042-0/+4
| | | | | This is step 1 in potentially dropping all the "channel"-related code. Channels have already been removed from PEP 554. https://github.com/python/cpython/issues/101524
* gh-101522: Allow overriding Windows dependencies versions and paths using ↵Steve Dower2023-02-032-30/+42
| | | | MSBuild properties (GH-101523)
* gh-77532: Minor tweaks to allow compiling with PlatformToolset=ClangCL on ↵Steve Dower2023-01-271-2/+5
| | | | | | Windows (GH-101352) To use this, ensure that clang support was selected in Visual Studio Installer, then set the PlatformToolset environment variable to "ClangCL" and build as normal from the command line. It remains unsupported, but at least is possible now for experimentation.
* gh-99834: Update bundled copy of Tcl/Tk to 8.6.13.0 on Windows (GH-101307)Steve Dower2023-01-263-5/+7
|
* Ensure some build files include a newline at to avoid warnings (GH-100946)th17222023-01-112-2/+2
|
* gh-100180: Update Windows installer to OpenSSL 1.1.1s (GH-100901)Steve Dower2023-01-092-4/+4
|
* gh-100764: add `pycore_frame.h` to PYTHON_HEADERS and Windows build ↵Carl Meyer2023-01-091-0/+1
| | | | files(#100765)
* GH-99005: Add `CALL_INTRINSIC_1` instruction (GH-100771)Mark Shannon2023-01-054-0/+12
| | | | | | | | * Remove PRINT_EXPR instruction * Remove STOPITERATION_ERROR instruction * Remove IMPORT_STAR instruction
* gh-100540: Remove obsolete Modules/_ctypes/darwin/ dlfcn shim (GH-100541)Zachary Ware2022-12-292-4/+0
| | | As far as I can tell, this hasn't been actually used since Mac OS X 10.2.
* gh-81057: Move faulthandler Globals to _PyRuntimeState (gh-100152)Eric Snow2022-12-122-0/+7
| | | https://github.com/python/cpython/issues/81057