Currently, when sys-devel/kgcc64 is emerged, you have to manually run gcc-config to select the 64-bit toolchain and create the necessary files in /usr/bin. On sparc, this is a problem, since it prevents building a kernel >=2.6.25 when using catalyst, since you can't perform "manual" steps like that.
Looking at the following line in should_we_gcc_config() in toolchain.eclass, it looks like this *should* already work: curr_config=$(env -i ROOT="${ROOT}" gcc-config -c ${CTARGET} 2>&1) || return 0 That of course assumes that CTARGET is set to sparc64-unknown-linux-gnu in the case kgcc64 on sparc with CHOST="sparc-unknown-linux-gnu".
I believe I found the problem. The sys-devel/kgcc64 ebuilds define their own pkg_postinst(), so the gcc-compiler_pkg_postinst() never gets called, and that's where the gcc-config logic is. Just adding a call to 'toolchain_pkg_postinst' at the top of kgcc64's pkg_postinst() seems to fix this.
It looks like the fix for bug #228157 caused this problem.
looks like this was fixed a while ago: 09 Dec 2008; Mark Loeser <halcy0n@gentoo.org> kgcc64-4.1.2.ebuild, kgcc64-4.2.4.ebuild, kgcc64-4.3.1.ebuild, kgcc64-4.3.2.ebuild: Add call back in for toolchain_pkg_postinst, thanks to Andrew Gaffney <agaffney AT gentoo DOT org>; bug #249504