1 |
On Thursday, September 15, 2011 17:03:07 Michał Górny wrote: |
2 |
> On Thu, 15 Sep 2011 16:33:48 -0400 Mike Frysinger wrote: |
3 |
> > On Thursday, September 15, 2011 16:12:00 Michał Górny wrote: |
4 |
> > > On Thu, 15 Sep 2011 15:34:06 -0400 Mike Frysinger wrote: |
5 |
> > > > KEYWORDS wise, i'd like to avoid having to add "x32" everywhere. |
6 |
> > > > instead, reusing "amd64". only downside is the existing USE=amd64 |
7 |
> > > > behavior, but we can address that by making MULTILIB_ABIS a |
8 |
> > > > USE_EXPAND (i think this came up before with the portage multilib |
9 |
> > > > discussion). |
10 |
> > > |
11 |
> > > Hrm, wouldn't that be more like x86 keyword? AFAICS the type sizes |
12 |
> > > for x86 and x32 would match. |
13 |
> > |
14 |
> > the sizeof(long) and sizeof(void*) are the same between x86 and x32. |
15 |
> > however, that's about the only thing. for example, x32 gets access |
16 |
> > to 64bit registers when working with 64bit types (long long) and the |
17 |
> > tuple is x86_64-pc-linux- gnu. in general, it seems to be closer to |
18 |
> > amd64 than x32. |
19 |
> |
20 |
> I'm rather thinking about potential issues. But OTOH packages fixed for |
21 |
> amd64 should probably work with x32 as well. Excluding asm code which |
22 |
> would probably need a third variant then. |
23 |
|
24 |
yes, inline asm might need tweaking as pointers/longs are no longer 64bits. |
25 |
so any code that assumes "#ifdef __x64_64__ == sizeof(void*) == 8" and does so |
26 |
in their assembly might break. they'll need to have gcc take care of it by |
27 |
leveraging the constraints, or checking the __LP64__ define in addition to |
28 |
__x64_64__. |
29 |
|
30 |
but i'd rather not introduce another KEYWORD when we can simply p.mask the |
31 |
package, or disable the asm when ABI == x32. |
32 |
-mike |