Paul Moore wrote:
I tried this out, and from some basic uses, it seems to work OK.
However, the PYD file references msvcrt.dll, which suggests that there
will be issues in more complex cases. The biggest problem with CRT
compatibility issues is that (AFAIK) no-one has actually been able to
trigger a *real* error, all of the problems are still theoretical. I
have done some fairly extensive analysis of what could go wrong, and I
suspect that there are very few genuine cases where data from one CRT
could end up being manipulated by another - but this doesn't mean that
the problems aren't real, just VERY hard to locate :-(



First of all, thank you for your input. It is greatly appreciated. And yes if Martin, for whom I have much respect, can help here, then that would be awesome.

Okay. This is partly my own fault. I am not using a standard MinGW
distribution. This is why there is no release date in the sys.version
information of the Python I compiled. I am using GCC RC 3.4.1 but the
linking is still done by the 2002 MinGW 3.2, which is most probably hard-
wired to use msvcrt.dll. Having said that, however, let me quickly add
that it is almost a certainity that the newer standard MinGW
distributions link with the latest libraries.

Nevertheless, I updated pyMinGW's cygwinccompiler.py to always link in
with libmsvcr71, and rebuit the sample pymingw extension[1]. Now
according to objdump we get the following:

[CUT]

00007014       000070b0 00000000 00000000 00007420 00007158

       DLL Name: KERNEL32.dll
       vma:  Hint/Ord Member-Name Bound-To
       72fc        0  AddAtomA
       7308      147  FindAtomA
       7314      191  GetAtomNameA

00007028       000070c4 00000000 00000000 00007468 0000716c

       DLL Name: msvcr71.dll
       vma:  Hint/Ord Member-Name Bound-To
       7324       56  __dllonexit
       7334      189  _errno
       7340      610  ctime
       7348      619  fflush
       7354      630  fputs
       735c      634  free
       7364      642  fwrite
       7370      685  malloc
       737c      701  puts
       7384      724  strcmp
       7390      726  strcpy
       739c      730  strlen
       73a8      733  strncpy
       73b4      748  time

0000703c       00007104 00000000 00000000 00007478 000071ac

       DLL Name: msvcrt.dll
       vma:  Hint/Ord Member-Name Bound-To
       73bc      510  abort

00007050       00000000 00000000 00000000 00000000 00000000

There is an export table in .edata at 0x6000

[CUT]



So what see ye? :) Does it look good?



Best wishes
Khalid




[1] pymingw-01.zip (5.37 KB): Location: http://jove.prohosting.com/iwave/misc/pymingw-01.zip MD5: 63b486093b344b0299538c952dea4ce1 -------------------------- Contents in KB: -------------------------- PYMINGW PY 1.115 13/12/04 16:12 pymingw.py PYMINGW I 278 13/12/04 1:00 pymingw.i EXAMPLE C 848 13/12/04 0:23 example.c SETUP PY 192 13/12/04 0:59 setup.py _PYMINGW PYD 9.216 13/12/04 16:12 _pymingw.pyd

_________________________________________________________________
Don't just search. Find. Check out the new MSN Search! http://search.msn.click-url.com/go/onm00200636ave/direct/01/


_______________________________________________
Python-Dev mailing list
[EMAIL PROTECTED]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to