This is the mail archive of the cygwin-apps@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]

Re: Did I find an error in the current binutils or what???


Hmmm....Chris, does the snapshot-building machine or process differ from 
the official-cygwin-release machine or process?  If so, they should be 
synchronized to both use a modern binutils/gcc...

Ralf's comment sounds like the snapshot machine uses an old 
(pre-atuo-import) binutils, but that your official-release machine uses a 
newer one.

--Chuck

Ralf Habacker wrote:

>>Hi,
>>
>>I'm just trying to build the new born openssh-3.0p1 for Cygwin.
>>
>>There's a slight difference between 1.3.3 and 1.3.4 in so far as
>>__progname is defined in 1.3.4 while it wasn't in 1.3.3.
>>
>>Unfortunately, __progname isn't defined in any header file.  So what
>>happens (and what should work fine in theory) is, I'm getting the
>>following message at the end of the link stage:
>>
>>Warning: resolving ___progname by linking to __imp____progname (auto-import)
>>
>>Hum, the problem is that I'm getting _another_ message right after
>>the above one:
>>
>>nmth000000.o(.idata$4+0x0): undefined reference to `_nm____progname'
>>collect2: ld returned 1 exit status
>>
>>Bingo.  I've tried to find a symbol `_nm____progname' in all(!) *.a
>>files on my system.  Nada.  There's no such symbol anywhere.  Ok, so
>>collect2 is right in that this symbol can't be resolved... but the
>>symbol isn't even _requested_ anywhere!  I have called nm on all *.o
>>files in the ssh build dir and I have called nm on all *.a files on
>>my whole system.
>>
>>Sure, I can workaround that by undefining HAVE___PROGNAME in ssh's
>>config.h but that's no solution, somehow.
>>
>>What's going wrong here???  I'm really not good in such stuff.  Btw.,
>>I'm using the latest binutils and gcc.  a `-v' option when linking
>>prints:
>>
>>/bin/../lib/gcc-lib/i686-pc-cygwin/2.95.3-5/collect2.exe -Bdynamic
>>  --dll-search-prefix=cyg -o ssh.exe /usr/lib/crt0.o -L.
>>  -Lopenbsd-compat/ -L/usr/local/lib -L/usr/lib -L/usr/lib/w32api
>>  -L/bin/../lib/gcc-lib/i686-pc-cygwin/2.95.3-5 -L/bin/../lib/gcc-lib
>>  -L/lib -L/usr/local/lib -L/usr/X11R6/lib
>>  -L/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-5 ssh.o sshconnect.o
>>  sshconnect1.o sshconnect2.o sshtty.o readconf.o clientloop.o
>>  -lssh -lopenbsd-compat -lz -lregex /usr/lib/textmode.o -lcrypto
>>  -lgcc -lcygwin -luser32 -lkernel32 -ladvapi32 -lshell32 -lgcc
>>
>>
>>Corinna
>>
> 
> I recognized a problem relating to the symbol __progname after downloading
> the last cygwin (dll,lib,header) snapshot and linking a little app. At first
> there was not problem. But after using the getopt_long function, linking was
> okay, but on starting the app, the windows runtime loader say that cygwin1.dll
> does not contain a symbol __progname.
> If have looked in /lib/libcygwin.a to identify the relating object file and
> found a reference to __progname, but I havn't found where this symbol is
> defined. :-(
> What me helped, was upgrading to the newest cygwin release (1.3.4-3)
> 
> d000030.o:
> 00000000 i .idata$4
> 00000000 i .idata$5
> 00000000 i .idata$6
> 00000000 i .idata$7
> 00000000 t .text
> 00000000 T ___signgam
>          U __head_cygwin1_dll
> 00000000 I __imp____signgam
> 00000000 I __nm____signgam
> 
> d000029.o:
> 00000000 i .idata$4
> 00000000 i .idata$5
> 00000000 i .idata$6
> 00000000 i .idata$7
> 00000000 t .text
>          U __head_cygwin1_dll
> 00000000 I __imp____progname
> 00000000 I __nm____progname
> 
> d000028.o:
> 00000000 i .idata$4
> 00000000 i .idata$5
> 00000000 i .idata$6
> 00000000 i .idata$7
> 00000000 t .text
>          U __head_cygwin1_dll
> 00000000 I __imp____mb_cur_max
> 00000000 I __nm____mb_cur_max
> 
> 
> Ralf  Habacker
> 
> 
> 
> 
> 



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