source: chapter06/chapter06.xml@ 426913e

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 arm bdubbs/gcc13 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 426913e was 426913e, checked in by Xi Ruoyao <xry111@…>, 2 years ago

binutils-pass2: workaround "binaries link to host libraries" issue

A very old libtool copy (2009-11-29) is shipped in binutils tarball. It
does not support sysroot, so the cross-built binutils binaries may link
to libraries from the host distro, if certain libraries are available.

The ideal solution should be updating libtool, as libtool-2.4.6 (in LFS)
has sysroot support. However, updating libtool for binutils is not
trivial: it would require to rerun autoconf and binutils building system
sticks to autoconf-2.69. Another issue is the sysroot support for
libtool has introduced a configure option "--with-sysroot", which
conflicts with an already existing option with the same name in
GCC and binutils building system (we are using the GCC/binutils version
of --with-sysroot in chapter 5).

GCC building system has --with-build-sysroot (we are using this for GCC
pass 2) for this issue. Binutils copied GCC building system, but it
does not respect --with-build-sysroot.

So for now we just edit libtool code to prevent "-L/usr/lib" in
$LFS_TGT_gcc command line. It should fix the issue about host libiberty
(reported in #lfs-support) as well, but it still need to be confirmed by
someone having such a host.

Tested with a jhalfs run on LFS.

  • Property mode set to 100644
File size: 1.9 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE chapter 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<chapter id="chapter-temporary-tools" xreflabel="Chapter&nbsp;6">
9 <?dbhtml dir="chapter06"?>
10 <?dbhtml filename="chapter06.html"?>
11
12 <title>Cross Compiling Temporary Tools</title>
13
14 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="introduction.xml"/>
15 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="m4.xml"/>
16 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="ncurses.xml"/>
17 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="bash.xml"/>
18 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="coreutils.xml"/>
19 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="diffutils.xml"/>
20 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="file.xml"/>
21 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="findutils.xml"/>
22 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="gawk.xml"/>
23 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="grep.xml"/>
24 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="gzip.xml"/>
25 <!--xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="zlib.xml"/-->
26 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="make.xml"/>
27 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="patch.xml"/>
28 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="sed.xml"/>
29 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="tar.xml"/>
30 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="xz.xml"/>
31 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="binutils-pass2.xml"/>
32 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="gcc-pass2.xml"/>
33
34</chapter>
Note: See TracBrowser for help on using the repository browser.