Subject: Re: pkgsrc/bootstrap/bootstrap (solaris ABI 64)
To: None <hubert@feyrer.de>
From: Gilles Dauphin <Gilles.Dauphin@enst.fr>
List: tech-pkg
Date: 11/24/2006 16:01:27
> From: Hubert Feyrer <hubert@feyrer.de>
> Subject: Re: pkgsrc/bootstrap/bootstrap (solaris ABI 64)
> 
> On Wed, 22 Nov 2006, Gilles Dauphin wrote:
> > What is the problem?
> 
> It usually helps to explain what the idea behind the patch is - what is 
> the problem, how does it manifest, etc.
> 

The idea is to have an x86_64 architecture for solaris.
The problem is with Solaris 'uname -p' on amd64. the answer is alway
an i386 arch.
'uname' is use in some package (using configure) specialy multimedia
packages. thoses packages guess to build some i386 assembler program despite
you use gcc -m64. and that is (was) wrong.

indeed i use a wrapper for gcc that compile only 64bits code. (see below)

That was a discuss with Joerg some month ago, and became a challenge for me ;)
Today, I build a true 64bit Solaris10 pkgsrc's bootstrap.
       I install a working room for students and install over 
          500 true 64bit packages.
       I make a bulk build with over 3700 packages all are 64bits ABI.
       All is install in /usr/pkg/bin
       I did some works for sparc64 too and seems OK.
Please see
 http://public.enst.fr/pkgsrc/pkgstat/SunOS-5.10-20060907.1626/report.html
 or bulk-build mailing list.

Package are available at
http://public.enst.fr/pkgsrc/packages/SunOS-5.10/x86_64/
for amd64
http://public.enst.fr/pkgsrc/packages/SunOS-5.10/sparc64/
for sparcv9

All bootstraps are at 
http://public.enst.fr/pkgsrc/packages/bootstrap-pkgsrc/

This is a lot of work, and want to consolidate.
I think this work is not bad. (Please, let me know...)

TODO:
  - I must write some understandable docs.
  - I must learn english ( yes! I return to school...)
  - Have a look to SUNPRO cc.

Cheers,
Gilles


-------------------------------------------------------
#!/bin/sh
#
# appeler le gcc qui va bien
#

if [ "X$GCC_ABI" != "X32" ] ; then

case $1 in
        *print-search-dirs* )
        echo "install: /usr/sfw/lib/gcc/i386-pc-solaris2.10/3.4.3/"

        echo "programs: =/usr/sfw/libexec/gcc/i386-pc-solaris2.10/3.4.3/:/usr/sf
w/lib/gcc/i386-pc-solaris2.10/3.4.3/:/usr/ccs/bin/"

        echo "libraries: =/usr/sfw/lib/gcc/i386-pc-solaris2.10/3.4.3/amd64/:/usr
/sfw/lib/amd64:/lib/amd64:/usr/lib/amd64"
        exit 0
esac

exec /usr/sfw/bin/gcc.orig -m64 "$@"

fi
--------------------------------------------