1
0
mirror of https://git.linuxfromscratch.org/lfs.git synced 2025-06-22 21:29:23 +01:00

multilib: Update host kernel requirement for multilib

Switch to the new kernel config rendering infrastructure.  Remove the
"IA32 a.out support" which is already removed and was completely useless
for multilib even before the removal.  Mention the new "IA32 emulation
disabled by default" option.  Separate mx32 and m32 kernel
configuration.  Fix the consequences building a multilib when lacking
the corresponding kernel feature.
This commit is contained in:
Xi Ruoyao 2024-09-08 14:21:09 +08:00
parent f54ecb3281
commit 0b4c2e218b
No known key found for this signature in database
GPG Key ID: ACAAD20E19E710E3
5 changed files with 45 additions and 15 deletions

View File

@ -276,24 +276,34 @@ EOF
bash version-check.sh</userinput></screen>
<para arch="ml_32,ml_x32,ml_all">
Building multilib support requires the kernel of the host system
to have 32-bit emulation support included.
<para arch="ml_32,ml_all">
Building the m32 multilib support requires the kernel of the host
system to have the 32-bit emulation support included:
</para>
<screen arch="ml_32,ml_x32,ml_all">Binary Emulations ---&gt;
[*] IA32 Emulation
&lt;M&gt; IA32 a.out support
[*] x32 ABI for 64-bit mode
</screen>
<para arch="ml_32,ml_x32,ml_all">The option 'IA32 a.out support' is
optional. In case your kernel does not have 'x32 ABI for 64-bit mode'
enabled but only 'IA32 Emulation', you can continue to build your
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="../chapter10/kernel/multilib-32.xml"/>
<para arch="ml_x32,ml_all">
Building the mx32 multilib support requires the kernel of the host
system to have the x32 ABI support included:
</para>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="../chapter10/kernel/multilib-x32.xml"/>
<para arch="ml_all">
In case your kernel does not have the x32 ABI support enabled but
only the 32-bit emulation support, you can continue to build your
system but you have to leave out any sections showing instructions
for building x32 objects. If neither 'IA32 Emulation' nor
'x32 ABI for 64-bit mode' is enabled, you will run in errors
latest when building <application>glibc</application> in Chapter 6,
so an upgrade of your host system kernel is required.
for building x32 objects, vice versa.
</para>
<para arch="ml_32,ml_x32,ml_all">
If the kernel feature required by a multilib is not enabled,
building the multilib for a package in Chapter 8 may either fail
immediately, or cause hidden breakages because autoconf cannot
probe the system features properly.
</para>
</sect2>

View File

@ -0,0 +1,3 @@
IA32_EMULATION='*'
IA32_EMULATION_DEFAULT_DISABLED=' '
arch='ml_32,ml_all'

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE note PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
<!-- Automatically generated by kernel-config.py
DO NOT EDIT! -->
<screen role="nodump" arch="ml_32,ml_all"><emphasis role='blue'>B</emphasis>inary Emulations ---&gt;
[*] <emphasis role='blue'>I</emphasis>A32 Emulation [IA32_EMULATION]
[ ] <emphasis role='blue'>I</emphasis>A32 emulation disabled by default [IA32_EMULATION_DEFAULT_DISABLED]</screen>

View File

@ -0,0 +1,2 @@
X86_X32_ABI='*'
arch='ml_x32,ml_all'

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE note PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
<!-- Automatically generated by kernel-config.py
DO NOT EDIT! -->
<screen role="nodump" arch="ml_x32,ml_all"><emphasis role='blue'>B</emphasis>inary Emulations ---&gt;
[*] <emphasis role='blue'>x</emphasis>32 ABI for 64-bit mode [X86_X32_ABI]</screen>