[Bug c/23687] New: Crosscompiler looks for files it never built
imipak at yahoo dot com
gcc-bugzilla@gcc.gnu.org
Thu Sep 1 22:26:00 GMT 2005
I can compile the initial version of GCC 4.1.0 on a Pentium 4 with a target of
an SB1 MIPS64 bigendian processor, as required to bootstrap the toolchain
compilation. On attempting to use this cross-compiler, it reports that it
cannot find crti.o. (This was tested in a number of ways, including compiling
glibc as that is the next stage in building the cross compiler toolchain.)
The source for crti is in the config directory for the MIPS processor but is
not being accessed.I can compile this manually and copying the resultant file
into the proper place.
Using the cross-compiler now, I then get the error that the cross-compiler
cannot find crt1.o. There is no sourcecode for crt1 in the MIPS directory. The
only other crt file in that directory is for crtn - this file will not compile
at all.
The main compiler I am using for building the cross-compiler is GCC 3.4.3 and
was built using the following options:
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man
--infodir=/usr/share/info --enable-shared --enable-threads=posix
--disable-checking --with-system-zlib --enable-__cxa_atexit
--disable-libunwind-exceptions --enable-java-awt=gtk --host=i386-redhat-linux
Thread model: posix
gcc version 3.4.3 20050227 (Red Hat 3.4.3-22.1)
Copying the .o files from a third-party toolchain, the cross-compiler will
progress a good deal further. However, it will fail when cross-compiling either
glibc or newlib. In the case of newlib, it crashes
at ../gcc/libstdc++-v3/libmath/stubs.c
../../../../gcc/libstdc++-v3/libmath/stubs.c: In function 'floorl':
/usr/mips/mipsisa64sb1-unknown-linux-gnu/include/bits/mathinline.h:530: error:
impossible register constraint in 'asm'
/usr/mips/mipsisa64sb1-unknown-linux-gnu/include/bits/mathinline.h:530: error:
impossible register constraint in 'asm'
../../../../gcc/libstdc++-v3/libmath/stubs.c:203: error: unrecognizable insn:
(insn 20 19 21
0 /usr/mips/mipsisa64sb1-unknown-linux-gnu/include/bits/mathinline.h:530 (set
(reg/v:DF 32 $f0 [orig:195 __value ] [195])
(asm_operands/v:DF ("frndint") ("=t") 0 [
(reg/v:DF 32 $f0 [orig:195 __value ] [195])
]
[
(asm_input:DF ("0"))
]
("/usr/mips/mipsisa64sb1-unknown-linux-gnu/include/bits/mathinline.h") 530)) -1
(insn_list:REG_DEP_TRUE 19 (nil))
(nil))
../../../../gcc/libstdc++-v3/libmath/stubs.c:203: internal compiler error: in
reload_cse_simplify_operands, at postreload.c:393
The cross-compiler was built using the following configuration settings:
Target: mipsisa64sb1-unknown-linux-gnu
Configured with: ../gcc/configure --target=mipsisa64sb1-unknown-linux-gnu
--prefix=/usr/mips --without-headers --with-newlib --with-gnu-as --with-gnu-ld
--with-local-prefix=/usr/mips/mipsisa64sb1-unknown-linux-gnu --disable-shared
--enable-languages=c
Thread model: posix
gcc version 4.1.0 20050901 (experimental)
I'm running out of ideas for workarounds to build a 64-bit bigendian MIPS
toolchain, so any known-to-work workarounds or patches would be much
appreciated.
--
Summary: Crosscompiler looks for files it never built
Product: gcc
Version: 4.1.0
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: imipak at yahoo dot com
CC: gcc-bugs at gcc dot gnu dot org
GCC build triplet: i386-linux-gnu
GCC host triplet: i386-linux-gnu
GCC target triplet: mipsisa64sb1-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23687
More information about the Gcc-bugs
mailing list