1 |
On Fri, 24 Aug 2018 10:13:42 -0400 |
2 |
Rich Freeman <rich0@g.o> wrote: |
3 |
|
4 |
> I think an exp arch is also overkill. How many packages simply can't |
5 |
> be built for i486? I think a profile+masking makes a lot more sense |
6 |
> than an entire new level of QA that touches every ebuild in the tree |
7 |
> because there might be a few packages that don't work on 25 year old |
8 |
> hardware. |
9 |
|
10 |
In response to other conversations on #gentoo-x86, I think neither are |
11 |
needed any more. |
12 |
|
13 |
All that's needed to target this set is as follows: |
14 |
|
15 |
1. Focus on the problem in terms of CPU instruction feature sets and |
16 |
memory limitations. |
17 |
|
18 |
2. Make sure packages that don't work on i586 natively due to lack of |
19 |
instructions, and require adjustment, utilize CPU_FLAGS_X86 to |
20 |
expose this issue, ( eg: sse, mmx, cmov ) |
21 |
|
22 |
3. Make the CPU_FLAGS_X86 generator tool emits the ideal values when |
23 |
run locally on a given processor. |
24 |
|
25 |
4. For people targeting minimal should-at-least-work-on-i586/i486 |
26 |
binary images, setting CPU_FLAGS_X86="-*" should be recommended. |
27 |
|
28 |
5. For people targeting physically ancient platforms with binary media, |
29 |
it might be pertinent to standardize on some sort of USE flag to |
30 |
indicate to applicable packages to optimize for |
31 |
runtime-memory-constrained environments. |
32 |
|
33 |
|
34 |
Or something along those lines. This should avoid all the downsides |
35 |
of new-arches/new profiles, while still allowing ebuilds to introspect |
36 |
and customize themselves as needed. |
37 |
|
38 |
Additionally, the features not being bound to a profile means they can |
39 |
be mixed and matched across profiles, so a memory-constrained |
40 |
environment targeting i686/mips/arm can use the same controls. |
41 |
|
42 |
And users who have, for example, CPUs' *with* the cmov instruction, but |
43 |
an inferior/slow implementation, can opt-out of using that instruction. |
44 |
|
45 |
And then using these tools we can throw minimal-flag-sets and |
46 |
minimal-memory at stage builds. |