Issue #20354: Fix alignment issue in the tracemalloc module on 64-bit
platforms. Bug seen on 64-bit Linux when using "make profile-opt". Only align the "frame_t" structure on 32-bit when Visual Studio is used. Before the alignment to 32-bit was applied to the whole file any compiler supporting "#pragma pack(4)" which includes GCC.
This commit is contained in:
parent
a17b6bb5fe
commit
dd382ef8ec
|
@ -61,10 +61,11 @@ static PyThread_type_lock tables_lock;
|
|||
architectures: 12 bytes instead of 16. This optimization might produce
|
||||
SIGBUS on architectures not supporting unaligned memory accesses (64-bit
|
||||
IPS CPU?): on such architecture, the structure must not be packed. */
|
||||
#pragma pack(4)
|
||||
typedef struct
|
||||
#ifdef __GNUC__
|
||||
__attribute__((packed))
|
||||
#elif defined(_MSC_VER)
|
||||
_declspec(align(4))
|
||||
#endif
|
||||
{
|
||||
PyObject *filename;
|
||||
|
|
Loading…
Reference in New Issue