57 lines
1.8 KiB
Diff
57 lines
1.8 KiB
Diff
From 4f25e5be1a8a429b6925527c1cb94b6acd05642b Mon Sep 17 00:00:00 2001
|
|
From: Yuriy Kolerov <ykolerov@synopsys.com>
|
|
Date: Wed, 17 Jul 2024 18:56:52 +0300
|
|
Subject: [PATCH] arc: Fix warnings
|
|
|
|
These warnings are fixed:
|
|
|
|
1. A series of "unused variables".
|
|
2. Implicit conversion from a pointer to uint32_t.
|
|
|
|
Signed-off-by: Yuriy Kolerov <ykolerov@synopsys.com>
|
|
Upstream: https://github.com/libffi/libffi/pull/844
|
|
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
|
|
---
|
|
src/arc/ffi.c | 8 ++++++--
|
|
1 file changed, 6 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/src/arc/ffi.c b/src/arc/ffi.c
|
|
index d729274..0632319 100644
|
|
--- a/src/arc/ffi.c
|
|
+++ b/src/arc/ffi.c
|
|
@@ -192,9 +192,10 @@ static void unmarshal_atom(call_builder *cb, int type, void *data) {
|
|
/* for arguments passed by reference returns the pointer, otherwise the arg is copied (up to MAXCOPYARG bytes) */
|
|
static void *unmarshal(call_builder *cb, ffi_type *type, int var, void *data) {
|
|
size_t realign[2];
|
|
- void *pointer;
|
|
|
|
#if defined(__ARC64_ARCH64__)
|
|
+ void *pointer;
|
|
+
|
|
if (type->size > 2 * __SIZEOF_POINTER__) {
|
|
/* pass by reference */
|
|
unmarshal_atom(cb, FFI_TYPE_POINTER, (char*)&pointer);
|
|
@@ -348,7 +349,10 @@ ffi_prep_closure_loc (ffi_closure * closure, ffi_cif * cif,
|
|
void *user_data, void *codeloc)
|
|
{
|
|
uint32_t *tramp = (uint32_t *) & (closure->tramp[0]);
|
|
+
|
|
+#if defined(__ARC64_ARCH64__)
|
|
size_t address_ffi_closure = (size_t) ffi_closure_asm;
|
|
+#endif
|
|
|
|
switch (cif->abi)
|
|
{
|
|
@@ -367,7 +371,7 @@ ffi_prep_closure_loc (ffi_closure * closure, ffi_cif * cif,
|
|
FFI_ASSERT (tramp == codeloc);
|
|
tramp[0] = CODE_ENDIAN (0x200a1fc0); /* mov r8, pcl */
|
|
tramp[1] = CODE_ENDIAN (0x20200f80); /* j [long imm] */
|
|
- tramp[2] = CODE_ENDIAN (ffi_closure_asm);
|
|
+ tramp[2] = CODE_ENDIAN ((uint32_t) ffi_closure_asm);
|
|
break;
|
|
#endif
|
|
|
|
--
|
|
2.46.0
|
|
|