Changeset fd48baa for chapter05


Ignore:
Timestamp:
03/31/2021 10:41:34 AM (3 years ago)
Author:
Xℹ Ruoyao <xry111@…>
Branches:
ml-11.0, multilib
Children:
1b7c90c2
Parents:
6702623
git-author:
Thomas Trepl <thomas@…> (04/07/2019 09:47:30 AM)
git-committer:
Xℹ Ruoyao <xry111@…> (03/31/2021 10:41:34 AM)
Message:

Change profiling attribute to enable selection of m32 and/or mx32. Fixes #4452.

git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11571 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689

Location:
chapter05
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • chapter05/binutils-pass1.xml

    r6702623 rfd48baa  
    8080             --disable-werror</userinput></screen>
    8181
    82     <screen arch="multilib"><userinput remap="configure">../configure --prefix=/tools \
     82    <screen arch="ml_32,ml_x32,ml_all"><userinput remap="configure">lpath=/tools/lib</userinput>
     83<userinput remap="configure" arch="ml_32,ml_all">lpath="$lpath:/tools/lib32"</userinput>
     84<userinput remap="configure" arch="ml_x32,ml_all">lpath="$lpath:/tools/libx32"</userinput>
     85<userinput remap="configure">../configure --prefix=/tools \
    8386             --with-sysroot=$LFS                     \
    84              --with-lib-path=/tools/lib:/tools/lib32:/tools/libx32 \
     87             --with-lib-path=$lpath                  \
    8588             --target=$LFS_TGT                       \
    8689             --disable-nls                           \
     
    159162    sanity of the toolchain:</para>
    160163
    161     <para arch="multilib">Create a symlink to ensure the sanity of
     164    <para arch="ml_32,ml_x32,ml_all">Create a symlink to ensure the sanity of
    162165    the toolchain:</para>
    163166
     
    166169esac</userinput></screen>
    167170
    168 <screen arch="multilib"><userinput remap="install">mkdir -v /tools/lib &amp;&amp;
     171<screen arch="ml_32,ml_x32,ml_all"><userinput remap="install">mkdir -v /tools/lib &amp;&amp;
    169172ln -sv lib /tools/lib64</userinput></screen>
    170173
  • chapter05/binutils-pass2.xml

    r6702623 rfd48baa  
    6161    --with-sysroot</userinput></screen>
    6262
    63 <screen arch="multilib"><userinput remap="configure">CC=$LFS_TGT-gcc                \
     63<screen arch="ml_32,ml_x32,ml_all"><userinput remap="configure">lpath=/tools/lib</userinput>
     64<userinput remap="configure" arch="ml_32,ml_all">lpath="$lpath:/tools/lib32"</userinput>
     65<userinput remap="configure" arch="ml_x32,ml_all">lpath="$lpath:/tools/libx32"</userinput>
     66<userinput remap="configure">CC=$LFS_TGT-gcc                \
    6467AR=$LFS_TGT-ar                 \
    6568RANLIB=$LFS_TGT-ranlib         \
     
    6871    --disable-nls              \
    6972    --disable-werror           \
    70     --with-lib-path=/tools/lib:/tools/lib32:/tools/libx32 \
     73    --with-lib-path=$lpath    \
    7174    --with-sysroot             \
    7275    --enable-64-bit-bfd        \
     
    9699      </varlistentry>
    97100
    98       <varlistentry arch="multilib">
     101      <varlistentry arch="ml_32,ml_x32,ml_all">
    99102        <term><parameter>--with-lib-path=/tools/lib:...</parameter></term>
    100103        <listitem>
     
    119122      </varlistentry>
    120123
    121       <varlistentry arch="multilib">
     124      <varlistentry arch="ml_32,ml_x32,ml_all">
    122125        <term><parameter>--enable-64-bit-bfd</parameter></term>
    123126        <listitem>
     
    126129      </varlistentry>
    127130     
    128       <varlistentry arch="multilib">
     131      <varlistentry arch="ml_32,ml_x32,ml_all">
    129132        <term><parameter>--enable-multilib</parameter></term>
    130133        <listitem>
     
    150153cp -v ld/ld-new /tools/bin</userinput></screen>
    151154
    152 <screen arch="multilib"><userinput remap="adjust">make -C ld clean
     155<screen arch="ml_all"><userinput remap="adjust">make -C ld clean
    153156make -C ld LIB_PATH=/usr/lib:/lib:/usr/lib32:/lib32:/usr/libx32:/libx32
     157cp -v ld/ld-new /tools/bin</userinput></screen>
     158<screen arch="ml_32"><userinput remap="adjust">make -C ld clean
     159make -C ld LIB_PATH=/usr/lib:/lib:/usr/lib32:/lib32
     160cp -v ld/ld-new /tools/bin</userinput></screen>
     161<screen arch="ml_x32"><userinput remap="adjust">make -C ld clean
     162make -C ld LIB_PATH=/usr/lib:/lib:/usr/libx32:/libx32
    154163cp -v ld/ld-new /tools/bin</userinput></screen>
    155164
  • chapter05/gcc-pass1.xml

    r6702623 rfd48baa  
    5050    automatically use them:</para>
    5151
    52     <para arch="multilib">GCC now requires the GMP, ISL, MPFR, and MPC packages.
     52    <para arch="ml_32,ml_x32,ml_all">GCC now requires the GMP, ISL, MPFR, and MPC packages.
    5353    As these packages may not be included in your host distribution, they will
    5454    be built with GCC.  Unpack each package into the GCC source directory and
     
    6868tar -xf ../mpc-&mpc-version;.tar.gz
    6969mv -v mpc-&mpc-version; mpc</userinput></screen>
    70 <screen arch="multilib"><userinput remap="pre">tar -xf ../mpfr-&mpfr-version;.tar.xz
     70<screen arch="ml_32,ml_x32,ml_all"><userinput remap="pre">tar -xf ../mpfr-&mpfr-version;.tar.xz
    7171mv -v mpfr-&mpfr-version; mpfr
    7272tar -xf ../gmp-&gmp-version;.tar.xz
     
    122122esac</userinput></screen>
    123123
    124 <screen arch="multilib"><userinput remap="pre">sed -e '/m64=/s/lib64/lib/' \
     124<screen arch="ml_32,ml_x32,ml_all"><userinput remap="pre">sed -e '/m64=/s/lib64/lib/' \
    125125    -i.orig gcc/config/i386/t-linux64
    126126cat > gcc/config/i386/t-linux64 &lt;&lt;"EOF"
     
    150150    <!-- see: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86724 -->
    151151    <!-- Fix applied in ch5-gcc-pass{1,2}, ch6-gcc -->
    152     <para arch="multilib">Fix an issue with isl-&isl-version;:</para>
    153 
    154 <screen arch="multilib"><userinput remap="pre">sed -e "/#include &lt;isl\/schedule_node.h&gt;/ a#include &lt;isl/id.h&gt;\n#include &lt;isl/space.h&gt;" \
     152    <para arch="ml_32,ml_x32,ml_all">Fix an issue with isl-&isl-version;:</para>
     153
     154<screen arch="ml_32,ml_x32,ml_all"><userinput remap="pre">sed -e "/#include &lt;isl\/schedule_node.h&gt;/ a#include &lt;isl/id.h&gt;\n#include &lt;isl/space.h&gt;" \
    155155    -i gcc/graphite.h</userinput></screen>
    156156
     
    186186    --enable-languages=c,c++</userinput></screen>
    187187
    188 <screen arch="multilib"><userinput remap="configure">../configure                                       \
     188<screen arch="ml_32,ml_x32,ml_all"><userinput remap="configure">mlist="m64"</userinput>
     189<userinput arch="ml_32,ml_all" remap="configure">mlist="$mlist,m32"</userinput>
     190<userinput arch="ml_x32,ml_all" remap="configure">mlist="$mlist,mx32"</userinput>
     191<userinput remap="configure">../configure                                       \
    189192    --target=$LFS_TGT                              \
    190193    --prefix=/tools                                \
     
    198201    --disable-shared                               \
    199202    --enable-multilib                              \
    200     --with-multilib-list=m32,m64,mx32              \
     203    --with-multilib-list=$mlist                    \
    201204    --disable-decimal-float                        \
    202205    --disable-threads                              \
     
    287290      </varlistentry>
    288291
    289       <varlistentry arch="multilib">
     292      <varlistentry arch="ml_32,ml_x32,ml_all">
    290293        <term><parameter>--enable-multilib,
    291294                         --with-multilib-list=m32,m64,mx32</parameter></term>
  • chapter05/gcc-pass2.xml

    r6702623 rfd48baa  
    9494esac</userinput></screen>
    9595
    96     <para arch="multilib">Change the default directory name for 64-bit
     96    <para arch="ml_32,ml_x32,ml_all">Change the default directory name for 64-bit
    9797    libraries to <quote>lib</quote>:</para>
    9898
    99 <screen arch="multilib"><userinput remap="pre">sed -e '/m64=/s/lib64/lib/' \
     99<screen arch="ml_32,ml_x32,ml_all"><userinput remap="pre">sed -e '/m64=/s/lib64/lib/' \
    100100    -i.orig gcc/config/i386/t-linux64
    101101cat > gcc/config/i386/t-linux64 &lt;&lt;"EOF"
     
    112112    required directory names:</para>
    113113
    114     <para arch="multilib">As in the first build of GCC it requires the GMP,
     114    <para arch="ml_32,ml_x32,ml_all">As in the first build of GCC it requires the GMP,
    115115    ISL, MPFR, and MPC packages. Unpack the tarballs and move them into the
    116116    required directory names:</para>
     
    122122tar -xf ../mpc-&mpc-version;.tar.gz
    123123mv -v mpc-&mpc-version; mpc</userinput></screen>
    124 <screen arch="multilib"><userinput remap="pre">tar -xf ../mpfr-&mpfr-version;.tar.xz
     124<screen arch="ml_32,ml_x32,ml_all"><userinput remap="pre">tar -xf ../mpfr-&mpfr-version;.tar.xz
    125125mv -v mpfr-&mpfr-version; mpfr
    126126tar -xf ../gmp-&gmp-version;.tar.xz
     
    132132
    133133    <!-- Following patch might be obsolete with gcc >= 8.2.1 -->
    134     <para arch="multilib">Fix an issue with isl-&isl-version;:</para>
    135 
    136 <screen arch="multilib"><userinput remap="pre">sed -e "/#include &lt;isl\/schedule_node.h&gt;/ a#include &lt;isl/id.h&gt;\n#include &lt;isl/space.h&gt;" \
     134    <para arch="ml_32,ml_x32,ml_all">Fix an issue with isl-&isl-version;:</para>
     135
     136<screen arch="ml_32,ml_x32,ml_all"><userinput remap="pre">sed -e "/#include &lt;isl\/schedule_node.h&gt;/ a#include &lt;isl/id.h&gt;\n#include &lt;isl/space.h&gt;" \
    137137    -i gcc/graphite.h</userinput></screen>
    138138
     
    161161    --disable-libgomp</userinput></screen>
    162162
    163 <screen arch="multilib"><userinput remap="configure">CC=$LFS_TGT-gcc                                    \
     163<screen arch="ml_32,ml_x32,ml_all"><userinput remap="configure">mlist="m64"</userinput>
     164<userinput arch="ml_32,ml_all" remap="configure">mlist="$mlist,m32"</userinput>
     165<userinput arch="ml_x32,ml_all" remap="configure">mlist="$mlist,mx32"</userinput>
     166<userinput remap="configure">CC=$LFS_TGT-gcc                                    \
    164167CXX=$LFS_TGT-g++                                   \
    165168AR=$LFS_TGT-ar                                     \
     
    172175    --disable-libstdcxx-pch                        \
    173176    --enable-multilib                              \
    174     --with-multilib-list=m32,m64,mx32              \
     177    --with-multilib-list=$mlist                    \
    175178    --with-system-zlib                             \
    176179    --disable-bootstrap                            \
     
    245248
    246249
    247     <para arch="multilib">Repeat the test for 32-bit:</para>
    248 
    249 <screen arch="multilib"><userinput>cc -m32 dummy.c
     250    <para arch="ml_32,ml_all">Repeat the test for 32-bit:</para>
     251
     252<screen arch="ml_32,ml_all"><userinput>cc -m32 dummy.c
    250253readelf -l a.out | grep ': /tools'</userinput></screen>
    251254
    252     <para arch="multilib">In this case, the output shoud be:</para>
    253 
    254 <screen arch="multilib"><computeroutput>[Requesting program interpreter: /tools/lib/ld-linux.so.2]</computeroutput></screen>
    255 
    256     <para arch="multilib">Repeat the test for x32-bit:</para>
    257 
    258 <screen arch="multilib"><userinput>cc -mx32 dummy.c
     255    <para arch="ml_32,ml_all">In this case, the output shoud be:</para>
     256
     257<screen arch="ml_32,ml_all"><computeroutput>[Requesting program interpreter: /tools/lib/ld-linux.so.2]</computeroutput></screen>
     258
     259    <para arch="ml_x32,ml_all">Repeat the test for x32-bit:</para>
     260
     261<screen arch="ml_x32,ml_all"><userinput>cc -mx32 dummy.c
    259262readelf -l a.out | grep ': /tools'</userinput></screen>
    260263
    261     <para arch="multilib">In this case, the output shoud be:</para>
    262 
    263 <screen arch="multilib"><computeroutput>[Requesting program interpreter: /tools/lib/ld-linux-x32.so.2]</computeroutput></screen>
     264    <para arch="ml_x32,ml_all">In this case, the output shoud be:</para>
     265
     266<screen arch="ml_x32,ml_all"><computeroutput>[Requesting program interpreter: /tools/lib/ld-linux-x32.so.2]</computeroutput></screen>
    264267
    265268    <para arch="default">Note that the dynamic linker will be
  • chapter05/glibc.xml

    r6702623 rfd48baa  
    8383      </varlistentry>
    8484
    85       <varlistentry arch="multilib">
     85      <varlistentry arch="ml_32,ml_x32,ml_all">
    8686        <term><parameter>--enable-multi-arch</parameter></term>
    8787        <listitem>
     
    192192  </sect2>
    193193
    194   <sect2 arch="multilib" role="installation">
     194  <sect2 arch="ml_32,ml_all" role="installation">
    195195    <title>Installation of Glibc 32-bit</title>
    196196
     
    214214             --libexecdir=/tools/lib32          \
    215215             --with-headers=/tools/include      \
    216              --with-binutils=/tools/bin         \
     216             --with-binutils=/tools/bin</userinput></screen>
     217<!--                      \
    217218             libc_cv_forced_unwind=yes          \
    218              libc_cv_c_cleanup=yes</userinput></screen>
     219             libc_cv_c_cleanup=yes</userinput></screen> -->
    219220
    220221    <para>Now compile the 32-bit version of glibc:</para>
     
    232233  </sect2>
    233234
    234   <sect2 arch="multilib" role="installation">
     235  <sect2 arch="ml_x32,ml_all" role="installation">
    235236    <title>Installation of Glibc x32-bit</title>
    236237
     
    254255             --libexecdir=/tools/libx32         \
    255256             --with-headers=/tools/include      \
    256              --with-binutils=/tools/bin         \
     257             --with-binutils=/tools/bin</userinput></screen>
     258<!--                      \
    257259             libc_cv_forced_unwind=yes          \
    258              libc_cv_c_cleanup=yes</userinput></screen>
     260             libc_cv_c_cleanup=yes</userinput></screen> -->
    259261
    260262    <para>Now compile the x32-bit version of glibc:</para>
  • chapter05/ncurses.xml

    r6702623 rfd48baa  
    113113  </sect2>
    114114
    115   <sect2 arch="multilib" role="installation">
     115  <sect2 arch="ml_32,ml_all" role="installation">
    116116    <title>Installation of Ncurses - 32 bit</title>
    117117
     
    144144  </sect2>
    145145
    146   <sect2 arch="multilib" role="installation">
     146  <sect2 arch="ml_x32,ml_all" role="installation">
    147147    <title>Installation of Ncurses - x32 bit</title>
    148148
  • chapter05/stripping.xml

    r6702623 rfd48baa  
    1919/usr/bin/strip --strip-unneeded /tools/{,s}bin/*</userinput></screen>
    2020
    21 <screen arch="multilib"><userinput>strip --strip-debug /tools/lib{,{,x}32}/*
     21<screen arch="ml_32"><userinput>strip --strip-debug /tools/lib{,32}/*
     22/usr/bin/strip --strip-unneeded /tools/{,s}bin/*</userinput></screen>
     23<screen arch="ml_x32"><userinput>strip --strip-debug /tools/lib{,x32}/*
     24/usr/bin/strip --strip-unneeded /tools/{,s}bin/*</userinput></screen>
     25<screen arch="ml_all"><userinput>strip --strip-debug /tools/lib{,{,x}32}/*
    2226/usr/bin/strip --strip-unneeded /tools/{,s}bin/*</userinput></screen>
    2327
     
    3943<screen arch="default"><userinput>find /tools/{lib,libexec} -name \*.la -delete</userinput></screen>
    4044
    41 <screen arch="multilib"><userinput>find /tools/{lib{,{,x}32},libexec} -name \*.la -delete</userinput></screen>
     45<screen arch="ml_32"><userinput>find /tools/{lib{,32},libexec} -name \*.la -delete</userinput></screen>
     46<screen arch="ml_x32"><userinput>find /tools/{lib{,x32},libexec} -name \*.la -delete</userinput></screen>
     47<screen arch="ml_all"><userinput>find /tools/{lib{,{,x}32},libexec} -name \*.la -delete</userinput></screen>
    4248
    4349  <para>At this point, you should have at least 3 GB of free space in
  • chapter05/util-linux.xml

    r6702623 rfd48baa  
    122122  </sect2>
    123123
    124   <sect2 arch="multilib" role="installation">
     124  <sect2 arch="ml_32,ml_all" role="installation">
    125125    <title>Installation of Util-Linux - 32 bit</title>
    126126
     
    154154  </sect2>
    155155
    156   <sect2 arch="multilib" role="installation">
     156  <sect2 arch="ml_x32,ml_all" role="installation">
    157157    <title>Installation of Util-Linux - x32 bit</title>
    158158
  • chapter05/xz.xml

    r6702623 rfd48baa  
    6464  </sect2>
    6565
    66   <sect2 arch="multilib" role="installation">
     66  <sect2 arch="ml_32,ml_all" role="installation">
    6767    <title>Installation of Xz - 32 bit</title>
    6868
     
    9191  </sect2>
    9292
    93   <sect2 arch="multilib" role="installation">
     93  <sect2 arch="ml_x32,ml_all" role="installation">
    9494    <title>Installation of Xz - x32 bit</title>
    9595
  • chapter05/zlib.xml

    r6702623 rfd48baa  
    66]>
    77
    8 <sect1 arch="multilib" id="ch-tools-zlib" role="wrap">
     8<sect1 arch="ml_32,ml_x32,ml_all" id="ch-tools-zlib" role="wrap">
    99  <?dbhtml filename="zlib.html"?>
    1010
     
    6060  </sect2>
    6161
    62   <sect2 arch="multilib" role="installation">
     62  <sect2 arch="ml_32,ml_all" role="installation">
    6363    <title>Installation of Zlib - 32 bit</title>
    6464
     
    8383  </sect2>
    8484
    85   <sect2 arch="multilib" role="installation">
     85  <sect2 arch="ml_x32,ml_all" role="installation">
    8686    <title>Installation of Zlib - x32 bit</title>
    8787
Note: See TracChangeset for help on using the changeset viewer.