Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT sources DOT redhat DOT com Delivered-To: mailing list cygwin AT sources DOT redhat DOT com Date: Wed, 25 Oct 2000 16:24:28 -0400 From: Jason Tishler To: Cygwin Subject: Cygwin gcc/ld doesn't like some DLL filenames... Message-ID: <20001025162428.D1018@dothill.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="FEZE3EXuJL4XEEcY" Content-Disposition: inline User-Agent: Mutt/1.2.5i Organization: Dot Hill Systems Corp. --FEZE3EXuJL4XEEcY Content-Type: text/plain; charset=us-ascii Content-Disposition: inline This one is almost embarrassing... If I create a DLL called python2.0.dll and link with its import library from a different directory, then the resulting executable crashes. If I link in the same directory as the import library, then the resulting executable runs normally. If I change the name of the DLL to something else and link with its import library from a different directory, then the resulting executable runs normally. Can anyone explain this strange behavior? Is there some perl conspiracy going on here? :,) The following is the steps to reproduce this problem: $ gcc -c sub.c $ gcc -c main.c $ dlltool --export-all --output-def sub.def sub.o $ gcc -shared -Wl,--enable-auto-image-base -o python2.0.dll -Wl,--out-implib=libsub.dll.a sub.def sub.o $ mkdir dir $ cd dir $ gcc ../main.o ../libsub.dll.a -o ../main $ cd .. $ ./main 0 [main] main 12817 handle_exceptions: Exception: STATUS_ACCESS_VIOLATION 1292 [main] main 12817 stackdump: Dumping stack trace to main.exe.stackdump But if I link in the same directory as the import library, then main executes normally: $ gcc main.o libsub.dll.a -o main $ ./main hello Or if I change the name of the DLL to something else (i.e., python2.1.dll), then main also executes normally: $ gcc -shared -Wl,--enable-auto-image-base -o python2.1.dll -Wl,--out-implib=libsub.dll.a sub.def sub.o Creating library file: libsub.dll.a $ cd dir $ gcc ../main.o ../libsub.dll.a -o ../main $ cd .. $ ./main hello See attached for sub.c, main.c, and my cygcheck output. Thanks, Jason -- Jason Tishler Director, Software Engineering Phone: +1 (732) 264-8770 x235 Dot Hill Systems Corporation Fax: +1 (732) 264-8798 82 Bethany Road, Suite 7 Email: Jason DOT Tishler AT dothill DOT com Hazlet, NJ 07730 USA WWW: http://www.dothill.com --FEZE3EXuJL4XEEcY Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="sub.c" #include void sub() { printf("hello\n"); } --FEZE3EXuJL4XEEcY Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="main.c" void sub(); int main() { sub(); return 0; } --FEZE3EXuJL4XEEcY Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="cygcheck.out" Cygnus Win95/NT Configuration Diagnostics Current System Time: Wed Oct 25 16:18:36 2000 WinNT Ver 4.0 build 1381 Service Pack 5 Path: /home/jt/bin /usr/local/bin /usr/bin /apps/cvs-1.10 /apps/vim/vim56 /mnt/c/WINNT/system32 /mnt/c/WINNT /apps/ntreskit /apps/perl5.00402/bin /mnt/d/Program Files/Python /mnt/d/Program Files/Tcl/bin /apps/InstallShield/InstallShield 5.5 Professional Edition/Program /apps/InstallShield/PackageForTheWeb 2 . SysDir: C:\WINNT\System32 WinDir: C:\WINNT CYGWIN = `binmode notty' HOME = `/home/jt' MAKE_MODE = `UNIX' PWD = `/tmp/dll' CDPATH = `.:/home/jt:/home/jt/src:/home/jt/lib' CEPATH = `/home/jt/.environments:/usr/local/environments' COLORFGBG = `0;default;15' COLORTERM = `rxvt-xpm' COMPUTERNAME = `KOSH' COMSPEC = `C:\WINNT\system32\cmd.exe' CVSEDITOR = `gvim' CYGWINDIR = `D:\Cygwin\1.1.4' DISPLAY = `:0' EXINIT = `se ai ts=4 sw=4' FIT_HISTFILE = `H:\.fit_history' FIT_HISTSIZE = `10240' HISTCONTROL = `ignoredups' HISTSIZE = `10240' HOMEDRIVE = `H:' HOMEPATH = `\' HOMESHARE = `\\cancerman\home.jt' HOSTNAME = `kosh' HOSTTYPE = `i686' INPUTRC = `H:\.inputrc' LOGNAME = `jt' LOGONSERVER = `\\CANCERMAN' MACHTYPE = `i686-pc-cygwin' MSINPUT = `C:\Program Files\Microsoft Hardware' MUTTIMAP = `/mnt/d/mutt/imap' NUMBER_OF_PROCESSORS = `1' OLDPWD = `/tmp/dll/dir' OLDVIM = `K:\vim' OS2LIBPATH = `C:\WINNT\system32\os2\dll;' OS = `Windows_NT' OSTYPE = `cygwin' PAGER = `less' PROCESSOR_ARCHITECTURE = `x86' PROCESSOR_IDENTIFIER = `x86 Family 6 Model 7 Stepping 3, GenuineIntel' PROCESSOR_LEVEL = `6' PROCESSOR_REVISION = `0703' PS1 = `kosh[\w]\n$ ' PYTHONSTARTUP = `H:\.pythonrc.py' SHELL = `/bin/bash' SHLVL = `1' SPDENV = `C:\Program Files\StorageTek\SVA Path' SYSTEMDRIVE = `C:' SYSTEMROOT = `C:\WINNT' TEMP = `/mnt/c/TEMP' TERM = `rxvt' TMP = `/mnt/c/tmp' USERDOMAIN = `BHMCO' USERNAME = `jt' USERPROFILE = `C:\WINNT\Profiles\jt' VIM = `/usr/local/share/vim' VISUAL = `vi' WINDIR = `C:\WINNT' WINDOWID = `168105064' _ = `/usr/bin/cygcheck' command_oriented_history = `1' TZ = `EST5EDT4,M4.1.0/2,M10.5.0/2' HKEY_CURRENT_USER\Software\Cygnus Solutions HKEY_CURRENT_USER\Software\Cygnus Solutions\Cygwin HKEY_CURRENT_USER\Software\Cygnus Solutions\Cygwin\mounts v2 HKEY_CURRENT_USER\Software\Cygnus Solutions\Cygwin\mounts v2\/home/jt (default) = `H:' flags = 0x00000002 HKEY_CURRENT_USER\Software\Cygnus Solutions\Cygwin\Program Options HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL setup HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL setup\b15.0 HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\00 (default) = `k:\usr' unix = `/usr' fbinary = 0x00000001 fsilent = 0x00000000 fmixed = 0x00000000 HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\01 (default) = `s:' unix = `/s' fmixed = 0x00000000 fbinary = 0x00000001 fsilent = 0x00000000 HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\02 (default) = `j:' unix = `/j' fmixed = 0x00000000 fbinary = 0x00000001 fsilent = 0x00000000 HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\03 (default) = `h:' unix = `/home' fmixed = 0x00000000 fbinary = 0x00000001 fsilent = 0x00000000 HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\04 (default) = `a:' unix = `/floppy' fmixed = 0x00000000 fbinary = 0x00000001 fsilent = 0x00000000 HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\05 (default) = `k:\gnu-win32\x86\cygwin-b20\etc' unix = `/etc' fmixed = 0x00000000 fbinary = 0x00000001 fsilent = 0x00000000 HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\06 (default) = `d:' unix = `/d' fmixed = 0x00000000 fbinary = 0x00000001 fsilent = 0x00000000 HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\07 (default) = `e:' unix = `/cdrom' fmixed = 0x00000000 fbinary = 0x00000001 fsilent = 0x00000000 HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\08 (default) = `k:\gnu-win32\x86\cygwin-b20\H-i586-cygwin32\bin' unix = `/bin' fbinary = 0x00000001 fsilent = 0x00000000 fmixed = 0x00000000 HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\09 (default) = `k:' unix = `/apps' fbinary = 0x00000001 fsilent = 0x00000000 fmixed = 0x00000000 HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\0A (default) = `c:' unix = `/' fbinary = 0x00000001 fsilent = 0x00000000 fmixed = 0x00000000 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder\Start Menu\&Programs\Cygnus Solutions (default) = (unsupported type) HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2 (default) = `/mnt' cygdrive flags = 0x0000002a HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/ (default) = `D:\Cygwin\1.1.4' flags = 0x0000000a HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/apps (default) = `K:' flags = 0x0000000a HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/cdrom (default) = `E:' flags = 0x0000000a HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/dev/hd0 (default) = `//./C:' flags = 0x0000000a HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/dev/hd1 (default) = `//./D:' flags = 0x0000000a HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/dev/hd2 (default) = `//./K:' flags = 0x0000000a HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/floppy (default) = `A:' flags = 0x0000000a HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/opt/MSFTddk (default) = `K:/DDK' flags = 0x0000000a HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/opt/MSFTvs (default) = `D:/Program Files/Microsoft Visual Studio' flags = 0x0000000a HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/usr/bin (default) = `D:\Cygwin\1.1.4\bin' flags = 0x0000000a HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/usr/java (default) = `K:\jdk1.3' flags = 0x0000000a HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/usr/lib (default) = `D:/Cygwin/1.1.4/lib' flags = 0x0000000a HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/usr/local/ooc (default) = `K:\OOC-4.0.2' flags = 0x0000000a HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\Program Options HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL setup HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL setup\b15.0 HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\00 HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\01 HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\02 HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\03 HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\04 HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\05 HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\06 HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\07 HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\08 HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\09 HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\0A HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\0B HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\0C HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\0D HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\0E HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\0F HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\10 HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\11 HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\12 HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\13 HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\14 HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\15 HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\16 HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\17 HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\18 HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\19 HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\1A HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\1B HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\1C HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\1D a: fd N/A N/A c: hd NTFS 4094Mb 20% CP CS UN PA FC System Disk d: hd NTFS 15374Mb 15% CP CS UN PA FC Application Disk e: fd N/A N/A f: cd CDFS 124Mb 100% CS UN 000613_1050 g: net NTFS 4094Mb 84% CP CS UN PA FC System Disk h: net NTFS 8191Mb 78% CP CS UN PA FC USERS k: net NTFS 17365Mb 30% CP CS UN PA FC APPS z: net N/A N/A D:\Program Files\Microsoft Visual Studio /opt/MSFTvs system binmode D:\Cygwin\1.1.4\bin /usr/bin system binmode D:\Cygwin\1.1.4\lib /usr/lib system binmode D:\Cygwin\1.1.4 / system binmode K:\OOC-4.0.2 /usr/local/ooc system binmode K:\jdk1.3 /usr/java system binmode K:\DDK /opt/MSFTddk system binmode \\.\C: /dev/hd0 system binmode \\.\D: /dev/hd1 system binmode \\.\K: /dev/hd2 system binmode A: /floppy system binmode E: /cdrom system binmode H: /home/jt user binmode K: /apps system binmode Found: D:\Cygwin\1.1.4\bin\bash.exe Found: D:\Cygwin\1.1.4\bin\cat.exe Found: K:\ntreskit\cat.exe Warning: D:\Cygwin\1.1.4\bin\cat.exe hides K:\ntreskit\cat.exe Found: D:\Cygwin\1.1.4\bin\cpp.exe Found: D:\Cygwin\1.1.4\bin\find.exe Found: D:\Cygwin\1.1.4\bin\gcc.exe Found: D:\Cygwin\1.1.4\bin\gdb.exe Found: D:\Cygwin\1.1.4\bin\ld.exe Found: D:\Cygwin\1.1.4\bin\ls.exe Found: K:\ntreskit\ls.exe Warning: D:\Cygwin\1.1.4\bin\ls.exe hides K:\ntreskit\ls.exe Found: D:\Cygwin\1.1.4\bin\make.exe Found: D:\Cygwin\1.1.4\bin\sh.exe 83k 2000/06/11 D:\Cygwin\1.1.4\bin\cygitcl30.dll - os=4.0 img=1.0 sys=4.0 "cygitcl30.dll" v0.0 ts=2000/6/10 23:34 35k 2000/06/11 D:\Cygwin\1.1.4\bin\cygitk30.dll - os=4.0 img=1.0 sys=4.0 "cygitk30.dll" v0.0 ts=2000/6/10 23:34 402k 2000/06/11 D:\Cygwin\1.1.4\bin\cygtcl80.dll - os=4.0 img=1.0 sys=4.0 "cygtcl80.dll" v0.0 ts=2000/6/10 23:30 5k 2000/06/11 D:\Cygwin\1.1.4\bin\cygtclpip80.dll - os=4.0 img=1.0 sys=4.0 10k 2000/06/11 D:\Cygwin\1.1.4\bin\cygtclreg80.dll - os=4.0 img=1.0 sys=4.0 "cygtclreg80.dll" v0.0 ts=2000/6/10 23:30 639k 2000/06/11 D:\Cygwin\1.1.4\bin\cygtk80.dll - os=4.0 img=1.0 sys=4.0 "cygtk80.dll" v0.0 ts=2000/6/10 23:34 3738k 2000/10/20 D:\Cygwin\1.1.4\bin\cygwin1-2000-10-20.dll - os=4.0 img=1.0 sys=4.0 "cygwin1.dll" v0.0 ts=2000/10/20 10:07 586k 2000/08/04 D:\Cygwin\1.1.4\bin\cygwin1.dll - os=4.0 img=1.0 sys=4.0 "cygwin1.dll" v0.0 ts=2000/8/3 20:53 Cygwin DLL version info: dll major: 1001 dll minor: 4 dll epoch: 19 dll bad signal mask: 19005 dll old termios: 5 api major: 0 api minor: 26 shared data: 3 dll identifier: cygwin1 mount registry: 2 cygnus registry name: Cygnus Solutions cygwin registry name: Cygwin program options name: Program Options cygwin mount registry name: mounts v2 build date: Thu Aug 3 20:53:46 EDT 2000 CVS tag: cygwin-1-1-4 shared id: cygwin1S3 Use -h to see help about each section --FEZE3EXuJL4XEEcY Content-Type: text/plain; charset=us-ascii -- Want to unsubscribe from this list? Send a message to cygwin-unsubscribe AT sourceware DOT cygnus DOT com --FEZE3EXuJL4XEEcY--