source: chapter06/binutils-pass2.xml@ b1169eb

multilib xry111/multilib
Last change on this file since b1169eb was b1169eb, checked in by Thomas Trepl <thomas@…>, 2 months ago

Automatic merge of trunk into multilib

  • Property mode set to 100644
File size: 4.6 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
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 resolves this issue.
47 We can test by building Binutils on a complete system with
48 zlib (libz.so) installed, passing enable-shared and
49 without-system-zlib. If the resulted libctf.so still links against
50 libz.so (check with readelf -d) despite we are saying
51 without-system-zlib, then the issue is still unresolved. -->
52 <para>Binutils building system relies on an shipped libtool copy to link against
53 internal static libraries, but the libiberty and zlib copies shipped
54 in the package do not use libtool. This inconsistency may cause
55 produced binaries mistakenly linked against libraries from the host
56 distro. Work around this issue:</para>
57
58<screen><userinput remap="pre">sed '6009s/$add_dir//' -i ltmain.sh</userinput></screen>
59
60 <para>Create a separate build directory again:</para>
61
62<screen><userinput remap="pre">mkdir -v build
63cd build</userinput></screen>
64
65 <para>Prepare Binutils for compilation:</para>
66
67<screen arch="default"><userinput remap="configure">../configure \
68 --prefix=/usr \
69 --build=$(../config.guess) \
70 --host=$LFS_TGT \
71 --disable-nls \
72 --enable-shared \
73 --enable-gprofng=no \
74 --disable-werror \
75 --enable-64-bit-bfd \
76 --enable-new-dtags \
77 --enable-default-hash-style=gnu</userinput></screen>
78<screen arch="ml_32,ml_x32,ml_all"><userinput remap="configure">../configure \
79 --prefix=/usr \
80 --build=$(../config.guess) \
81 --host=$LFS_TGT \
82 --disable-nls \
83 --enable-shared \
84 --enable-gprofng=no \
85 --disable-werror \
86 --enable-64-bit-bfd \
87 --enable-default-hash-style=gnu \
88 --enable-multilib</userinput></screen>
89
90 <variablelist>
91 <title>The meaning of the new configure options:</title>
92
93 <varlistentry>
94 <term><parameter>--enable-shared</parameter></term>
95 <listitem>
96 <para>Builds <filename
97 class="libraryfile">libbfd</filename> as a shared library.</para>
98 </listitem>
99 </varlistentry>
100
101
102 <varlistentry>
103 <term><parameter>--enable-64-bit-bfd</parameter></term>
104 <listitem>
105 <para>Enables 64-bit support (on hosts with smaller word sizes).
106 This may not be needed on 64-bit systems, but it does no harm.</para>
107 </listitem>
108 </varlistentry>
109
110 <varlistentry arch="ml_32,ml_x32,ml_all">
111 <term><parameter>--enable-multilib</parameter></term>
112 <listitem>
113 <para>Enables multilib support in bintutils.</para>
114 </listitem>
115 </varlistentry>
116
117 </variablelist>
118
119 <para>Compile the package:</para>
120
121<screen><userinput remap="make">make</userinput></screen>
122
123 <para>Install the package:</para>
124
125<screen><userinput remap="install">make DESTDIR=$LFS install</userinput></screen>
126
127 <para>Remove the libtool archive files because they are harmful for
128 cross compilation, and remove unnecessary static libraries:</para>
129
130<screen><userinput remap="install">rm -v $LFS/usr/lib/lib{bfd,ctf,ctf-nobfd,opcodes,sframe}.{a,la}</userinput></screen>
131
132 </sect2>
133
134 <sect2 role="content">
135 <title/>
136
137 <para>Details on this package are located in
138 <xref linkend="contents-binutils" role="."/></para>
139
140 </sect2>
141
142</sect1>
Note: See TracBrowser for help on using the repository browser.