https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61737
Hans-Peter Nilsson <hp at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |hp at gcc dot gnu.org --- Comment #3 from Hans-Peter Nilsson <hp at gcc dot gnu.org> --- (In reply to dhowe...@redhat.com from comment #1) Thanks for reporting, I'll take this. (I don't autotest cris-linux not crisv32-linux; they aren't in general use anymore.) > I needed the following change to gcc (courtesy of Nick Clifton) to get > cris-gcc to build at all, even without libgcc: > > Index: gcc/config.gcc > =================================================================== > --- gcc/config.gcc > +++ gcc/config.gcc > @@ -1130,7 +1130,7 @@ > crisv32-*-linux* | cris-*-linux*) > tm_file="dbxelf.h elfos.h ${tm_file} gnu-user.h linux.h glibc-stdint.h > cris/linux.h" > # We need to avoid using t-linux, so override default tmake_file > - tmake_file="cris/t-cris cris/t-linux t-slibgcc t-linux" > + tmake_file="${tmake_file} cris/t-cris cris/t-linux t-slibgcc" > extra_options="${extra_options} cris/linux.opt" > case $target in > cris-*-*) Obvious breakages (for obvious reasons with obvious correct results) is covered by the obviousness rule and thus free to commit for anyone (including you). In fact, this typo (missing prepending of ${tmake_file}), supposedly introduced at the time of some general config-revision, is shared with several targets. JFTR: > This behaviour can be produced with the SVNREV 212237 (2014-07-02) gcc-4.9.0 > compiler tarball plus one patch and then the following config: [...] No need for specific options besides --target nor special paths given target binutils in the PATH; you should set that instead. (Sadly, "no specific options" with the exception of sysroot / build-sysroot options unless hoops are jumped through, but I hope to fix that one day for all cross-targets.) Also, a multitude of options like this magnitude is a red flag. (Your cross-build setup is flawed, but I doubt that's the root of the build problem.) > Anyway, I've added a reduced libgcc2.i that causes the error to occur. Thanks. > I don't think it'll help because you need the intermediate-stage compiler > binaries also. Incorrect. This is a *cross-compiler*. Even if it was a native build, failing building the first stage libgcc build makes the stageness issue moot. :) > libgcc is built with: > make -C cris-linux-gnu tooldir=/usr all-target-libgcc I'd expect "make all-target-libgcc" to Just Work.