neonene
6214caafbe
bpo-40915: Avoid compiler warnings by fixing mmapmodule conversion from LARGE_INTEGER to Py_ssize_t (GH-30175)
2021-12-18 13:03:43 +00:00
Irit Katriel
396b58345f
bpo-45711: Remove type and traceback from exc_info (GH-30122)
...
* Do not PUSH/POP traceback or type to the stack as part of exc_info
* Remove exc_traceback and exc_type from _PyErr_StackItem
* Add to what's new, because this change breaks things like Cython
2021-12-17 14:46:22 +00:00
Mark Shannon
342b93f9f2
bpo-46072: Add --with-pystats configure option to simplify gathering of VM stats (GH-30116)
...
* Simplify specialization stats collection macros.
* Add --enable-pystats option to configure.
* Update specialization summary script to handle larger number of kinds
2021-12-15 15:32:32 +00:00
Christian Heimes
74821b3053
bpo-46023: Skip build if module is marked as DISABLED (GH-30100)
2021-12-14 15:42:46 +01:00
Gareth Rees
a62be77266
bpo-45643: Add signal.SIGSTKFLT on platforms where this is defined (GH-29266)
2021-12-13 18:22:43 +01:00
Kumar Aditya
41026c3155
bpo-45855: Replaced deprecated `PyImport_ImportModuleNoBlock` with PyImport_ImportModule (GH-30046)
2021-12-12 10:45:20 +02:00
Steve Dower
bfc59ed0a0
bpo-46049: Fixes ._pth support on non-Windows (GH-30051)
2021-12-11 15:06:17 +00:00
Steve Dower
971ece8e17
bpo-46048: Fix parsing of single character lines in getpath readlines() (GH-30048)
2021-12-11 13:43:40 +00:00
neonene
3f398a77d3
bpo-45582: Fix test_embed failure during a PGO build on Windows (GH-30014)
...
This defines VPATH differently in PGO instrumentation builds, to account for a different default output directory. It also adds sys._vpath on Windows to make the value available to sysconfig so that it can be used in tests.
2021-12-10 17:13:55 +00:00
Christian Heimes
036bbb1d1b
bpo-46023: Fix makesetup handling of disabled rule (GH-30001)
2021-12-10 14:11:55 +01:00
Thomas Klausner
2fb797e93c
bpo-46000: Improve NetBSD curses compatibility (GH-29947)
2021-12-10 11:41:47 +02:00
Gabriele N. Tornetta
50669083fe
bpo-43931: Export Python version as API data (GH-25577)
...
When Python is embedded in other applications, it is not easy to determine which version of Python is being used. This change exposes the Python version as part of the API data. Tools like Austin (https://github.com/P403n1x87/austin ) can benefit from this data when targeting applications like uWSGI, as the Python version can then be inferred systematically by looking at the exported symbols rather than relying on unreliable pattern matching or other hacks (like remote code execution etc...).
Automerge-Triggered-By: GH:pablogsal
2021-12-09 17:52:05 -08:00
Steve Dower
3363e1cb05
bpo-46018: Ensure that math.expm1 does not raise on underflow (GH-29997)
2021-12-09 18:31:54 +00:00
Pablo Galindo Salgado
f0d290d25c
bpo-46025: Fix a crash in the atexit module for auto-unregistering functions (GH-30002)
2021-12-09 13:53:44 +00:00
David CARLIER
267539bff7
bpo-46016: fcntl module add FreeBSD's F_DUP2FD_CLOEXEC flag support (GH-29993)
2021-12-08 23:28:51 +01:00
Steve Dower
7778116c2f
bpo-46015: Fixes calculation of sys.path in a venv on Windows (GH-29992)
...
Also ensures that pybuilddir.txt is written early enough in the build to be picked up by later steps.
2021-12-08 19:25:58 +00:00
Steve Dower
b0b3086279
bpo-45582: Write empty pybuilddir.txt on Windows to allow relocatable build directories (GH-29979)
2021-12-08 02:18:21 +00:00
Eric Snow
758b74e71e
bpo-46008: Add _PyInterpreterState_Main(). (gh-29978)
...
PyInterpreterState_Main() is a plain function exposed in the public C-API. For internal usage we can take the more efficient approach in this PR.
https://bugs.python.org/issue46008
2021-12-07 18:56:06 -07:00
Eric Snow
1f384e3184
bpo-46008: Stop calling _PyThreadState_Init() in new_threadstate(). (gh-29973)
...
This simplifies new_threadstate(). We also rename _PyThreadState_Init() to _PyThreadState_SetCurrent() to reflect what it actually does.
https://bugs.python.org/issue46008
2021-12-07 17:26:29 -07:00
Eric Snow
313f92a57b
bpo-46008: Move thread-related interpreter state into a sub-struct. (gh-29971)
...
This parallels _PyRuntimeState.interpreters. Doing this helps make it more clear what part of PyInterpreterState relates to its threads.
https://bugs.python.org/issue46008
2021-12-07 14:03:47 -07:00
Christian Heimes
91b59a3fcd
bpo-45847: Revert Port _ctypes partly to PY_STDLIB_MOD (GH-29747) (GH-29969)
2021-12-07 20:56:41 +01:00
Christian Heimes
06c4ae8b13
bpo-45582: Fix framework path and bootstrap build (GH-29954)
...
* Check NS API return values for NULL to prevent segfault in
``_bootstrap_python``.
* Set modPathInitialized to 1 so the ``decode_to_dict`` path is used.
Signed-off-by: Christian Heimes <christian@python.org>
2021-12-07 19:09:53 +01:00
Mark Shannon
8319114fee
bpo-45947: Place dict and values pointer at fixed (negative) offset just before GC header. (GH-29879)
...
* Place __dict__ immediately before GC header for plain Python objects.
* Fix up lazy dict creation logic to use managed dict pointers.
* Manage values pointer, placing them directly before managed dict pointers.
* Convert hint-based load/store attr specialization target managed dict classes.
* Specialize LOAD_METHOD for managed dict objects.
* Remove unsafe _PyObject_GC_Calloc function.
* Remove unsafe _PyObject_GC_Malloc() function.
* Add comment explaning use of Py_TPFLAGS_MANAGED_DICT.
2021-12-07 16:02:53 +00:00
Steve Dower
b7ef27bc08
bpo-45582: Ensure PYTHONHOME still overrides detected build prefixes (GH-29948)
2021-12-07 00:07:35 +00:00
Christian Heimes
f16f93e527
bpo-45582: framework build: modPath must not be const (GH-29944)
...
Co-authored-by: Ronald Oussoren <ronaldoussoren@mac.com>
2021-12-06 19:13:12 +01:00
neonene
af1db4eb55
bpo-45582: Fix getpath_isxfile() and test_embed on Windows (GH-29930)
2021-12-06 17:25:19 +00:00
Christian Heimes
612e59b53f
bpo-45950: Fix macOS framework builds of _bootstrap_python (GH-29936)
2021-12-06 17:13:53 +01:00
Serhiy Storchaka
60c320c38e
bpo-37295: Optimize math.comb() and math.perm() (GH-29090)
...
For very large numbers use divide-and-conquer algorithm for getting
benefit of Karatsuba multiplication of large numbers.
Do calculations completely in C unsigned long long instead of Python
integers if possible.
2021-12-05 22:26:10 +02:00
Christian Heimes
628abe4463
bpo-45582: Fix signature of _Py_Get_Getpath_CodeObject (GH-29921)
2021-12-05 18:41:46 +01:00
Serhiy Storchaka
d15cdb2f32
bpo-27946: Fix possible crash in ElementTree.Element (GH-29915)
...
Getting an attribute via attrib.get() simultaneously with replacing
the attrib dict can lead to access to deallocated dict.
2021-12-05 14:22:54 +02:00
Christian Heimes
64be8d369b
bpo-45847: Update whatsnew and add place holder entries for missing extensions (GH-29914)
2021-12-04 15:14:48 +01:00
Christian Heimes
4045392e0e
bpo-45847: Port _ctypes partly to PY_STDLIB_MOD (GH-29747)
...
Co-authored-by: Erlend Egeberg Aasland <erlend.aasland@innova.no>
2021-12-04 11:21:43 +01:00
neonene
7d7c91a8e8
bpo-45582: Add a NOT operator to the condition in getpath_isxfile (GH-29906)
2021-12-03 22:04:11 +00:00
Irit Katriel
2ff758bd1a
bpo-45711: [asyncio] Normalize exceptions immediately after Fetch, before they are stored as StackItem, which should be normalized (GH-29890)
2021-12-03 19:05:14 +00:00
Christian Heimes
ccb73a0d50
bpo-45582: Fix out-of-tree build issues with new getpath (GH-29902)
2021-12-03 14:47:06 +01:00
Steve Dower
99fcf15052
bpo-45582: Port getpath[p].c to Python (GH-29041)
...
The getpath.py file is frozen at build time and executed as code over a namespace. It is never imported, nor is it meant to be importable or reusable. However, it should be easier to read, modify, and patch than the previous code.
This commit attempts to preserve every previously tested quirk, but these may be changed in the future to better align platforms.
2021-12-03 00:08:42 +00:00
Gideon
6266e4af87
bpo-45917: Add math.exp2() method - return 2 raised to the power of x (GH-29829)
...
Co-authored-by: Mark Dickinson <dickinsm@gmail.com>
2021-11-29 18:55:43 +00:00
Erlend Egeberg Aasland
c4a69a4ad0
bpo-45828: Use unraisable exceptions within sqlite3 callbacks (FH-29591)
2021-11-29 15:22:32 +00:00
Mark Shannon
60929576e4
bpo-45786: Allocate space for frame in frame object. (GH-29729)
2021-11-29 12:34:59 +00:00
Christian Heimes
4dc198dedd
bpo-45847: Fix _multiprocessing on platforms without sem_open (GH-29833)
2021-11-29 10:36:10 +01:00
Erlend Egeberg Aasland
aaf42222cf
bpo-45847: Port _multiprocessing to PY_STDLIB_MOD (GH-29768)
2021-11-28 13:00:51 +01:00
Ma Lin
7edb6270a7
bpo-41735: Fix thread lock in zlib.Decompress.flush() may go wrong (GH-29587)
...
* Fix thread lock in zlib.Decompress.flush() may go wrong
Getting `.unconsumed_tail` before acquiring the thread lock may mix up decompress state.
2021-11-26 16:18:17 -08:00
Christian Heimes
4ebde73b8e
bpo-40280: Move hard-coded feature checks to configure (GH-29789)
...
Co-authored-by: Erlend Egeberg Aasland <erlend.aasland@innova.no>
2021-11-26 19:36:48 +01:00
Christian Heimes
8caceb7a47
bpo-40280: Add configure check for socket shutdown (GH-29795)
2021-11-26 15:16:54 +01:00
Christian Heimes
ee1e2c604c
bpo-40280: Use Setup.stdlib static for wasm builds (GH-29784)
...
``Modules/Setup.stdlib`` contains ``Setup`` lines for all stdlib extension modules for which ``configure`` has detected their dependencies. The file is not used yet and still under development. To use the file, do ``ln -sfr Modules/Setup.stdlib Modules/Setup.local``.
2021-11-26 08:26:49 +01:00
Christian Heimes
dc19e86983
bpo-41498: Fix build on platforms without sigset_t (GH-29770)
2021-11-25 12:28:41 +01:00
Pablo Galindo Salgado
abfc794bbf
bpo-45822: Minor cleanups to the test_Py_CompileString test (GH-29750)
2021-11-24 18:30:03 +00:00
Christian Heimes
8af6481f6b
bpo-45847: Port _uuid to PY_STDLIB_MOD (GH-29741)
2021-11-24 10:20:37 +01:00
Erlend Egeberg Aasland
324527012f
bpo-45847: Port _posixshmem to PY_STDLIB_MOD (GH-29738)
2021-11-24 08:19:17 +01:00
Christian Heimes
9cf5646bb4
bpo-45847: Port _gdbm to PY_STDLIB_MOD (GH-29720)
2021-11-23 22:58:38 +01:00