Joined: 25 Jun 2003
Location: The Big Apple
|Posted: Wed Aug 13, 2003 3:40 am Post subject: 64-bit userland is sloooooooow
|So the naysayers win again.
1) The gcc build process is borked in some subtle way that I can't figure out. No matter what I do, I can't seem to get it to default to -m64. The closest I got resulted in the following warnings:
|<command line>:1:1: warning: "__SIZE_TYPE__" redefined
<built-in>:5:1: warning: this is the location of the previous definition
<command line>:1:1: warning: "__PTRDIFF_TYPE__" redefined
<built-in>:6:1: warning: this is the location of the previous definition
These are the result of the frontend defaulting to -m32 but the rest of gcc defaulting to -m64. Each flag defines __SIZE_TYPE__ and __PTRDIFF_TYPE__, and the conflict makes things unhappy. You can resolve this by making gcc run gcc -b sparc64-unknown-linux-gnu, which is a stupid hack, or by getting rid of 32-bit userland, which I don't even want to think about.
2) 64-bit gcc is SLOW!!!! It took 67 minutes to rebuild itself without bootstrap. The 32-bit version only took 74 minutes to bootstrap.
3) Only God (or your higher power of choice) knows what it would take to integrate a 64-bit userland into portage without severely breaking 32-bit. In order to get portage to work, bash, python, and I'm not sure what else need to be 64-bit, and neither package behaves very well in a multilib environment. Beyond that, we'd probably need to make sparc64 a seperate arch from sparc, and it would be a big mess.
I've been staring at this mess for almost two months. It's time to move on, leave my documention to the next person, and start using this machine for actual work.