View Bug Activity | Format For Printing
Recently, Hiroki Kaminaga reported a build failure on powerpc on libc-help: http://sourceware.org/ml/libc-help/2008-04/msg00002.html This happens when building using the option '--enable-kernel=<version>', where <version> is 2.6.22 or higher. Investigation shows that this happens because a missing __ASSUME_PRIVATE_FUTEX guard around the usage of struct pthread's struct header, private_futex member.
The following patch is part of a patch that was submitted by Hiroki Kaminaga to libc-help on April 28, 2008. Here's a summary of the analysis I performed upon his original patch which excludes the necessity of adding tcbhead_t.private_futex in nptl/sysdeps/powerpc/tls.h http://sourceware.org/ml/libc-help/2008-07/msg00042.html I've attached a ChangeLog. 2008-04-28 Hiroki Kaminaga <kaminaga@sm.sony.co.jp> [BZ 6740] nptl/sysdeps/powerpc/tcb-offsets.sym (PRIVATE_FUTEX_OFFSET): Guard sym definition with #ifndef __ASSUME_PRIVATE_FUTEX. --- a/nptl/sysdeps/powerpc/tcb-offsets.sym +++ b/nptl/sysdeps/powerpc/tcb-offsets.sym @@ -15,4 +15,6 @@ MULTIPLE_THREADS_OFFSET thread_offsetof PID thread_offsetof (pid) TID thread_offsetof (tid) POINTER_GUARD (offsetof (tcbhead_t, pointer_guard) - TLS_TCB_OFFSET - sizeof (tcbhead_t)) +#ifndef __ASSUME_PRIVATE_FUTEX PRIVATE_FUTEX_OFFSET thread_offsetof (header.private_futex) +#endif
Build completed successfully with '--enable-kernel=2.6.22' using the previously attached patch.
link to libc-alpha posting where this is submitted: http://www.sourceware.org/ml/libc-alpha/2008-07/msg00021.html
Fixed in cvs.