mirror of
https://github.com/abseil/abseil-cpp.git
synced 2026-06-04 12:07:05 +08:00
PR #1918: base: add musl + ppc64le fallback for UnscaledCycleClock::Frequency
Imported from GitHub PR https://github.com/abseil/abseil-cpp/pull/1918 Fixes build failures on ppc64le with musl libc, where UnscaledCycleClock::Frequency() had no implementation. This patch adds a fallback for __linux__ + __powerpc64__ when glibc is not present, using a constant 512 MHz timebase frequency. This matches the existing AIX implementation and unblocks projects like Node.js/V8 from building on Alpine Linux (musl). Tested by building Node.js 24.x on ppc64le + musl. Issue- https://github.com/abseil/abseil-cpp/issues/1917 Mergeaa7e63a4ffinto274c81389fMerging this change closes #1918 COPYBARA_INTEGRATE_REVIEW=https://github.com/abseil/abseil-cpp/pull/1918 from sandeepgupta12:masteraa7e63a4ffPiperOrigin-RevId: 794579241 Change-Id: I16b9bcb48dc9ff7c1f1fcf9b31ceb5f20dadf3ec
This commit is contained in:
committed by
Copybara-Service
parent
274c81389f
commit
8e7767542c
@@ -85,6 +85,10 @@ int64_t UnscaledCycleClock::Now() {
|
||||
double UnscaledCycleClock::Frequency() {
|
||||
#ifdef __GLIBC__
|
||||
return __ppc_get_timebase_freq();
|
||||
#elif defined(__linux__)
|
||||
// Fallback for musl + ppc64le: use constant timebase frequency (512 MHz)
|
||||
// Must come after __GLIBC__.
|
||||
return static_cast<double>(512000000);
|
||||
#elif defined(_AIX)
|
||||
// This is the same constant value as returned by
|
||||
// __ppc_get_timebase_freq().
|
||||
|
||||
Reference in New Issue
Block a user