Files
loongoffice/external/python3/ubsan.patch.0
Michael Stahl b10be5d484 python3: upgrade to release 3.7.6
* external/python3/python-3.3.3-aix.patch.1:
  most of it doesn't apply and AIX port isn't maintained anyway so
  remove it for now
* external/python3/ubsan.patch.0:
  apparently one of the files was removed
* 0001-3.6-bpo-17239-Disable-external-entities-in-SAX-parse.patch.1:
  fixed upstream
* python3-osx-avoid-new-10.13.patch.1:
  replace with simply passing ac_cv_func_utimensat=no to configure
* external/python3/python-3.5.4-ssl.patch.1:
  project files to build OpenSSL removed upstream
* There have been changes to how python locates OpenSSL; new variables
  OPENSSL_INCLUDES etc; it turns out that you have to pass one directory
  to --with-openssl, as the variables cannot be passed
* libuuid.so.1 is a new dependency of the _uuid module
* libffi.so.6 is a new dependency of the _ctypes module (the bundled
  copy of libffi for non-Darwin platforms was removed)
* python-3.3.0-pythreadstate.patch.1:
  the PyThreadState functions have been changed such that
  CppunitTest_services asserts when there is a PyThreadAttach on top of
  PyThreadDetach on top of PyThreadAttach, i.e., 2 PyThreadState per
  thread (PyGILState_Check() fails).  Instead of patching in additional
  workarounds, change PyThreadAttach so that it re-uses an existing
  PyThreadState if one exists for the thread.

Change-Id: I24c19d79b43a30709261fd9db66312b2e3872fd9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/84765
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@cib.de>
2020-01-08 10:22:17 +01:00

21 lines
995 B
Plaintext

--- Modules/_ctypes/libffi_osx/x86/x86-ffi64.c
+++ Modules/_ctypes/libffi_osx/x86/x86-ffi64.c
@@ -599,9 +599,15 @@
tramp = (volatile unsigned short*)&closure->tramp[0];
tramp[0] = 0xbb49; /* mov <code>, %r11 */
- *(void* volatile*)&tramp[1] = ffi_closure_unix64;
+ tramp[1] = (unsigned short) ffi_closure_unix64;
+ tramp[2] = (unsigned short) (((unsigned long)ffi_closure_unix64) >> 16);
+ tramp[3] = (unsigned short) (((unsigned long)ffi_closure_unix64) >> 32);
+ tramp[4] = (unsigned short) (((unsigned long)ffi_closure_unix64) >> 48);
tramp[5] = 0xba49; /* mov <data>, %r10 */
- *(void* volatile*)&tramp[6] = closure;
+ tramp[6] = (unsigned short) closure;
+ tramp[7] = (unsigned short) (((unsigned long)closure) >> 16);
+ tramp[8] = (unsigned short) (((unsigned long)closure) >> 32);
+ tramp[9] = (unsigned short) (((unsigned long)closure) >> 48);
/* Set the carry bit if the function uses any sse registers.
This is clc or stc, together with the first byte of the jmp. */