blob: e696c986b263ea36db691e911891067a94cbc149 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
|
<sect1 id="ch-tools-binutils-pass2">
<title>Installing Binutils-&binutils-version; - Pass 2</title>
<?dbhtml filename="binutils-pass2.html" dir="chapter05"?>
<screen>&buildtime; &binutils-time-tools-pass2;
&diskspace; &binutils-compsize-tools-pass2;</screen>
&aa-binutils-down;
&aa-binutils-dep;
<sect2><title> </title><para> </para></sect2>
<sect2>
<title>Re-installation of Binutils</title>
<para>Create a separate build directory again:</para>
<screen><userinput>mkdir ../binutils-build
cd ../binutils-build</userinput></screen>
<para>Now prepare Binutils for compilation:</para>
<screen><userinput>../&binutils-dir;/configure --prefix=/tools \
--enable-shared --with-lib-path=/tools/lib</userinput></screen>
<para>The meaning of the new configure option:</para>
<itemizedlist>
<listitem><para><userinput>--with-lib-path=/tools/lib</userinput>: This tells
the configure script to specify the default library search path. We don't want
the library search path to contain library directories from the host
system.</para></listitem>
</itemizedlist>
<para>Before starting to build Binutils, remember to unset any environment
variables that override the default optimization flags.</para>
<para>Compile the package:</para>
<screen><userinput>make</userinput></screen>
<para>Compilation is now complete. As discussed earlier, we don't recommend
running the test suites for the temporary tools here in this chapter. If you
still want to run the Binutils test suite anyway, the following command will
do so:</para>
<screen><userinput>make check</userinput></screen>
<para>There should be no unexpected failures here, expected failures are fine.
Unfortunately, there is no easy way to view the test results summary like
there was for the previous GCC package. However, if a failure occurs here, it
should be easy to spot. The output shown will contain something like:</para>
<blockquote><screen>make[1]: *** [check-binutils] Error 2</screen></blockquote>
<para>And install the package:</para>
<screen><userinput>make install</userinput></screen>
<para>Now prepare Binutils for the re-adjusting of the toolchain in the next
chapter:</para>
<screen><userinput>make -C ld clean
make -C ld LIB_PATH=/usr/lib:/lib</userinput></screen>
<!-- HACK - Force some whitespace to appease tidy -->
<literallayout></literallayout>
<warning><para>Do not yet remove the Binutils source and build directories.
We'll need these directories again in the next chapter in the state they are in
now.</para></warning>
<!-- HACK - Force some whitespace to appease tidy -->
<literallayout></literallayout>
</sect2>
<sect2><title> </title><para> </para>
<para>The details on this package are found in <xref linkend="contents-binutils"/>.</para>
<para> </para></sect2>
</sect1>
|