piglit: Switch to upstreamed patch for musl fix

(From OE-Core rev: 660ca031737a63b0912c69e0c64ef65878776687)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Khem Raj 2024-03-19 14:07:45 -07:00 committed by Richard Purdie
parent a8c6271be2
commit 38fa6d08d2

View File

@ -1,28 +1,83 @@
From 608cdeddc8e8a679b195927c4d34dc8d93142a91 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Tue, 13 Feb 2024 08:53:37 -0800
Subject: [PATCH] utils: Include libgen.h on musl/linux systems
From 6c852e6ac292008137a6f3a8aa908090bb5b4b11 Mon Sep 17 00:00:00 2001
From: Erik Faye-Lund <erik.faye-lund@collabora.com>
Date: Tue, 19 Mar 2024 16:34:02 +0100
Subject: [PATCH] properly check for libgen.h
musl does not provide GNU basename like string.h on glibc based systems
does, it does provide the POSIX compliant basename function therefore
allow to include libgen.h on non-glibc based linux systems
Some users are reporting that basename is not available when building on
Linux with musl libc. And since the POSIX spec[1] says that basename is
defined in libgen.h, we should include that when available.
Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/piglit/-/merge_requests/877]
So let's properly detect the header, and include it if it exists. This
should hopefully make things a bit more robust.
Since we're also including this from the CL program-tester, let's
rearrange the includes a bit so we know that config.h has been included.
Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/piglit/-/merge_requests/888]
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
tests/util/piglit-util.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
CMakeLists.txt | 1 +
tests/cl/program/program-tester.c | 5 ++++-
tests/util/config.h.in | 1 +
tests/util/piglit-util.h | 4 ++--
4 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index dd2bf67125..5563fe0e20 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -492,6 +492,7 @@ check_include_file(unistd.h HAVE_UNISTD_H)
check_include_file(fcntl.h HAVE_FCNTL_H)
check_include_file(linux/sync_file.h HAVE_LINUX_SYNC_FILE_H)
check_include_file(endian.h HAVE_ENDIAN_H)
+check_include_file(libgen.h HAVE_LIBGEN_H)
if(DEFINED PIGLIT_INSTALL_VERSION)
set(PIGLIT_INSTALL_VERSION_SUFFIX
diff --git a/tests/cl/program/program-tester.c b/tests/cl/program/program-tester.c
index 97fe64906d..e47fb5aacc 100644
--- a/tests/cl/program/program-tester.c
+++ b/tests/cl/program/program-tester.c
@@ -31,10 +31,13 @@
#include <inttypes.h>
#include <math.h>
#include <regex.h>
-#include <libgen.h>
#include "piglit-framework-cl-program.h"
+#ifdef HAVE_LIBGEN_H
+#include <libgen.h>
+#endif
+
/* Regexes */
/*
diff --git a/tests/util/config.h.in b/tests/util/config.h.in
index 8ed5af1709..437eb91418 100644
--- a/tests/util/config.h.in
+++ b/tests/util/config.h.in
@@ -16,3 +16,4 @@
#cmakedefine HAVE_SYS_RESOURCE_H 1
#cmakedefine HAVE_UNISTD_H 1
#cmakedefine HAVE_ENDIAN_H 1
+#cmakedefine HAVE_LIBGEN_H 1
diff --git a/tests/util/piglit-util.h b/tests/util/piglit-util.h
index 4d3606c70..fdfd903b3 100644
index 4d3606c708..de999980b6 100644
--- a/tests/util/piglit-util.h
+++ b/tests/util/piglit-util.h
@@ -52,7 +52,7 @@ extern "C" {
@@ -52,8 +52,8 @@ extern "C" {
#include <math.h>
#include <float.h>
-#if defined(__APPLE__) || defined(__MINGW32__)
+#if defined(__APPLE__) || defined(__MINGW32__) || (defined(__linux__) && !defined(__GLIBC__))
# include "libgen.h" // for basename
-# include "libgen.h" // for basename
+#ifdef HAVE_LIBGEN_H
+# include <libgen.h> // for basename
#elif defined(_MSC_VER)
static inline char *
--
GitLab