This is the mail archive of the cygwin@cygwin.com mailing list for the Cygwin 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]

Re: Available for test: gcc-3.1.1-2 gcc2-2.95.3-8


Christopher Faylor wrote:

Fixes in gcc2:

  -mno-cygwin works with c++ now?

  HOWEVER, I've fixed this problem by creating a separate g++-3
  directory in /usr/include.  If you have a symbolic link there or
  if you have modified files in that directory they will be wiped
  out.  Or, er, I actually don't know what will happen to the symbolic
  link.  It is probably a good idea to eliminate it before installing
  the package.

  (I'm taking bets now on when we'll see the first bug report as a
  result of this change.)

Okay, there's just one thing I forgot to mention last time: there still is no mingw libstdc++(-2).a for gcc-2.95.3-8 (of course, 2.95.3-5 didn't have one either, so this is no big deal. However, since you're providing the mingw/g++-3 headers ...

Anyway, see below.

The attached test "suite" provides stripped down versions of the C, C++, and Fortran dllhelpers examples, plus several -mno-cygwin invocation scripts.

I tested thus:
unpack
cd gcc-tests/c
unset CC
export CC
make
make clean

export CC=mgcc
make
make clean

export CC=gcc-2
make
make clean

export CC=mgcc-2
make
make clean

Then, same thing in the cxx directory, using CXX=[],mg++,g++-2,mg++-2.
Ditto in f77 dir, using FC=[],mg77,g77-2,mg77-2

Results:


3.1.1:

gcc works
gcc -mno-cygwin works
g++ works
g++ -mno-cygwin works
g77 works
g77 -mno-cygwin works

2.95.3-8:

/usr/lib/libstdc++.a.2.1.0 ?? what is this file?

gcc-2 works
gcc-2 -mno-cygwin works

g++-2 works
g++-2 -mno-cygwin links against the /usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-8/libstdc++-2.a
(oh yeah -- there is no mingw libstdc++ for this release.
I copied my mingw libstdc++.a to libstdc++-2.a, and then got *different* errors)
see below. Shouldn't be a mangling issue; it was build with 2.95.3-5.

g77-2 breaks:
/usr/lib/libcygwin.a(libcmain.o)(.text+0x81): undefined reference to `WinMain@16'
g77-2 -mno-cygwin breaks:
/usr/lib/mingw/libmingw32.a(main.o)(.text+0x8d):main.c: undefined reference to `WinMain@16'

Note the g++-2 IS finding my custom libstdc++-2.a (which is a copy of a libstdc++.a that worked just fine with gcc-2.95.3-5).

mg++-2 -o usedll.exe -g usedll.o -L./ -lcxxdll usedll.o: In function `main':
/usr/local/src/dllhelpers/dllhelpers-0.4.1/cxx/usedll.cc:21: undefined reference to `endl(ostream &)'
/usr/local/src/dllhelpers/dllhelpers-0.4.1/cxx/usedll.cc:21: undefined reference to `endl(ostream &)'
/usr/local/src/dllhelpers/dllhelpers-0.4.1/cxx/usedll.cc:21: undefined reference to `endl(ostream &)'
/usr/local/src/dllhelpers/dllhelpers-0.4.1/cxx/usedll.cc:21: undefined reference to `endl(ostream &)'
/usr/local/src/dllhelpers/dllhelpers-0.4.1/cxx/usedll.cc:21: undefined reference to `endl(ostream &)'
usedll.o:/usr/local/src/dllhelpers/dllhelpers-0.4.1/cxx/usedll.cc:21: more undefined references to `endl(ostream &)' follow
usedll.o: In function `main':
/usr/local/src/dllhelpers/dllhelpers-0.4.1/cxx/usedll.cc:21: undefined reference to `cout'
/usr/local/src/dllhelpers/dllhelpers-0.4.1/cxx/usedll.cc:21: undefined reference to `ostream::operator<<(char const *)'
/usr/local/src/dllhelpers/dllhelpers-0.4.1/cxx/usedll.cc:21: undefined reference to `ostream::operator<<(int)'
/usr/local/src/dllhelpers/dllhelpers-0.4.1/cxx/usedll.cc:21: undefined reference to `ostream::operator<<(char const *)'
/usr/local/src/dllhelpers/dllhelpers-0.4.1/cxx/usedll.cc:21: undefined reference to `ostream::operator<<(char const *)'
/usr/local/src/dllhelpers/dllhelpers-0.4.1/cxx/usedll.cc:21: undefined reference to `ostream::operator<<(int)'
/usr/local/src/dllhelpers/dllhelpers-0.4.1/cxx/usedll.cc:21: undefined reference to `ostream::operator<<(char const *)'
/usr/local/src/dllhelpers/dllhelpers-0.4.1/cxx/usedll.cc:21: undefined reference to `ostream::operator<<(int)'
/usr/local/src/dllhelpers/dllhelpers-0.4.1/cxx/usedll.cc:21: undefined reference to `ostream::operator<<(char const *)'
/usr/local/src/dllhelpers/dllhelpers-0.4.1/cxx/usedll.cc:21: undefined reference to `ostream::operator<<(int)'
/usr/local/src/dllhelpers/dllhelpers-0.4.1/cxx/usedll.cc:21: undefined reference to `ostream::operator<<(char const *)'
/usr/local/src/dllhelpers/dllhelpers-0.4.1/cxx/usedll.cc:21: undefined reference to `ostream::operator<<(char const *)'
/usr/local/src/dllhelpers/dllhelpers-0.4.1/cxx/usedll.cc:21: undefined reference to `ostream::operator<<(int)'
/usr/local/src/dllhelpers/dllhelpers-0.4.1/cxx/usedll.cc:21: undefined reference to `ostream::operator<<(char const *)'
/usr/local/src/dllhelpers/dllhelpers-0.4.1/cxx/usedll.cc:21: undefined reference to `ostream::operator<<(int)'
/usr/local/src/dllhelpers/dllhelpers-0.4.1/cxx/usedll.cc:21: undefined reference to `ostream::operator<<(char const *)'
/usr/local/src/dllhelpers/dllhelpers-0.4.1/cxx/usedll.cc:21: undefined reference to `ostream::operator<<(int)'
/usr/local/src/dllhelpers/dllhelpers-0.4.1/cxx/usedll.cc:29: undefined reference to `endl(ostream &)'
/usr/local/src/dllhelpers/dllhelpers-0.4.1/cxx/usedll.cc:29: undefined reference to `endl(ostream &)'
/usr/local/src/dllhelpers/dllhelpers-0.4.1/cxx/usedll.cc:29: undefined reference to `endl(ostream &)'
/usr/local/src/dllhelpers/dllhelpers-0.4.1/cxx/usedll.cc:29: undefined reference to `endl(ostream &)'
/usr/local/src/dllhelpers/dllhelpers-0.4.1/cxx/usedll.cc:29: undefined reference to `cout'
/usr/local/src/dllhelpers/dllhelpers-0.4.1/cxx/usedll.cc:29: undefined reference to `ostream::operator<<(char const *)'
/usr/local/src/dllhelpers/dllhelpers-0.4.1/cxx/usedll.cc:29: undefined reference to `ostream::operator<<(char const *)'
/usr/local/src/dllhelpers/dllhelpers-0.4.1/cxx/usedll.cc:29: undefined reference to `ostream::operator<<(int)'
/usr/local/src/dllhelpers/dllhelpers-0.4.1/cxx/usedll.cc:29: undefined reference to `ostream::operator<<(char const *)'
/usr/local/src/dllhelpers/dllhelpers-0.4.1/cxx/usedll.cc:29: undefined reference to `ostream::operator<<(int)'
/usr/local/src/dllhelpers/dllhelpers-0.4.1/cxx/usedll.cc:29: undefined reference to `ostream::operator<<(char const *)'
/usr/local/src/dllhelpers/dllhelpers-0.4.1/cxx/usedll.cc:29: undefined reference to `ostream::operator<<(int)'
Info: resolving DllClass::instances by linking to __imp___8DllClass$instances (auto-import)
Info: resolving _global_dllclass2 by linking to __imp__global_dllclass2 (auto-import)
Info: resolving _global_dllclass1 by linking to __imp__global_dllclass1 (auto-import)
Info: resolving _global_int_variable by linking to __imp__global_int_variable (auto-import)
collect2: ld returned 1 exit status
make: *** [usedll.exe] Error 1


Attachment: gcc-tests.tar.bz2
Description: Binary data

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

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