0006-Address-platforms-with-no-__int128.patch 1.2 KB

12345678910111213141516171819202122232425262728
  1. From 6663047f56c2932a6b10a790f4ac6666dd181326 Mon Sep 17 00:00:00 2001
  2. From: Anthony Green <green@moxielogic.com>
  3. Date: Fri, 29 Nov 2019 07:00:35 -0500
  4. Subject: [PATCH] Address platforms with no __int128.
  5. [Retrieved from:
  6. https://github.com/libffi/libffi/commit/6663047f56c2932a6b10a790f4ac6666dd181326]
  7. Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
  8. ---
  9. src/powerpc/ffi_linux64.c | 4 ++--
  10. 1 file changed, 2 insertions(+), 2 deletions(-)
  11. diff --git a/src/powerpc/ffi_linux64.c b/src/powerpc/ffi_linux64.c
  12. index de0d0337..73647701 100644
  13. --- a/src/powerpc/ffi_linux64.c
  14. +++ b/src/powerpc/ffi_linux64.c
  15. @@ -547,9 +547,9 @@ ffi_prep_args64 (extended_cif *ecif, unsigned long *const stack)
  16. if (next_arg.ul == gpr_end.ul)
  17. next_arg.ul = rest.ul;
  18. if (vecarg_count < NUM_VEC_ARG_REGISTERS64 && i < nfixedargs)
  19. - *vec_base.f128++ = **p_argv.f128;
  20. + memcpy (vec_base.f128++, *p_argv.f128, sizeof (float128));
  21. else
  22. - *next_arg.f128 = **p_argv.f128;
  23. + memcpy (next_arg.f128, *p_argv.f128, sizeof (float128));
  24. if (++next_arg.f128 == gpr_end.f128)
  25. next_arg.f128 = rest.f128;
  26. vecarg_count++;