Changeset 394dc3fc
- Timestamp:
- 02/29/2020 12:25:06 PM (3 years ago)
- Branches:
- 10.0, 10.0-rc1, 10.1, 10.1-rc1, 11.0, 11.0-rc1, 11.0-rc2, 11.0-rc3, 11.1, 11.1-rc1, 11.2, 11.2-rc1, 11.3, 11.3-rc1, 9.1, arm, bdubbs/gcc13, cross-chap5, ml-11.0, multilib, old-trunk, s6-init, trunk, xry111/arm64, xry111/clfs-ng, xry111/git-transition, xry111/glibc-2.34, xry111/glibc-2.37, xry111/kcfg-revise, xry111/lfs-next, xry111/pip3, xry111/queue-11.3, xry111/rust-wip-20221008, xry111/tester-nohack, xry111/usr-move
- Children:
- 013e94a
- Parents:
- 09e3f94
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
chapter05/libstdc++.xml
r09e3f94 r394dc3fc 64 64 --prefix=/tools \ 65 65 --disable-multilib \ 66 --disable-nls \ 67 - -disable-libstdcxx-threads \66 --disable-nls \<!-- 67 - -disable-libstdcxx-threads \--> 68 68 --disable-libstdcxx-pch \ 69 69 --with-gxx-include-dir=/tools/$LFS_TGT/include/c++/&gcc-version;</userinput></screen> … … 79 79 </listitem> 80 80 </varlistentry> 81 81 <!-- 82 82 <varlistentry> 83 <term><parameter>- -disable-libstdcxx-threads</parameter></term>83 <term><parameter>- -disable-libstdcxx-threads</parameter></term> 84 84 <listitem> 85 85 <para>Since gcc-pass1 is built without thread support, the C++ … … 87 87 </listitem> 88 88 </varlistentry> 89 89 --> 90 90 <varlistentry> 91 91 <term><parameter>--disable-libstdcxx-pch</parameter></term> -
prologue/architecture.xml
r09e3f94 r394dc3fc 15 15 also known to work, with some modifications, with the Power PC and ARM CPUs. To 16 16 build a system that utilizes one of these CPUs, the main prerequisite, in 17 addition to those on the next few pages, is an existing Linux system such as an17 addition to those on the next page, is an existing Linux system such as an 18 18 earlier LFS installation, Ubuntu, Red Hat/Fedora, SuSE, or other distribution 19 19 that targets the architecture that you have. Also note that a 32-bit … … 21 21 computer.</para> 22 22 23 <para>Some other facts about 64-bit systems need to be added here. When 24 compared to a 32-bit system, the sizes of executable programs are slightly 25 larger and the execution speeds of arbitrary programs are only slightly faster. 26 For example, in a test build of LFS-6.5 on a Core2Duo CPU based system, the 27 following statistics were measured:</para> 23 <para>For building LFS, the gain of building on a 64-bit system 24 compared to a 32-bit system is minimal. 25 For example, in a test build of LFS-9.1 on a Core i7-4790 CPU based system, 26 using 4 cores, the following statistics were measured:</para> 28 27 29 28 <screen><computeroutput>Architecture Build Time Build Size 30 32-bit 198.5 minutes 648 MB31 64-bit 190.6 minutes 709 MB</computeroutput></screen>29 32-bit 239.9 minutes 3.6 GB 30 64-bit 233.2 minutes 4.4 GB</computeroutput></screen> 32 31 33 <para>As you can see, the 64-bit build is only 4% faster and is 9% larger than 34 the 32-bit build. The gain from going to a 64-bit system is relatively 35 minimal. Of course, if you have more than 4GB of RAM or want to manipulate 36 data that exceeds 4GB, the advantages of a 64-bit system are substantial.</para> 32 <para>As you can see, on the same hardware, the 64-bit build is only 3% faster 33 and is 22% larger than the 32-bit build. If you plan to use LFS as a LAMP 34 server, or a firewall, a 32-bit CPU may be largely sufficient. On the other 35 hand, several packages in BLFS now need more that 4GB of RAM to be built 36 and/or to run, so that if you plan to use LFS as a desktop, the LFS authors 37 recommend building on a 64-bit system.</para> 37 38 38 <note><para>The above discussion is only appropriate when comparing 39 builds on the same hardware. Modern 64-bit systems are considerably 40 faster than older 64-bit systems and the LFS authors recommend building 41 on a 64-bit system when given a choice.</para></note> 42 43 <para>The default 64-bit build that results from LFS is considered a "pure" 44 64-bit system. That is, it supports 64-bit executables only. Building a 45 "multi-lib" system requires compiling many applications twice, once for a 46 32-bit system and once for a 64-bit system. This is not directly supported in 47 LFS because it would interfere with the educational objective of providing the 48 instructions needed for a straightforward base Linux system. You can refer to 49 the <ulink url="http://trac.clfs.org/">Cross Linux From Scratch</ulink> 50 project for this advanced topic.</para> 51 52 <!-- This does not appear to be valid for LFS/BLFS any more 53 <para>There is one last comment about 64-bit systems. There are some older 54 packages that cannot currently be built in a "pure" 64-bit system or require 55 specialized build instructions. Generally, these packages have some embedded 56 32-bit specific assembly language instructions that fail when building on a 57 64-bit system. This includes some Xorg drivers for some legacy video cards at 58 <ulink url="http://xorg.freedesktop.org/releases/individual/driver/"> 59 http://xorg.freedesktop.org/releases/individual/driver/</ulink>. Many of these 60 problems can be worked around, but may require some specialized procedures or 61 patches.</para> 62 --> 39 <para>The default 64-bit build that results from LFS is considered a 40 <quote>pure</quote> 64-bit system. That is, it supports 64-bit executables 41 only. Building a <quote>multi-lib</quote> system requires compiling many 42 applications twice, once for a 32-bit system and once for a 64-bit system. 43 This is not directly supported in LFS because it would interfere with the 44 educational objective of providing the instructions needed for a 45 straightforward base Linux system. Some LFS/BLFS editors maintain a fork 46 of LFS for multilib, which is accessible at <ulink 47 url="http://www.linuxfromscratch.org/~thomas/multilib/index.html"/>. But it 48 is an advanced topic.</para> 63 49 64 50 </sect1> 65 -
prologue/preface.xml
r09e3f94 r394dc3fc 15 15 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="audience.xml"/> 16 16 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="architecture.xml"/> 17 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="prerequisites.xml"/> 17 18 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="standards.xml"/> 18 19 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="why.xml"/> 19 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="prerequisites.xml"/>20 20 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="typography.xml"/> 21 21 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="organization.xml"/>
Note:
See TracChangeset
for help on using the changeset viewer.