lightning
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] Avoid compiling fallback_casx() on platforms that don't need it


From: Paul Cercueil
Subject: [PATCH] Avoid compiling fallback_casx() on platforms that don't need it
Date: Mon, 6 Mar 2023 23:25:11 +0000

fallback_casx() adds an unconditional dependency of Lightning on
pthreads, even if the function is never used.

To avoid that, and only depend on pthreads when needed, protect the
_fallback_casx() function with a guard that is only defined by
platforms that need it.

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
---
 lib/jit_arm-cpu.c  | 2 ++
 lib/jit_fallback.c | 2 ++
 lib/jit_hppa-cpu.c | 2 ++
 3 files changed, 6 insertions(+)

diff --git a/lib/jit_arm-cpu.c b/lib/jit_arm-cpu.c
index 6d4aa93..c75c13f 100644
--- a/lib/jit_arm-cpu.c
+++ b/lib/jit_arm-cpu.c
@@ -1190,6 +1190,8 @@ static void _vastart(jit_state_t*, jit_int32_t);
 static void _vaarg(jit_state_t*, jit_int32_t, jit_int32_t);
 #  define patch_at(kind,jump,label)    _patch_at(_jit,kind,jump,label)
 static void _patch_at(jit_state_t*,jit_int32_t,jit_word_t,jit_word_t);
+
+#  define NEED_FALLBACK_CASX 1
 #endif
 
 #if CODE
diff --git a/lib/jit_fallback.c b/lib/jit_fallback.c
index ecddf45..55bf7d3 100644
--- a/lib/jit_fallback.c
+++ b/lib/jit_fallback.c
@@ -188,6 +188,7 @@ _fallback_calli(jit_state_t *_jit, jit_word_t i0, 
jit_word_t i1)
 #  endif
 }
 
+#ifdef NEED_FALLBACK_CASX
 static void
 _fallback_casx(jit_state_t *_jit, jit_int32_t r0, jit_int32_t r1,
               jit_int32_t r2, jit_int32_t r3, jit_word_t i0)
@@ -225,6 +226,7 @@ _fallback_casx(jit_state_t *_jit, jit_int32_t r0, 
jit_int32_t r1,
     if (iscasi)
        jit_unget_reg(r1_reg);
 }
+#endif
 
 static void
 _fallback_clo(jit_state_t *_jit, jit_int32_t r0, jit_int32_t r1)
diff --git a/lib/jit_hppa-cpu.c b/lib/jit_hppa-cpu.c
index ebb01fd..3ddf725 100644
--- a/lib/jit_hppa-cpu.c
+++ b/lib/jit_hppa-cpu.c
@@ -933,6 +933,8 @@ static void _vastart(jit_state_t*, jit_int32_t);
 static void _vaarg(jit_state_t*, jit_int32_t, jit_int32_t);
 #define patch_at(i,l)          _patch_at(_jit,i,l)
 static void _patch_at(jit_state_t*,jit_word_t,jit_word_t);
+
+#  define NEED_FALLBACK_CASX 1
 #endif
 
 #if CODE
-- 
2.39.2




reply via email to

[Prev in Thread] Current Thread [Next in Thread]