r1160 - in trunk/BOOK: . chapter01 chapter05

robert at linuxfromscratch.org robert at linuxfromscratch.org
Thu Jun 14 00:20:42 PDT 2007


Author: robert
Date: 2007-06-14 01:20:41 -0600 (Thu, 14 Jun 2007)
New Revision: 1160

Modified:
   trunk/BOOK/chapter01/changelog.xml
   trunk/BOOK/chapter05/cocoon-toolchain.xml
   trunk/BOOK/general.ent
Log:
Link the uClibc cocoon toolchain to libssp.a, to work around issues of having programs/libraries linked to both the host system's and /tools C libraries at the same time

Modified: trunk/BOOK/chapter01/changelog.xml
===================================================================
--- trunk/BOOK/chapter01/changelog.xml	2007-06-12 16:49:08 UTC (rev 1159)
+++ trunk/BOOK/chapter01/changelog.xml	2007-06-14 07:20:41 UTC (rev 1160)
@@ -49,6 +49,17 @@
 -->
 
     <listitem>
+      <para>June 14th, 2007</para>
+      <itemizedlist>
+        <listitem>
+          <para>[robert]: Link the uClibc cocoon toolchain to libssp.a, to
+          work around issues of having programs/libraries linked to both
+          the host system's and /tools C libraries at the same time.</para>
+        </listitem>
+      </itemizedlist>
+    </listitem>
+
+    <listitem>
       <para>June 12th, 2007</para>
       <itemizedlist>
         <listitem>

Modified: trunk/BOOK/chapter05/cocoon-toolchain.xml
===================================================================
--- trunk/BOOK/chapter05/cocoon-toolchain.xml	2007-06-12 16:49:08 UTC (rev 1159)
+++ trunk/BOOK/chapter05/cocoon-toolchain.xml	2007-06-14 07:20:41 UTC (rev 1160)
@@ -123,6 +123,31 @@
 
 <screen role="ssp"><userinput>patch -Np1 -i ../&gcc-fstack_protector-patch;</userinput></screen>
 
+    <para condition="uclibc" role="ssp">Under uClibc we're using GCC's
+    <filename class="libraryfile">libssp</filename> for SSP and
+    _FORTIFY_SOURCE library functions. The GCC we are building now will link
+    the <filename class="libraryfile">libstdc++</filename> library, and
+    others, to the existing <filename class="libraryfile">libssp</filename>
+    in <filename class="directory">/tools/lib</filename>. The
+    <filename class="libraryfile">libssp.so</filename> library in
+    <filename class="directory">/tools/lib</filename> is linked to the host
+    system's C library. This is going to cause a problem when the
+    <filename class="libraryfile">libstdc++</filename> library, and others,
+    are linked to two different C libraries. The following commands will remove
+    the shared <filename class="libraryfile">libssp.so</filename> library and
+    replace it with a symbolic link to the static version, and create an empty
+    archive to replace
+    <filename class="libraryfile">libssp_nonshared.a</filename>. This is only
+    temporary. After we run <command>make install</command>, later on this
+    page, we will be able to use the new
+    <filename class="libraryfile">libssp.so</filename> shared library when
+    building the rest of this chapter, and the toolchain in the next chapter:</para>
+
+<screen condition="uclibc" role="ssp"><userinput>rm -v /tools/lib/libssp.so*
+rm -v /tools/lib/libssp_nonshared.a
+ln -vs libssp.a /tools/lib/libssp.so
+ar -r /tools/lib/libssp_nonshared.a</userinput></screen>
+
     <para role="aslr">This patch adds
     <parameter>-fPIE -pie -Wl,-z,relro -Wl,-z,now -Wl,-z,combreloc</parameter>
     to GCC's default behaviour for C, C++, ObjC, and ObjC++. The

Modified: trunk/BOOK/general.ent
===================================================================
--- trunk/BOOK/general.ent	2007-06-12 16:49:08 UTC (rev 1159)
+++ trunk/BOOK/general.ent	2007-06-14 07:20:41 UTC (rev 1160)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
-<!ENTITY version "SVN-20070612">
-<!ENTITY releasedate "June 12th, 2007">
+<!ENTITY version "SVN-20070614">
+<!ENTITY releasedate "June 14th, 2007">
 <!ENTITY milestone "1.1">
 
 <!ENTITY lfs-root "http://www.linuxfromscratch.org/">




More information about the hlfs-book mailing list