Trying to upgrade to the newest updates to the onward book:

I'm having trouble with gcc pass 2;  I just updated with the
latest fomit_pointer and optimize_linking patches, but I did
not change what I had been doing which is building the 
Temporary GCC Pass2 with gmp and mpfr.

Here's the end of the log:


> make[4]: Entering directory 
> `/mnt/HLFS/tools/Build/Temporary/06-gcc_pass2/gcc-4.4.3/obj/i686-pc-linux-gnu/libgcc'
> if [ -z "" ]; then \
>         true; \
>       else \
>         rootpre=`${PWDCMD-pwd}`/; export rootpre; \
>         srcrootpre=`cd ../../../libgcc; ${PWDCMD-pwd}`/; export srcrootpre; \
>         lib=`echo "${rootpre}" | sed -e 's,^.*/\([^/][^/]*\)/$,\1,'`; \
>         
> compiler="/tools/Build/Temporary/06-gcc_pass2/gcc-4.4.3/obj/./gcc/xgcc 
> -B/tools/Build/Temporary/06-gcc_pass2/gcc-4.4.3/obj/./gcc/ 
> -B/tools/i686-pc-linux-gnu/bin/ -B/tools/i686-pc-linux-gnu/lib/ -isystem 
> /tools/i686-pc-linux-gnu/include -isystem 
> /tools/i686-pc-linux-gnu/sys-include"; \
>         for i in `${compiler} --print-multi-lib 2>/dev/null`; do \
>           dir=`echo $i | sed -e 's/;.*$//'`; \
>           if [ "${dir}" = "." ]; then \
>             true; \
>           else \
>             if [ -d ../${dir}/${lib} ]; then \
>               flags=`echo $i | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`; \
>               if (cd ../${dir}/${lib}; make "AR=ar" "AR_FLAGS=rc" 
> "CC=/tools/Build/Temporary/06-gcc_pass2/gcc-4.4.3/obj/./gcc/xgcc 
> -B/tools/Build/Temporary/06-gcc_pass2/gcc-4.4.3/obj/./gcc/ 
> -B/tools/i686-pc-linux-gnu/bin/ -B/tools/i686-pc-linux-gnu/lib/ -isystem 
> /tools/i686-pc-linux-gnu/include -isystem 
> /tools/i686-pc-linux-gnu/sys-include" "CFLAGS=-g -O2" "DESTDIR=" 
> "EXTRA_OFILES=" "HDEFINES=" "INSTALL=/usr/bin/install -c" 
> "INSTALL_DATA=/usr/bin/install -c -m 644" "INSTALL_PROGRAM=/usr/bin/install 
> -c" "LDFLAGS=" "LOADLIBES=" "RANLIB=ranlib" "SHELL=/bin/sh" "prefix=/tools" 
> "exec_prefix=/tools" "libdir=/tools/lib" 
> "libsubdir=/tools/lib/gcc/i686-pc-linux-gnu/4.4.3" 
> "tooldir=/tools/i686-pc-linux-gnu" \
>                               CFLAGS="-g -O2 ${flags}" \
>                               CCASFLAGS=" ${flags}" \
>                               FCFLAGS=" ${flags}" \
>                               FFLAGS=" ${flags}" \
>                               ADAFLAGS=" ${flags}" \
>                               prefix="/tools" \
>                               exec_prefix="/tools" \
>                               GCJFLAGS=" ${flags}" \
>                               CXXFLAGS="-g -O2   ${flags}" \
>                               LIBCFLAGS="-g -O2   ${flags}" \
>                               LIBCXXFLAGS="-D_GNU_SOURCE 
> -fno-implicit-templates   ${flags}" \
>                               LDFLAGS=" ${flags}" \
>                               MULTIFLAGS="${flags}" \
>                               DESTDIR="" \
>                               INSTALL="/usr/bin/install -c" \
>                               INSTALL_DATA="/usr/bin/install -c -m 644" \
>                               INSTALL_PROGRAM="/usr/bin/install -c" \
>                               INSTALL_SCRIPT="/usr/bin/install -c" \
>                               all); then \
>                 true; \
>               else \
>                 exit 1; \
>               fi; \
>             else true; \
>             fi; \
>           fi; \
>         done; \
>       fi
> make[4]: Leaving directory 
> `/mnt/HLFS/tools/Build/Temporary/06-gcc_pass2/gcc-4.4.3/obj/i686-pc-linux-gnu/libgcc'
> # Early copyback; see "all" above for the rationale.  The
> # early copy is necessary so that the gcc -B options find
> # the right startup files when linking shared libgcc.
> /bin/sh ../../../libgcc/../mkinstalldirs ../.././gcc
> parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o crtprec32.o 
> crtprec64.o crtprec80.o crtfastmath.o";                                      \
>       for file in $parts; do                                  \
>         rm -f ../.././gcc/$file;              \
>         /usr/bin/install -c -m 644 $file ../.././gcc/;        \
>       done
> # @multilib_flags@ is still needed because this may use
> # /tools/Build/Temporary/06-gcc_pass2/gcc-4.4.3/obj/./gcc/xgcc 
> -B/tools/Build/Temporary/06-gcc_pass2/gcc-4.4.3/obj/./gcc/ 
> -B/tools/i686-pc-linux-gnu/bin/ -B/tools/i686-pc-linux-gnu/lib/ -isystem 
> /tools/i686-pc-linux-gnu/include -isystem 
> /tools/i686-pc-linux-gnu/sys-include and -O2  -g -O2 -DIN_GCC   -W -Wall 
> -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wcast-qual 
> -Wold-style-definition  -isystem ./include  -fPIC -g -DHAVE_GTHR_DEFAULT 
> -fno-stack-protector -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED  -fno-PIE directly.
> # @multilib_dir@ is not really necessary, but sometimes it has
> # more uses than just a directory name.
> /bin/sh ../../../libgcc/../mkinstalldirs .
> /tools/Build/Temporary/06-gcc_pass2/gcc-4.4.3/obj/./gcc/xgcc 
> -B/tools/Build/Temporary/06-gcc_pass2/gcc-4.4.3/obj/./gcc/ 
> -B/tools/i686-pc-linux-gnu/bin/ -B/tools/i686-pc-linux-gnu/lib/ -isystem 
> /tools/i686-pc-linux-gnu/include -isystem 
> /tools/i686-pc-linux-gnu/sys-include -O2  -g -O2 -DIN_GCC   -W -Wall 
> -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wcast-qual 
> -Wold-style-definition  -isystem ./include  -fPIC -g -DHAVE_GTHR_DEFAULT 
> -fno-stack-protector -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED  -fno-PIE -shared 
> -nodefaultlibs -Wl,--soname=libgcc_s.so.1 -Wl,--version-script=libgcc.map -o 
> ./libgcc_s.so.1.tmp -g -O2 -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 
> _enable_execute_stack_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 _mulsc3_s.o _muldc3_s.o _mulxc3_s.o _multc3_s.o _divsc3_s.o 
_divdc3_s.o _divxc3_s.o _divtc3_s.o _bswapsi2_s.o _bswapdi2_s.o _fixunssfsi_s.o 
_fixunsdfsi_s.o _fixunsxfsi_s.o _fixsfdi_s.o _fixdfdi_s.o _fixxfdi_s.o 
_fixunssfdi_s.o _fixunsdfdi_s.o _fixunsxfdi_s.o _floatdisf_s.o _floatdidf_s.o 
_floatdixf_s.o _floatundisf_s.o _floatundidf_s.o _floatundixf_s.o _divdi3_s.o 
_moddi3_s.o _udivdi3_s.o _umoddi3_s.o _udiv_w_sdiv_s.o _udivmoddi4_s.o 
addtf3_s.o divtf3_s.o eqtf2_s.o getf2_s.o letf2_s.o multf3_s.o negtf2_s.o 
subtf3_s.o unordtf2_s.o fixtfsi_s.o fixunstfsi_s.o floatsitf_s.o 
floatunsitf_s.o fixtfdi_s.o fixunstfdi_s.o floatditf_s.o floatunditf_s.o 
extendsftf2_s.o extenddftf2_s.o extendxftf2_s.o trunctfsf2_s.o trunctfdf2_s.o 
trunctfxf2_s.o tf-signs_s.o unwind-dw2_s.o unwind-dw2-fde-glibc_s.o 
unwind-sjlj_s.o gthr-gnat_s.o unwin
 d-c_s.o emutls_s.o -lc && rm -f ./libgcc_s.so && if [ -f ./libgcc_s.so.1 ]; 
then mv -f ./libgcc_s.so.1 ./libgcc_s.so.1.backup; else true; fi && mv 
./libgcc_s.so.1.tmp ./libgcc_s.so.1 && ln -s libgcc_s.so.1 ./libgcc_s.so
> /tools/bin/ld: crti.o: No such file: No such file or directory
> collect2:ld returned 1 exit status
> make[3]: *** [libgcc_s.so] Error 1
> make[3]: Leaving directory 
> `/mnt/HLFS/tools/Build/Temporary/06-gcc_pass2/gcc-4.4.3/obj/i686-pc-linux-gnu/libgcc'
> make[2]: *** [all-stage1-target-libgcc] Error 2
> make[2]: Leaving directory 
> `/mnt/HLFS/tools/Build/Temporary/06-gcc_pass2/gcc-4.4.3/obj'
> make [1]: *** [stage1-bubble] Error 2
> make[1]: Leaving directory 
> `/mnt/HLFS/tools/Build/Temporary/06-gcc_pass2/gcc-4.4.3/obj'
> make: *** [all] Error 2

Strange especially since

> /tools/bin/ld --verbose | grep SEARCH
> SEARCH_DIR("/tools/i686-pc-linux-gnu/lib"); SEARCH_DIR("/tools/lib");

and

> file /tools/lib/crti.o
> /tools/lib/crti.o: ELF 32-bit LSB relocatable, Intel 80386, version 1 (SYSV), 
> not stripped

The first pass GCC seems to be OK

> gcc -v
> Reading specs from /mnt/HLFS/tools/bin../lib/gcc/i686-pc-linux-gnu/4.4.3/specs
> Configured with: ../configure --prefix=/tools --with-local-prefix=/tools 
> --libexecdir=/tools/lib --enable-shared --enable-languages=c 
> --enable-threads=posix --disable-nls --disable-multilib --disable-libssp 
> --disable-integer-float --disable-mudflap --disable-libgomp 
> --disable-decimal-float 
> --infodir=/tools/Build/Temporary/02-gcc_pass1/gcc-4.4.3/obj/DESTDIR 
> --mandir=/tools/Build/Temporary/02-gcc_pass1/gcc-4.4.3/obj/DESTDIR
> Thread model: posix
> gcc version 4.4.3 (HLFS Temp-Pass1 PIC)

> echo "main(){;}" | gcc -o foo -Wl,--verbose -x c - | grep crti
> attempt to open 
> /mnt/HLFS/tools/bin/../lib/gcc/i686-pc-linux-gnu/4.4.3/../../../crti.o 
> succeeded
> /mnt/HLFS/tools/bin/../lib/gcc/i686-pc-linux-gnu/4.4.3/../../../crti.o

Any ideas?  

The scripts I had were working before I made the changes, which were mainly (no 
particular order)
1) New HLFS patches
2) remove explicit host,build,target=i486-pc-linux-gnu from binutils-pass1, 
gcc-pass1, glibc, gcc-pass2
3) remove --with-cpu=i486 --with-arch=i486 from GCC
4) add --disable-multilib
5) different configparms in glib

I'm going to start reverting some of the changes (thank goodness for 
subversion1),
but I'm hoping someone can point in the right direction.

-dean takemori
-- 
http://linuxfromscratch.org/mailman/listinfo/hlfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Reply via email to