diff options
Diffstat (limited to 'external/python3/ubsan.patch.0')
-rw-r--r-- | external/python3/ubsan.patch.0 | 22 |
1 files changed, 0 insertions, 22 deletions
diff --git a/external/python3/ubsan.patch.0 b/external/python3/ubsan.patch.0 index 36d2acf1c947..938acc1f1725 100644 --- a/external/python3/ubsan.patch.0 +++ b/external/python3/ubsan.patch.0 @@ -1,25 +1,3 @@ ---- Modules/_ctypes/libffi/src/x86/ffi64.c -+++ Modules/_ctypes/libffi/src/x86/ffi64.c -@@ -548,11 +548,15 @@ - tramp = (volatile unsigned short *) &closure->tramp[0]; - - tramp[0] = 0xbb49; /* mov <code>, %r11 */ -- *((unsigned long long * volatile) &tramp[1]) -- = (unsigned long) ffi_closure_unix64; -+ tramp[1] = (unsigned long) ffi_closure_unix64; -+ tramp[2] = ((unsigned long) ffi_closure_unix64) >> 16; -+ tramp[3] = ((unsigned long) ffi_closure_unix64) >> 32; -+ tramp[4] = ((unsigned long) ffi_closure_unix64) >> 48; - tramp[5] = 0xba49; /* mov <data>, %r10 */ -- *((unsigned long long * volatile) &tramp[6]) -- = (unsigned long) codeloc; -+ tramp[6] = (unsigned long) codeloc; -+ tramp[7] = ((unsigned long) codeloc) >> 16; -+ tramp[8] = ((unsigned long) codeloc) >> 32; -+ tramp[9] = ((unsigned long) codeloc) >> 48; - - /* Set the carry bit iff the function uses any sse registers. - This is clc or stc, together with the first byte of the jmp. */ --- Modules/_ctypes/libffi_osx/x86/x86-ffi64.c +++ Modules/_ctypes/libffi_osx/x86/x86-ffi64.c @@ -599,9 +599,15 @@ |