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
RevLine 
[673b0d8]1<?xml version="1.0" encoding="ISO-8859-1"?>
[b06ca36]2<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
[673b0d8]4 <!ENTITY % general-entities SYSTEM "../general.ent">
5 %general-entities;
6]>
[8ef8304]7
[fcc02767]8<chapter id="chapter-temporary-tools" xreflabel="Chapter&nbsp;6">
[8ef8304]9 <?dbhtml dir="chapter06"?>
10 <?dbhtml filename="chapter06.html"?>
11
[fcc02767]12 <title>Cross Compiling Temporary Tools</title>
[e421d2e]13
[ce335792]14 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="introduction.xml"/>
[5fa3da5]15 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="m4.xml"/>
[d9441360]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"/>
[e787b1f]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"/>
[fcc02767]20 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="file.xml"/>
[e787b1f]21 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="findutils.xml"/>
[fcc02767]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"/>
[14accdf2]24 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="gzip.xml"/>
[5ddb2ea]25 <!--xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="zlib.xml"/-->
[d9441360]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"/>
[fcc02767]28 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="sed.xml"/>
[6c67242]29 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="tar.xml"/>
[fcc02767]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"/>
[d322394]33
[6370fa6]34</chapter>
Note: See TracBrowser for help on using the repository browser.