Changeset 09f1daf
- Timestamp:
- 05/03/2006 02:37:49 AM (17 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, 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, xry111/arm64, xry111/arm64-12.0, xry111/clfs-ng, xry111/lfs-next, xry111/loongarch, xry111/loongarch-12.0, xry111/parallelism, xry111/pip3, xry111/rust-wip-20221008
- Children:
- 8abeb3b
- Parents:
- fffff97
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
chapter01/changelog.xml
rfffff97 r09f1daf 40 40 <para>May 2, 2006</para> 41 41 <itemizedlist> 42 <listitem> 43 <para>[jhuntwork] - Fixed sanity checks to work after final GCC 44 and changed their format. Resolves ticket #1768.</para> 45 </listitem> 42 46 <listitem> 43 47 <para>[archaic] - Removed mention of usbfs from the fstab page since -
chapter06/gcc.xml
rfffff97 r09f1daf 113 113 <screen><userinput>ln -sv gcc /usr/bin/cc</userinput></screen> 114 114 115 <note> 116 <para>At this point, it is strongly recommended to repeat the sanity 117 check performed earlier in this chapter. Refer back to <xref 118 linkend="ch-system-readjusting" role=","/> and repeat the check. If 119 the results are in error, then the most likely reason is that the GCC 120 Specs patch from <xref linkend="chapter-temporary-tools"/> was 121 erroneously applied here.</para> 122 </note> 115 <para>Now that our final toolchain is in place, it is important to again ensure 116 that compiling and linking will work as expected. We do this by performing 117 the same sanity checks as we did earlier in the chapter:</para> 118 119 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 120 href="readjusting.xml" 121 xpointer="xpointer(//*[@os='a'])"/> 122 123 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 124 href="readjusting.xml" 125 xpointer="xpointer(//*[@os='b'])"/> 126 127 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 128 href="readjusting.xml" 129 xpointer="xpointer(//*[@os='c'])"/> 130 131 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 132 href="readjusting.xml" 133 xpointer="xpointer(//*[@os='d'])"/> 134 135 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 136 href="readjusting.xml" 137 xpointer="xpointer(//*[@os='e'])"/> 138 139 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 140 href="readjusting.xml" 141 xpointer="xpointer(//*[@os='f'])"/> 142 143 <screen><computeroutput>/usr/lib/gcc/i686-pc-linux-gnu/&gcc-version;/../../../crt1.o succeeded 144 /usr/lib/gcc/i686-pc-linux-gnu/&gcc-version;/../../../crti.o succeeded 145 /usr/lib/gcc/i686-pc-linux-gnu/&gcc-version;/../../../crtn.o succeeded</computeroutput></screen> 146 147 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 148 href="readjusting.xml" 149 xpointer="xpointer(//*[@os='g'])"/> 150 151 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 152 href="readjusting.xml" 153 xpointer="xpointer(//*[@os='h'])"/> 154 155 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 156 href="readjusting.xml" 157 xpointer="xpointer(//*[@os='i'])"/> 158 159 <screen><computeroutput>SEARCH_DIR("/usr/i686-pc-linux-gnu/lib") 160 SEARCH_DIR("/usr/local/lib") 161 SEARCH_DIR("/lib") 162 SEARCH_DIR("/usr/lib");</computeroutput></screen> 163 164 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 165 href="readjusting.xml" 166 xpointer="xpointer(//*[@os='j'])"/> 167 168 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 169 href="readjusting.xml" 170 xpointer="xpointer(//*[@os='k'])"/> 171 172 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 173 href="readjusting.xml" 174 xpointer="xpointer(//*[@os='l'])"/> 175 176 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 177 href="readjusting.xml" 178 xpointer="xpointer(//*[@os='m'])"/> 179 180 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 181 href="readjusting.xml" 182 xpointer="xpointer(//*[@os='n'])"/> 183 184 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 185 href="readjusting.xml" 186 xpointer="xpointer(//*[@os='o'])"/> 187 188 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 189 href="readjusting.xml" 190 xpointer="xpointer(//*[@os='p'])"/> 191 192 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 193 href="readjusting.xml" 194 xpointer="xpointer(//*[@os='q'])"/> 195 196 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 197 href="readjusting.xml" 198 xpointer="xpointer(//*[@os='r'])"/> 199 200 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 201 href="readjusting.xml" 202 xpointer="xpointer(//*[@os='s'])"/> 203 204 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 205 href="readjusting.xml" 206 xpointer="xpointer(//*[@os='t'])"/> 123 207 124 208 </sect2> -
chapter06/readjusting.xml
rfffff97 r09f1daf 53 53 </important> 54 54 55 <caution> 56 <para>It is imperative at this point to stop and ensure that the basic 57 functions (compiling and linking) of the adjusted toolchain are working 58 as expected. To do this, perform a sanity check:</para> 55 <para>It is imperative at this point to ensure that the basic 56 functions (compiling and linking) of the adjusted toolchain are working 57 as expected. To do this, perform the following sanity checks:</para> 59 58 60 <screen ><userinput>echo 'main(){}' > dummy.c59 <screen role="nodump" os="a"><userinput>echo 'main(){}' > dummy.c 61 60 cc dummy.c -Wl,--verbose &> dummy.log 62 61 readelf -l a.out | grep ': /lib'</userinput></screen> 63 62 64 <para>If everything is working correctly, there should be no errors,65 66 63 <para os="b">If everything is working correctly, there should be no errors, 64 and the output of the last command will be (allowing for 65 platform-specific differences in dynamic linker name):</para> 67 66 68 <screen ><computeroutput>[Requesting program interpreter: /lib/ld-linux.so.2]</computeroutput></screen>67 <screen os="c"><computeroutput>[Requesting program interpreter: /lib/ld-linux.so.2]</computeroutput></screen> 69 68 70 71 69 <para>Note that <filename class="directory">/lib</filename> is now 70 the prefix of our dynamic linker.</para> 72 71 73 <para>Now make sure that we're setup to use the correct startfiles:</para>72 <para os="d">Now make sure that we're setup to use the correct startfiles:</para> 74 73 75 <screen ><userinput>grep "/usr/lib/crt.* "dummy.log</userinput></screen>74 <screen role="nodump" os="e"><userinput>grep -o '/usr/lib.*/crt[1in].* .*' dummy.log</userinput></screen> 76 75 77 <para>If everything is working correctly, there should be no errors,76 <para os="f">If everything is working correctly, there should be no errors, 78 77 and the output of the last command will be:</para> 79 78 80 <screen><computeroutput> attempt to open/usr/lib/crt1.o succeeded81 attempt to open/usr/lib/crti.o succeeded82 attempt to open/usr/lib/crtn.o succeeded</computeroutput></screen>79 <screen><computeroutput>/usr/lib/crt1.o succeeded 80 /usr/lib/crti.o succeeded 81 /usr/lib/crtn.o succeeded</computeroutput></screen> 83 82 84 <para>Next make sure that we're using the correct libc:</para>83 <para os="g">Next, verify that the new linker is being used with the correct search paths:</para> 85 84 86 <screen ><userinput>grep "/lib/libc.so.6 " dummy.log</userinput></screen>85 <screen role="nodump" os="h"><userinput>grep 'SEARCH.*/usr/lib' dummy.log |sed 's|; |\n|g'</userinput></screen> 87 86 88 <para>If everything is working correctly, there should be no errors,89 87 <para os="i">If everything is working correctly, there should be no errors, 88 and the output of the last command will be:</para> 90 89 91 <screen><computeroutput>attempt to open /lib/libc.so.6 succeeded</computeroutput></screen> 90 <screen><computeroutput>SEARCH_DIR("/tools/i686-pc-linux-gnu/lib") 91 SEARCH_DIR("/usr/lib") 92 SEARCH_DIR("/lib");</computeroutput></screen> 92 93 93 <para>Lastly, make sure GCC is using the correct dynamic linker:</para>94 <para os="j">Next make sure that we're using the correct libc:</para> 94 95 95 <screen ><userinput>grep founddummy.log</userinput></screen>96 <screen role="nodump" os="k"><userinput>grep "/lib/libc.so.6 " dummy.log</userinput></screen> 96 97 97 <para>If everything is working correctly, there should be no errors, 98 and the output of the last command will be (allowing for 99 platform-specific differences in dynamic linker name):</para> 98 <para os="l">If everything is working correctly, there should be no errors, 99 and the output of the last command will be:</para> 100 100 101 <screen ><computeroutput>found ld-linux.so.2 at /lib/ld-linux.so.2</computeroutput></screen>101 <screen os="m"><computeroutput>attempt to open /lib/libc.so.6 succeeded</computeroutput></screen> 102 102 103 <para>If the output does not appear as shown above or is not received 104 at all, then something is seriously wrong. Investigate and retrace the 105 steps to find out where the problem is and correct it. The most likely 106 reason is that something went wrong with the specs file amendment 107 above. Any issues will need to be resolved before continuing on with 108 the process.</para> 103 <para os="n">Lastly, make sure GCC is using the correct dynamic linker:</para> 109 104 110 <para>Once everything is working correctly, clean up the test 111 files:</para> 105 <screen role="nodump" os="o"><userinput>grep found dummy.log</userinput></screen> 112 106 113 <screen><userinput>rm -v dummy.c a.out dummy.log</userinput></screen> 114 </caution> 107 <para os="p">If everything is working correctly, there should be no errors, 108 and the output of the last command will be (allowing for 109 platform-specific differences in dynamic linker name):</para> 110 111 <screen os="q"><computeroutput>found ld-linux.so.2 at /lib/ld-linux.so.2</computeroutput></screen> 112 113 <para os="r">If the output does not appear as shown above or is not received 114 at all, then something is seriously wrong. Investigate and retrace the 115 steps to find out where the problem is and correct it. The most likely 116 reason is that something went wrong with the specs file adjustment. Any 117 issues will need to be resolved before continuing on with the process.</para> 118 119 <para os="s">Once everything is working correctly, clean up the test files:</para> 120 121 <screen role="nodump" os="t"><userinput>rm -v dummy.c a.out dummy.log</userinput></screen> 115 122 116 123 </sect1>
Note:
See TracChangeset
for help on using the changeset viewer.