Changeset 8404
- Timestamp:
- 10/06/07 19:57:26 (1 year ago)
- Files:
-
- branches/jh/BOOK/chapter01/changelog.xml (modified) (1 diff)
- branches/jh/BOOK/chapter05/gcc-pass1.xml (modified) (2 diffs)
- branches/jh/BOOK/chapter05/gcc-pass2.xml (modified) (3 diffs)
- branches/jh/BOOK/chapter06/gcc.xml (modified) (2 diffs)
- branches/jh/BOOK/general.ent (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
branches/jh/BOOK/chapter01/changelog.xml
r8401 r8404 38 38 39 39 <listitem> 40 <para>2007-10-06</para> 41 <itemizedlist> 42 <listitem> 43 <para>[jhuntwork] - Moved GCC's bootstrap to pass 2.</para> 44 </listitem> 45 </itemizedlist> 46 </listitem> 47 48 <listitem> 40 49 <para>2007-10-05</para> 41 50 <itemizedlist> branches/jh/BOOK/chapter05/gcc-pass1.xml
r8392 r8404 54 54 <screen><userinput remap="configure">CC="gcc -B/usr/bin/" ../gcc-&gcc-version;/configure --prefix=/tools \ 55 55 --with-local-prefix=/tools --disable-nls --disable-shared \ 56 --enable-languages=c --disable-multilib</userinput></screen> 56 --enable-languages=c --disable-multilib \ 57 --disable-bootstrap</userinput></screen> 57 58 58 59 <variablelist> … … 103 104 </varlistentry> 104 105 106 <varlistentry> 107 <term><parameter>--disable-bootstrap</parameter></term> 108 <listitem> 109 <para>Bootstrapping the compiler is now the default for GCC. However, 110 bootstrapping now would mean using our new Binutils to link against 111 the host's libc, which in some cases produces unexpected results.</para> 112 </listitem> 113 </varlistentry> 114 105 115 </variablelist> 106 116 107 <para>The following command will compile GCC not once, but several times. It 108 uses the programs compiled in a first round to compile itself a second time, 109 and then again a third time. It then compares these second and third compiles 110 to make sure it can reproduce itself flawlessly. This is called 111 <quote>bootstrapping</quote>. Building GCC in this way ensures that it was 112 compiled correctly and is now the default configuration for the released 113 package. Continue with compiling by running:</para> 117 <para>Continue with compiling by running:</para> 114 118 115 119 <screen><userinput remap="make">make</userinput></screen> branches/jh/BOOK/chapter05/gcc-pass2.xml
r8392 r8404 80 80 <screen><userinput remap="pre">cp -v gcc/Makefile.in{,.orig} 81 81 sed 's@\./fixinc\.sh@-c true@' gcc/Makefile.in.orig > gcc/Makefile.in</userinput></screen> 82 83 <para>The bootstrap build performed in <xref linkend="ch-tools-gcc-pass1"/>84 built GCC with the <option>-fomit-frame-pointer</option> compiler flag.85 Non-bootstrap builds omit this flag by default, so apply the following86 <command>sed</command> to use it in order to ensure consistent compiler87 builds:</para>88 89 <screen><userinput remap="pre">cp -v gcc/Makefile.in{,.tmp}90 sed 's/^XCFLAGS =$/& -fomit-frame-pointer/' gcc/Makefile.in.tmp \91 > gcc/Makefile.in</userinput></screen>92 82 93 83 <para>The following command will change the location of GCC's default … … 147 137 --enable-shared --enable-threads=posix \ 148 138 --enable-__cxa_atexit --enable-languages=c,c++ \ 149 --disable-libstdcxx-pch --disable-multilib \ 150 --disable-bootstrap</userinput></screen> 139 --disable-libstdcxx-pch --disable-multilib</userinput></screen> 151 140 152 141 <variablelist> … … 203 192 </varlistentry> 204 193 205 <varlistentry>206 <term><parameter>--disable-bootstrap</parameter></term>207 <listitem>208 <para>Bootstrapping the compiler is now the default for GCC. However,209 our build method should provide us with a solid compiler without the210 need to bootstrap each time.</para>211 </listitem>212 </varlistentry>213 214 194 </variablelist> 215 195 216 <para>Compile the package:</para> 196 <para>The following command will compile GCC not once, but several times. It 197 uses the programs compiled in a first round to compile itself a second time, 198 and then again a third time. It then compares these second and third compiles 199 to make sure it can reproduce itself flawlessly. This is called 200 <quote>bootstrapping</quote>. Building GCC in this way ensures that it was 201 compiled correctly and is now the default configuration for the released 202 package. Continue with compiling by running:</para> 217 203 218 204 <screen><userinput remap="make">make</userinput></screen> 219 220 <para>There is no need to use the <parameter>bootstrap</parameter> target221 now because the compiler being used to compile this GCC was built from222 the exact same version of the GCC sources used earlier.</para>223 205 224 206 <para>Compilation is now complete. As previously mentioned, running the test branches/jh/BOOK/chapter06/gcc.xml
r8392 r8404 49 49 <screen><userinput remap="pre">sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in</userinput></screen> 50 50 51 <para>The bootstrap build performed in <xref linkend="ch-tools-gcc-pass1"/> 51 <para>For x86 machines, the bootstrap build performed in 52 <xref linkend="ch-tools-gcc-pass2"/> 52 53 built GCC with the <option>-fomit-frame-pointer</option> compiler flag. 53 54 Non-bootstrap builds omit this flag by default, so apply the following … … 55 56 builds:</para> 56 57 57 <screen><userinput remap="pre">sed -i 's/^XCFLAGS =$/& -fomit-frame-pointer/' gcc/Makefile.in</userinput></screen> 58 <screen><userinput remap="pre">case `uname -m` in 59 i?86) sed -i 's/^XCFLAGS =$/& -fomit-frame-pointer/' \ 60 gcc/Makefile.in ;; 61 esac</userinput></screen> 58 62 59 63 <para>The <command>fixincludes</command> script is known to occasionally branches/jh/BOOK/general.ent
r8401 r8404 1 1 <?xml version="1.0" encoding="ISO-8859-1"?> 2 <!ENTITY version "SVN-JH-2007100 5">3 <!ENTITY releasedate "October 5, 2007">2 <!ENTITY version "SVN-JH-20071006"> 3 <!ENTITY releasedate "October 6, 2007"> 4 4 <!ENTITY milestone "7.0"> 5 5 <!ENTITY generic-version "development"> <!-- Use "development", "testing", or "x.y[-pre{x}]" -->
