Multi libs for new archs
Right now I'm working on glibc 2.1.91+CVS. I'm working out how best to
handle some of the new 32bit/64bit multilib capable systems will be
handled. Basing this entirely on how sparc/sparc64 will work is probably
not the best way, so I wondered if anyone can shed some light on how the
others will work (mips/mips64, powerpc/powerpc64, i386/ia64).
For sparc, this is how things look right now:
* UltraSPARC can run 32bit and 64bit native under the same kernel.
Currently UltraSPARC's have a native 32bit userspace.
* New 64bit userspace will be available in /lib/64 and /usr/lib/64.
Headers are so far compatible between the two, so /usr/include is only
needed. The expection being /usr/include/asm, which is now done like
this:
- libc6-dev supplies asm-sparc, libc6-64-dev will supply asm-sparc64.
The /usr/include/asm directory is seeded with generated files that[1]
include from asm-{sparc,sparc64} depending on the __arch64__ define.
- Note, this breaks the strace compile, but that's one package, and it
should be fixed anyway.
* Glibc detects this using --print-multi-directory and adding that output
to /lib/ and /usr/lib/. This can happen because gcc is built as a multi
compiler, able to build for 32bit and 64bit
Will this work for other archs, are they handled the same?
[1] See the kernel-image-sparc-2.2 package now in incoming for how the
kernel-headers-2.2.17-sparc package is generated.
--
-----------=======-=-======-=========-----------=====------------=-=------
/ Ben Collins -- ...on that fantastic voyage... -- Debian GNU/Linux \
` bcollins@debian.org -- bcollins@openldap.org -- bcollins@linux.com '
`---=========------=======-------------=-=-----=-===-======-------=--=---'
Reply to: