[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
ld bug.
From: |
Virgil Palanciuc |
Subject: |
ld bug. |
Date: |
Fri, 24 Oct 2003 18:09:39 +0200 |
Hello everyone,
I ran into problems using gcc.
The short story - ld crashes with this error:
Linking c:/TMP/elli/bin/elli.exe
/usr/lib/gcc-lib/i686-pc-cygwin/3.2/../../../../i686-pc-cygwin/bin/ld: BFD
internal error, aborting
at /cygnus/netrel/src/binutils-20011002-1/bfd/coffcode.h line 818 in
handle_COMDAT
/usr/lib/gcc-lib/i686-pc-cygwin/3.2/../../../../i686-pc-cygwin/bin/ld: Please
report this bug.
collect2: ld returned 1 exit status
make[1]: *** [c:/TMP/elli/bin/elli.exe] Error 1
make: *** [all] Error 2
I suspect that it crashes because it has to link a very large object file:
5248 -rw-rw-rw- 1 batwings None 5373267 Oct 24 18:17
obj/polaris_instructions.o
And now here is the longer story about this file:
On my project, I have this file which is very large (actually not so large -
but it becomes large after preprocessing - approx 85.000 lines of code,
excluding the standard headers). In this file there was a function (lets call
it "foo") which made a lot (thousands) of calls to other (small) functions.
When compiling this file (even on -O0) gcc crashed (because foo actually
contained more than 65535 temporary symbols, so I suspect it simply hit some
internal GCC limitation). To overcome this, I split the function 'foo' into
approx 40 functions - foo1..foo40. Now all foo does is to call these 40
functions. This works fine as far as compilation is concerned - but now I have
this linker problem. I have no idea how to overcome it. Any suggestions?
I would gladly help you isolate the bug if I can - but I am not allowed to
send you the entire project so that you may attempt to link it yourself.
Thanks,
Virgil.
P.S. My gcc version is:
/c/TMP/elli$ gcc --verbose -v
Reading specs from /usr/lib/gcc-lib/i686-pc-cygwin/3.2/specs
Configured with: /netrel/src/gcc-3.2-2/configure
--enable-languages=c,c++,f77,java --enable-libgcj -
-enable-threads=posix --with-system-zlib --enable-nls
--without-included-gettext --enable-interprete
r --disable-sjlj-exceptions --disable-version-specific-runtime-libs
--enable-shared --build=i686-pc-
linux --host=i686-pc-cygwin --target=i686-pc-cygwin --enable-haifa
--prefix=/usr --exec-prefix=/usr
--sysconfdir=/etc --libdir=/usr/lib --includedir=/nonexistent/include
--libexecdir=/usr/sbin
Thread model: posix
gcc version 3.2 20020927 (prerelease)
Need a new email address that people can remember
Check out the new EudoraMail at
http://www.eudoramail.com
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- ld bug.,
Virgil Palanciuc <=