diff options
Diffstat (limited to 'chapter08/gcc.xml')
-rw-r--r-- | chapter08/gcc.xml | 54 |
1 files changed, 25 insertions, 29 deletions
diff --git a/chapter08/gcc.xml b/chapter08/gcc.xml index 693d6e975..f402f8a02 100644 --- a/chapter08/gcc.xml +++ b/chapter08/gcc.xml @@ -54,15 +54,11 @@ <screen><userinput remap="pre">patch -Np1 -i ../&gcc-upstream-fixes-patch;</userinput></screen> --> - <para>If building on x86_64, change the default directory name for 64-bit - libraries to <quote>lib</quote>:</para> + <para>On ARM64 hosts, set the default directory name for + 64-bit libraries to <quote>lib</quote>:</para> -<screen><userinput remap="pre">case $(uname -m) in - x86_64) - sed -e '/m64=/s/lib64/lib/' \ - -i.orig gcc/config/i386/t-linux64 - ;; -esac</userinput></screen> +<screen><userinput remap="pre">sed -e '/lp64=/s/lib64/lib/' \ + -i.orig gcc/config/aarch64/t-aarch64-linux</userinput></screen> <para>The GCC documentation recommends building GCC in a dedicated build directory:</para> @@ -172,17 +168,17 @@ su tester -c "PATH=$PATH make -k check"</userinput></screen> url="&test-results;"/> and <ulink url="https://gcc.gnu.org/ml/gcc-testresults/"/>.</para> - <para><!--Two tests named <filename>pr104610.c</filename> and - <filename>pr69482-1.c</filename> are known to fail because the test - files does not account for the - <parameter>- -enable-default-ssp</parameter> option.--> - <!-- https://gcc.gnu.org/PR106375 and https://gcc.gnu.org/PR109353 --> + <para> + <!-- https://gcc.gnu.org/PR107915 and https://gcc.gnu.org/PR109353 --> Two tests named <filename>copy.cc</filename> and - <filename>pr56837.c</filename> are known to fail. - <!-- https://gcc.gnu.org/PR107855#c6 --> - Additionally, several tests in the - <filename class='directory'>vect</filename> directory are known to fail - if the hardware does not support AVX.</para> + <filename>contracts-tmpl-spec2.C</filename> are known to fail. + <!-- https://gcc.gnu.org/PR111224 --> + Some C++ module tests named <filename>xtreme-*</filename> are known to + fail. + </para> + + <!-- Need further investigation --> + <para>Many gcc and g++ tests related to hwasan are known to fail.</para> <para> With Glibc-2.38, the analyzer tests named @@ -252,7 +248,7 @@ readelf -l a.out | grep ': /lib'</userinput></screen> and the output of the last command will be (allowing for platform-specific differences in the dynamic linker name):</para> -<screen><computeroutput>[Requesting program interpreter: /lib64/ld-linux-x86-64.so.2]</computeroutput></screen> +<screen><computeroutput>[Requesting program interpreter: /lib/ld-linux-aarch64.so.1]</computeroutput></screen> <para>Now make sure that we're set up to use the correct start files:</para> @@ -260,9 +256,9 @@ readelf -l a.out | grep ': /lib'</userinput></screen> <para>The output of the last command should be:</para> -<screen><computeroutput>/usr/lib/gcc/x86_64-pc-linux-gnu/&gcc-version;/../../../../lib/Scrt1.o succeeded -/usr/lib/gcc/x86_64-pc-linux-gnu/&gcc-version;/../../../../lib/crti.o succeeded -/usr/lib/gcc/x86_64-pc-linux-gnu/&gcc-version;/../../../../lib/crtn.o succeeded</computeroutput></screen> +<screen><computeroutput>/usr/lib/gcc/aarch64-unknown-linux-gnu/&gcc-version;/../../../../lib/Scrt1.o succeeded +/usr/lib/gcc/aarch64-unknown-linux-gnu/&gcc-version;/../../../../lib/crti.o succeeded +/usr/lib/gcc/aarch64-unknown-linux-gnu/&gcc-version;/../../../../lib/crtn.o succeeded</computeroutput></screen> <para>Depending on your machine architecture, the above may differ slightly. The difference will be the name of the directory @@ -279,9 +275,9 @@ readelf -l a.out | grep ': /lib'</userinput></screen> <para>This command should return the following output:</para> <screen><computeroutput>#include <...> search starts here: - /usr/lib/gcc/x86_64-pc-linux-gnu/&gcc-version;/include + /usr/lib/gcc/aarch64-unknown-linux-gnu/&gcc-version;/include /usr/local/include - /usr/lib/gcc/x86_64-pc-linux-gnu/&gcc-version;/include-fixed + /usr/lib/gcc/aarch64-unknown-linux-gnu/&gcc-version;/include-fixed /usr/include</computeroutput></screen> <para>Again, the directory named after your target triplet may be @@ -294,15 +290,15 @@ readelf -l a.out | grep ': /lib'</userinput></screen> <para>References to paths that have components with '-linux-gnu' should be ignored, but otherwise the output of the last command should be:</para> -<screen><computeroutput>SEARCH_DIR("/usr/x86_64-pc-linux-gnu/lib64") +<screen><computeroutput>SEARCH_DIR("/usr/aarch64-unknown-linux-gnu/lib64") SEARCH_DIR("/usr/local/lib64") SEARCH_DIR("/lib64") SEARCH_DIR("/usr/lib64") -SEARCH_DIR("/usr/x86_64-pc-linux-gnu/lib") +SEARCH_DIR("/usr/aarch64-unknown-linux-gnu/lib") SEARCH_DIR("/usr/local/lib") SEARCH_DIR("/lib") SEARCH_DIR("/usr/lib");</computeroutput></screen> - +<!-- <para>A 32-bit system may use a few other directories. For example, here is the output from an i686 machine:</para> @@ -314,7 +310,7 @@ SEARCH_DIR("/usr/i686-pc-linux-gnu/lib") SEARCH_DIR("/usr/local/lib") SEARCH_DIR("/lib") SEARCH_DIR("/usr/lib");</computeroutput></screen> - +--> <para>Next make sure that we're using the correct libc:</para> <screen><userinput>grep "/lib.*/libc.so.6 " dummy.log</userinput></screen> @@ -330,7 +326,7 @@ SEARCH_DIR("/usr/lib");</computeroutput></screen> <para>The output of the last command should be (allowing for platform-specific differences in dynamic linker name):</para> -<screen><computeroutput>found ld-linux-x86-64.so.2 at /usr/lib/ld-linux-x86-64.so.2</computeroutput></screen> +<screen><computeroutput>found ld-linux-aarch64.so.1 at /usr/lib/ld-linux-aarch64.so.1</computeroutput></screen> <para>If the output does not appear as shown above or is not received at all, then something is seriously wrong. Investigate and retrace the |