[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug ld/641] file format not recognized; treating as linker script
From: |
nickc at redhat dot com |
Subject: |
[Bug ld/641] file format not recognized; treating as linker script |
Date: |
10 Jan 2005 17:57:07 -0000 |
------- Additional Comments From nickc at redhat dot com 2005-01-10 17:57
-------
Subject: Re: file format not recognized; treating as linker script
Hi Jeff,
> I tried it with -c same result. Also, when I ran file on it it says ASCII
> text.
Hmm, what size is the file ?
> Here are the messages
>
> **** Full rebuild of configuration Release for project Auth ****
Note - I would strongly suggest that you halt the build process after
the creation of the first object file. Things have definitely gone
wrong by this point. We are not looking at a linker bug, we are looking
at a gcc bug or possibly a gas bug.
There appears to be something very odd going on when an object file is
built:
> g++ -O3 -Wall -c -fpreprocessed -M -v -oAuthTest.o ../AuthTest.cpp
So G++ is invoked on AuthTest.cpp. I assume that the "-fpreprocessed"
switch is correct and that this source file has already been pre-processed ?
> Reading specs from /usr/lib/gcc-lib/i686-pc-cygwin/3.3.3/specs
> Configured with: /gcc/gcc-3.3.3-3/configure --verbose --prefix=/usr
> --exec-prefix=/usr --sysconfdir=/etc --libdir=/usr/lib --libexecdir=/usr/lib
> --mandir=/usr/share/man --infodir=/usr/share/info
> --enable-languages=c,ada,c++,d,f77,java,objc,pascal --enable-nls
> --without-included-gettext --enable-libgcj --with-system-zlib
> --enable-interpreter --enable-threads=posix --enable-java-gc=boehm
> --enable-sjlj-exceptions --disable-version-specific-runtime-libs
> --disable-win32-registry
> Thread model: posix
> gcc version 3.3.3 (cygwin special)
> /usr/lib/gcc-lib/i686-pc-cygwin/3.3.3/cc1plus.exe -E -D__GNUG__=3 -quiet -v
> -M
> -D__GNUC__=3 -D__GNUC_MINOR__=3 -D__GNUC_PATCHLEVEL__=3 -D__CYGWIN32__
> -D__CYGWIN__ -Dunix -D__unix__ -D__unix -idirafter
> /usr/lib/gcc-lib/i686-pc-cygwin/3.3.3/../../../../include/w32api -idirafter
> /usr/lib/gcc-lib/i686-pc-cygwin/3.3.3/../../../../i686-pc-cygwin/lib/../../include/w32api
> ../AuthTest.cpp -oAuthTest.o -Wall -fpreprocessed -O3
So cc1plus.exe is run once...
> ignoring nonexistent directory "/usr/local/include"
> ignoring nonexistent directory "/usr/i686-pc-cygwin/include"
> ignoring duplicate directory "/usr/i686-pc-cygwin/lib/../../include/w32api"
> #include "..." search starts here:
> #include <...> search starts here:
> /usr/include/c++/3.3.3
> /usr/include/c++/3.3.3/i686-pc-cygwin
> /usr/include/c++/3.3.3/backward
> /usr/lib/gcc-lib/i686-pc-cygwin/3.3.3/include
> /usr/include
> /usr/include/w32api
> End of search list.
> Reading specs from /usr/lib/gcc-lib/i686-pc-cygwin/3.3.3/specs
> Configured with: /gcc/gcc-3.3.3-3/configure --verbose --prefix=/usr
> --exec-prefix=/usr --sysconfdir=/etc --libdir=/usr/lib --libexecdir=/usr/lib
> --mandir=/usr/share/man --infodir=/usr/share/info
> --enable-languages=c,ada,c++,d,f77,java,objc,pascal --enable-nls
> --without-included-gettext --enable-libgcj --with-system-zlib
> --enable-interpreter --enable-threads=posix --enable-java-gc=boehm
> --enable-sjlj-exceptions --disable-version-specific-runtime-libs
> --disable-win32-registry
> Thread model: posix
> gcc version 3.3.3 (cygwin special)
> /usr/lib/gcc-lib/i686-pc-cygwin/3.3.3/cc1plus.exe -E -D__GNUG__=3 -quiet -v
> -P
> -M -MM -MG -D__GNUC__=3 -D__GNUC_MINOR__=3 -D__GNUC_PATCHLEVEL__=3
> -D__CYGWIN32__ -D__CYGWIN__ -Dunix -D__unix__ -D__unix -idirafter
> /usr/lib/gcc-lib/i686-pc-cygwin/3.3.3/../../../../include/w32api -idirafter
> /usr/lib/gcc-lib/i686-pc-cygwin/3.3.3/../../../../i686-pc-cygwin/lib/../../include/w32api
> ../AuthTest.cpp -Wall -w -fpreprocessed -O3
... and then it is run again with the -o switch missing ? Why ?
> ignoring nonexistent directory "/usr/local/include"
> ignoring nonexistent directory "/usr/i686-pc-cygwin/include"
> ignoring duplicate directory "/usr/i686-pc-cygwin/lib/../../include/w32api"
> #include "..." search starts here:
> #include <...> search starts here:
> /usr/include/c++/3.3.3
> /usr/include/c++/3.3.3/i686-pc-cygwin
> /usr/include/c++/3.3.3/backward
> /usr/lib/gcc-lib/i686-pc-cygwin/3.3.3/include
> /usr/include
> /usr/include/w32api
> End of search list.
> Finished building: ../AuthTest.cpp
... and yet GAS has not been invoked to turn the assembler output of the
cc1plus.exe program into an object file.
Perhaps ... the g++ driver program is picking the wrong executable to
use to convert assembler into binary ?
Cheers
Nick
--
http://sources.redhat.com/bugzilla/show_bug.cgi?id=641
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.