mirror of
https://git.linuxfromscratch.org/lfs.git
synced 2025-06-19 03:39:20 +01:00
Merge remote-tracking branch 'remotes/origin/xry111/multilib' into multilib
This commit is contained in:
commit
a82013617a
@ -276,24 +276,34 @@ EOF
|
|||||||
|
|
||||||
bash version-check.sh</userinput></screen>
|
bash version-check.sh</userinput></screen>
|
||||||
|
|
||||||
<para arch="ml_32,ml_x32,ml_all">
|
<para arch="ml_32,ml_all">
|
||||||
Building multilib support requires the kernel of the host system
|
Building the m32 multilib support requires the kernel of the host
|
||||||
to have 32-bit emulation support included.
|
system to have the 32-bit emulation support included:
|
||||||
</para>
|
</para>
|
||||||
<screen arch="ml_32,ml_x32,ml_all">Binary Emulations --->
|
|
||||||
[*] IA32 Emulation
|
|
||||||
<M> 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
|
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||||
optional. In case your kernel does not have 'x32 ABI for 64-bit mode'
|
href="../chapter10/kernel/multilib-32.xml"/>
|
||||||
enabled but only 'IA32 Emulation', you can continue to build your
|
|
||||||
|
<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
|
system but you have to leave out any sections showing instructions
|
||||||
for building x32 objects. If neither 'IA32 Emulation' nor
|
for building x32 objects, vice versa.
|
||||||
'x32 ABI for 64-bit mode' is enabled, you will run in errors
|
</para>
|
||||||
latest when building <application>glibc</application> in Chapter 6,
|
|
||||||
so an upgrade of your host system kernel is required.
|
<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>
|
</para>
|
||||||
|
|
||||||
</sect2>
|
</sect2>
|
||||||
|
@ -26,6 +26,8 @@ if_stack = []
|
|||||||
expand_var_mp = { 'SRCARCH': 'x86' }
|
expand_var_mp = { 'SRCARCH': 'x86' }
|
||||||
main_dep = {}
|
main_dep = {}
|
||||||
|
|
||||||
|
attr_key = ['revision', 'arch']
|
||||||
|
|
||||||
def expand_var(s):
|
def expand_var(s):
|
||||||
for k in expand_var_mp:
|
for k in expand_var_mp:
|
||||||
s = s.replace('$(' + k + ')', expand_var_mp[k])
|
s = s.replace('$(' + k + ')', expand_var_mp[k])
|
||||||
@ -242,7 +244,7 @@ for _, val, _, _, _, _, menu, _ in r:
|
|||||||
max_line = 80
|
max_line = 80
|
||||||
buf = []
|
buf = []
|
||||||
|
|
||||||
done = [x[5] for x in r] + ['revision']
|
done = [x[5] for x in r] + attr_key
|
||||||
for i in known_config:
|
for i in known_config:
|
||||||
if i not in done:
|
if i not in done:
|
||||||
raise Exception("%s seems not exist" % i)
|
raise Exception("%s seems not exist" % i)
|
||||||
@ -298,8 +300,11 @@ t = Template('''<?xml version="1.0" encoding="UTF-8"?>
|
|||||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
|
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
|
||||||
<!-- Automatically generated by kernel-config.py
|
<!-- Automatically generated by kernel-config.py
|
||||||
DO NOT EDIT! -->
|
DO NOT EDIT! -->
|
||||||
<screen role="nodump"{{ rev }}>{{ '\n'.join(buf) }}</screen>''')
|
<screen role="nodump"{{ attr }}>{{ '\n'.join(buf) }}</screen>''')
|
||||||
|
|
||||||
rev = known_config.get('revision')
|
attr = ''
|
||||||
rev = ' revision="%s"' % rev if rev else ''
|
for k in attr_key:
|
||||||
print(t.render(rev = rev, buf = buf))
|
v = known_config.get(k)
|
||||||
|
if v:
|
||||||
|
attr += ' %s="%s"' % (k, v)
|
||||||
|
print(t.render(attr = attr, buf = buf))
|
||||||
|
@ -1 +1 @@
|
|||||||
6.10.2
|
6.10.7
|
||||||
|
3
chapter10/kernel/multilib-32.toml
Normal file
3
chapter10/kernel/multilib-32.toml
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
IA32_EMULATION='*'
|
||||||
|
IA32_EMULATION_DEFAULT_DISABLED=' '
|
||||||
|
arch='ml_32,ml_all'
|
8
chapter10/kernel/multilib-32.xml
Normal file
8
chapter10/kernel/multilib-32.xml
Normal 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 --->
|
||||||
|
[*] <emphasis role='blue'>I</emphasis>A32 Emulation [IA32_EMULATION]
|
||||||
|
[ ] <emphasis role='blue'>I</emphasis>A32 emulation disabled by default [IA32_EMULATION_DEFAULT_DISABLED]</screen>
|
2
chapter10/kernel/multilib-x32.toml
Normal file
2
chapter10/kernel/multilib-x32.toml
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
X86_X32_ABI='*'
|
||||||
|
arch='ml_x32,ml_all'
|
7
chapter10/kernel/multilib-x32.xml
Normal file
7
chapter10/kernel/multilib-x32.xml
Normal 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 --->
|
||||||
|
[*] <emphasis role='blue'>x</emphasis>32 ABI for 64-bit mode [X86_X32_ABI]</screen>
|
Loading…
Reference in New Issue
Block a user