Changeset 503e1a6
- Timestamp:
- 08/18/2003 08:54:11 PM (21 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, 12.0, 12.0-rc1, 12.1, 12.1-rc1, 6.0, 6.1, 6.1.1, 6.3, 6.4, 6.5, 6.6, 6.7, 6.8, 7.0, 7.1, 7.2, 7.3, 7.4, 7.5, 7.5-systemd, 7.6, 7.6-systemd, 7.7, 7.7-systemd, 7.8, 7.8-systemd, 7.9, 7.9-systemd, 8.0, 8.1, 8.2, 8.3, 8.4, 9.0, 9.1, arm, bdubbs/gcc13, ml-11.0, multilib, renodr/libudev-from-systemd, s6-init, trunk, v5_0, v5_1, v5_1_1, 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
- Children:
- 460ac758
- Parents:
- 69a52c1
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
chapter01/changelog.xml
r69a52c1 r503e1a6 83 83 </para></listitem> 84 84 85 <listitem><para>August 17th, 2003 [alex]: Moved the adjusting of the toolchain 86 from chapter 6 to the end of chapter 5.</para></listitem> 87 88 <listitem><para>August 17th, 2003 [alex]: Chapter 05 - From Bash to Perl: 89 put text in between commands. Added a section on stripping unneeded 90 symbols to decrease the size of the tools.</para></listitem> 91 92 <listitem><para>August 16th, 2003 [alex]: Chapter 05 - From Make to Texinfo: 93 put text in between commands.</para></listitem> 94 85 95 <listitem><para>August 11th, 2003 [alex]: Chapter 05 - From Binutils Pass 1 to 86 96 Findutils: several small textual adjustments. For the second passes not giving -
chapter05/chapter05.xml
r69a52c1 r503e1a6 36 36 &c5-perl; 37 37 38 39 <sect1 id="ch05-adjustingtoolchain"> 40 <title>Re-adjusting the toolchain</title> 41 <?dbhtml filename="adjustingtoolchain.html" dir="chapter05"?> 42 43 <para>Now that we have compiled all the necessary tools, it is time to 44 re-adjust our toolchain. We will set it up so that it will link any newly 45 compiled program against the new Glibc, which is the first thing to get 46 compiled in the next chapter. Basically, this is the reverse of what we did 47 in the "Locking in" stage in the beginning of this chapter.</para> 48 49 <para>The first thing to do is to adjust the linker scripts. For this we 50 retained the <filename>binutils-build</filename> directory from the second 51 pass over Binutils. Do the following:</para> 52 53 <para><screen><userinput>cd binutils-build 54 make -C ld INSTALL=/stage1/bin/install install-data-local</userinput></screen></para> 55 56 <para>This installs the adjusted linker scripts. The linker scripts now contain 57 no mention of <filename>/stage1/lib</filename>. From now on every compiled 58 program will link <emphasis>only</emphasis> against the libraries in 59 <filename>/usr/lib</filename> and <filename>/lib</filename>. The extra 60 <userinput>INSTALL=/stage1/bin/install</userinput> is needed because the 61 Makefile created during the second pass still contains the reference to 62 <filename>/usr/bin/install</filename>, which we obviously haven't installed 63 yet.</para> 64 65 <para>You can now remove the Binutils source and build directories.</para> 66 67 <para>The next thing to do is to amend our GCC specs file so that it points to 68 the new dynamic linker. Just like earlier on, we use a sed to accomplish 69 this:</para> 70 71 <para><screen><userinput>CURRENTSPECFILE=/stage1/lib/gcc-lib/*/*/specs 72 sed -e 's@/stage1/lib/ld.so.1@/lib/ld.so.1@g' \ 73 -e 's@/stage1/lib/ld-linux.so.2@/lib/ld-linux.so.2@g' \ 74 $CURRENTSPECFILE > newspecfile 75 mv newspecfile $CURRENTSPECFILE 76 unset CURRENTSPECFILE</userinput></screen></para> 77 78 <para>Again, cutting and pasting the above is recommended. And just like 79 before, it is a good idea to check the linker scripts and the specs file to 80 ensure the intended changes were actually made.</para> 81 82 <para>Note that the linker scripts will still contain a reference to 83 <filename>/stage1/i686-pc-linux-gnu/lib</filename>. This is unavoidable, but 84 luckily does not present a problem. There are no libraries in that location 85 as all the temporary stage1 libraries are located in 86 <filename>/stage1/lib</filename>.</para> 87 88 </sect1> 89 90 91 38 92 <sect1 id="ch05-stripping"> 39 93 <title>Stripping</title> -
chapter05/creatingstage1dir.xml
r69a52c1 r503e1a6 20 20 <para>This symlink enables us to compile our toolchain so that it always 21 21 refers to <filename>/stage1</filename>, meaning that the compiler, assembler 22 and linker will work both in this chapter (when we are still rummaging around23 onthe host) <emphasis>and</emphasis> in the next (when we are chrooted to22 and linker will work both in this chapter (when we are still using some tools 23 from the host) <emphasis>and</emphasis> in the next (when we are chrooted to 24 24 the LFS partition).</para> 25 25 -
chapter05/ncurses-inst.xml
r69a52c1 r503e1a6 26 26 <para><screen><userinput>make install</userinput></screen></para> 27 27 28 <para>And make some of the libraries executable:</para>29 30 <para><screen><userinput>chmod 755 /stage1/lib/*.5.3</userinput></screen></para>31 32 28 </sect2> 33 29 -
chapter06/chapter06.xml
r69a52c1 r503e1a6 15 15 &c6-manpages; 16 16 &c6-glibc; 17 &c6-adjustingtoolchain;18 17 &c6-binutils; 19 18 &c6-gcc; -
index.xml
r69a52c1 r503e1a6 5 5 <!ENTITY book SYSTEM "book/book.xml"> 6 6 7 <!ENTITY version "200308 06">8 <!ENTITY releasedate "August 6th, 2003">7 <!ENTITY version "20030817"> 8 <!ENTITY releasedate "August 17th, 2003"> 9 9 <!ENTITY nbsp " "> 10 10
Note:
See TracChangeset
for help on using the changeset viewer.