This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Corrupt/malformed static libraries on WIN64


I have been working with the experimental WIN64 support for MinGW, and I
have run into something that I cannot seem to solve. Earlier this week, I
updated to Binutils 2.18 after successfully using a snapshot built using the
CVS HEAD sources from June 29, 2007. Since then, I have been unable to
create static libraries using x86_64-pc-mingw32-ar and
x86_64-pc-mingw32-dlltool. Regrettably, I did not back up my old binutils
installation.

In general, I get errors such as this when trying to do anything with the
static libraries created by these tools:

C:\msys\1.0\local\bin\x86_64-pc-mingw32-nm.exe: libwhatever.a: File format
not recognized

I have seen x86_64-pc-mingw32-ar complain about truncated object files when
trying to add to an existing archive, but that only occurred when I tried
recreating bugs using simple test cases.

I have tried building binutils using the MinGW versions of GCC 3.4.5 and
4.2.1 as well as the Cygwin version of GCC 3.4.4. I also tried backing off
to the June 29 sources that were working, and they fail, too. Because of
that, I suspect very strongly that there is something wrong in my
environment, but I have had no luck in figuring out what. I tried getting my
64-bit toolchain out of the way (renamed /usr/local to /usr/local-broken)
and installing a fresh binutils 2.18, but x86_64-pc-mingw32-ar and
x86_64-pc-mingw32-dlltool keep giving me bad static libraries. I certainly
want to be able to rule out operator error before I file any binutils bug
report.

Every time I have built binutils, I use the following commands from within a
build directory under the binutils source tree:

   ../configure --target=x86_64-pc-mingw32
   make
   make install

In case it makes a difference, I can use the Visual C++ linker to make
static libraries from object files compiled using GCC 4.3 (built from
sources checked out three days ago). For a while, I thought maybe the object
files being generated by GCC were corrupt or truncated, but that seems not
to be the case.

 -Patrick


-- 
Patrick L. Hartling
VP Engineering, Infiscape Corp.
http://www.infiscape.com/

Attachment: signature.asc
Description: OpenPGP digital signature


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]