glibc 2.3.6 nd BREG
ken at linuxfromscratch.org
Fri Aug 4 07:04:19 PDT 2006
On Fri, Aug 04, 2006 at 09:12:14AM -0400, Jim wrote:
> Hi I am having problems compiling glibc 2.3.6.
> I terminate the compile currently with below error:
> /i386/i686 -I../sysdeps/i386/i486 -I../sysdeps/i386/fpu
> ../sysdeps/generic/check_fds.c: In function 'check_one_fd':
> ../sysdeps/generic/check_fds.c:52: error: can't find a register in class
> 'BREG' while reloading 'asm'
> I am currently building with:
> - binutils 2.16.1 (compiled myself)
> - gcc 4.0.3 (compiled myself with newlib)
> - kernel 2.17.7
> CC=i586-elf-gcc AR=i586-elf-ar RANLIB=i586-elf-ranlib
> ../glibc-2.3.6/configure --with-headers=$KERNEL
> --prefix=$PREFIX/$TARGET --enable-add-ons=linuxthreads
> Cheers and thanks,
When you deviate from the book, you need to tell the list what you
are doing. You seem to be compiling for i586, so probably the host
is a faster i686 ?
I'm not familiar with 'newlib' (heard of it, but never used or
looked at it), and slightly puzzled by the i586-elf- names (I'd
expect something like i586-pc-linux-gnu-). I don't know whose
build-method you are following, but if it is one of the LFS hints
you could mention that, and if it is not, you might do better
asking wherever is appropriate to it.
As a guess, the build partly thinks it is on an i686 because you
are not telling it to cross-compile, (--build, --host, --target for
cross-compiling glibc) and I'm suspicious of passing AR and RANLIB
to 'configure' for glibc (might work for 2.3.6, might not).
I don't know if we have this covered on cross-lfs (we never hear a
lot about successes, and building for i586 from i686 is no longer
common), but I think we've probably got this working, see
http://trac.cross-lfs.org/ (note that we are using a newer binutils
and gcc). If you try that, please ask on the clfs lists if you have
das eine Mal als Tragödie, das andere Mal als Farce
More information about the lfs-support