This is the mail archive of the crossgcc@sources.redhat.com mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Help g++ library build for cross compiler target powerpc



Hello,
      Help!!!

      The cross compiler build failed to build libstdc++ for powerpc .  Any
help will be greatly appreciated!


	I am trying to build the cross compiler GCC on Red Hat 6.2 target to
powerpc embeded system.

	The source I have downloaded are:
	binutils 2.10.1
	GCC-core 2.95.2
	GCC-g++  2.95.2

	I have successfully build and installed the C compiler and tested the Hello
World program, however, the C++ compiler was built, but the libstdc++ was
unsuccessful, thus I got a C++ compiler can generate object code, but the
link needs to link to the library -- which failed to build.

	I have tried in the GCC directory just build the library ..
	ie:  in the GCC source directory
		GCC/gcc-2.95.2/libstdc++
		GCC/gcc-2.95.2/mklibstdc++

		cd GCC/gcc-2.95.2/mklibstdc++,


../configure --target=powwerpc-unknown-eabi --prefix=/tools --with-gnu-as --
with-gnu-ld
		make

	Now it gives me the error of
In file included from ../../libstdc++/bits/basic_string.h:38,
                 from ../../libstdc++/bits/std_string.h:43,
                 from ../../libstdc++/bits/localefwd.h:39,
                 from ../../libstdc++/bits/std_ios.h:42,
                 from ../../libstdc++/bits/basic_file.h:38,
                 from c++io.cc:34:
../../libstdc++/config/cpu/powerpc/atomicity.h: In function `int
exchange_and_add(volatile uint32_t *, int)':
../../libstdc++/config/cpu/powerpc/atomicity.h:46: unknown register name
`cr0' in `asm'
../../libstdc++/config/cpu/powerpc/atomicity.h: In function `void
atomic_add(volatile uint32_t *, int)':
../../libstdc++/config/cpu/powerpc/atomicity.h:60: unknown register name
`cr0' in `asm'
../../libstdc++/config/cpu/powerpc/atomicity.h: In function `int
compare_and_swap(volatile long int *, long int, long int)':
../../libstdc++/config/cpu/powerpc/atomicity.h:76: unknown register name
`cr0' in `asm'
../../libstdc++/config/cpu/powerpc/atomicity.h: In function `long int
always_swap(volatile long int *, long int)':
../../libstdc++/config/cpu/powerpc/atomicity.h:89: unknown register name
`cr0' in `asm'
../../libstdc++/config/cpu/powerpc/atomicity.h: In function `int
test_and_set(volatile long int *, long int)':
../../libstdc++/config/cpu/powerpc/atomicity.h:105: unknown register name
`cr0' in `asm'
make[2]: *** [c++io.lo] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all-recursive-am] Error 2


	I have also downloaded the libstdc++ package and just try to make the
library, however I got about the same problem as
In file included from ../../libstdc++-2.90.8/bits/basic_string.h:38,
                 from ../../libstdc++-2.90.8/bits/std_string.h:43,
                 from ../../libstdc++-2.90.8/bits/localefwd.h:39,
                 from ../../libstdc++-2.90.8/bits/std_ios.h:42,
                 from ../../libstdc++-2.90.8/bits/basic_file.h:38,
                 from c++io.cc:34:
../../libstdc++-2.90.8/config/cpu/powerpc/atomicity.h: In function `int
exchange_and_add(volatile uint32_t *, int)':
../../libstdc++-2.90.8/config/cpu/powerpc/atomicity.h:46: unknown register
name `cr0' in `asm'
../../libstdc++-2.90.8/config/cpu/powerpc/atomicity.h: In function `void
atomic_add(volatile uint32_t *, int)':
../../libstdc++-2.90.8/config/cpu/powerpc/atomicity.h:60: unknown register
name `cr0' in `asm'
../../libstdc++-2.90.8/config/cpu/powerpc/atomicity.h: In function `int
compare_and_swap(volatile long int *, long int, long int)':
../../libstdc++-2.90.8/config/cpu/powerpc/atomicity.h:76: unknown register
name `cr0' in `asm'
../../libstdc++-2.90.8/config/cpu/powerpc/atomicity.h: In function `long int
always_swap(volatile long int *, long int)':
../../libstdc++-2.90.8/config/cpu/powerpc/atomicity.h:89: unknown register
name `cr0' in `asm'
../../libstdc++-2.90.8/config/cpu/powerpc/atomicity.h: In function `int
test_and_set(volatile long int *, long int)':
../../libstdc++-2.90.8/config/cpu/powerpc/atomicity.h:105: unknown register
name `cr0' in `asm'
make[2]: *** [c++io.lo] Error 1
make[2]: Leaving directory `/try3/temp/buildlib/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/try3/temp/buildlib'
make: *** [all-recursive-am] Error 2


Paul


------
Want more information?  See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe@sourceware.cygnus.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]