1 |
On 01/18/2016 06:49 AM, Mike Frysinger wrote: |
2 |
> correct -- we will want to add ABI flags for sparc32/sparc64 like we have |
3 |
> for ppc32/ppc64 and s390/s390x and such. just grep for "abi_s390_32" in |
4 |
> the tree to see what kind of setup we'd need. |
5 |
> |
6 |
> then it's simply a matter of masking out the few odd packages that do not |
7 |
> work in a 64-bit env via the profile's package.mask file. |
8 |
Just finished that up this morning. I was under the impression that |
9 |
packages had to consume use flags in order for them to be applied. Thats |
10 |
probably true for normal flags, but the ABI flags seem to different. I |
11 |
also setup an ABI_SPARC use expand. |
12 |
> the x86/amd64 way seems fine to me. in a multilib setup, they can build |
13 |
> the 32-bit version directly. in a non-multilib setup, there's the static |
14 |
> grub ebuild. so we can also add a silo-static that is simply built using |
15 |
> the latest silo-from-source. |
16 |
> |
17 |
> keep in mind though that the toolchain is biarch. that means a sparc32 |
18 |
> userland can produce sparc64 object code even if it doesn't have any of |
19 |
> the 64-bit libraries/headers. same goes for sparc64 userland and sparc32 |
20 |
> code. the reason this matters is that (afaik) most of the silo package |
21 |
> is the /boot/*.b files which need to be 32-bit. but the silo program can |
22 |
> still be 64-bit, or at least i assume we can make it work. so even under |
23 |
> a pure 64-bit (and no multilib) system, we might be able to build silo as |
24 |
> we use -m32 to compile the *.b files. |
25 |
> |
26 |
> this is also how you can build a 64-bit linux kernel image using a 32-bit |
27 |
> toolchain. the kernel will add -m64 everywhere for you. |
28 |
> -mike |
29 |
SILO also has a few dependencies, which i've just gone ahead and set to |
30 |
compile to multilib on all sparc64 profiles. If anyone wants to track |
31 |
the status of this i have a fork of the portage tree on my github. |
32 |
https://github.com/TriadicTek/TriOS |
33 |
|
34 |
The new profile structure symlinks to the old profile structure as well |
35 |
the the experimental multilib profile. Anyone currently using the sparc |
36 |
port should be able to migrate to it without any issues. |
37 |
|
38 |
So far i have successfully built stage1's for sparc32, sparc32-multilib, |
39 |
sparc64, and sparc64-multilib. Working on stage2's now. |