Changeset 460ac758 for chapter05/chapter05.xml
- Timestamp:
- 08/19/2003 05:07:26 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:
- 85d2668
- Parents:
- 503e1a6
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
chapter05/chapter05.xml
r503e1a6 r460ac758 37 37 38 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 to44 re-adjust our toolchain. We will set it up so that it will link any newly45 compiled program against the new Glibc, which is the first thing to get46 compiled in the next chapter. Basically, this is the reverse of what we did47 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 we50 retained the <filename>binutils-build</filename> directory from the second51 pass over Binutils. Do the following:</para>52 53 <para><screen><userinput>cd binutils-build54 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 contain57 no mention of <filename>/stage1/lib</filename>. From now on every compiled58 program will link <emphasis>only</emphasis> against the libraries in59 <filename>/usr/lib</filename> and <filename>/lib</filename>. The extra60 <userinput>INSTALL=/stage1/bin/install</userinput> is needed because the61 Makefile created during the second pass still contains the reference to62 <filename>/usr/bin/install</filename>, which we obviously haven't installed63 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 to68 the new dynamic linker. Just like earlier on, we use a sed to accomplish69 this:</para>70 71 <para><screen><userinput>CURRENTSPECFILE=/stage1/lib/gcc-lib/*/*/specs72 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 > newspecfile75 mv newspecfile $CURRENTSPECFILE76 unset CURRENTSPECFILE</userinput></screen></para>77 78 <para>Again, cutting and pasting the above is recommended. And just like79 before, it is a good idea to check the linker scripts and the specs file to80 ensure the intended changes were actually made.</para>81 82 <para>Note that the linker scripts will still contain a reference to83 <filename>/stage1/i686-pc-linux-gnu/lib</filename>. This is unavoidable, but84 luckily does not present a problem. There are no libraries in that location85 as all the temporary stage1 libraries are located in86 <filename>/stage1/lib</filename>.</para>87 88 </sect1>89 90 91 92 39 <sect1 id="ch05-stripping"> 93 40 <title>Stripping</title>
Note:
See TracChangeset
for help on using the changeset viewer.