source: chapter05/binutils-pass2.xml@ 060e2e1

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.1 6.1.1 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
Last change on this file since 060e2e1 was 060e2e1, checked in by Jeremy Utley <jeremy@…>, 19 years ago

I thought I fixed this - guess not - binutils patch command got split between 2 lines - merged it back

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@4414 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689

  • Property mode set to 100644
File size: 3.7 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
3 <!ENTITY % general-entities SYSTEM "../general.ent">
4 %general-entities;
5]>
6<sect1 id="ch-tools-binutils-pass2" role="wrap">
7<title>Binutils-&binutils-version; - Pass 2</title>
8<?dbhtml filename="binutils-pass2.html"?>
9
10<indexterm zone="ch-tools-binutils-pass2">
11<primary sortas="a-Binutils">Binutils</primary>
12<secondary>tools, pass 2</secondary></indexterm>
13
14<sect2 role="package"><title/>
15
16<segmentedlist>
17<segtitle>&buildtime;</segtitle>
18<segtitle>&diskspace;</segtitle>
19<seglistitem><seg>1.5 SBU</seg><seg>108 MB</seg></seglistitem>
20</segmentedlist>
21
22</sect2>
23
24<sect2 role="installation">
25<title>Re-installation of Binutils</title>
26
27<para>The current version of Binutils in use has a bug that causes strip to
28remove necessary information from certain library files. This patch fixes
29the problem:</para>
30
31<screen><userinput>patch -Np1 -i ../binutils-&binutils-version;-fix_strip-1.patch</userinput></screen>
32
33<para>Create a separate build directory again:</para>
34
35<screen><userinput>mkdir ../binutils-build
36cd ../binutils-build</userinput></screen>
37
38<para>Now prepare Binutils for compilation:</para>
39
40<screen><userinput>../binutils-&binutils-version;/configure --prefix=/tools \
41 --enable-shared --with-lib-path=/tools/lib</userinput></screen>
42
43<para>The meaning of the new configure option:</para>
44
45<variablelist>
46<varlistentry>
47<term><parameter>--with-lib-path=/tools/lib</parameter></term>
48<listitem><para>This tells the configure script to specify the library search path
49during the compilation of Binutils, resulting in <parameter>/tools/lib</parameter>
50to be passed to the linker. This prevents the linker from searching through library
51directories on the host.</para></listitem>
52</varlistentry>
53</variablelist>
54
55<para>Before starting to build Binutils, remember to unset any environment
56variables that override the default optimization flags.</para>
57
58<para>Compile the package:</para>
59
60<screen><userinput>make</userinput></screen>
61
62<para>Compilation is now complete. As discussed earlier, running the test suite
63isn't mandatory for the temporary tools here in this chapter. If you do want to
64run the Binutils test suite though, the following command will do so:</para>
65
66<screen><userinput>make -k check</userinput></screen>
67
68<para>Except for a few known failures, the binutils tests should all pass. The
69exceptions to this rule are as follows:</para>
70
71<screen><computeroutput>* 5 FAIL (unexpected failure) for visibility
72* 1 FAIL for selective4
73* 1 FAIL for selective5</computeroutput></screen>
74
75<!--
76
77<para>There should be no unexpected failures here, expected failures are fine.
78Unfortunately, there is no easy way to view the test results summary like there
79was for the GCC package. However, if a failure occurs here, it should be easy
80to spot. The output shown will contain something like:</para>
81
82<blockquote><screen><computeroutput>make[1]: *** [check-binutils] Error 2</computeroutput></screen></blockquote>
83
84-->
85
86<para>And install the package:</para>
87
88<screen><userinput>make install</userinput></screen>
89
90<para>Now prepare the linker for the <quote>Re-adjusting</quote> phase in the next
91chapter:</para>
92
93<screen><userinput>make -C ld clean
94make -C ld LIB_PATH=/usr/lib:/lib</userinput></screen>
95
96
97<warning><para><emphasis>Do not yet remove</emphasis> the Binutils source and
98build directories. You will need these directories again in the next chapter
99in the state they are in now.</para></warning>
100
101
102</sect2>
103
104<sect2 role="content"><title/>
105<para>The details on this package are found in <xref linkend="contents-binutils"/>.</para>
106</sect2>
107
108</sect1>
Note: See TracBrowser for help on using the repository browser.