Mail Archives: cygwin/2000/10/25/16:25:57
--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 <stdio.h>
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--
- Raw text -