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 |