aboutsummaryrefslogtreecommitdiffstats
path: root/chapter08/gcc.xml
diff options
context:
space:
mode:
Diffstat (limited to 'chapter08/gcc.xml')
-rw-r--r--chapter08/gcc.xml54
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 &lt;...&gt; 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