- Timestamp:
- 03/14/2005 05:50:17 AM (20 years ago)
- Children:
- 186416d
- Parents:
- 7862089
- Location:
- chapter05
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
chapter05/binutils-pass1.xml
r7862089 rda5dcd8 56 56 <para>Now prepare Binutils for compilation:</para> 57 57 58 <screen><userinput>../binutils-&binutils-version;/configure --prefix=/tools \ 59 --disable-nls</userinput></screen> 58 <screen><userinput>../binutils-&binutils-version;/configure --prefix=/tools --disable-nls</userinput></screen> 60 59 61 60 <para>The meaning of the configure options:</para> … … 70 69 <varlistentry> 71 70 <term><parameter>--disable-nls</parameter></term> 72 <listitem><para>This disables internationalization. This is not needed 73 for the static programs, and NLS can cause problems when linking 74 statically.</para></listitem> 71 <listitem><para>This disables internationalization. This is not needed for the 72 temporary tools.</para></listitem> 75 73 </varlistentry> 76 74 </variablelist> … … 78 76 <para>Continue with compiling the package:</para> 79 77 80 <screen><userinput>make configure-host 81 make LDFLAGS="-all-static"</userinput></screen> 82 83 <para>The meaning of the make parameters:</para> 84 85 <variablelist> 86 <varlistentry> 87 <term><parameter>configure-host</parameter></term> 88 <listitem><para>This forces all subdirectories to be configured 89 immediately. A statically-linked build will fail without it. Use this 90 option to work around the problem.</para></listitem> 91 </varlistentry> 92 93 <varlistentry> 94 <term><parameter>LDFLAGS="-all-static"</parameter></term> 95 <listitem><para>This tells the linker that all Binutils programs 96 should be linked statically. However, strictly speaking, 97 <parameter>"-all-static"</parameter> is passed to the 98 <command>libtool</command> program, which then passes 99 <parameter>"-static"</parameter> to the linker.</para></listitem> 100 </varlistentry> 101 </variablelist> 78 <screen><userinput>make</userinput></screen> 102 79 103 80 <para>Compilation is now complete. Ordinarily we would now run the … … 116 93 117 94 <screen><userinput>make -C ld clean 118 make -C ld L DFLAGS="-all-static" LIB_PATH=/tools/lib</userinput></screen>95 make -C ld LIB_PATH=/tools/lib</userinput></screen> 119 96 120 97 <para>The meaning of the make parameters:</para> … … 129 106 130 107 <varlistentry> 131 <term><parameter>-C ld LDFLAGS="-all-static" 132 LIB_PATH=/tools/lib</parameter></term> 108 <term><parameter>-C ld LIB_PATH=/tools/lib</parameter></term> 133 109 <listitem><para>This option rebuilds everything in the 134 110 <filename class="directory">ld</filename> subdirectory. Specifying -
chapter05/gcc-pass1.xml
r7862089 rda5dcd8 65 65 <varlistentry> 66 66 <term><parameter>--enable-shared</parameter></term> 67 <listitem><para>This switch may seem counter-intuitive at first. 68 However, this switch allows the building of 67 <listitem><para>This switch allows the building of 69 68 <filename class="libraryfile">libgcc_s.so.1</filename> and 70 <filename class="libraryfile">libgcc_eh.a</filename>, and having 71 <filename class="libraryfile">libgcc_eh.a</filename> available ensures that the configure 72 script for Glibc (the next package we compile) produces the proper 73 results. Note that the GCC binaries will still be linked statically 74 because this is controlled by the <parameter>-static</parameter> value of 75 the <envar>BOOT_LDFLAGS</envar> variable in the next 76 step.</para></listitem> 69 <filename class="libraryfile">libgcc_eh.a</filename>. Having 70 <filename class="libraryfile">libgcc_eh.a</filename> available ensures that the 71 configure script for Glibc (the next package we compile) produces the proper 72 results.</para></listitem> 77 73 </varlistentry> 78 74 … … 88 84 <para>Continue with compiling the package:</para> 89 85 90 <screen><userinput>make BOOT_LDFLAGS="-static"bootstrap</userinput></screen>86 <screen><userinput>make bootstrap</userinput></screen> 91 87 92 88 <para>The meaning of the make parameters:</para> 93 89 94 90 <variablelist> 95 <varlistentry>96 <term><parameter>BOOT_LDFLAGS="-static"</parameter></term>97 <listitem><para>This tells GCC to link its programs statically.</para></listitem>98 </varlistentry>99 100 91 <varlistentry> 101 92 <term><parameter>bootstrap</parameter></term> -
chapter05/toolchaintechnotes.xml
r7862089 rda5dcd8 179 179 180 180 181 <sect2> 181 <!-- Removed as part of the fix for bug 1061 - we no longer build pass1 182 packages statically, therefore this explanation isn't required --> 183 184 <!--<sect2> 182 185 <title>Notes on Static Linking</title> 183 186 … … 222 225 achieved when the first two packages are built dynamically.</para> 223 226 224 </sect2> 227 </sect2>--> 225 228 226 229 </sect1>
Note:
See TracChangeset
for help on using the changeset viewer.