This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
bootstrap/7589: libgcc.map file is empty; ld dies
- From: gaedba at attbi dot com
- To: gcc-gnats at gcc dot gnu dot org
- Date: 13 Aug 2002 18:11:20 -0000
- Subject: bootstrap/7589: libgcc.map file is empty; ld dies
- Reply-to: gaedba at attbi dot com
>Number: 7589
>Category: bootstrap
>Synopsis: libgcc.map file is empty; ld dies
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: unassigned
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Tue Aug 13 11:16:00 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator: gaedba@attbi.com
>Release: 3.0.4, 3.1, 3.1.1
>Organization:
>Environment:
i686-pc-linux-gnu host. Linux/Mandrake 8
gcc (GCC) 3.1
GNU assembler 2.10.91
GNU ld 2.10.91
>Description:
End of the bootstrap log looks like this:
./xgcc -B./ -B/usr/local/i686-pc-linux-gnu/bin/ -isystem /usr/local/i686-pc-linux-gnu/include -isystem /usr/local/i686-pc-linux-gnu/sys-include -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -isystem ./include -fPIC -g -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -I. -I. -I. -I./. -I./config -I./../include -fexceptions -c ./unwind-dw2.c -o libgcc/./unwind-dw2.o
./xgcc -B./ -B/usr/local/i686-pc-linux-gnu/bin/ -isystem /usr/local/i686-pc-linux-gnu/include -isystem /usr/local/i686-pc-linux-gnu/sys-include -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -isystem ./include -fPIC -g -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -I. -I. -I. -I./. -I./config -I./../include -fexceptions -c ./unwind-dw2-fde-glibc.c -o libgcc/./unwind-dw2-fde-glibc.o
./xgcc -B./ -B/usr/local/i686-pc-linux-gnu/bin/ -isystem /usr/local/i686-pc-linux-gnu/include -isystem /usr/local/i686-pc-linux-gnu/sys-include -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -isystem ./include -fPIC -g -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -I. -I. -I. -I./. -I./config -I./../include -fexceptions -c ./unwind-sjlj.c -o libgcc/./unwind-sjlj.o
rm -rf ./libgcc_eh.a
ar rc ./libgcc_eh.a libgcc/./unwind-dw2.o libgcc/./unwind-dw2-fde-glibc.o libgcc/./unwind-sjlj.o
if [ -f ranlib ] || ( [ i686-pc-linux-gnu = i686-pc-linux-gnu ] && [ -f /usr/bin/ranlib -o -f /bin/ranlib ] ) ; then \
ranlib ./libgcc_eh.a ; \
else true; fi;
{ nm -pg libgcc/./_muldi3.o libgcc/./_negdi2.o libgcc/./_lshrdi3.o libgcc/./_ashldi3.o libgcc/./_ashrdi3.o libgcc/./_ffsdi2.o libgcc/./_clz.o libgcc/./_cmpdi2.o libgcc/./_ucmpdi2.o libgcc/./_floatdidf.o libgcc/./_floatdisf.o libgcc/./_fixunsdfsi.o libgcc/./_fixunssfsi.o libgcc/./_fixunsdfdi.o libgcc/./_fixdfdi.o libgcc/./_fixunssfdi.o libgcc/./_fixsfdi.o libgcc/./_fixxfdi.o libgcc/./_fixunsxfdi.o libgcc/./_floatdixf.o libgcc/./_fixunsxfsi.o libgcc/./_fixtfdi.o libgcc/./_fixunstfdi.o libgcc/./_floatditf.o libgcc/./_clear_cache.o libgcc/./_trampoline.o libgcc/./__main.o libgcc/./_exit.o libgcc/./_absvsi2.o libgcc/./_absvdi2.o libgcc/./_addvsi3.o libgcc/./_addvdi3.o libgcc/./_subvsi3.o libgcc/./_subvdi3.o libgcc/./_mulvsi3.o libgcc/./_mulvdi3.o libgcc/./_negvsi2.o libgcc/./_negvdi2.o libgcc/./_ctors.o libgcc/./_divdi3.o libgcc/./_moddi3.o libgcc/./_udivdi3.o libgcc/./_umoddi3.o libgcc/./_udiv_w_sdiv.o libgcc/./_udivmoddi4.o libgcc/./unwind-dw2.o libgcc/./unwind-dw2-fde-glibc.o libgcc/./unwind-sjlj.o; echo %%; \
cat ./libgcc-std.ver ./config/libgcc-glibc.ver | sed -e "/^[ ]*#/d" -e 's/^%\(if\|else\|elif\|endif\|define\)/#\1/' \
| ./xgcc -B./ -B/usr/local/i686-pc-linux-gnu/bin/ -isystem /usr/local/i686-pc-linux-gnu/include -isystem /usr/local/i686-pc-linux-gnu/sys-include -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -isystem ./include -fPIC -g -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -I. -I. -I. -I./. -I./config -I./../include -E -xassembler-with-cpp -; \
} | mawk -f ./mkmap-symver.awk > libgcc/./tmp-libgcc.map
mv libgcc/./tmp-libgcc.map libgcc/./libgcc.map
./xgcc -B./ -B/usr/local/i686-pc-linux-gnu/bin/ -isystem /usr/local/i686-pc-linux-gnu/include -isystem /usr/local/i686-pc-linux-gnu/sys-include -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -isystem ./include -fPIC -g -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -shared -nodefaultlibs -Wl,--soname=libgcc_s.so.1 -Wl,--version-script=libgcc/./libgcc.map -o libgcc_s.so.1 libgcc/./_muldi3.o libgcc/./_negdi2.o libgcc/./_lshrdi3.o libgcc/./_ashldi3.o libgcc/./_ashrdi3.o libgcc/./_ffsdi2.o libgcc/./_clz.o libgcc/./_cmpdi2.o libgcc/./_ucmpdi2.o libgcc/./_floatdidf.o libgcc/./_floatdisf.o libgcc/./_fixunsdfsi.o libgcc/./_fixunssfsi.o libgcc/./_fixunsdfdi.o libgcc/./_fixdfdi.o libgcc/./_fixunssfdi.o libgcc/./_fixsfdi.o libgcc/./_fixxfdi.o libgcc/./_fixunsxfdi.o libgcc/./_floatdixf.o libgcc/./_fixunsxfsi.o libgcc/./_fixtfdi.o libgcc/./_fixunstfdi.o libgcc/./_floatditf.o libgcc/./_clear_cache.o libgcc/./_trampoline.o libgcc/./__main.o libgcc/./_exit.o libgcc/./_absvsi2.o libgcc/./_absvdi2.o libgcc/./_addvsi3.o libgcc/./_addvdi3.o libgcc/./_subvsi3.o libgcc/./_subvdi3.o libgcc/./_mulvsi3.o libgcc/./_mulvdi3.o libgcc/./_negvsi2.o libgcc/./_negvdi2.o libgcc/./_ctors.o libgcc/./_divdi3.o libgcc/./_moddi3.o libgcc/./_udivdi3.o libgcc/./_umoddi3.o libgcc/./_udiv_w_sdiv.o libgcc/./_udivmoddi4.o libgcc/./unwind-dw2.o libgcc/./unwind-dw2-fde-glibc.o libgcc/./unwind-sjlj.o -lc && rm -f libgcc_s.so && ln -s libgcc_s.so.1 libgcc_s.so
/usr/bin/ld:libgcc/./libgcc.map:1: parse error in VERSION script
collect2: ld returned 1 exit status
make[3]: *** [libgcc_s.so] Error 1
make[3]: Leaving directory `/usr/home/geb/subsys/source/gnusrc/gcc-3.1.1/gcc'
make[2]: *** [libgcc.a] Error 2
make[2]: Leaving directory `/usr/home/geb/subsys/source/gnusrc/gcc-3.1.1/gcc'
make[1]: *** [stage1_build] Error 2
make[1]: Leaving directory `/usr/home/geb/subsys/source/gnusrc/gcc-3.1.1/gcc'
make: *** [bootstrap] Error 2
The libgcc.map file is zero-length.
>How-To-Repeat:
./configure --enable-languages=c,c++
make bootstrap
>Fix:
I started with a working gcc 2.96. 3.0.1 didn't bootstrap
until I configured it --disable-shared --enable-languages=c.
Then I tried 3.0.4, same problem, same workaround.
Then I tried 3.1, same problem, same workaround.
Now I'm trying 3.1.1. I'll try --disable-shared on that.
I really want a working C++, not just C.
I'm having the same sort of problem on Solaris. Only on
Solaris the .map file isn't empty; it doesn't parse correctly
for some reason. Or, depending on configuration, it gets to a
place where it runs ./cc1 .... -o /tmp/xxxx.s and then ld
complains that /tmp/xxxx.s is an unknown file type and
isn't a valid linker command script. Very strange.
>Release-Note:
>Audit-Trail:
>Unformatted: