Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
slapos
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Thomas Leymonerie
slapos
Commits
2dfc5e8b
Commit
2dfc5e8b
authored
Dec 11, 2019
by
Kazuhiko Shiozaki
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
version up: Python 2.7.17.
parent
a7a86db9
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
45 additions
and
37 deletions
+45
-37
component/python-2.7/buildout.cfg
component/python-2.7/buildout.cfg
+3
-3
component/python-2.7/pytracemalloc_pep445.patch
component/python-2.7/pytracemalloc_pep445.patch
+42
-34
No files found.
component/python-2.7/buildout.cfg
View file @
2dfc5e8b
...
@@ -29,9 +29,9 @@ python = python2.7
...
@@ -29,9 +29,9 @@ python = python2.7
[python2.7]
[python2.7]
recipe = slapos.recipe.cmmi
recipe = slapos.recipe.cmmi
shared = true
shared = true
package_version = 2.7.1
5
package_version = 2.7.1
7
package_version_suffix =
package_version_suffix =
md5sum =
a80ae3cc478460b922242f43a1b4094
d
md5sum =
b3b6d2c92f42a60667814358ab9f0cf
d
# This is actually the default setting for prefix, but we can't use it in
# This is actually the default setting for prefix, but we can't use it in
# other settings in this part if we don't set it explicitly here.
# other settings in this part if we don't set it explicitly here.
...
@@ -42,7 +42,7 @@ executable = ${:prefix}/bin/python${:version}
...
@@ -42,7 +42,7 @@ executable = ${:prefix}/bin/python${:version}
patch-options = -p1
patch-options = -p1
patches =
patches =
${:_profile_base_location_}/fix_compiler_module_issue_20613.patch#94443a77f903e9de880a029967fa6aa7
${:_profile_base_location_}/fix_compiler_module_issue_20613.patch#94443a77f903e9de880a029967fa6aa7
${:_profile_base_location_}/pytracemalloc_pep445.patch#
3dfad79654af9671325f988c36fb6be2
${:_profile_base_location_}/pytracemalloc_pep445.patch#
9f3145817afa2b7fad801fde8447e396
${:_profile_base_location_}/disabled_module_list.patch#71ad30d32bcdbc50c19cf48675b1246e
${:_profile_base_location_}/disabled_module_list.patch#71ad30d32bcdbc50c19cf48675b1246e
${:_profile_base_location_}/asyncore_poll_insteadof_select.patch#ab6991c0ee6e25aeb8951e71f280a2f1
${:_profile_base_location_}/asyncore_poll_insteadof_select.patch#ab6991c0ee6e25aeb8951e71f280a2f1
url =
url =
...
...
component/python-2.7/pytracemalloc_pep445.patch
View file @
2dfc5e8b
...
@@ -492,7 +492,7 @@ diff -Naru a/Objects/obmalloc.c b/Objects/obmalloc.c
...
@@ -492,7 +492,7 @@ diff -Naru a/Objects/obmalloc.c b/Objects/obmalloc.c
#ifdef WITH_PYMALLOC
#ifdef WITH_PYMALLOC
#ifdef HAVE_MMAP
#ifdef HAVE_MMAP
@@ -2
14,7 +489
,7 @@
@@ -2
20,7 +495
,7 @@
* Arenas are allocated with mmap() on systems supporting anonymous memory
* Arenas are allocated with mmap() on systems supporting anonymous memory
* mappings to reduce heap fragmentation.
* mappings to reduce heap fragmentation.
*/
*/
...
@@ -501,7 +501,7 @@ diff -Naru a/Objects/obmalloc.c b/Objects/obmalloc.c
...
@@ -501,7 +501,7 @@ diff -Naru a/Objects/obmalloc.c b/Objects/obmalloc.c
#ifdef WITH_MEMORY_LIMITS
#ifdef WITH_MEMORY_LIMITS
#define MAX_ARENAS (SMALL_MEMORY_LIMIT / ARENA_SIZE)
#define MAX_ARENAS (SMALL_MEMORY_LIMIT / ARENA_SIZE)
@@ -58
1,7 +856
,7 @@
@@ -58
7,7 +862
,7 @@
return NULL; /* overflow */
return NULL; /* overflow */
#endif
#endif
nbytes = numarenas * sizeof(*arenas);
nbytes = numarenas * sizeof(*arenas);
...
@@ -510,7 +510,7 @@ diff -Naru a/Objects/obmalloc.c b/Objects/obmalloc.c
...
@@ -510,7 +510,7 @@ diff -Naru a/Objects/obmalloc.c b/Objects/obmalloc.c
if (arenaobj == NULL)
if (arenaobj == NULL)
return NULL;
return NULL;
arenas = arenaobj;
arenas = arenaobj;
@@ -7
85,9 +1060
,8 @@
@@ -7
91,9 +1066
,8 @@
* Unless the optimizer reorders everything, being too smart...
* Unless the optimizer reorders everything, being too smart...
*/
*/
...
@@ -522,7 +522,7 @@ diff -Naru a/Objects/obmalloc.c b/Objects/obmalloc.c
...
@@ -522,7 +522,7 @@ diff -Naru a/Objects/obmalloc.c b/Objects/obmalloc.c
{
{
block *bp;
block *bp;
poolp pool;
poolp pool;
@@ -80
2,15 +1076
,6 @@
@@ -80
8,15 +1082
,6 @@
#endif
#endif
/*
/*
...
@@ -538,7 +538,7 @@ diff -Naru a/Objects/obmalloc.c b/Objects/obmalloc.c
...
@@ -538,7 +538,7 @@ diff -Naru a/Objects/obmalloc.c b/Objects/obmalloc.c
* This implicitly redirects malloc(0).
* This implicitly redirects malloc(0).
*/
*/
if ((nbytes - 1) < SMALL_REQUEST_THRESHOLD) {
if ((nbytes - 1) < SMALL_REQUEST_THRESHOLD) {
@@ -98
1,17 +1246
,13 @@
@@ -98
7,17 +1252
,13 @@
* last chance to serve the request) or when the max memory limit
* last chance to serve the request) or when the max memory limit
* has been reached.
* has been reached.
*/
*/
...
@@ -559,7 +559,7 @@ diff -Naru a/Objects/obmalloc.c b/Objects/obmalloc.c
...
@@ -559,7 +559,7 @@ diff -Naru a/Objects/obmalloc.c b/Objects/obmalloc.c
{
{
poolp pool;
poolp pool;
block *lastfree;
block *lastfree;
@@ -121
1,7 +1472
,7 @@
@@ -121
7,7 +1478
,7 @@
redirect:
redirect:
#endif
#endif
/* We didn't allocate this address. */
/* We didn't allocate this address. */
...
@@ -568,7 +568,7 @@ diff -Naru a/Objects/obmalloc.c b/Objects/obmalloc.c
...
@@ -568,7 +568,7 @@ diff -Naru a/Objects/obmalloc.c b/Objects/obmalloc.c
}
}
/* realloc. If p is NULL, this acts like malloc(nbytes). Else if nbytes==0,
/* realloc. If p is NULL, this acts like malloc(nbytes). Else if nbytes==0,
@@ -12
19,10 +1480
,8 @@
@@ -12
25,10 +1486
,8 @@
* return a non-NULL result.
* return a non-NULL result.
*/
*/
...
@@ -581,7 +581,7 @@ diff -Naru a/Objects/obmalloc.c b/Objects/obmalloc.c
...
@@ -581,7 +581,7 @@ diff -Naru a/Objects/obmalloc.c b/Objects/obmalloc.c
{
{
void *bp;
void *bp;
poolp pool;
poolp pool;
@@ -123
2,16 +1491
,7 @@
@@ -123
8,16 +1497
,7 @@
#endif
#endif
if (p == NULL)
if (p == NULL)
...
@@ -599,7 +599,7 @@ diff -Naru a/Objects/obmalloc.c b/Objects/obmalloc.c
...
@@ -599,7 +599,7 @@ diff -Naru a/Objects/obmalloc.c b/Objects/obmalloc.c
#ifdef WITH_VALGRIND
#ifdef WITH_VALGRIND
/* Treat running_on_valgrind == -1 the same as 0 */
/* Treat running_on_valgrind == -1 the same as 0 */
@@ -12
69,10 +1519
,10 @@
@@ -12
75,10 +1525
,10 @@
}
}
size = nbytes;
size = nbytes;
}
}
...
@@ -612,7 +612,7 @@ diff -Naru a/Objects/obmalloc.c b/Objects/obmalloc.c
...
@@ -612,7 +612,7 @@ diff -Naru a/Objects/obmalloc.c b/Objects/obmalloc.c
}
}
return bp;
return bp;
}
}
@@ -129
0,40 +1540
,17 @@
@@ -129
6,40 +1546
,17 @@
* at p. Instead we punt: let C continue to manage this block.
* at p. Instead we punt: let C continue to manage this block.
*/
*/
if (nbytes)
if (nbytes)
...
@@ -655,7 +655,7 @@ diff -Naru a/Objects/obmalloc.c b/Objects/obmalloc.c
...
@@ -655,7 +655,7 @@ diff -Naru a/Objects/obmalloc.c b/Objects/obmalloc.c
#endif /* WITH_PYMALLOC */
#endif /* WITH_PYMALLOC */
#ifdef PYMALLOC_DEBUG
#ifdef PYMALLOC_DEBUG
@@ -134
3,10 +1570
,6 @@
@@ -134
9,10 +1576
,6 @@
#define DEADBYTE 0xDB /* dead (newly freed) memory */
#define DEADBYTE 0xDB /* dead (newly freed) memory */
#define FORBIDDENBYTE 0xFB /* untouchable bytes at each end of a block */
#define FORBIDDENBYTE 0xFB /* untouchable bytes at each end of a block */
...
@@ -666,7 +666,7 @@ diff -Naru a/Objects/obmalloc.c b/Objects/obmalloc.c
...
@@ -666,7 +666,7 @@ diff -Naru a/Objects/obmalloc.c b/Objects/obmalloc.c
static size_t serialno = 0; /* incremented on each debug {m,re}alloc */
static size_t serialno = 0; /* incremented on each debug {m,re}alloc */
/* serialno is always incremented via calling this routine. The point is
/* serialno is always incremented via calling this routine. The point is
@@ -14
29,58 +1652
,18 @@
@@ -14
67,58 +1690
,18 @@
p[2*S+n: 2*S+n+S]
p[2*S+n: 2*S+n+S]
Copies of FORBIDDENBYTE. Used to catch over- writes and reads.
Copies of FORBIDDENBYTE. Used to catch over- writes and reads.
p[2*S+n+S: 2*S+n+2*S]
p[2*S+n+S: 2*S+n+2*S]
...
@@ -722,7 +722,7 @@ diff -Naru a/Objects/obmalloc.c b/Objects/obmalloc.c
...
@@ -722,7 +722,7 @@ diff -Naru a/Objects/obmalloc.c b/Objects/obmalloc.c
-
-
-/* generic debug memory api, with an "id" to identify the API in use */
-/* generic debug memory api, with an "id" to identify the API in use */
-void *
-void *
-_PyObject_DebugMallocApi(char
id
, size_t nbytes)
-_PyObject_DebugMallocApi(char
api
, size_t nbytes)
+static void *
+static void *
+_PyMem_DebugMallocCtx(void *ctx, size_t nbytes)
+_PyMem_DebugMallocCtx(void *ctx, size_t nbytes)
{
{
...
@@ -730,25 +730,27 @@ diff -Naru a/Objects/obmalloc.c b/Objects/obmalloc.c
...
@@ -730,25 +730,27 @@ diff -Naru a/Objects/obmalloc.c b/Objects/obmalloc.c
uchar *p; /* base address of malloc'ed block */
uchar *p; /* base address of malloc'ed block */
uchar *tail; /* p + 2*SST + nbytes == pointer to tail pad bytes */
uchar *tail; /* p + 2*SST + nbytes == pointer to tail pad bytes */
size_t total; /* nbytes + 4*SST */
size_t total; /* nbytes + 4*SST */
@@ -1491,14 +1674,14 @@
@@ -1530,7 +1713,7 @@
/* overflow: can't represent total as a size_t */
return NULL;
return NULL;
if (api == _PYMALLOC_OBJ_ID) {
- p = (uchar *)PyObject_Malloc(total);
- p = (uchar *)PyObject_Malloc(total);
+ p = (uchar *)api->alloc.malloc(api->alloc.ctx, total);
+ p = (uchar *)api->alloc.malloc(api->alloc.ctx, total);
if (p == NULL)
}
return NULL;
else {
p = (uchar *)_PyMem_Malloc(total);
@@ -1540,8 +1723,8 @@
/* at p, write size (SST bytes),
id
(1 byte), pad (SST-1 bytes) */
/* at p, write size (SST bytes),
api
(1 byte), pad (SST-1 bytes) */
write_size_t(p, nbytes);
write_size_t(p, nbytes);
- p[SST] = (uchar)
id
;
- p[SST] = (uchar)
api
;
- memset(p + SST + 1 , FORBIDDENBYTE, SST-1);
- memset(p + SST + 1 , FORBIDDENBYTE, SST-1);
+ p[SST] = (uchar)api->api_id;
+ p[SST] = (uchar)api->api_id;
+ memset(p + SST + 1, FORBIDDENBYTE, SST-1);
+ memset(p + SST + 1, FORBIDDENBYTE, SST-1);
if (nbytes > 0)
if (nbytes > 0)
memset(p + 2*SST, CLEANBYTE, nbytes);
memset(p + 2*SST, CLEANBYTE, nbytes);
@@ -15
16,35 +1699,37
@@
@@ -15
59,40 +1742,42
@@
Then fills the original bytes with DEADBYTE.
Then fills the original bytes with DEADBYTE.
Then calls the underlying free.
Then calls the underlying free.
*/
*/
...
@@ -769,9 +771,14 @@ diff -Naru a/Objects/obmalloc.c b/Objects/obmalloc.c
...
@@ -769,9 +771,14 @@ diff -Naru a/Objects/obmalloc.c b/Objects/obmalloc.c
nbytes += 4*SST;
nbytes += 4*SST;
if (nbytes > 0)
if (nbytes > 0)
memset(q, DEADBYTE, nbytes);
memset(q, DEADBYTE, nbytes);
if (api == _PYMALLOC_OBJ_ID) {
- PyObject_Free(q);
- PyObject_Free(q);
+ api->alloc.free(api->alloc.ctx, q);
+ api->alloc.free(api->alloc.ctx, q);
}
}
else {
_PyMem_Free(q);
}
}
-void *
-void *
-_PyObject_DebugReallocApi(char api, void *p, size_t nbytes)
-_PyObject_DebugReallocApi(char api, void *p, size_t nbytes)
...
@@ -795,7 +802,7 @@ diff -Naru a/Objects/obmalloc.c b/Objects/obmalloc.c
...
@@ -795,7 +802,7 @@ diff -Naru a/Objects/obmalloc.c b/Objects/obmalloc.c
bumpserialno();
bumpserialno();
original_nbytes = read_size_t(q - 2*SST);
original_nbytes = read_size_t(q - 2*SST);
total = nbytes + 4*SST;
total = nbytes + 4*SST;
@@ -1
552,16 +1737,12
@@
@@ -1
600,17 +1785,13
@@
/* overflow: can't represent total as a size_t */
/* overflow: can't represent total as a size_t */
return NULL;
return NULL;
...
@@ -808,13 +815,14 @@ diff -Naru a/Objects/obmalloc.c b/Objects/obmalloc.c
...
@@ -808,13 +815,14 @@ diff -Naru a/Objects/obmalloc.c b/Objects/obmalloc.c
* case we didn't get the chance to mark the old memory with DEADBYTE,
* case we didn't get the chance to mark the old memory with DEADBYTE,
* but we live with that.
* but we live with that.
*/
*/
if (api == _PYMALLOC_OBJ_ID) {
- q = (uchar *)PyObject_Realloc(q - 2*SST, total);
- q = (uchar *)PyObject_Realloc(q - 2*SST, total);
+ oldq = q;
+ oldq = q;
+ q = (uchar *)api->alloc.realloc(api->alloc.ctx, q - 2*SST, total);
+ q = (uchar *)api->alloc.realloc(api->alloc.ctx, q - 2*SST, total);
if (q == NULL) {
}
if (nbytes <= original_nbytes)
{
else
{
/* bpo-31626: the memset() above expects that realloc never fails
q = (uchar *)_PyMem_Realloc(q - 2*SST, total);
@@ -1
571,11 +1752
,17 @@
@@ -1
624,11 +1805
,17 @@
return NULL;
return NULL;
}
}
...
@@ -833,7 +841,7 @@ diff -Naru a/Objects/obmalloc.c b/Objects/obmalloc.c
...
@@ -833,7 +841,7 @@ diff -Naru a/Objects/obmalloc.c b/Objects/obmalloc.c
tail = q + nbytes;
tail = q + nbytes;
memset(tail, FORBIDDENBYTE, SST);
memset(tail, FORBIDDENBYTE, SST);
write_size_t(tail + SST, serialno);
write_size_t(tail + SST, serialno);
@@ -1
594,8 +1781
,8 @@
@@ -1
647,8 +1834
,8 @@
* and call Py_FatalError to kill the program.
* and call Py_FatalError to kill the program.
* The API id, is also checked.
* The API id, is also checked.
*/
*/
...
@@ -844,7 +852,7 @@ diff -Naru a/Objects/obmalloc.c b/Objects/obmalloc.c
...
@@ -844,7 +852,7 @@ diff -Naru a/Objects/obmalloc.c b/Objects/obmalloc.c
{
{
const uchar *q = (const uchar *)p;
const uchar *q = (const uchar *)p;
char msgbuf[64];
char msgbuf[64];
@@ -19
41,3 +2128
,44 @@
@@ -19
94,3 +2181
,44 @@
arenas[arenaindex_temp].address != 0;
arenas[arenaindex_temp].address != 0;
}
}
#endif
#endif
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment