Author: bryan
Date: 2009-06-11 23:25:14 -0600 (Thu, 11 Jun 2009)
New Revision: 8944

Modified:
   trunk/BOOK/chapter01/changelog.xml
   trunk/BOOK/chapter05/glibc.xml
   trunk/BOOK/chapter06/glibc.xml
Log:
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.



Modified: trunk/BOOK/chapter01/changelog.xml
===================================================================
--- trunk/BOOK/chapter01/changelog.xml  2009-06-12 05:20:23 UTC (rev 8943)
+++ trunk/BOOK/chapter01/changelog.xml  2009-06-12 05:25:14 UTC (rev 8944)
@@ -38,6 +38,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>
         <listitem>

Modified: trunk/BOOK/chapter05/glibc.xml
===================================================================
--- trunk/BOOK/chapter05/glibc.xml      2009-06-12 05:20:23 UTC (rev 8943)
+++ trunk/BOOK/chapter05/glibc.xml      2009-06-12 05:25:14 UTC (rev 8944)
@@ -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>
 

Modified: trunk/BOOK/chapter06/glibc.xml
===================================================================
--- trunk/BOOK/chapter06/glibc.xml      2009-06-12 05:20:23 UTC (rev 8943)
+++ trunk/BOOK/chapter06/glibc.xml      2009-06-12 05:25:14 UTC (rev 8944)
@@ -108,6 +108,14 @@
 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>
 

-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-book
FAQ: http://www.linuxfromscratch.org/lfs/faq.html
Unsubscribe: See the above information page

Reply via email to