Subject: RE: HELP - Egcs 1.1.1

From: "Chagas, Jason" <[email-masked]>
Date: Wed, 24 Feb 1999 15:33:19 -0800

Phil,

Thanks to your latest instructions, I was able to build and install 'GLIBC
v2.1' for 'arm-linux'. I was also successful cross compiling (./xgcc -static
-o hello hello.c) a "Hello World" application and running it on a NetWinder.
However, I'm still strugling to finish building EGCS. This is what I did:

Went back to 'egcs' and ran...

#./configure --target=arm-linux --prefix=/usr/local/arm
--with-headers=/usr/local/arm/glibc/arm-linux-glibc/include
--with-libs=/usr/local/arm/glibc/arm-linux-glibc/lib

Followed by...

#make LANGUAGES="c c++"

And it returns some of the following errors...

/usr/local/arm/arm-linux/sys-include/bits/mathinline.h: In function `fmodl':
/usr/local/arm/arm-linux/sys-include/bits/mathinline.h:365: unknown register
nam
e `ax' in `asm'
/usr/local/arm/arm-linux/sys-include/bits/mathinline.h: In function `pow':
/usr/local/arm/arm-linux/sys-include/bits/mathinline.h:376: unknown register
nam
e `st(1)' in `asm'
/usr/local/arm/arm-linux/sys-include/bits/mathinline.h: In function `powf':
/usr/local/arm/arm-linux/sys-include/bits/mathinline.h:376: unknown register
nam
e `st(1)' in `asm'
/usr/local/arm/arm-linux/sys-include/bits/mathinline.h: In function `powl':
/usr/local/arm/arm-linux/sys-include/bits/mathinline.h:376: unknown register
nam
e `st(1)' in `asm'
/usr/local/arm/arm-linux/sys-include/bits/mathinline.h: In function
`floatformat
_to_double':
/usr/local/arm/arm-linux/sys-include/bits/mathinline.h:495: inconsistent
operand
 constraints in an `asm'
/usr/local/arm/arm-linux/sys-include/bits/mathinline.h:495: inconsistent
operand
 constraints in an `asm'
make[1]: *** [floatformat.o] Error 1
make[1]: Leaving directory
`/home/chagas/egcs/egcs-1.1.1/arm-linux/libiberty'
make: *** [all-target-libiberty] Error 2

What am I doing wrong this time?  Note that I still have '-Dinhibit_libc'
defined in 'Makefile'.

Jason

	----------
	From:  Philip Blundell [SMTP:[email-masked]]
	Sent:  Tuesday, February 23, 1999 4:18 PM
	To:  Chagas, Jason
	Cc:  [email-masked]
	Subject:  Re: HELP - Egcs 1.1.1 

	>and ran ...
	>
	># CC=arm-linux-gcc ./configure arm-linux --build=i
	>686-pc-linux-gnu --prefix=/usr/local/arm/glibc/arm-linux-glibc
	>-enable-add-ons --with-headers=/usr/src/linux-2.0.36/include

	Jason,

	A similar problem again I think.  It matters which architecture the
kernel 
	is configured for, and it looks like this is an i586 kernel source
tree.  In 
	fact the i386 and ARM headers and APIs are similar enough that the
compilation 
	would very nearly have worked.  Fortunately the i386 does indirect
syscalls 
	rather differently.

	The version.h file is only created during the kernel compile
process.  You 
	need to at least do `make config' to generate it.  Get hold of an
ARM kernel 
	source tree, check that ARCH is set to `arm' in the makefile,
configure the 
	kernel and then point the glibc compile at it.  If you put symlinks
to the 
	kernel source tree in $PREFIX/include/{asm,linux} you can do without
the 
	--with-headers option.

	If that really was an ARM kernel source tree then I guess the
problem must be 
	somewhere else.

	BTW, I noticed you're using glibc-2.0.111.  I have a feeling that
version was 
	rather buggy.  To save more grief in the future you might like to
get the 
	official 2.1 release from ftp://sourceware.cygnus.com/pub/glibc/ and
try your 
	luck with that instead.

	p.
	
unsubscribe: body of `unsubscribe linux-arm' to [email-masked]

---

From: Philip Blundell <[email-masked]>
Date: Thu, 25 Feb 1999 09:54:39 +0000

>name `ax' in `asm'

It looks like this is a remnant from the i386 version of glibc that you 
installed by mistake.  Try deleting everything in 
/usr/local/arm/arm-linux/{include,lib} and rerunning `make install' for glibc.

p.