- Timestamp:
- 10/07/2003 12:41:12 AM (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:
- f861982
- Parents:
- 04a3351
- Location:
- chapter05
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
chapter05/gcc-pass2-inst.xml
r04a3351 rf57e3d1 156 156 we performed earlier in the chapter. Refer back to the "Locking in" Glibc section 157 157 and repeat the check. If the results are wrong then most likely, you forgot to 158 apply the above mentioned GCC Specs patch.</para></note>158 apply the above mentioned GCC Specs patch.</para></note> 159 159 160 160 </sect2> -
chapter05/lockingglibc.xml
r04a3351 rf57e3d1 24 24 25 25 <para><screen><userinput>SPECFILE=/tools/lib/gcc-lib/*/*/specs 26 sed -e 's@/lib/ld.so.1@/tools/lib/ld.so.1@g' \ 27 -e 's@/lib/ld-linux.so.2@/tools/lib/ld-linux.so.2@g' \ 26 sed -e 's@/lib/ld-linux.so.2@/tools/lib/ld-linux.so.2@g' \ 28 27 $SPECFILE > tempspecfile 29 28 mv tempspecfile $SPECFILE 30 29 unset SPECFILE</userinput></screen></para> 31 30 32 <para>We recommend that you cut-and-paste the above rather than try and type it 33 all in. Or you can edit the specs file by hand if you want to: just replace 34 "/lib/ld-linux.so.2" with "/tools/lib/ld-linux.so.2" and "/lib/ld.so.1" with 35 "/tools/lib/ld.so.1".</para> 31 <para>We recommend that you cut-and-paste the above rather than try and type it 32 all in. Or you can edit the specs file by hand if you want to: just replace any 33 occurrence of "/lib/ld-linux.so.2" with "/tools/lib/ld-linux.so.2".</para> 34 35 <important><para>If you are working on a platform where the name of the dynamic 36 linker is something other than <filename>ld-linux.so.2</filename>, you 37 <emphasis>must</emphasis> substitute <filename>ld-linux.so.2</filename> with the 38 name of your platform's dynamic linker in the above commands. Refer back to the 39 "Toolchain technical notes" section if necessary.</para></important> 36 40 37 41 <para>Lastly, there is a possibility that some include files from the host -
chapter05/toolchaintechnotes.xml
r04a3351 rf57e3d1 123 123 <filename class="directory">/tools/lib</filename>. This last step is 124 124 <emphasis>vital</emphasis> to the whole process. As mentioned above, a 125 hard-wired path to a dynamic linker is embedded into every executable binary.126 You can inspect this by running:125 hard-wired path to a dynamic linker is embedded into every ELF shared 126 executable. You can inspect this by running: 127 127 <userinput>`readelf -l <name of binary> | grep interpreter`</userinput>. 128 128 By amending the GCC specs file, we are ensuring that every program compiled from
Note:
See TracChangeset
for help on using the changeset viewer.