source: chapter05/binutils-pass2.xml@ af133c3

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 af133c3 was af133c3, checked in by Jeremy Utley <jeremy@…>, 19 years ago

Added new binutils fix_strip patch taken from upstream

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@4354 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.patc
32h</userinput></screen>
33
34<para>Create a separate build directory again:</para>
35
36<screen><userinput>mkdir ../binutils-build
37cd ../binutils-build</userinput></screen>
38
39<para>Now prepare Binutils for compilation:</para>
40
41<screen><userinput>../binutils-&binutils-version;/configure --prefix=/tools \
42 --enable-shared --with-lib-path=/tools/lib</userinput></screen>
43
44<para>The meaning of the new configure option:</para>
45
46<variablelist>
47<varlistentry>
48<term><parameter>--with-lib-path=/tools/lib</parameter></term>
49<listitem><para>This tells the configure script to specify the library search path
50during the compilation of Binutils, resulting in <parameter>/tools/lib</parameter>
51to be passed to the linker. This prevents the linker from searching through library
52directories on the host.</para></listitem>
53</varlistentry>
54</variablelist>
55
56<para>Before starting to build Binutils, remember to unset any environment
57variables that override the default optimization flags.</para>
58
59<para>Compile the package:</para>
60
61<screen><userinput>make</userinput></screen>
62
63<para>Compilation is now complete. As discussed earlier, running the test suite
64isn't mandatory for the temporary tools here in this chapter. If you do want to
65run the Binutils test suite though, the following command will do so:</para>
66
67<screen><userinput>make -k check</userinput></screen>
68
69<para>Except for a few known failures, the binutils tests should all pass. The
70exceptions to this rule are as follows:</para>
71
72<screen><computeroutput>* 5 FAIL (unexpected failure) for visibility
73* 1 FAIL for selective4
74* 1 FAIL for selective5</computeroutput></screen>
75
76<!--
77
78<para>There should be no unexpected failures here, expected failures are fine.
79Unfortunately, there is no easy way to view the test results summary like there
80was for the GCC package. However, if a failure occurs here, it should be easy
81to spot. The output shown will contain something like:</para>
82
83<blockquote><screen><computeroutput>make[1]: *** [check-binutils] Error 2</computeroutput></screen></blockquote>
84
85-->
86
87<para>And install the package:</para>
88
89<screen><userinput>make install</userinput></screen>
90
91<para>Now prepare the linker for the <quote>Re-adjusting</quote> phase in the next
92chapter:</para>
93
94<screen><userinput>make -C ld clean
95make -C ld LIB_PATH=/usr/lib:/lib</userinput></screen>
96
97
98<warning><para><emphasis>Do not yet remove</emphasis> the Binutils source and
99build directories. You will need these directories again in the next chapter
100in the state they are in now.</para></warning>
101
102
103</sect2>
104
105<sect2 role="content"><title/>
106<para>The details on this package are found in <xref linkend="contents-binutils"/>.</para>
107</sect2>
108
109</sect1>
Note: See TracBrowser for help on using the repository browser.