aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthew Burgess <matthew@linuxfromscratch.org>2005-08-14 13:46:05 +0000
committerMatthew Burgess <matthew@linuxfromscratch.org>2005-08-14 13:46:05 +0000
commit1b45909c970a5ba70eab3fcb274e6bbca18e453b (patch)
tree0e552f377919488e2d0468bfc9b56f02675509f5
parentc9858bbf50a6fc4e8571de5e46a659c43a62d5dc (diff)
Added sed to force -fomit-frame-pointer on non-bootstrap GCC builds
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/gcc4/BOOK@6682 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
-rw-r--r--chapter01/changelog.xml3
-rw-r--r--chapter05/gcc-pass2.xml8
-rw-r--r--chapter06/gcc.xml8
-rw-r--r--general.ent4
4 files changed, 21 insertions, 2 deletions
diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml
index 4a5556e80..59460dfaf 100644
--- a/chapter01/changelog.xml
+++ b/chapter01/changelog.xml
@@ -117,6 +117,9 @@ First a summary, then a detailed log.</para>
</itemizedlist>
</listitem>
+<listitem><para>August 14th, 2005 [matt]: Add sed to chapter05/gcc-pass2 and chapter06/gcc to ensure they get built with -fomit-frame-pointer so it matches the
+bootstrap build in chapter05/gcc-pass1 (fixes bug 1609).</para></listitem>
+
<listitem><para>August 12th, 2005 [matt]: Explain that libiconv isn't required
on an LFS system (fixes bug 1614).</para></listitem>
diff --git a/chapter05/gcc-pass2.xml b/chapter05/gcc-pass2.xml
index d9436462d..85ba18847 100644
--- a/chapter05/gcc-pass2.xml
+++ b/chapter05/gcc-pass2.xml
@@ -76,6 +76,14 @@ system.</para>
<screen><userinput>sed -i 's@\(^NATIVE_SYSTEM_HEADER_DIR =\).*@\1 /tools/include@g' \
gcc/Makefile.in</userinput></screen>
+<para>The bootstrap build performed in <xref linkend="ch-tools-gcc-pass1"/>
+built GCC with the <option>-fomit-frame-pointer</option> compiler flag.
+Non-bootstrap builds omit this flag by default, so apply the following
+<command>sed</command> to use it in order to ensure consistent compiler builds.
+</para>
+
+<screen><userinput>sed -i 's/^XCFLAGS =/&amp; -fomit-frame-pointer/' gcc/Makefile.in</userinput></screen>
+
<para>Apply the following patch to change the location of GCC's default dynamic
linker (typically <filename class="libraryfile">ld-linux.so.2</filename>):</para>
diff --git a/chapter06/gcc.xml b/chapter06/gcc.xml
index 6865b4510..6906028b8 100644
--- a/chapter06/gcc.xml
+++ b/chapter06/gcc.xml
@@ -45,6 +45,14 @@ Binutils will be used instead:</para>
<screen><userinput>sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in</userinput></screen>
+<para>The bootstrap build performed in <xref linkend="ch-tools-gcc-pass1"/>
+built GCC with the <option>-fomit-frame-pointer</option> compiler flag.
+Non-bootstrap builds omit this flag by default, so apply the following
+<command>sed</command> to use it in order to ensure consistent compiler builds.
+</para>
+
+<screen><userinput>sed -i 's/^XCFLAGS =/&amp; -fomit-frame-pointer/' gcc/Makefile.in</userinput></screen>
+
<para>The GCC documentation recommends building GCC outside of the source
directory in a dedicated build directory:</para>
diff --git a/general.ent b/general.ent
index b15851782..2e984d4d4 100644
--- a/general.ent
+++ b/general.ent
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
-<!ENTITY version "GCC4-20050812">
-<!ENTITY releasedate "August 12, 2005">
+<!ENTITY version "GCC4-20050814">
+<!ENTITY releasedate "August 14, 2005">
<!ENTITY milestone "6.2">
<!ENTITY generic-version "gcc4"> <!-- Use "svn", "testing", or "x.y[-pre{x}]" -->