Opened 17 years ago

Closed 17 years ago

Last modified 17 years ago

#1988 closed defect (fixed)

Error First pass of Binutils

Reported by: beojan Owned by: dnicholson@…
Priority: high Milestone:
Component: Book Version: 6.2
Severity: major Keywords:
Cc:

Description

The first pass build of binutils didn't build:

lfs@ubuntu:/home/beojan/BJOS/sources/binutils-build$ make -C ld LIB_PATH=/tools/lib
make: Entering directory `/home/beojan/BJOS/sources/binutils-build/ld'
make  all-recursive
make[1]: Entering directory `/home/beojan/BJOS/sources/binutils-build/ld'
Making all in po
make[2]: Entering directory `/home/beojan/BJOS/sources/binutils-build/ld/po'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/home/beojan/BJOS/sources/binutils-build/ld/po'
make[2]: Entering directory `/home/beojan/BJOS/sources/binutils-build/ld'
gcc -DHAVE_CONFIG_H -I. -I../../binutils-2.16.1/ld -I. -D_GNU_SOURCE -I. -I../../binutils-2.16.1/ld -I../bfd -I../../binutils-2.16.1/ld/../bfd -I../../binutils-2.16.1/ld/../include -I../../binutils-2.16.1/ld/../intl -I../intl  -g -O2  -DLOCALEDIR="\"/tools/share/locale\""   -W -Wall -Wstrict-prototypes -Wmissing-prototypes -g -O2  -c ../../binutils-2.16.1/ld/ldgram.c
gcc -DHAVE_CONFIG_H -I. -I../../binutils-2.16.1/ld -I. -D_GNU_SOURCE -I. -I../../binutils-2.16.1/ld -I../bfd -I../../binutils-2.16.1/ld/../bfd -I../../binutils-2.16.1/ld/../include -I../../binutils-2.16.1/ld/../intl -I../intl  -g -O2  -DLOCALEDIR="\"/tools/share/locale\""   -W -Wall -Wstrict-prototypes -Wmissing-prototypes -g -O2  -c ../../binutils-2.16.1/ld/ldlex.c
gcc -DHAVE_CONFIG_H -I. -I../../binutils-2.16.1/ld -I. -D_GNU_SOURCE -I. -I../../binutils-2.16.1/ld -I../bfd -I../../binutils-2.16.1/ld/../bfd -I../../binutils-2.16.1/ld/../include -I../../binutils-2.16.1/ld/../intl -I../intl  -g -O2  -DLOCALEDIR="\"/tools/share/locale\""   -W -Wall -Wstrict-prototypes -Wmissing-prototypes -g -O2  -c ../../binutils-2.16.1/ld/lexsup.c
gcc -DHAVE_CONFIG_H -I. -I../../binutils-2.16.1/ld -I. -D_GNU_SOURCE -I. -I../../binutils-2.16.1/ld -I../bfd -I../../binutils-2.16.1/ld/../bfd -I../../binutils-2.16.1/ld/../include -I../../binutils-2.16.1/ld/../intl -I../intl  -g -O2  -DLOCALEDIR="\"/tools/share/locale\""   -W -Wall -Wstrict-prototypes -Wmissing-prototypes -g -O2  -c ../../binutils-2.16.1/ld/ldlang.c
../../binutils-2.16.1/ld/ldlang.c: In function 'lang_output_section_statement_lookup_1':
../../binutils-2.16.1/ld/ldlang.c:654: warning: dereferencing type-punned pointer will break strict-aliasing rules
gcc -DHAVE_CONFIG_H -I. -I../../binutils-2.16.1/ld -I. -D_GNU_SOURCE -I. -I../../binutils-2.16.1/ld -I../bfd -I../../binutils-2.16.1/ld/../bfd -I../../binutils-2.16.1/ld/../include -I../../binutils-2.16.1/ld/../intl -I../intl  -g -O2  -DLOCALEDIR="\"/tools/share/locale\""   -W -Wall -Wstrict-prototypes -Wmissing-prototypes -g -O2  -c ../../binutils-2.16.1/ld/mri.c
gcc -DHAVE_CONFIG_H -I. -I../../binutils-2.16.1/ld -I. -D_GNU_SOURCE -I. -I../../binutils-2.16.1/ld -I../bfd -I../../binutils-2.16.1/ld/../bfd -I../../binutils-2.16.1/ld/../include -I../../binutils-2.16.1/ld/../intl -I../intl  -g -O2  -DLOCALEDIR="\"/tools/share/locale\""   -W -Wall -Wstrict-prototypes -Wmissing-prototypes -g -O2  -c ../../binutils-2.16.1/ld/ldctor.c
gcc -DHAVE_CONFIG_H -I. -I../../binutils-2.16.1/ld -I. -D_GNU_SOURCE -I. -I../../binutils-2.16.1/ld -I../bfd -I../../binutils-2.16.1/ld/../bfd -I../../binutils-2.16.1/ld/../include -I../../binutils-2.16.1/ld/../intl -I../intl  -g -O2  -DLOCALEDIR="\"/tools/share/locale\""   -W -Wall -Wstrict-prototypes -Wmissing-prototypes -g -O2  -c -DDEFAULT_EMULATION='"elf_i386"' \
          -DSCRIPTDIR='"/tools/i686-pc-linux-gnu/lib"' -DBINDIR='"/tools/bin"' \
          -DTOOLBINDIR='"/tools/i686-pc-linux-gnu/bin"' \
          -DTARGET='"i686-pc-linux-gnu"' -DTARGET_SYSTEM_ROOT=\"\" \
          ../../binutils-2.16.1/ld/ldmain.c
gcc -DHAVE_CONFIG_H -I. -I../../binutils-2.16.1/ld -I. -D_GNU_SOURCE -I. -I../../binutils-2.16.1/ld -I../bfd -I../../binutils-2.16.1/ld/../bfd -I../../binutils-2.16.1/ld/../include -I../../binutils-2.16.1/ld/../intl -I../intl  -g -O2  -DLOCALEDIR="\"/tools/share/locale\""   -W -Wall -Wstrict-prototypes -Wmissing-prototypes -g -O2  -c ../../binutils-2.16.1/ld/ldwrite.c
gcc -DHAVE_CONFIG_H -I. -I../../binutils-2.16.1/ld -I. -D_GNU_SOURCE -I. -I../../binutils-2.16.1/ld -I../bfd -I../../binutils-2.16.1/ld/../bfd -I../../binutils-2.16.1/ld/../include -I../../binutils-2.16.1/ld/../intl -I../intl  -g -O2  -DLOCALEDIR="\"/tools/share/locale\""   -W -Wall -Wstrict-prototypes -Wmissing-prototypes -g -O2  -c ../../binutils-2.16.1/ld/ldexp.c
(echo "/* This file is automatically generated.  DO NOT EDIT! */";\
        for f in `echo " " eelf_i386.o ei386linux.o "" \
         | sed -e 's/ e/ ld/g' -e 's/ ld/ /g' -e 's/[.]o//g'`; do \
            echo "extern ld_emulation_xfer_type ld_${f}_emulation;"; \
        done;\
        echo "";\
        echo "#define EMULATION_LIST \\";\
        for f in `echo " " eelf_i386.o ei386linux.o "" \
         | sed -e 's/ e/ ld/g' -e 's/ ld/ /g' -e 's/[.]o//g'`; do \
            echo "  &ld_${f}_emulation, \\"; \
        done;\
        echo "  0") >ldemul-tmp.h
mv ldemul-tmp.h ldemul-list.h
gcc -DHAVE_CONFIG_H -I. -I../../binutils-2.16.1/ld -I. -D_GNU_SOURCE -I. -I../../binutils-2.16.1/ld -I../bfd -I../../binutils-2.16.1/ld/../bfd -I../../binutils-2.16.1/ld/../include -I../../binutils-2.16.1/ld/../intl -I../intl  -g -O2  -DLOCALEDIR="\"/tools/share/locale\""   -W -Wall -Wstrict-prototypes -Wmissing-prototypes -g -O2  -c ../../binutils-2.16.1/ld/ldemul.c
gcc -DHAVE_CONFIG_H -I. -I../../binutils-2.16.1/ld -I. -D_GNU_SOURCE -I. -I../../binutils-2.16.1/ld -I../bfd -I../../binutils-2.16.1/ld/../bfd -I../../binutils-2.16.1/ld/../include -I../../binutils-2.16.1/ld/../intl -I../intl  -g -O2  -DLOCALEDIR="\"/tools/share/locale\""   -W -Wall -Wstrict-prototypes -Wmissing-prototypes -g -O2  -c ../../binutils-2.16.1/ld/ldver.c
gcc -DHAVE_CONFIG_H -I. -I../../binutils-2.16.1/ld -I. -D_GNU_SOURCE -I. -I../../binutils-2.16.1/ld -I../bfd -I../../binutils-2.16.1/ld/../bfd -I../../binutils-2.16.1/ld/../include -I../../binutils-2.16.1/ld/../intl -I../intl  -g -O2  -DLOCALEDIR="\"/tools/share/locale\""   -W -Wall -Wstrict-prototypes -Wmissing-prototypes -g -O2  -c ../../binutils-2.16.1/ld/ldmisc.c
gcc -DHAVE_CONFIG_H -I. -I../../binutils-2.16.1/ld -I. -D_GNU_SOURCE -I. -I../../binutils-2.16.1/ld -I../bfd -I../../binutils-2.16.1/ld/../bfd -I../../binutils-2.16.1/ld/../include -I../../binutils-2.16.1/ld/../intl -I../intl  -g -O2  -DLOCALEDIR="\"/tools/share/locale\""   -W -Wall -Wstrict-prototypes -Wmissing-prototypes -g -O2  -c ../../binutils-2.16.1/ld/ldfile.c
gcc -DHAVE_CONFIG_H -I. -I../../binutils-2.16.1/ld -I. -D_GNU_SOURCE -I. -I../../binutils-2.16.1/ld -I../bfd -I../../binutils-2.16.1/ld/../bfd -I../../binutils-2.16.1/ld/../include -I../../binutils-2.16.1/ld/../intl -I../intl  -g -O2  -DLOCALEDIR="\"/tools/share/locale\""   -W -Wall -Wstrict-prototypes -Wmissing-prototypes -g -O2  -c ../../binutils-2.16.1/ld/ldcref.c
LIB_PATH='/tools/lib' /bin/sh ../../binutils-2.16.1/ld/genscripts.sh ../../binutils-2.16.1/ld /tools/lib "/tools" i686-pc-linux-gnu i686-pc-linux-gnu i686-pc-linux-gnu "elf_i386" "/usr/local/lib /lib /usr/lib" no elf_i386 "i686-pc-linux-gnu"
gcc -DHAVE_CONFIG_H -I. -I../../binutils-2.16.1/ld -I. -D_GNU_SOURCE -I. -I../../binutils-2.16.1/ld -I../bfd -I../../binutils-2.16.1/ld/../bfd -I../../binutils-2.16.1/ld/../include -I../../binutils-2.16.1/ld/../intl -I../intl  -g -O2  -DLOCALEDIR="\"/tools/share/locale\""   -W -Wall -Wstrict-prototypes -Wmissing-prototypes -g -O2  -c eelf_i386.c
LIB_PATH='/tools/lib' /bin/sh ../../binutils-2.16.1/ld/genscripts.sh ../../binutils-2.16.1/ld /tools/lib "/tools" i686-pc-linux-gnu i686-pc-linux-gnu i686-pc-linux-gnu "elf_i386" "/usr/local/lib /lib /usr/lib" no i386linux "i686-pc-linux-gnuaout"
gcc -DHAVE_CONFIG_H -I. -I../../binutils-2.16.1/ld -I. -D_GNU_SOURCE -I. -I../../binutils-2.16.1/ld -I../bfd -I../../binutils-2.16.1/ld/../bfd -I../../binutils-2.16.1/ld/../include -I../../binutils-2.16.1/ld/../intl -I../intl  -g -O2  -DLOCALEDIR="\"/tools/share/locale\""   -W -Wall -Wstrict-prototypes -Wmissing-prototypes -g -O2  -c ei386linux.c
/bin/sh ./libtool --mode=link gcc -W -Wall -Wstrict-prototypes -Wmissing-prototypes -g -O2   -o ld-new  ldgram.o ldlex.o lexsup.o ldlang.o mri.o ldctor.o ldmain.o ldwrite.o ldexp.o ldemul.o ldver.o ldmisc.o ldfile.o ldcref.o eelf_i386.o ei386linux.o  ../bfd/libbfd.la ../libiberty/libiberty.a  
mkdir .libs
gcc -W -Wall -Wstrict-prototypes -Wmissing-prototypes -g -O2 -o ld-new ldgram.o ldlex.o lexsup.o ldlang.o mri.o ldctor.o ldmain.o ldwrite.o ldexp.o ldemul.o ldver.o ldmisc.o ldfile.o ldcref.o eelf_i386.o ei386linux.o  ../bfd/.libs/libbfd.a ../libiberty/libiberty.a
/tools/bin/ld: unrecognized option '--hash-style=both'
/tools/bin/ld: use the --help option for usage information
collect2: ld returned 1 exit status
make[2]: *** [ld-new] Error 1
make[2]: Leaving directory `/home/beojan/BJOS/sources/binutils-build/ld'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/beojan/BJOS/sources/binutils-build/ld'
make: *** [all-recursive-am] Error 2
make: Leaving directory `/home/beojan/BJOS/sources/binutils-build/ld'

Some help please.

Change History (7)

comment:1 by dnicholson@…, 17 years ago

Owner: changed from lfs-book@… to dnicholson@…
Status: newassigned

Sorry, this should be on the errata. For the first two packages (binuxtils-pass1 and gcc-pass1), force gcc to use the ld from your host:

CC="gcc -B/usr/bin/" ../binutils-2.16.1/configure
...

See how it's done in the development book. Everything's the same except the version numbers:

http://www.linuxfromscratch.org/lfs/view/development/chapter05/binutils-pass1.html

http://www.linuxfromscratch.org/lfs/view/development/chapter05/gcc-pass1.html

comment:2 by dnicholson@…, 17 years ago

Note to myself: update the freaking errata!

comment:3 by Matthew Burgess, 17 years ago

Milestone: 6.26.3
Version: SVN6.2

comment:4 by Matthew Burgess, 17 years ago

Resolution: fixed
Status: assignedclosed

Fixed by adding an errata in revision 869 in the www2 repo.

comment:5 by dnicholson@…, 17 years ago

Resolution: fixed
Status: closedreopened

Almost. You have to pass CC="gcc -B/usr/bin/" to gcc-pass1, too. Otherwise, your host gcc is gonna try to use the ld you just built.

Also, does anyone know why some commits to www2 aren't going to the website list? The formatting looks a little off on the errata, too.

http://www.linuxfromscratch.org/lfs/errata/stable/

comment:6 by Matthew Burgess, 17 years ago

Resolution: fixed
Status: reopenedclosed

Thanks Dan. I've updated the errata to change the GCC configure command too, and the formatting looks a lot better now too. I wonder whether the commits to www2 get eaten by our spam filter because of all the HTML tags they'll inevitably contain?

comment:7 by Jeremy Huntwork, 17 years ago

Milestone: 6.3

Milestone 6.3 deleted

Note: See TracTickets for help on using tickets.