Merge remote-tracking branch 'remotes/origin/xry111/multilib' into multilib

This commit is contained in:
Thomas Trepl 2024-09-26 18:20:12 +02:00
commit a82013617a
7 changed files with 56 additions and 21 deletions

View File

@ -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 ---&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 <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>

View File

@ -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))

View File

@ -1 +1 @@
6.10.2 6.10.7

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>