aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--chapter01/changelog.xml5
-rw-r--r--chapter01/whatsnew.xml20
-rw-r--r--chapter03/patches.xml32
-rw-r--r--chapter05/glibc.xml19
-rw-r--r--chapter06/glibc.xml14
-rw-r--r--packages.ent8
-rw-r--r--patches.ent17
7 files changed, 41 insertions, 74 deletions
diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml
index f168f41d2..cacd6b2d9 100644
--- a/chapter01/changelog.xml
+++ b/chapter01/changelog.xml
@@ -40,6 +40,11 @@
<para>2012-03-26</para>
<itemizedlist>
<listitem>
+ <para>[matthew] - Upgrade to Glibc-2.15. Fixes
+ <ulink url="&lfs-ticket-root;3045">#3045</ulink>. Thanks to Andy
+ Benton for the patch.</para>
+ </listitem>
+ <listitem>
<para>[matthew] - Upgrade to GCC-4.7.0. Fixes
<ulink url="&lfs-ticket-root;3044">#3044</ulink>. Thanks to Andy
Benton for the patch.</para>
diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml
index 15439cc0a..e690e30f7 100644
--- a/chapter01/whatsnew.xml
+++ b/chapter01/whatsnew.xml
@@ -82,9 +82,9 @@
<!--<listitem>
<para>Gettext &gettext-version;</para>
</listitem>-->
- <!--<listitem>
+ <listitem>
<para>Glibc &glibc-version;</para>
- </listitem>-->
+ </listitem>
<!--<listitem>
<para>GMP &gmp-version;</para>
</listitem>-->
@@ -244,6 +244,22 @@
<para>gcc-4.6.2-startfiles_fix-1.patch</para>
</listitem>
+ <listitem>
+ <para>glibc-2.14.1-fixes-1.patch</para>
+ </listitem>
+
+ <listitem>
+ <para>glibc-2.14.1-gcc_fix-1.patch</para>
+ </listitem>
+
+ <listitem>
+ <para>glibc-2.14.1-cpuid-1.patch</para>
+ </listitem>
+
+ <listitem>
+ <para>glibc-2.14.1-sort-1.patch</para>
+ </listitem>
+
</itemizedlist>
</sect1>
diff --git a/chapter03/patches.xml b/chapter03/patches.xml
index 926dc82f3..30d45d113 100644
--- a/chapter03/patches.xml
+++ b/chapter03/patches.xml
@@ -66,38 +66,6 @@
</listitem>
</varlistentry>
- <varlistentry>
- <term>Glibc Bug Fixes Patch - <token>&glibc-fixes-patch-size;</token>:</term>
- <listitem>
- <para>Download: <ulink url="&patches-root;&glibc-fixes-patch;"/></para>
- <para>MD5 sum: <literal>&glibc-fixes-patch-md5;</literal></para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Glibc Bug Sort Relocatable Objects Patch - <token>&glibc-sort-patch-size;</token>:</term>
- <listitem>
- <para>Download: <ulink url="&patches-root;&glibc-sort-patch;"/></para>
- <para>MD5 sum: <literal>&glibc-sort-patch-md5;</literal></para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Glibc GCC Build Fix Patch - <token>&glibc-gcc_fix-patch-size;</token>:</term>
- <listitem>
- <para>Download: <ulink url="&patches-root;&glibc-gcc_fix-patch;"/></para>
- <para>MD5 sum: <literal>&glibc-gcc_fix-patch-md5;</literal></para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Glibc GCC CPUID Patch - <token>&glibc-cpuid-patch-size;</token>:</term>
- <listitem>
- <para>Download: <ulink url="&patches-root;&glibc-cpuid-patch;"/></para>
- <para>MD5 sum: <literal>&glibc-cpuid-patch-md5;</literal></para>
- </listitem>
- </varlistentry>
-
<!--
<varlistentry>
<term>GRUB Disk Geometry Patch - <token>&grub-geometry-patch-size;</token>:</term>
diff --git a/chapter05/glibc.xml b/chapter05/glibc.xml
index 26db57d2d..1a95b0935 100644
--- a/chapter05/glibc.xml
+++ b/chapter05/glibc.xml
@@ -43,14 +43,14 @@
<sect2 role="installation">
<title>Installation of Glibc</title>
- <para>Fix a bug that prevents Glibc from building with GCC-&gcc-version;:</para>
+ <para>Address a header check that fails due to an incomplete build
+ environment at this point:</para>
- <screen><userinput remap="pre">patch -Np1 -i ../&glibc-gcc_fix-patch;</userinput></screen>
+ <screen><userinput remap="pre">sed -i 's#$ac_includes_default#\n\n#' sysdeps/i386/configure</userinput></screen>
- <para>Also address a header check that fails due to an incomplete build
- environment at this point:</para>
+ <para>Fix a path that is hardcoded:</para>
- <screen><userinput remap="pre">patch -Np1 -i ../&glibc-cpuid-patch;</userinput></screen>
+ <screen><userinput remap="pre">sed -i 's#/var/db#/tools/var/db#' Makeconfig</userinput></screen>
<para>The Glibc documentation recommends building Glibc outside of the source
directory in a dedicated build directory:</para>
@@ -83,6 +83,7 @@ esac</userinput></screen>
--enable-kernel=2.6.25 \
--with-headers=/tools/include \
libc_cv_forced_unwind=yes \
+ libc_cv_ctors_header=yes \
libc_cv_c_cleanup=yes</userinput></screen>
<variablelist>
@@ -151,6 +152,14 @@ esac</userinput></screen>
cleanup handling support is configured.</para>
</listitem>
</varlistentry>
+ <varlistentry>
+ <term><parameter>libc_cv_ctors_header=yes</parameter></term>
+ <listitem>
+ <para>Simlarly, we pass libc_cv_ctors_header=yes through to the
+ <command>configure</command> script so that the test is skipped and
+ gcc constructor support is configured.</para>
+ </listitem>
+ </varlistentry>
</variablelist>
diff --git a/chapter06/glibc.xml b/chapter06/glibc.xml
index 9ff6c5559..3d106a5cc 100644
--- a/chapter06/glibc.xml
+++ b/chapter06/glibc.xml
@@ -100,20 +100,6 @@ unset DL</userinput></screen>
<screen><userinput remap="pre">sed -i 's|@BASH@|/bin/bash|' elf/ldd.bash.in</userinput></screen>
- <para>Fix a couple of bugs in Glibc that can cause crashes and core dumps:</para>
-
-<screen><userinput remap="pre">patch -Np1 -i ../&glibc-fixes-patch;
-patch -Np1 -i ../&glibc-sort-patch;</userinput></screen>
-
- <para>Fix a bug that prevents Glibc from building with GCC-&gcc-version;:</para>
-
-<screen><userinput remap="pre">patch -Np1 -i ../&glibc-gcc_fix-patch;</userinput></screen>
-
- <para>Fix a stack imbalance that occurs under some conditions:</para>
-
-<screen><userinput remap="pre">sed -i '195,213 s/PRIVATE_FUTEX/FUTEX_CLOCK_REALTIME/' \
-nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timed{rd,wr}lock.S</userinput></screen>
-
<para>The Glibc documentation recommends building Glibc outside of the source
directory in a dedicated build directory:</para>
diff --git a/packages.ent b/packages.ent
index bf85a7653..9163db3a8 100644
--- a/packages.ent
+++ b/packages.ent
@@ -201,10 +201,10 @@
<!ENTITY gettext-ch6-du "125 MB">
<!ENTITY gettext-ch6-sbu "5.8 SBU">
-<!ENTITY glibc-version "2.14.1">
-<!ENTITY glibc-size "15,284 KB">
-<!ENTITY glibc-url "&gnu;glibc/glibc-&glibc-version;.tar.bz2">
-<!ENTITY glibc-md5 "5869a2620c6917dd392289864c6ce595">
+<!ENTITY glibc-version "2.15">
+<!ENTITY glibc-size "10,039 KB">
+<!ENTITY glibc-url "&gnu;glibc/glibc-&glibc-version;.tar.xz">
+<!ENTITY glibc-md5 "4f9f3b0e780a8c7179a372d34e9452bc">
<!ENTITY glibc-home "&gnu-software;libc/">
<!ENTITY glibc-ch5-du "501 MB">
<!ENTITY glibc-ch5-sbu "5.5 SBU">
diff --git a/patches.ent b/patches.ent
index 684e0c442..d052e1089 100644
--- a/patches.ent
+++ b/patches.ent
@@ -36,23 +36,6 @@
<!ENTITY gcc-startfiles-patch-size "1.5 KB">
-<!ENTITY glibc-fixes-patch "glibc-&glibc-version;-fixes-1.patch">
-<!ENTITY glibc-fixes-patch-md5 "13bdfb7db1654d9c3d7934d24479a6c4">
-<!ENTITY glibc-fixes-patch-size "5.5 KB">
-
-<!ENTITY glibc-gcc_fix-patch "glibc-&glibc-version;-gcc_fix-1.patch">
-<!ENTITY glibc-gcc_fix-patch-md5 "d1f28cb98acb9417fe52596908bbb9fd">
-<!ENTITY glibc-gcc_fix-patch-size "2.5 KB">
-
-<!ENTITY glibc-cpuid-patch "glibc-&glibc-version;-cpuid-1.patch">
-<!ENTITY glibc-cpuid-patch-md5 "4f110dc9c8d4754fbda841492ce796b4">
-<!ENTITY glibc-cpuid-patch-size "0.8 KB">
-
-<!ENTITY glibc-sort-patch "glibc-&glibc-version;-sort-1.patch">
-<!ENTITY glibc-sort-patch-md5 "740e71017059a4290761db0cc9dd63f3">
-<!ENTITY glibc-sort-patch-size "8.0 KB">
-
-
<!ENTITY grub-inode-patch "grub-&grub-version;-256byte_inode-1.patch">
<!ENTITY grub-inode-patch-md5 "2482bef9c1866b4045767a56268ba673">
<!ENTITY grub-inode-patch-size "4.8 KB">