source: chapter06/binutils-pass2.xml@ 6dff9ef

11.3 11.3-rc1 12.0 12.0-rc1 12.1 12.1-rc1 bdubbs/gcc13 multilib renodr/libudev-from-systemd trunk xry111/arm64 xry111/arm64-12.0 xry111/clfs-ng xry111/loongarch xry111/loongarch-12.0 xry111/loongarch-12.1 xry111/mips64el xry111/pip3 xry111/update-glibc
Last change on this file since 6dff9ef was 6dff9ef, checked in by David Bryant <davidbryant@…>, 18 months ago

Edit English idiom. punctuation, etc., throughout chapter 6.

  • Property mode set to 100644
File size: 3.5 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../general.ent">
5 %general-entities;
6]>
7
8<sect1 id="ch-tools-binutils-pass2" role="wrap">
9 <?dbhtml filename="binutils-pass2.html"?>
10
11 <sect1info condition="script">
12 <productname>binutils-pass2</productname>
13 <productnumber>&binutils-version;</productnumber>
14 <address>&binutils-url;</address>
15 </sect1info>
16
17 <title>Binutils-&binutils-version; - Pass 2</title>
18
19 <indexterm zone="ch-tools-binutils-pass2">
20 <primary sortas="a-Binutils">Binutils</primary>
21 <secondary>tools, pass 2</secondary>
22 </indexterm>
23
24 <sect2 role="package">
25 <title/>
26
27 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
28 href="../chapter08/binutils.xml"
29 xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
30
31 <segmentedlist>
32 <segtitle>&buildtime;</segtitle>
33 <segtitle>&diskspace;</segtitle>
34
35 <seglistitem>
36 <seg>&binutils-tmpp2-sbu;</seg>
37 <seg>&binutils-tmpp2-du;</seg>
38 </seglistitem>
39 </segmentedlist>
40
41 </sect2>
42
43 <sect2 role="installation">
44 <title>Installation of Binutils</title>
45
46 <!-- Don't remove this until Binutils upstream updates the libtool
47 copy. On some host distros the issue doesn't show up. -->
48 <para>Binutils ships an outdated copy of libtool in the tarball. It lacks
49 sysroot support, so the produced binaries will be mistakenly linked to
50 libraries from the host distro. Work around this issue:</para>
51
52<screen><userinput remap="pre">sed '6009s/$add_dir//' -i ltmain.sh</userinput></screen>
53
54 <para>Create a separate build directory again:</para>
55
56<screen><userinput remap="pre">mkdir -v build
57cd build</userinput></screen>
58
59 <para>Prepare Binutils for compilation:</para>
60
61<screen><userinput remap="configure">../configure \
62 --prefix=/usr \
63 --build=$(../config.guess) \
64 --host=$LFS_TGT \
65 --disable-nls \
66 --enable-shared \
67 --enable-gprofng=no \
68 --disable-werror \
69 --enable-64-bit-bfd</userinput></screen>
70
71 <variablelist>
72 <title>The meaning of the new configure options:</title>
73
74 <varlistentry>
75 <term><parameter>--enable-shared</parameter></term>
76 <listitem>
77 <para>Builds <filename
78 class="libraryfile">libbfd</filename> as a shared library.</para>
79 </listitem>
80 </varlistentry>
81
82
83 <varlistentry>
84 <term><parameter>--enable-64-bit-bfd</parameter></term>
85 <listitem>
86 <para>Enables 64-bit support (on hosts with smaller word sizes).
87 This may not be needed on 64-bit systems, but it does no harm.</para>
88 </listitem>
89 </varlistentry>
90
91 </variablelist>
92
93 <para>Compile the package:</para>
94
95<screen><userinput remap="make">make</userinput></screen>
96
97 <para>Install the package:</para>
98
99<screen><userinput remap="install">make DESTDIR=$LFS install</userinput></screen>
100
101 <para>Remove the libtool archive files because they are harmful for
102 cross compilation, and remove unnecessary static libraries:</para>
103
104<screen><userinput remap="install">rm -v $LFS/usr/lib/lib{bfd,ctf,ctf-nobfd,opcodes}.{a,la}</userinput></screen>
105
106 </sect2>
107
108 <sect2 role="content">
109 <title/>
110
111 <para>Details on this package are located in
112 <xref linkend="contents-binutils" role="."/></para>
113
114 </sect2>
115
116</sect1>
Note: See TracBrowser for help on using the repository browser.