Changeset 81109e3 for chapter05/binutils-pass1.xml
- Timestamp:
- 01/17/2006 07:37:53 PM (18 years ago)
- Branches:
- 10.0, 10.0-rc1, 10.1, 10.1-rc1, 11.0, 11.0-rc1, 11.0-rc2, 11.0-rc3, 11.1, 11.1-rc1, 11.2, 11.2-rc1, 11.3, 11.3-rc1, 12.0, 12.0-rc1, 12.1, 12.1-rc1, 6.3, 6.4, 6.5, 6.6, 6.7, 6.8, 7.0, 7.1, 7.2, 7.3, 7.4, 7.5, 7.5-systemd, 7.6, 7.6-systemd, 7.7, 7.7-systemd, 7.8, 7.8-systemd, 7.9, 7.9-systemd, 8.0, 8.1, 8.2, 8.3, 8.4, 9.0, 9.1, arm, bdubbs/gcc13, ml-11.0, multilib, renodr/libudev-from-systemd, s6-init, trunk, xry111/arm64, xry111/arm64-12.0, xry111/clfs-ng, xry111/lfs-next, xry111/loongarch, xry111/loongarch-12.0, xry111/loongarch-12.1, xry111/mips64el, xry111/pip3, xry111/rust-wip-20221008, xry111/update-glibc
- Children:
- 09fb7a09
- Parents:
- 1011516
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
chapter05/binutils-pass1.xml
r1011516 r81109e3 1 1 <?xml version="1.0" encoding="ISO-8859-1"?> 2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [ 2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" 3 "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [ 3 4 <!ENTITY % general-entities SYSTEM "../general.ent"> 4 5 %general-entities; 5 6 ]> 7 6 8 <sect1 id="ch-tools-binutils-pass1" role="wrap"> 7 <title>Binutils-&binutils-version; - Pass 1</title> 8 <?dbhtml filename="binutils-pass1.html"?> 9 <?dbhtml filename="binutils-pass1.html"?> 9 10 10 <indexterm zone="ch-tools-binutils-pass1"> 11 <primary sortas="a-Binutils">Binutils</primary> 12 <secondary>tools, pass 1</secondary></indexterm> 11 <title>Binutils-&binutils-version; - Pass 1</title> 13 12 14 <sect2 role="package"><title/> 15 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/binutils.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/> 13 <indexterm zone="ch-tools-binutils-pass1"> 14 <primary sortas="a-Binutils">Binutils</primary> 15 <secondary>tools, pass 1</secondary> 16 </indexterm> 16 17 17 <segmentedlist> 18 <segtitle>&buildtime;</segtitle> 19 <segtitle>&diskspace;</segtitle> 20 <seglistitem><seg>1.0 SBU</seg><seg>170 MB</seg></seglistitem> 21 </segmentedlist> 18 <sect2 role="package"> 19 <title/> 22 20 23 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/binutils.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/> 21 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 22 href="../chapter06/binutils.xml" 23 xpointer="xpointer(/sect1/sect2[1]/para[1])"/> 24 24 25 </sect2> 25 <segmentedlist> 26 <segtitle>&buildtime;</segtitle> 27 <segtitle>&diskspace;</segtitle> 26 28 27 <sect2 role="installation"> 28 <title>Installation of Binutils</title> 29 <seglistitem> 30 <seg>1.0 SBU</seg> 31 <seg>170 MB</seg> 32 </seglistitem> 33 </segmentedlist> 29 34 30 <para>It is important that Binutils be the first package compiled 31 because both Glibc and GCC perform various tests on the available 32 linker and assembler to determine which of their own features to 33 enable.</para> 35 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 36 href="../chapter06/binutils.xml" 37 xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/> 34 38 35 <para>The Binutils documentation recommends building Binutils outside of the 36 source directory in a dedicated build directory:</para> 39 </sect2> 40 41 <sect2 role="installation"> 42 <title>Installation of Binutils</title> 43 44 <para>It is important that Binutils be the first package compiled 45 because both Glibc and GCC perform various tests on the available 46 linker and assembler to determine which of their own features to 47 enable.</para> 48 49 <para>The Binutils documentation recommends building Binutils outside of the 50 source directory in a dedicated build directory:</para> 37 51 38 52 <screen><userinput>mkdir -v ../binutils-build 39 53 cd ../binutils-build</userinput></screen> 40 54 41 <note><para>In order for the SBU values listed in the rest of the book 42 to be of any use, measure the time it takes to build this package from 43 the configuration, up to and including the first install. To achieve 44 this easily, wrap the three commands in a <command>time</command> 45 command like this: <userinput>time { ./configure ... && make 46 && make install; }</userinput>.</para></note> 55 <note> 56 <para>In order for the SBU values listed in the rest of the book 57 to be of any use, measure the time it takes to build this package from 58 the configuration, up to and including the first install. To achieve 59 this easily, wrap the three commands in a <command>time</command> 60 command like this: <userinput>time { ./configure ... && make 61 && make install; }</userinput>.</para> 62 </note> 47 63 48 <para>Now prepare Binutils for compilation:</para>64 <para>Now prepare Binutils for compilation:</para> 49 65 50 66 <screen><userinput>../binutils-&binutils-version;/configure --prefix=/tools --disable-nls</userinput></screen> 51 67 52 <para>The meaning of the configure options:</para> 68 <variablelist> 69 <title>The meaning of the configure options:</title> 53 70 54 <variablelist> 55 <varlistentry> 56 <term><parameter>--prefix=/tools</parameter></term> 57 <listitem><para>This tells the configure script to prepare to install the Binutils 58 programs in the <filename class="directory">/tools</filename> directory.</para></listitem> 59 </varlistentry> 71 <varlistentry> 72 <term><parameter>--prefix=/tools</parameter></term> 73 <listitem> 74 <para>This tells the configure script to prepare to install the 75 Binutils programs in the <filename class="directory">/tools</filename> 76 directory.</para> 77 </listitem> 78 </varlistentry> 60 79 61 <varlistentry> 62 <term><parameter>--disable-nls</parameter></term> 63 <listitem><para>This disables internationalization as i18n is not needed for the 64 temporary tools.</para></listitem> 65 </varlistentry> 66 </variablelist> 80 <varlistentry> 81 <term><parameter>--disable-nls</parameter></term> 82 <listitem> 83 <para>This disables internationalization as i18n is not needed for the 84 temporary tools.</para> 85 </listitem> 86 </varlistentry> 67 87 68 <para>Continue with compiling the package:</para> 88 </variablelist> 89 90 <para>Continue with compiling the package:</para> 69 91 70 92 <screen><userinput>make</userinput></screen> 71 93 72 <para>Compilation is now complete. Ordinarily we would now run the73 test suite, but at this early stage the test suite framework (Tcl,74 Expect, and DejaGNU) is not yet in place. The benefits of running the75 tests at this point are minimal since the programs from this76 first pass will soon be replaced by those from the second.</para>94 <para>Compilation is now complete. Ordinarily we would now run the 95 test suite, but at this early stage the test suite framework (Tcl, 96 Expect, and DejaGNU) is not yet in place. The benefits of running the 97 tests at this point are minimal since the programs from this 98 first pass will soon be replaced by those from the second.</para> 77 99 78 <para>Install the package:</para>100 <para>Install the package:</para> 79 101 80 102 <screen><userinput>make install</userinput></screen> 81 103 82 <para>Next, prepare the linker for the <quote>Adjusting</quote> phase83 later on:</para>104 <para>Next, prepare the linker for the <quote>Adjusting</quote> phase 105 later on:</para> 84 106 85 107 <screen><userinput>make -C ld clean 86 108 make -C ld LIB_PATH=/tools/lib</userinput></screen> 87 109 88 <para>The meaning of the make parameters:</para> 110 <variablelist> 111 <title>The meaning of the make parameters:</title> 89 112 90 <variablelist> 91 <varlistentry> 92 <term><parameter>-C ld clean</parameter></term> 93 <listitem><para>This tells the make program to remove all compiled 94 files in the <filename class="directory">ld</filename> 95 subdirectory.</para></listitem> 96 </varlistentry> 113 <varlistentry> 114 <term><parameter>-C ld clean</parameter></term> 115 <listitem> 116 <para>This tells the make program to remove all compiled 117 files in the <filename class="directory">ld</filename> 118 subdirectory.</para> 119 </listitem> 120 </varlistentry> 97 121 98 <varlistentry> 99 <term><parameter>-C ld LIB_PATH=/tools/lib</parameter></term> 100 <listitem><para>This option rebuilds everything in the 101 <filename class="directory">ld</filename> subdirectory. Specifying 102 the <envar>LIB_PATH</envar> Makefile variable on the command 103 line allows us to override the default value 104 and point it to the temporary tools location. The value of this variable 105 specifies the linker's default library search path. This preparation 106 is used later in the chapter.</para></listitem> 107 </varlistentry> 108 </variablelist> 122 <varlistentry> 123 <term><parameter>-C ld LIB_PATH=/tools/lib</parameter></term> 124 <listitem> 125 <para>This option rebuilds everything in the <filename 126 class="directory">ld</filename> subdirectory. Specifying the 127 <envar>LIB_PATH</envar> Makefile variable on the command line 128 allows us to override the default value and point it to the 129 temporary tools location. The value of this variable specifies 130 the linker's default library search path. This preparation is 131 used later in the chapter.</para> 132 </listitem> 133 </varlistentry> 109 134 110 <warning><para><emphasis>Do not</emphasis> remove the Binutils 111 build and source directories yet. These will be needed again in their 112 current state later in this chapter.</para></warning> 135 </variablelist> 113 136 114 </sect2> 137 <warning> 138 <para><emphasis>Do not</emphasis> remove the Binutils build and source 139 directories yet. These will be needed again in their current state later 140 in this chapter.</para> 141 </warning> 115 142 116 <sect2 role="content"><title/> 117 <para>Details on this package are located in <xref 118 linkend="contents-binutils" role="."/></para> 119 </sect2> 143 </sect2> 144 145 <sect2 role="content"> 146 <title/> 147 148 <para>Details on this package are located in 149 <xref linkend="contents-binutils" role="."/></para> 150 151 </sect2> 120 152 121 153 </sect1> 122
Note:
See TracChangeset
for help on using the changeset viewer.