summaryrefslogtreecommitdiffstats
path: root/meta/recipes-support/libffi/libffi/0001-Address-platforms-with-no-__int128.patch
blob: 2e32a5029624c94d374a1fca3a25ea2ff4ee947a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
From 68f45b9049dffb54f5a29a3a495ab3dfcf010634 Mon Sep 17 00:00:00 2001
From: Anthony Green <green@moxielogic.com>
Date: Fri, 29 Nov 2019 07:00:35 -0500
Subject: [PATCH] Address platforms with no __int128.

Upstream-Status: Backport [https://github.com/libffi/libffi/commit/6663047f56c2932a6b10a790f4ac6666dd181326]
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 src/powerpc/ffi_linux64.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/powerpc/ffi_linux64.c b/src/powerpc/ffi_linux64.c
index de0d033..7364770 100644
--- a/src/powerpc/ffi_linux64.c
+++ b/src/powerpc/ffi_linux64.c
@@ -547,9 +547,9 @@ ffi_prep_args64 (extended_cif *ecif, unsigned long *const stack)
               if (next_arg.ul == gpr_end.ul)
                 next_arg.ul = rest.ul;
               if (vecarg_count < NUM_VEC_ARG_REGISTERS64 && i < nfixedargs)
-                *vec_base.f128++ = **p_argv.f128;
+		memcpy (vec_base.f128++, *p_argv.f128, sizeof (float128));
               else
-                *next_arg.f128 = **p_argv.f128;
+		memcpy (next_arg.f128, *p_argv.f128, sizeof (float128));
               if (++next_arg.f128 == gpr_end.f128)
                 next_arg.f128 = rest.f128;
               vecarg_count++;