瀏覽代碼

Upgrade to Glibc-2.15. Fixes #3045.

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@9787 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
Matthew Burgess 13 年之前
父節點
當前提交
0c0d7c1812
共有 7 個文件被更改,包括 41 次插入74 次删除
  1. 5 0
      chapter01/changelog.xml
  2. 18 2
      chapter01/whatsnew.xml
  3. 0 32
      chapter03/patches.xml
  4. 14 5
      chapter05/glibc.xml
  5. 0 14
      chapter06/glibc.xml
  6. 4 4
      packages.ent
  7. 0 17
      patches.ent

+ 5 - 0
chapter01/changelog.xml

@@ -39,6 +39,11 @@
     <listitem>
       <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

+ 18 - 2
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>

+ 0 - 32
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>

+ 14 - 5
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>
 

+ 0 - 14
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>
 

+ 4 - 4
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">

+ 0 - 17
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">