[x264-devel] [PATCH] CPU_COUNT only appeared in glibc 2.6
Rafaël Carré
rafael.carre at gmail.com
Tue Aug 9 07:57:40 CEST 2011
---
Hi,
this patch should fix compilation with ancient glibc
common/cpu.c | 12 +++++++++++-
1 files changed, 11 insertions(+), 1 deletions(-)
diff --git a/common/cpu.c b/common/cpu.c
index 6185782..59d9724 100644
--- a/common/cpu.c
+++ b/common/cpu.c
@@ -366,7 +366,17 @@ int x264_cpu_num_processors( void )
#elif SYS_LINUX
cpu_set_t p_aff;
- return sched_getaffinity( 0, sizeof(p_aff), &p_aff ) ? 1 : CPU_COUNT(&p_aff);
+ if( sched_getaffinity( 0, sizeof(p_aff), &p_aff ) )
+ return 1;
+#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 6)
+ return CPU_COUNT(&p_aff);
+#else
+ unsigned int bit;
+ int np;
+ for( np = 0, bit = 0; bit < sizeof(p_aff); bit++ )
+ np += (((uint8_t *)&p_aff)[bit / 8] >> (bit % 8)) & 1;
+ return np;
+#endif /* GLIBC */
#elif SYS_BEOS
system_info info;
--
1.7.5.4
More information about the x264-devel
mailing list