Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • chapter08/gcc.xml

    r5f2ba8c re4e7ffb  
    5555    <screen><userinput remap="pre">patch -Np1 -i ../&gcc-upstream-fixes-patch;</userinput></screen>
    5656-->
    57     <para>If building on x86_64, change the default directory name for 64-bit
    58     libraries to <quote>lib</quote>:</para>
    59 
    60 <screen><userinput remap="pre">case $(uname -m) in
    61   x86_64)
    62     sed -e '/m64=/s/lib64/lib/' \
    63         -i.orig gcc/config/i386/t-linux64
    64   ;;
    65 esac</userinput></screen>
     57    <para>On ARM64 hosts, set the default directory name for
     58    64-bit libraries to <quote>lib</quote>:</para>
     59
     60<screen><userinput remap="pre">sed -e '/lp64=/s/lib64/lib/' \
     61    -i.orig gcc/config/aarch64/t-aarch64-linux</userinput></screen>
    6662
    6763    <para>The GCC documentation recommends building GCC in a dedicated build directory:</para>
     
    174170
    175171    <para>
    176     Eight gcc tests (out of over 185,000):
    177     <!-- https://gcc.gnu.org/PR106375 --><filename>pr56837.c</filename>
    178     and seven tests in the <filename class='directory'>analyzer</filename>
     172    In gcc tests (out of over 185,000),
     173    seven tests in the <filename class='directory'>analyzer</filename>
    179174    directory are known to fail.
    180175
     
    183178    known to fail.
    184179
    185     For g++, 21 tests (out of approximately 250,000): 14
     180    For g++, 22 tests (out of approximately 250,000): 14
    186181    <quote>AddressSanitizer*</quote>
    187     tests and 7 <filename>interception-malloc-test-1.C</filename> tests, are
     182    tests, 7 <filename>interception-malloc-test-1.C</filename> tests,
     183    and one test named <filename>contracts-tmpl-spec2.C</filename> are
    188184    known to fail.
    189185
    190     Additionally, several tests in the
    191     <filename class='directory'>vect</filename> directory are known to fail
    192     if the hardware does not support AVX.</para>
     186    On ARM64, many tests in the
     187    <filename class='directory'>c-c++-common/hwasan</filename>
     188    directory are known to fail in both gcc and g++ tests<!-- why? -->,
     189    and many tests in the
     190    <!-- https://gcc.gnu.org/PR111124 -->
     191    <filename class='directory'>g++.dg/modules</filename>
     192    directory are known to fail in g++ tests.
     193    </para>
    193194
    194195    <para>A few unexpected failures cannot always be avoided. The GCC developers
     
    240241  platform-specific differences in the dynamic linker name):</para>
    241242
    242 <screen><computeroutput>[Requesting program interpreter: /lib64/ld-linux-x86-64.so.2]</computeroutput></screen>
     243<screen><computeroutput>[Requesting program interpreter: /lib/ld-linux-aarch64.so.1]</computeroutput></screen>
    243244
    244245  <para>Now make sure that we're set up to use the correct start files:</para>
     
    248249  <para>The output of the last command should be:</para>
    249250
    250 <screen><computeroutput>/usr/lib/gcc/x86_64-pc-linux-gnu/&gcc-version;/../../../../lib/Scrt1.o succeeded
    251 /usr/lib/gcc/x86_64-pc-linux-gnu/&gcc-version;/../../../../lib/crti.o succeeded
    252 /usr/lib/gcc/x86_64-pc-linux-gnu/&gcc-version;/../../../../lib/crtn.o succeeded</computeroutput></screen>
     251<screen><computeroutput>/usr/lib/gcc/aarch64-unknown-linux-gnu/&gcc-version;/../../../../lib/Scrt1.o succeeded
     252/usr/lib/gcc/aarch64-unknown-linux-gnu/&gcc-version;/../../../../lib/crti.o succeeded
     253/usr/lib/gcc/aarch64-unknown-linux-gnu/&gcc-version;/../../../../lib/crtn.o succeeded</computeroutput></screen>
    253254
    254255  <para>Depending on your machine architecture, the above may differ slightly.
     
    267268
    268269<screen><computeroutput>#include &lt;...&gt; search starts here:
    269  /usr/lib/gcc/x86_64-pc-linux-gnu/&gcc-version;/include
     270 /usr/lib/gcc/aarch64-unknown-linux-gnu/&gcc-version;/include
    270271 /usr/local/include
    271  /usr/lib/gcc/x86_64-pc-linux-gnu/&gcc-version;/include-fixed
     272 /usr/lib/gcc/aarch64-unknown-linux-gnu/&gcc-version;/include-fixed
    272273 /usr/include</computeroutput></screen>
    273274
     
    282283  be ignored, but otherwise the output of the last command should be:</para>
    283284
    284 <screen><computeroutput>SEARCH_DIR("/usr/x86_64-pc-linux-gnu/lib64")
     285<screen><computeroutput>SEARCH_DIR("/usr/aarch64-unknown-linux-gnu/lib64")
    285286SEARCH_DIR("/usr/local/lib64")
    286287SEARCH_DIR("/lib64")
    287288SEARCH_DIR("/usr/lib64")
    288 SEARCH_DIR("/usr/x86_64-pc-linux-gnu/lib")
     289SEARCH_DIR("/usr/aarch64-unknown-linux-gnu/lib")
    289290SEARCH_DIR("/usr/local/lib")
    290291SEARCH_DIR("/lib")
    291292SEARCH_DIR("/usr/lib");</computeroutput></screen>
    292 
     293<!--
    293294   <para>A 32-bit system may use a few other directories. For example, here
    294295   is the output from an i686 machine:</para>
     
    302303SEARCH_DIR("/lib")
    303304SEARCH_DIR("/usr/lib");</computeroutput></screen>
    304 
     305-->
    305306  <para>Next make sure that we're using the correct libc:</para>
    306307
     
    318319  platform-specific differences in dynamic linker name):</para>
    319320
    320 <screen><computeroutput>found ld-linux-x86-64.so.2 at /usr/lib/ld-linux-x86-64.so.2</computeroutput></screen>
     321<screen><computeroutput>found ld-linux-aarch64.so.1 at /usr/lib/ld-linux-aarch64.so.1</computeroutput></screen>
    321322
    322323  <para>If the output does not appear as shown above or is not received
Note: See TracChangeset for help on using the changeset viewer.