source: chapter06/binutils-pass2.xml@ c84195d

multilib
Last change on this file since c84195d was c84195d, checked in by Thomas Trepl (Moody) <thomas@…>, 20 months ago

Automatic merge of trunk into multilib

  • Property mode set to 100644
File size: 4.1 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 libtool copy in the tarball. It lacks
49 sysroot support so the produced binaries will be mistakenly linked to
50 libraries from the host distro. Workaround 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 arch="default"><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<screen arch="ml_32,ml_x32,ml_all"><userinput remap="configure">../configure \
71 --prefix=/usr \
72 --build=$(../config.guess) \
73 --host=$LFS_TGT \
74 --disable-nls \
75 --enable-shared \
76 --enable-gprofng=no \
77 --disable-werror \
78 --enable-64-bit-bfd \
79 --enable-multilib</userinput></screen>
80
81 <variablelist>
82 <title>The meaning of the new configure options:</title>
83
84 <varlistentry>
85 <term><parameter>--enable-shared</parameter></term>
86 <listitem>
87 <para>Builds <filename
88 class="libraryfile">libbfd</filename> as a shared library.</para>
89 </listitem>
90 </varlistentry>
91
92
93 <varlistentry>
94 <term><parameter>--enable-64-bit-bfd</parameter></term>
95 <listitem>
96 <para>Enables 64-bit support (on hosts with narrower word sizes).
97 May not be needed on 64-bit systems, but does no harm.</para>
98 </listitem>
99 </varlistentry>
100
101 <varlistentry arch="ml_32,ml_x32,ml_all">
102 <term><parameter>--enable-multilib</parameter></term>
103 <listitem>
104 <para>Enables multilib support in bintutils.</para>
105 </listitem>
106 </varlistentry>
107
108 </variablelist>
109
110 <para>Compile the package:</para>
111
112<screen><userinput remap="make">make</userinput></screen>
113
114 <para>Install the package:</para>
115
116<screen><userinput remap="install">make DESTDIR=$LFS install</userinput></screen>
117
118 <para>Remove the libtool archive files because they are harmful for
119 cross compilation, and remove unnecessary static libraries:</para>
120
121<screen><userinput remap="install">rm -v $LFS/usr/lib/lib{bfd,ctf,ctf-nobfd,opcodes}.{a,la}</userinput></screen>
122
123 </sect2>
124
125 <sect2 role="content">
126 <title/>
127
128 <para>Details on this package are located in
129 <xref linkend="contents-binutils" role="."/></para>
130
131 </sect2>
132
133</sect1>
Note: See TracBrowser for help on using the repository browser.