All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 1/2] package/fio: fix build with glibc 2.30
@ 2019-09-16 16:51 Fabrice Fontaine
  2019-09-16 16:51 ` [Buildroot] [PATCH 2/2] package/fio: bump to version 3.15 Fabrice Fontaine
  2019-09-17 20:23 ` [Buildroot] [PATCH 1/2] package/fio: fix build with glibc 2.30 Thomas Petazzoni
  0 siblings, 2 replies; 3+ messages in thread
From: Fabrice Fontaine @ 2019-09-16 16:51 UTC (permalink / raw)
  To: buildroot

Fixes:
 - http://autobuild.buildroot.org/results/ec93c8e7f046b081aaa9e0a76708d61ba1ab921c

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
 .../fio/0001-configure-add-gettid-test.patch  | 200 ++++++++++++++++++
 1 file changed, 200 insertions(+)
 create mode 100644 package/fio/0001-configure-add-gettid-test.patch

diff --git a/package/fio/0001-configure-add-gettid-test.patch b/package/fio/0001-configure-add-gettid-test.patch
new file mode 100644
index 0000000000..4138e23912
--- /dev/null
+++ b/package/fio/0001-configure-add-gettid-test.patch
@@ -0,0 +1,200 @@
+From de5ed0e4d398bc9d4576f9b2b82d7686989c27e1 Mon Sep 17 00:00:00 2001
+From: Jens Axboe <axboe@kernel.dk>
+Date: Wed, 22 May 2019 17:12:55 -0600
+Subject: [PATCH] configure: add gettid() test
+
+Apparently some newer glibcs now have it, decades after the
+fact.
+
+Signed-off-by: Jens Axboe <axboe@kernel.dk>
+[Retrieved (and backported) from:
+http://git.kernel.dk/?p=fio.git;a=commit;h=de5ed0e4d398bc9d4576f9b2b82d7686989c27e1]
+Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+---
+ configure         | 18 ++++++++++++++++++
+ os/os-dragonfly.h |  2 ++
+ os/os-linux.h     |  2 ++
+ os/os-mac.h       |  2 ++
+ os/os-netbsd.h    |  2 ++
+ os/os-openbsd.h   |  2 ++
+ os/os-solaris.h   |  2 ++
+ os/os-windows.h   |  2 ++
+ os/os.h           |  2 ++
+ 9 files changed, 34 insertions(+)
+
+diff --git a/configure b/configure
+index d71387c0..ee421663 100755
+--- a/configure
++++ b/configure
+@@ -2374,6 +2374,21 @@ EOF
+ fi
+ print_config "MADV_HUGEPAGE" "$thp"
+ 
++##########################################
++# check for gettid()
++gettid="no"
++cat > $TMPC << EOF
++#include <unistd.h>
++int main(int argc, char **argv)
++{
++  return gettid();
++}
++EOF
++if compile_prog "" "" "gettid"; then
++  gettid="yes"
++fi
++print_config "gettid" "$gettid"
++
+ #############################################################################
+ 
+ if test "$wordsize" = "64" ; then
+@@ -2645,6 +2660,9 @@ fi
+ if test "$march_set" = "no" && test "$build_native" = "yes" ; then
+   output_sym "CONFIG_BUILD_NATIVE"
+ fi
++if test "$gettid" = "yes"; then
++  output_sym "CONFIG_HAVE_GETTID"
++fi
+ 
+ echo "LIBS+=$LIBS" >> $config_host_mak
+ echo "GFIO_LIBS+=$GFIO_LIBS" >> $config_host_mak
+diff --git a/os/os-dragonfly.h b/os/os-dragonfly.h
+index eb92521f..3c460ae2 100644
+--- a/os/os-dragonfly.h
++++ b/os/os-dragonfly.h
+@@ -202,10 +202,12 @@ static inline unsigned long long os_phys_mem(void)
+ 	return mem;
+ }
+ 
++#ifndef CONFIG_HAVE_GETTID
+ static inline int gettid(void)
+ {
+ 	return (int) lwp_gettid();
+ }
++#endif
+ 
+ static inline unsigned long long get_fs_free_size(const char *path)
+ {
+diff --git a/os/os-linux.h b/os/os-linux.h
+index ba58bf7d..36339ef3 100644
+--- a/os/os-linux.h
++++ b/os/os-linux.h
+@@ -124,10 +124,12 @@ static inline int ioprio_set(int which, int who, int ioprio_class, int ioprio)
+ 	return syscall(__NR_ioprio_set, which, who, ioprio);
+ }
+ 
++#ifndef CONFIG_HAVE_GETTID
+ static inline int gettid(void)
+ {
+ 	return syscall(__NR_gettid);
+ }
++#endif
+ 
+ #define SPLICE_DEF_SIZE	(64*1024)
+ 
+diff --git a/os/os-mac.h b/os/os-mac.h
+index 0b9c8707..a073300c 100644
+--- a/os/os-mac.h
++++ b/os/os-mac.h
+@@ -90,10 +90,12 @@ static inline unsigned long long os_phys_mem(void)
+ 	return mem;
+ }
+ 
++#ifndef CONFIG_HAVE_GETTID
+ static inline int gettid(void)
+ {
+ 	return mach_thread_self();
+ }
++#endif
+ 
+ /*
+  * For some reason, there's no header definition for fdatasync(), even
+diff --git a/os/os-netbsd.h b/os/os-netbsd.h
+index c06261d4..88fb3ef1 100644
+--- a/os/os-netbsd.h
++++ b/os/os-netbsd.h
+@@ -65,10 +65,12 @@ static inline unsigned long long os_phys_mem(void)
+ 	return mem;
+ }
+ 
++#ifndef CONFIG_HAVE_GETTID
+ static inline int gettid(void)
+ {
+ 	return (int) _lwp_self();
+ }
++#endif
+ 
+ static inline unsigned long long get_fs_free_size(const char *path)
+ {
+diff --git a/os/os-openbsd.h b/os/os-openbsd.h
+index 70f58b49..43a649d4 100644
+--- a/os/os-openbsd.h
++++ b/os/os-openbsd.h
+@@ -65,10 +65,12 @@ static inline unsigned long long os_phys_mem(void)
+ 	return mem;
+ }
+ 
++#ifndef CONFIG_HAVE_GETTID
+ static inline int gettid(void)
+ {
+ 	return (int)(intptr_t) pthread_self();
+ }
++#endif
+ 
+ static inline unsigned long long get_fs_free_size(const char *path)
+ {
+diff --git a/os/os-solaris.h b/os/os-solaris.h
+index 1a411af6..f1966f44 100644
+--- a/os/os-solaris.h
++++ b/os/os-solaris.h
+@@ -164,10 +164,12 @@ static inline int fio_cpuset_exit(os_cpu_mask_t *mask)
+ 	return 0;
+ }
+ 
++#ifndef CONFIG_HAVE_GETTID
+ static inline int gettid(void)
+ {
+ 	return pthread_self();
+ }
++#endif
+ 
+ /*
+  * Should be enough, not aware of what (if any) restrictions Solaris has
+diff --git a/os/os-windows.h b/os/os-windows.h
+index dc958f5c..3e9f7341 100644
+--- a/os/os-windows.h
++++ b/os/os-windows.h
+@@ -162,10 +162,12 @@ static inline unsigned long long os_phys_mem(void)
+ 	return (unsigned long long) pages * (unsigned long long) pagesize;
+ }
+ 
++#ifndef CONFIG_HAVE_GETTID
+ static inline int gettid(void)
+ {
+ 	return GetCurrentThreadId();
+ }
++#endif
+ 
+ static inline int init_random_seeds(uint64_t *rand_seeds, int size)
+ {
+diff --git a/os/os.h b/os/os.h
+index 756ece4b..e4729680 100644
+--- a/os/os.h
++++ b/os/os.h
+@@ -373,11 +373,13 @@ static inline int CPU_COUNT(os_cpu_mask_t *mask)
+ #endif
+ 
+ #ifndef FIO_HAVE_GETTID
++#ifndef CONFIG_HAVE_GETTID
+ static inline int gettid(void)
+ {
+ 	return getpid();
+ }
+ #endif
++#endif
+ 
+ #ifndef FIO_HAVE_SHM_ATTACH_REMOVED
+ static inline int shm_attach_to_open_removed(void)
+-- 
+2.17.1
+
-- 
2.23.0.rc1

^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2019-09-17 20:23 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-09-16 16:51 [Buildroot] [PATCH 1/2] package/fio: fix build with glibc 2.30 Fabrice Fontaine
2019-09-16 16:51 ` [Buildroot] [PATCH 2/2] package/fio: bump to version 3.15 Fabrice Fontaine
2019-09-17 20:23 ` [Buildroot] [PATCH 1/2] package/fio: fix build with glibc 2.30 Thomas Petazzoni

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.