%general-entities; ]> Glibc-&glibc-version; 32 Bit Glibc cross tools, 32 Bit Installation of Glibc The kernel's asm-ppc and asm-ppc64 headers were merged into asm-powerpc during 2.6.15. Glibc for powerpc installs a version of procfs.h which looks for the __PPC64_ELF_H symbol to determine if it is running on powerpc64. That symbol disappeared in the merge, its replacement does not indicate if the machine is running as 64 bit. The absence of the original symbol causes the 32-bit definitions to be used, which leads to compilation failure early in 64-bit glibc when an incompatible kernel definition is included. The following sed will correct this, we need to repeat it every time we install either size of glibc. cp -v sysdeps/unix/sysv/linux/powerpc/sys/procfs.h{,.orig} sed 's/__PPC64_ELF_H/__powerpc64__/' \ sysdeps/unix/sysv/linux/powerpc/sys/procfs.h.orig \ > sysdeps/unix/sysv/linux/powerpc/sys/procfs.h BUILD_CC="gcc" CC="${CLFS_TARGET}-gcc ${BUILD32}" \ AR="${CLFS_TARGET}-ar" RANLIB="${CLFS_TARGET}-ranlib" \ ../glibc-&glibc-version;/configure --prefix=/tools \ --host=${CLFS_TARGET32} --build=${CLFS_HOST} \ --disable-profile --enable-add-ons \ --with-tls --enable-kernel=2.6.0 --with-__thread \ --with-binutils=/cross-tools/bin --with-headers=/tools/include \ --cache-file=config.cache The meaning of the new configure options: CC="${CLFS_TARGET}-gcc ${BUILD32}" Forces Glibc to utilize our target architecture GCC utilizing the 32 Bit flags. <para>Details on this package are located in <xref linkend="contents-glibc" role="."/></para> </sect2> </sect1>