aboutsummaryrefslogtreecommitdiffstats
path: root/community/mold/mold-test-fix.patch
blob: 46723d00c7c4d8d13c97f311a4ea2ea3eb047268 (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
28
29
30
31
32
33
34
From 11c9376a50cbff5821388ab9489fe0e47607671f Mon Sep 17 00:00:00 2001
From: Rui Ueyama <ruiu@cs.stanford.edu>
Date: Wed, 27 Mar 2024 16:14:04 +0900
Subject: [PATCH] Fix tests for musl libc-based systems

Fixes https://github.com/rui314/mold/issues/1221
---
 test/elf/common.inc | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/test/elf/common.inc b/test/elf/common.inc
index 5a8f8fd38..cd33d45db 100644
--- a/test/elf/common.inc
+++ b/test/elf/common.inc
@@ -69,13 +69,14 @@ test_cflags() {
   echo 'int main() {}' | $CC "$@" -o /dev/null -xc - >& /dev/null
 }
 
-supports_ifunc() {
-  echo 'void x() __attribute__((ifunc("y"))); void *y() { return 0; }' | \
-    $CC -c -o /dev/null -xc - >& /dev/null
+is_musl() {
+  ldd --version 2>&1 | grep -q musl
 }
 
-is_musl() {
-  ldd --help 2>&1 | grep -q musl
+supports_ifunc() {
+  ! is_musl && \
+    echo 'void x() __attribute__((ifunc("y"))); void *y() { return 0; }' | \
+    $CC -c -o /dev/null -xc - >& /dev/null
 }
 
 supports_tlsdesc() {