Add a sed to glibc to fix the constants passed to futex(2) in 32-bit builds. Seems to fix testsuite hangs (the tst-mutex9 process never exits, for instance).

This change is in upstream git, so this can be reverted once we upgrade glibc.



git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@8944 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
This commit is contained in:
Bryan Kadzban 2009-06-12 05:25:14 +00:00
parent 8e66c9dc50
commit 2594b0a146
3 changed files with 29 additions and 0 deletions

View File

@ -37,6 +37,17 @@
-->
<listitem>
<para>2009-06-11</para>
<itemizedlist>
<listitem>
<para>[bryan] - Add a sed to glibc to fix the constants passed
to futex(2) in 32-bit builds with certain --enable-kernel values,
including our 2.6.18.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>2009-06-06</para>
<itemizedlist>

View File

@ -43,6 +43,16 @@
<sect2 role="installation">
<title>Installation of Glibc</title>
<!-- This sed can be removed for any glibc newer than 2.10.1 (along with the
matching sed in chapter 6). See glibc bug 10262. -->
<para>Fix an error in the constants that get passed to the futex system
call in some cases, causing certain pthread_mutex operations to fail:</para>
<screen><userinput remap="pre">cp nptl/sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S{,.orig}
sed -e 's/FUTEX_WAIT\( | FUTEX_CLOCK_REALTIME, reg\)/FUTEX_WAIT_BITSET\1/' \
&lt;nptl/sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S.orig \
&gt;nptl/sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S</userinput></screen>
<para>The Glibc documentation recommends building Glibc outside of the source
directory in a dedicated build directory:</para>

View File

@ -108,6 +108,14 @@ unset DL</userinput></screen>
sed -i '/tst-fgetws-ENV/ a\
tst-fgetwc-ENV = LOCPATH=$(common-objpfx)localedata' libio/Makefile</userinput></screen>
<!-- This sed can be removed for any glibc newer than 2.10.1 (along with the
matching sed in chapter 5). See glibc bug 10262. -->
<para>Fix an error in the constants that get passed to the futex system
call in some cases, causing certain pthread_mutex operations to fail:</para>
<screen><userinput remap="pre">sed -i -e 's/FUTEX_WAIT\( | FUTEX_CLOCK_REALTIME, reg\)/FUTEX_WAIT_BITSET\1/' \
nptl/sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S</userinput></screen>
<para>The Glibc documentation recommends building Glibc outside of the source
directory in a dedicated build directory:</para>