Yuqian Yang, le ven. 07 févr. 2025 23:33:11 +0800, a ecrit:
> gettid is not available on GNU/Hurd and not defined in
> glibc. It is specific to Linux for its thread
> implementation, while GNU/Hurd uses a different one.
> Without a definition, compiling libgav1 on GNU/Hurd
> will result in an error of undeclared function.
> 
> In commit f06328bf, we have already fixed a mistake
> usage of a pthread api on GNU/Hurd. The reason why
> this error is not noticed might be that abseil has
> failed to build on GNU/Hurd for a long time,
> therefore libgav1 might have not been compiled once
> as well.
> 
> Change-Id: Id0a8f8dbd7660d4dbd0f2968b670d439a273fe20
> Signed-off-by: Yuqian Yang <crup...@crupest.life>
> ---
>  src/utils/threadpool.cc | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/src/utils/threadpool.cc b/src/utils/threadpool.cc
> index ad79ba2..048ad59 100644
> --- a/src/utils/threadpool.cc
> +++ b/src/utils/threadpool.cc
> @@ -44,7 +44,7 @@
>  // Linux.
>  #if defined(__ANDROID__)
>  static pid_t GetTid() { return gettid(); }
> -#elif defined(__GLIBC__)
> +#elif defined(__GLIBC__) && !defined(__GNU__)

Yes, that will be fine.

>  // The glibc wrapper for the gettid() system call was added in glibc 2.30.
>  // Emulate it for older versions of glibc.
>  #if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 30)
> @@ -54,7 +54,7 @@ static pid_t GetTid() { return gettid(); }
>  
>  static pid_t GetTid() { return static_cast<pid_t>(syscall(SYS_gettid)); }
>  #endif  // glibc 2.30 or later.
> -#endif  // defined(__GLIBC__)
> +#endif  // defined(__GLIBC__) && !defined(__GNU__)
>  
>  namespace libgav1 {
>  
> -- 
> Yuqian Yang <crup...@crupest.life>

Reply via email to