Gentoo Archives: gentoo-dev

From: "Ilya A. Volynets-Evenbakh" <iluxa@g.o>
To: Jason Stubbs <jstubbs@g.o>
Cc: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Cross Compilation and Dynamic Slots
Date: Wed, 11 Aug 2004 16:17:39
Message-Id: 411A469F.90602@gentoo.org
In Reply to: Re: [gentoo-dev] Cross Compilation and Dynamic Slots by Jason Stubbs
1 Here are few of my comments/questions.
2
3 Let me try to understand multilib on MIPS example (which is probably
4 most complex ABI screw-up case).
5 For starters, standrard mips toolchain, when compiled with multilibs
6 enabled, is capable of producing
7 binaries for any ABI. At the same time, this imposes specific file
8 system layout
9 (o32 libraries go into /lib /usr/lib /usr/lib/gcc-lib/lib, n32 - /lib32
10 /usr/lib32 /usr/lib/gcc-lib/lib32, n64 -
11 /lib64 /usr/lib64 /usr/lib/gcc-lib/lib64).
12
13 On one hand this is good - different ABIs can coexist, and even mix in
14 some cases. On the other hand
15 thus is bad - many programs do not expect to have libraried not in /lib
16 /usr/lib places. As it is now,
17 I have special patch, that makes glibc and gcc use /lib /usr/lib layout
18 when using N32 and not using
19 multilibs.
20
21 So, for one thing, we should probably add another variable - ABI - since
22 ARCH will be mips in all three cases.
23
24 I'm not sure I understand what you mean by
25
26 When keyword matching is
27 done, they are search in order of ACCEPT_KEYWORDS and the first match is used
28 when sourcing bashrc and when recording the installation into the installed
29 package database.
30
31 How do we handle the case, where we have two different apps, depending
32 on same lib, and
33 one is requested to be compiled as o32 and another as n32? And in
34 general, how do we allow
35 user to specify which ABI he wants to use for this specific compile (Yes
36 - it is possible some
37 will want to compile different apps with different ABIs - i.e. n32 is
38 generally faster then n64
39 because it has lmaller pointer size, but for that same reason its
40 addressing is limited. Thus
41 in order to utilize all 8G of ram in my origin, I will need certain apps
42 to be n64).
43
44 I'll have more question later ;-)
45
46 Ilya
47
48 >MULTILIB
49 >
50 >I'll use amd64 as the example. In the profile, bashrc would set aliases
51 >defining how to run gcc to create 32bit binaries when ARCH="x86". The
52 >profile's ACCEPT_KEYWORDS would be "amd64 x86". When keyword matching is
53 >done, they are search in order of ACCEPT_KEYWORDS and the first match is used
54 >when sourcing bashrc and when recording the installation into the installed
55 >package database.
56 >
57 >Any packages that the to be installed package depends on will then be
58 >installed using the accepted keyword.
59 >
60 >
61 >I'm sure there are a few issues remaining here. I think that most of them will
62 >be much easier to deal with, though. Feedback is greatly welcome.
63 >
64 >Regards,
65 >Jason Stubbs
66 >
67 >--
68 >gentoo-dev@g.o mailing list
69 >
70 >
71 >
72
73
74 --
75 gentoo-dev@g.o mailing list

Replies

Subject Author
Re: [gentoo-dev] Cross Compilation and Dynamic Slots Jason Stubbs <jstubbs@g.o>