aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--chapter01/changelog.xml11
-rw-r--r--chapter05/glibc.xml10
-rw-r--r--chapter06/glibc.xml8
3 files changed, 29 insertions, 0 deletions
diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml
index 0f454eb96..b7799ba2a 100644
--- a/chapter01/changelog.xml
+++ b/chapter01/changelog.xml
@@ -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>
diff --git a/chapter05/glibc.xml b/chapter05/glibc.xml
index 23255dfa2..e6738437f 100644
--- a/chapter05/glibc.xml
+++ b/chapter05/glibc.xml
@@ -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>
diff --git a/chapter06/glibc.xml b/chapter06/glibc.xml
index 7089efbf0..9aee47585 100644
--- a/chapter06/glibc.xml
+++ b/chapter06/glibc.xml
@@ -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>