I'm posting patches as I create them, trying to build a fully 64 but userland on sparc64. Reproducible: Always Steps to Reproduce: 1. 2. 3.
Created attachment 25230 [details, diff] patch for current sparc openssl, 0.9.7c-r1 This patch adds a check against CHOST for sparc64, and sets the openssl target platform to linux64-sparcv9.
Created attachment 25231 [details, diff] patch for glibc-2.3.2- This patch tests CHOST for sparc64, and avoids a 32bit userland configure option
Created attachment 25233 [details, diff] patch for glibc-2.3.2-r1 to fix a glibc bug for some reason they try to include a file that doesn't exist... so I comment that out
As an aside, I'm getting some random segfaults andd bus errors while compiling glibc. I'm doing -j10, and continuing the compile by hand, if I can get it to complete I'll try it again at -j1. my gcc is: gcc version 3.2.3 20030422 (Gentoo Linux 1.4 3.2.3-r2, propolice) compiled for 64 bit...
Created attachment 25234 [details, diff] replacement ebuild for glibc-2.3.2-r3 This ebuild fixes the sparc64 check that breaks sparc64, applies the patch #25233 which fixes missing pause.c, and also forces -j1 to (hopefully) alleviate segfault/bus errors...
The Openssl patch needs another fix to get the CFLAGS replaced: - for a in $( grep -n -e "^\"linux-" Configure ); do + for a in $( grep -n -e "^\"linux64-" Configure ); do You should determine this by the CHOST too. Binutils needs a patch too, so it doesnt attach "64" if the CHOST is already "sparc64". I could write up something when I am back at home :)
Ok, I can verify that OpenSSL also needs a replace-flags to set '-O1' if anything higher is set. Using -O2, -O3 or higher causes the ripemd160 test to fail.
fixed in 20040808-r1