31 lines
821 B
Diff
31 lines
821 B
Diff
diff --git a/libstdc++-v3/src/c++11/futex.cc b/libstdc++-v3/src/c++11/futex.cc
|
|
index 698737d9b21..230d32574c6 100644
|
|
--- a/libstdc++-v3/src/c++11/futex.cc
|
|
+++ b/libstdc++-v3/src/c++11/futex.cc
|
|
@@ -46,13 +46,23 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|
|
|
namespace
|
|
{
|
|
+#if defined(SYS_futex_time64) && SYS_futex_time64 != SYS_futex
|
|
+ typedef struct
|
|
+ {
|
|
+ long tv_sec;
|
|
+ long tv_nsec;
|
|
+ } sys_timespec;
|
|
+#else
|
|
+ typedef struct timespec sys_timespec;
|
|
+#endif
|
|
+
|
|
// Return the relative duration from (now_s + now_ns) to (abs_s + abs_ns)
|
|
// as a timespec.
|
|
- struct timespec
|
|
+ sys_timespec
|
|
relative_timespec(chrono::seconds abs_s, chrono::nanoseconds abs_ns,
|
|
time_t now_s, long now_ns)
|
|
{
|
|
- struct timespec rt;
|
|
+ sys_timespec rt;
|
|
|
|
// Did we already time out?
|
|
if (now_s > abs_s.count())
|