Hi! I'm currently building GCC from git on various Debian targets to help with the gccrs development effort a bit. On 32-bit PowerPC, I have run into a problem which seems to be related to Multi-Arch (see below).
I have already the patch gcc-multiarch.diff that Debian is shipping and passing --enable-multiarch but that doesn't help. Building 64-bit PowerPC (ppc64be) works without any issues. I'm building in a 32-bit chroot. Anyone got any clue? Thanks, Adrian # @multilib_flags@ is still needed because this may use # /home/glaubitz/gccrs/build/./gcc/xgcc -B/home/glaubitz/gccrs/build/./gcc/ -B/home/glaubitz/gccrs-install/powerpc-unknown-linux-gnu/bin/ -B/home/glaubitz/gccrs-install/powerpc-unknown-linux-gnu/lib/ -isystem /home/glaubitz/gccrs-install/powerpc-unknown-linux-gnu/include -isystem /home/glaubitz/gccrs-install/powerpc-unknown-linux-gnu/sys-include and -O2 -g -O2 -DIN_GCC -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-error=format-diag -Wstrict-prototypes -Wmissing-prototypes -Wno-error=format-diag -Wold-style-definition -isystem ./include -fPIC -mlong-double-128 -mno-minimal-toc -g -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector directly. # @multilib_dir@ is not really necessary, but sometimes it has # more uses than just a directory name. /bin/bash ../../../../libgcc/../mkinstalldirs nof mkdir -p -- nof /home/glaubitz/gccrs/build/./gcc/xgcc -B/home/glaubitz/gccrs/build/./gcc/ -B/home/glaubitz/gccrs-install/powerpc-unknown-linux-gnu/bin/ -B/home/glaubitz/gccrs-install/powerpc-unknown-linux-gnu/lib/ -isystem /home/glaubitz/gccrs-install/powerpc-unknown-linux-gnu/include -isystem /home/glaubitz/gccrs-install/powerpc-unknown-linux-gnu/sys-include -O2 -g -O2 -DIN_GCC -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-error=format-diag -Wstrict-prototypes -Wmissing-prototypes -Wno-error=format-diag -Wold-style-definition -isystem ./include -fPIC -mlong-double-128 -mno-minimal-toc -g -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector -shared -nodefaultlibs -Wl,--soname=libgcc_s.so.1 -Wl,--version-script=libgcc.map -o nof/libgcc_s.so.1.tmp -g -O2 -msoft-float -fPIC -mstrict-align -B./ _muldi3_s.o _negdi2_s.o _lshrdi3_s.o _ashldi3_s.o _ashrdi3_s.o _cmpdi2_s.o _ucmpdi2_s.o _clear_cache_s.o _trampoline_s.o __main_s.o _absvsi2_s.o _absvdi2_s.o _addvsi3_s.o _addvdi3_s.o _subvsi3_s.o _subvdi3_s.o _mulvsi3_s.o _mulvdi3_s.o _negvsi2_s.o _negvdi2_s.o _ctors_s.o _ffssi2_s.o _ffsdi2_s.o _clz_s.o _clzsi2_s.o _clzdi2_s.o _ctzsi2_s.o _ctzdi2_s.o _popcount_tab_s.o _popcountsi2_s.o _popcountdi2_s.o _paritysi2_s.o _paritydi2_s.o _powisf2_s.o _powidf2_s.o _powixf2_s.o _powitf2_s.o _mulhc3_s.o _mulsc3_s.o _muldc3_s.o _mulxc3_s.o _multc3_s.o _divhc3_s.o _divsc3_s.o _divdc3_s.o _divxc3_s.o _divtc3_s.o _bswapsi2_s.o _bswapdi2_s.o _clrsbsi2_s.o _clrsbdi2_s.o _fixunsxfsi_s.o _fixxfdi_s.o _fixtfdi_s.o _fixunsxfdi_s.o _fixunstfdi_s.o _floatdixf_s.o _floatditf_s.o _floatundixf_s.o _floatunditf_s.o _fixsfti_s.o _fixdfti_s.o _fixxfti_s.o _fixtfti_s.o _fixunssfti_s.o _fixunsdfti_s.o _fixunsxfti_s.o _fixunstfti_s.o _floattisf_s.o _floattidf_s.o _floattixf_s.o _floattitf_s.o _floatuntisf_s.o _floatuntidf_s.o _floatuntixf_s.o _floatuntitf_s.o _divdi3_s.o _moddi3_s.o _divmoddi4_s.o _udivdi3_s.o _umoddi3_s.o _udivmoddi4_s.o _udiv_w_sdiv_s.o ibm-ldouble_s.o tramp_s.o addsf3_s.o divsf3_s.o eqsf2_s.o gesf2_s.o lesf2_s.o mulsf3_s.o negsf2_s.o subsf3_s.o unordsf2_s.o fixsfsi_s.o fixunssfsi_s.o floatsisf_s.o floatunsisf_s.o fixsfdi_s.o fixunssfdi_s.o floatdisf_s.o floatundisf_s.o adddf3_s.o divdf3_s.o eqdf2_s.o gedf2_s.o ledf2_s.o muldf3_s.o negdf2_s.o subdf3_s.o unorddf2_s.o fixdfsi_s.o fixunsdfsi_s.o floatsidf_s.o floatunsidf_s.o fixdfdi_s.o fixunsdfdi_s.o floatdidf_s.o floatundidf_s.o extendsfdf2_s.o truncdfsf2_s.o enable-execute-stack_s.o unwind-dw2_s.o unwind-dw2-fde-dip_s.o unwind-sjlj_s.o unwind-c_s.o emutls_s.o libgcc.a -lc && rm -f nof/libgcc_s.so && if [ -f nof/libgcc_s.so.1 ]; then mv -f nof/libgcc_s.so.1 nof/libgcc_s.so.1.backup; else true; fi && mv nof/libgcc_s.so.1.tmp nof/libgcc_s.so.1 && (echo "/* GNU ld script"; echo " Use the shared library, but some functions are only in"; echo " the static library. */"; echo "GROUP ( libgcc_s.so.1 -lgcc )" ) > nof/libgcc_s.so /usr/bin/ld: cannot find crti.o: No such file or directory collect2: error: ld returned 1 exit status make[4]: *** [Makefile:995: libgcc_s.so] Error 1 make[4]: Leaving directory '/home/glaubitz/gccrs/build/powerpc-unknown-linux-gnu/nof/libgcc' make[3]: *** [Makefile:1211: multi-do] Error 1 make[3]: Leaving directory '/home/glaubitz/gccrs/build/powerpc-unknown-linux-gnu/libgcc' make[2]: *** [Makefile:127: all-multi] Error 2 make[2]: *** Waiting for unfinished jobs.... In file included from ../../../libgcc/../libdecnumber/decQuad.c:140: ../../../libgcc/../libdecnumber/decBasic.c: In function 'decDivide': ../../../libgcc/../libdecnumber/decBasic.c:626:7: warning: array subscript -1 is outside array bounds of 'uint8_t[47]' {aka 'unsigned char[47]'} [-Warray-bounds] 626 | *(num.msd-1)=0; /* in case of left carry, or make 0 */ | ^~~~~~~~~~~~ ../../../libgcc/../libdecnumber/decBasic.c:184:10: note: while referencing 'bcdacc' 184 | uByte bcdacc[(DIVOPLEN+1)*9+2]; /* for quotient in BCD, +1, +1 */ | ^~~~~~ make[2]: Leaving directory '/home/glaubitz/gccrs/build/powerpc-unknown-linux-gnu/libgcc' make[1]: *** [Makefile:13143: all-target-libgcc] Error 2 make[1]: Leaving directory '/home/glaubitz/gccrs/build' make: *** [Makefile:944: all] Error 2 -- .''`. John Paul Adrian Glaubitz : :' : Debian Developer - glaub...@debian.org `. `' Freie Universitaet Berlin - glaub...@physik.fu-berlin.de `- GPG: 62FF 8A75 84E0 2956 9546 0006 7426 3B37 F5B5 F913