summaryrefslogtreecommitdiffstats
path: root/src/liblzma/common/hardware_cputhreads.c
blob: 5d246d2cc0831b7b7ef741a97296591ad4a8150d (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
///////////////////////////////////////////////////////////////////////////////
//
/// \file       hardware_cputhreads.c
/// \brief      Get the number of CPU threads or cores
//
//  Author:     Lasse Collin
//
//  This file has been put into the public domain.
//  You can do whatever you want with this file.
//
///////////////////////////////////////////////////////////////////////////////

#include "common.h"

#include "tuklib_cpucores.h"


#ifdef HAVE_SYMBOL_VERSIONS_LINUX
// This is for compatibility with binaries linked against liblzma that
// has been patched with xz-5.2.2-compat-libs.patch from RHEL/CentOS 7.
LZMA_SYMVER_API("lzma_cputhreads@XZ_5.2.2",
	uint32_t, lzma_cputhreads_522)(void) lzma_nothrow
		__attribute__((__alias__("lzma_cputhreads_52")));

LZMA_SYMVER_API("lzma_cputhreads@@XZ_5.2",
	uint32_t, lzma_cputhreads_52)(void) lzma_nothrow;

#define lzma_cputhreads lzma_cputhreads_52
#endif
extern LZMA_API(uint32_t)
lzma_cputhreads(void)
{
	return tuklib_cpucores();
}