Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Visual C 32 bits USE_64_BIT_INT won't build 5.18, new hash randomization code, missing symbol #13506

Closed
p5pRT opened this issue Jan 4, 2014 · 21 comments

Comments

@p5pRT
Copy link

p5pRT commented Jan 4, 2014

Migrated from rt.perl.org#120925 (status was 'resolved')

Searchable as RT120925$

@p5pRT
Copy link
Author

p5pRT commented Jan 4, 2014

From @bulk88

Created by @bulk88

Building 5.18 with USE_64_BIT_INT, with Visual C 2003 32 bits, causes a
build failure, which is caused by the new hash randomization code added
in 5.17. This is a regression since USE_64_BIT_INT probably worked in
the past with Visual C.

With DEBUGGING.
----------------------------------------
  cl -c -nologo -GF -W3 -I..\lib\CORE -I.\include -I. -I..
-DWIN32 -D_CONS
OLE -DNO_STRICT -DPERLDLL -DPERL_CORE -Od -MD -Zi -DDEBUGGING
-DPERL_IS_MINIPE
RL -Fo.\mini\win32sck.obj win32sck.c
win32sck.c
c​:\perl519\perl-5.18.2-RC4\lib\CORE\hv_func.h(392) : warning C4244​:
'initializin
g' : conversion from 'IV' to 'STRLEN', possible loss of data
  cl -c -nologo -GF -W3 -I..\lib\CORE -I.\include -I. -I..
-DWIN32 -D_CONS
OLE -DNO_STRICT -DPERLDLL -DPERL_CORE -Od -MD -Zi -DDEBUGGING
-DPERL_IS_MINIPE
RL -Fo.\mini\win32thread.obj win32thread.c
win32thread.c
c​:\perl519\perl-5.18.2-RC4\lib\CORE\hv_func.h(392) : warning C4244​:
'initializin
g' : conversion from 'IV' to 'STRLEN', possible loss of data
  cl -c -nologo -GF -W3 -I..\lib\CORE -I.\include -I. -I..
-DWIN32 -D_CONS
OLE -DNO_STRICT -DPERLDLL -DPERL_CORE -Od -MD -Zi -DDEBUGGING
-DPERL_IS_MINIPE
RL -Fo.\mini\fcrypt.obj fcrypt.c
fcrypt.c
  cl -c -nologo -GF -W3 -I..\lib\CORE -I.\include -I. -I..
-DWIN32 -D_CONS
OLE -DNO_STRICT -DPERLDLL -DPERL_CORE -Od -MD -Zi -DDEBUGGING
-DPERL_IS_MINIPE
RL -Fo.\mini\win32io.obj win32io.c
win32io.c
c​:\perl519\perl-5.18.2-RC4\lib\CORE\hv_func.h(392) : warning C4244​:
'initializin
g' : conversion from 'IV' to 'STRLEN', possible loss of data
  link -subsystem​:console -out​:..\miniperl.exe
@​C​:\WINDOWS\TEMP\nmFF5.tmp
LINK : LNK6004​: ..\miniperl.exe not found or not built by the last
incremental l
ink; performing full link
hv.obj : error LNK2019​: unresolved external symbol __rotl64 referenced
in functi
on _Perl_hv_common
util.obj : error LNK2019​: unresolved external symbol __rotl64 referenced
in func
tion _Perl_safesysfree
..\miniperl.exe : fatal error LNK1120​: 1 unresolved externals
NMAKE : fatal error U1077​: 'link' : return code '0x460'
Stop.
----------------------------------------
without DEBUGGING
----------------------------------------
  cl -c -nologo -GF -W3 -I..\lib\CORE -I.\include -I. -I..
-DWIN32 -D_CONS
OLE -DNO_STRICT -DPERLDLL -DPERL_CORE -O1 -MD -Zi -DNDEBUG
-DPERL_IS_MINIPERL
-Fo.\mini\win32thread.obj win32thread.c
win32thread.c
c​:\perl519\perl-5.18.2-RC4\lib\CORE\hv_func.h(392) : warning C4244​:
'initializin
g' : conversion from 'IV' to 'STRLEN', possible loss of data
  cl -c -nologo -GF -W3 -I..\lib\CORE -I.\include -I. -I..
-DWIN32 -D_CONS
OLE -DNO_STRICT -DPERLDLL -DPERL_CORE -O1 -MD -Zi -DNDEBUG
-DPERL_IS_MINIPERL
-Fo.\mini\fcrypt.obj fcrypt.c
fcrypt.c
  cl -c -nologo -GF -W3 -I..\lib\CORE -I.\include -I. -I..
-DWIN32 -D_CONS
OLE -DNO_STRICT -DPERLDLL -DPERL_CORE -O1 -MD -Zi -DNDEBUG
-DPERL_IS_MINIPERL
-Fo.\mini\win32io.obj win32io.c
win32io.c
c​:\perl519\perl-5.18.2-RC4\lib\CORE\hv_func.h(392) : warning C4244​:
'initializin
g' : conversion from 'IV' to 'STRLEN', possible loss of data
  link -subsystem​:console -out​:..\miniperl.exe
@​C​:\WINDOWS\TEMP\nmFF9.tmp
hv.obj : error LNK2019​: unresolved external symbol __rotl64 referenced
in functi
on _S_hv_auxinit
util.obj : error LNK2001​: unresolved external symbol __rotl64
..\miniperl.exe : fatal error LNK1120​: 1 unresolved externals
NMAKE : fatal error U1077​: 'link' : return code '0x460'
Stop.
---------------------------------------

I found adding "#pragma intrinsic(_rotl64)" to hv_func.h solved the
issue on for DEBUGGING and non-DEBUGGING. The msvcrt.lib included with
VC 2003 only has _rotl symbol, not a _rotl64 symbol. I'm not sure enough
about this problem to make a patch, or if any VCs other than 2003 have
this same problem and also can't build a 32 bit USE_64_BIT_INT due to
_rotl64.

Perl Info

Flags:
     category=core
     severity=high

Site configuration information for perl 5.18.2:

Configured by Owner at Sun Dec 29 15:41:03 2013.

Summary of my perl5 (revision 5 version 18 subversion 2) configuration:

   Platform:
     osname=MSWin32, osvers=5.1, archname=MSWin32-x86-multi-thread-64int
     uname=''
     config_args='undef'
     hint=recommended, useposix=true, d_sigaction=undef
     useithreads=define, usemultiplicity=define
     useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
     use64bitint=define, use64bitall=undef, uselongdouble=undef
     usemymalloc=n, bincompat5005=undef
   Compiler:
     cc='cl', ccflags ='-nologo -GF -W3 -Od -MD -Zi -DDEBUGGING -DWIN32 
-D_CONSOLE -DNO_STRICT  -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT 
-DPERL_IMPLICIT_SYS -DUSE_PERLIO -D_USE_32BIT_TIME_T',
     optimize='-Od -MD -Zi -DDEBUGGING',
     cppflags='-DWIN32'
     ccversion='13.10.6030', gccversion='', gccosandvers=''
     intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=12345678
     d_longlong=undef, longlongsize=8, d_longdbl=define, longdblsize=8
     ivtype='__int64', ivsize=8, nvtype='double', nvsize=8, 
Off_t='__int64', lseeksize=8
     alignbytes=8, prototype=define
   Linker and Libraries:
     ld='link', ldflags ='-nologo -nodefaultlib -debug 
-libpath:"c:\perl\lib\CORE"  -machine:x86'
     libpth="C:\Program Files\Microsoft Visual Studio .NET 2003\VC7\lib"
     libs=oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib 
comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib 
netapi32.lib uuid.lib ws2_32.lib mpr.lib winmm.lib  version.lib 
odbc32.lib odbccp32.lib comctl32.lib msvcrt.lib
     perllibs=oldnames.lib kernel32.lib user32.lib gdi32.lib 
winspool.lib  comdlg32.lib advapi32.lib shell32.lib ole32.lib 
oleaut32.lib  netapi32.lib uuid.lib ws2_32.lib mpr.lib winmm.lib 
version.lib odbc32.lib odbccp32.lib comctl32.lib msvcrt.lib
     libc=msvcrt.lib, so=dll, useshrplib=true, libperl=perl518.lib
     gnulibc_version=''
   Dynamic Linking:
     dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' '
     cccdlflags=' ', lddlflags='-dll -nologo -nodefaultlib -debug 
-libpath:"c:\perl\lib\CORE"  -machine:x86'

Locally applied patches:
     RC4


@INC for perl 5.18.2:
     lib
     C:/perl519/perl-5.18.2-RC4/lib
     .


Environment for perl 5.18.2:
     HOME (unset)
     LANG (unset)
     LANGUAGE (unset)
     LD_LIBRARY_PATH (unset)
     LOGDIR (unset)
 
PATH=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\system32\wbem;C:\Program 
Files\ActiveState Perl Dev Kit 8.0\bin;C:\Program Files\ActiveState 
Komodo IDE 4;C:\Perl\site\bin;C:\Perl\bin;C:\Program Files\Microsoft 
Visual Studio .NET 2003\Vc7\bin;C:\Program Files\Common 
Files\Compuware;C:\Program Files\Common 
Files\Compuware\NMShared;C:\Program Files\Compuware\DevPartner 
Studio\Analysis;C:\Program Files\Git\cmd;C:\Program 
Files\TortoiseGit\bin;C:\Program Files\OpenVPN\bin;C:\Program 
Files\Intel\WiFi\bin\
     PERL_BADLANG (unset)
     PERL_JSON_BACKEND=JSON::XS
     PERL_YAML_BACKEND=YAML
     SHELL (unset)

@p5pRT
Copy link
Author

p5pRT commented Jan 8, 2014

From @tonycoz

On Fri Jan 03 19​:59​:13 2014, bulk88 wrote​:

Building 5.18 with USE_64_BIT_INT, with Visual C 2003 32 bits, causes a
build failure, which is caused by the new hash randomization code added
in 5.17. This is a regression since USE_64_BIT_INT probably worked in
the past with Visual C.

...

I found adding "#pragma intrinsic(_rotl64)" to hv_func.h solved the
issue on for DEBUGGING and non-DEBUGGING. The msvcrt.lib included with
VC 2003 only has _rotl symbol, not a _rotl64 symbol. I'm not sure enough
about this problem to make a patch, or if any VCs other than 2003 have
this same problem and also can't build a 32 bit USE_64_BIT_INT due to
_rotl64.

I can build blead using the SDK VC for 32-bit with USE_64_BIT_INT.

I believe the SDK uses the VC 2008 tools and library.

Tony

@p5pRT
Copy link
Author

p5pRT commented Jan 8, 2014

The RT System itself - Status changed from 'new' to 'open'

@p5pRT
Copy link
Author

p5pRT commented Jan 8, 2014

From @steve-m-hay

On Fri Jan 03 19​:59​:13 2014, bulk88 wrote​:

Building 5.18 with USE_64_BIT_INT, with Visual C 2003 32 bits, causes a
build failure, which is caused by the new hash randomization code added
in 5.17. This is a regression since USE_64_BIT_INT probably worked in
the past with Visual C.

Does this work on blead? If so then 5.18 is missing something; if not (which I'm guessing is more likely) then USE_64_BIT_INT should probably just be disabled for VC++ 2003, like it already is for VC++ 6.0 (see the win32/ makefiles), unless there's an easy fix.

@p5pRT
Copy link
Author

p5pRT commented Jan 8, 2014

From @sisyphus

-----Original Message-----
From​: bulk88 (via RT)
Sent​: Saturday, January 04, 2014 2​:59 PM
To​: bugs-bitbucket@​rt.perl.org

This is a regression since USE_64_BIT_INT probably worked in
the past with Visual C.

Not sure about that. I think the USE_64_BIT_INT option didn't become
available for Windows
until 5.17.x (for some value of "x").
Did anyone attempt (and succeed with) such a build using a Microsoft
compiler at that time ?

More to the point - has anyone *ever* attempted a USE_64_BIT_INT build using
*any* 32-bit Microsoft compiler ? ... and succeeded ?

Cheers,
Rob

@p5pRT
Copy link
Author

p5pRT commented Jan 8, 2014

From @bulk88

On Wed Jan 08 01​:13​:40 2014, shay wrote​:

On Fri Jan 03 19​:59​:13 2014, bulk88 wrote​:

Building 5.18 with USE_64_BIT_INT, with Visual C 2003 32 bits, causes
a
build failure, which is caused by the new hash randomization code
added
in 5.17. This is a regression since USE_64_BIT_INT probably worked in
the past with Visual C.

Does this work on blead? If so then 5.18 is missing something; if not
(which I'm guessing is more likely) then USE_64_BIT_INT should
probably just be disabled for VC++ 2003, like it already is for VC++
6.0 (see the win32/ makefiles), unless there's an easy fix.

I didn't realize the option (USE_64_BIT_INT) is so new, Blead with VC 2003 with USE_64_BIT_INT,


  cl -c -nologo -GF -W3 -I..\lib\CORE -I.\include -I. -I.. -DWIN32 -D_CONS
OLE -DNO_STRICT -DPERLDLL -DPERL_CORE -O1 -MD -Zi -DNDEBUG -G7 -GL -DPERL_IS_M
INIPERL -Fo.\mini\win32io.obj win32io.c
win32io.c
c​:\perl519\src\hv_func.h(391) : warning C4244​: 'initializing' : conversion from
'IV' to 'STRLEN', possible loss of data
  link -subsystem​:console -out​:..\miniperl.exe @​C​:\WINDOWS\TEMP\nm2AD7.tmp

hv.obj : error LNK2001​: unresolved external symbol __rotl64
..\miniperl.exe : fatal error LNK1120​: 1 unresolved externals
NMAKE : fatal error U1077​: 'link' : return code '0x460'
Stop.

C​:\perl519\src\win32>


Next I tried 5.17.3 git blead at


SHA-1​: 1f64ae1

* Add a USE_64_BIT_INT build option to the Windows makefiles.


with USE_64_BIT_INT, I got miniperl and full perl binaries, no #pragma needed since the new hash code doesn't exist yet. Reading _rotl64's docs for VC 2003 http​://msdn.microsoft.com/en-us/library/5cc576c4%28v=vs.71%29.aspx says it exists. I've attached a dump of VC 2003's msvcrt.lib's symbol table. stdlib.h on my vc2003 has


  unsigned int __cdecl _rotl(unsigned int, int);
  unsigned __int64 __cdecl _rotl64(unsigned __int64, int);
  unsigned int __cdecl _rotr(unsigned int, int);
  unsigned __int64 __cdecl _rotr64(unsigned __int64, int);


in it. Google brings up nothing about these symbols being missing from msvcrt.lib for vc2003 so I can't explain this problem.

if not
(which I'm guessing is more likely) then USE_64_BIT_INT should
probably just be disabled for VC++ 2003, like it already is for VC++
6.0 (see the win32/ makefiles), unless there's an easy fix.

read closer, there is a fix

--
bulk88 ~ bulk88 at hotmail.com

@p5pRT
Copy link
Author

p5pRT commented Jan 8, 2014

From @bulk88

On Wed Jan 08 08​:57​:35 2014, bulk88 wrote​:

I've attached a
dump of VC 2003's msvcrt.lib's symbol table.

Forgot attachmentt.

--
bulk88 ~ bulk88 at hotmail.com

@p5pRT
Copy link
Author

p5pRT commented Jan 8, 2014

From @bulk88

  1881 public symbols

  340 ??0__non_rtti_object@​@​QAE@​ABV0@​@​Z
  33F ??0__non_rtti_object@​@​QAE@​PBD@​Z
  33E ??0bad_cast@​@​AAE@​PBQBD@​Z
  33D ??0bad_cast@​@​QAE@​ABQBD@​Z
  33C ??0bad_cast@​@​QAE@​ABV0@​@​Z
  33B ??0bad_cast@​@​QAE@​PBD@​Zr
  33A ??0bad_typeid@​@​QAE@​ABV0@​@​Z
  339 ??0bad_typeid@​@​QAE@​PBD@​Z
  338 ??0exception@​@​QAE@​ABQBD@​Z
  337 ??0exception@​@​QAE@​ABV0@​@​Z
  336 ??0exception@​@​QAE@​XZ
  3D1 ??0type_info@​@​AAE@​ABV0@​@​Z
  335 ??1__non_rtti_object@​@​UAE@​XZ
  334 ??1bad_cast@​@​UAE@​XZ
  333 ??1bad_typeid@​@​UAE@​XZ
  332 ??1exception@​@​UAE@​XZ
  331 ??1type_info@​@​UAE@​XZ
  330 ??2@​YAPAXI@​Z
  3D3 ??2@​YAPAXIABUnothrow_t@​std@​@​@​Z
  32F ??3@​YAXPAX@​Z
  3DE ??3@​YAXPAXABUnothrow_t@​std@​@​@​Z
  32E ??4__non_rtti_object@​@​QAEAAV0@​ABV0@​@​Z
  32D ??4bad_cast@​@​QAEAAV0@​ABV0@​@​Z
  32C ??4bad_typeid@​@​QAEAAV0@​ABV0@​@​Z
  32B ??4exception@​@​QAEAAV0@​ABV0@​@​Z
  3D1 ??4type_info@​@​AAEAAV0@​ABV0@​@​Z
  32A ??8type_info@​@​QBEHABV0@​@​Z
  329 ??9type_info@​@​QBEHABV0@​@​Z
  3D1 ??_7type_info@​@​6B@​
  34E ??_C@​_00CNPNBAHC@​?$AA@​
  34E ??_C@​_01KDCPPGHE@​r?$AA@​
  349 ??_C@​_08GJEJCAJD@​?6?$ANLine?3?7?$AA@​
  34E ??_C@​_08LIGPJJNA@​ModClose?$AA@​
  34E ??_C@​_08NINFAAFA@​DBIClose?$AA@​
  34E ??_C@​_08ONJBEOFA@​PDBClose?$AA@​
  34E ??_C@​_09EPMADGLA@​PSAPI?4DLL?$AA@​
  34E ??_C@​_0BB@​HHEIPGME@​RegQueryValueExA?$AA@​
  349 ??_C@​_0BB@​JEGFEAAM@​?8?5was?5corrupted?4?$AA@​
  34E ??_C@​_0BB@​PENKIMFE@​PDBOpenValidate3?$AA@​
  349 ??_C@​_0BBN@​GPMLNJCF@​A?5cast?5to?5a?5smaller?5data?5type?5ha@​
  349 ??_C@​_0BC@​KNBMEBEO@​IsDebuggerPresent?$AA@​
  34E ??_C@​_0BD@​FIEJBLME@​EnumProcessModules?$AA@​
  34E ??_C@​_0BE@​GDNPNLGH@​DBIQueryModFromAddr?$AA@​
  34E ??_C@​_0BF@​BMIHBHCA@​EnvironmentDirectory?$AA@​
  34E ??_C@​_0BF@​OCLFCNKN@​GetModuleInformation?$AA@​
  3E4 ??_C@​_0BG@​OFDLOIGJ@​GetCORSystemDirectory?$AA@​
  351 ??_C@​_0BI@​CIGMDCBH@​Stack?5memory?5corruption?$AA@​
  351 ??_C@​_0BJ@​HEGAHDFO@​Stack?5pointer?5corruption?$AA@​
  34E ??_C@​_0BJ@​JEFKDHMD@​CreateToolhelp32Snapshot?$AA@​
  349 ??_C@​_0BM@​FGFAMDLF@​Stack?5around?5the?5variable?5?8?$AA@​
  349 ??_C@​_0BN@​FFOINMNJ@​Stack?5memory?5was?5corrupted?6?$AN?$AA@​
  349 ??_C@​_0BO@​GNIAFIKK@​Unknown?5Runtime?5Check?5Error?6?$AN?$AA@​
  349 ??_C@​_0CA@​IODNCDPG@​Run?9Time?5Check?5Failure?5?$CD?$CFd?5?9?5?$CFs?$AA@​
  349 ??_C@​_0CH@​LOIIHGKM@​?8?5is?5being?5used?5without?5being?5de@​
  349 ??_C@​_0CI@​INCLAPNB@​Invalid?5pointer?5was?5assigned?5at?6@​
  351 ??_C@​_0CK@​CNLNOEPB@​Local?5variable?5used?5before?5initi@​
  351 ??_C@​_0CK@​FEGOIOPB@​Cast?5to?5smaller?5type?5causing?5los@​
  34E ??_C@​_0CN@​KGLAKABH@​SOFTWARE?2Microsoft?2VisualStudio?2@​
  349 ??_C@​_0DA@​BEGFPCGG@​A?5variable?5is?5being?5used?5without@​
  3E4 ??_C@​_0DF@​FKILAAGL@​Load?5failed?5due?5to?5incompatible?5@​
  349 ??_C@​_0DG@​HKJMLLLP@​A?5local?5variable?5was?5used?5before@​
  349 ??_C@​_0L@​CJCNHJJG@​?6?$ANModule?3?7?$AA@​
  34E ??_C@​_0L@​KPMOCKEL@​PDBOpenDBI?$AA@​
  34E ??_C@​_0M@​HHEBEAAO@​MSPDB71?4DLL?$AA@​
  34E ??_C@​_0M@​HLOHPNFA@​RegCloseKey?$AA@​
  3E4 ??_C@​_0M@​MBOPBNBK@​mscoree?4dll?$AA@​
  349 ??_C@​_0N@​HAOHNMDE@​Kernel32?4dll?$AA@​
  34E ??_C@​_0N@​JJPEKNFO@​ADVAPI32?4DLL?$AA@​
  34E ??_C@​_0N@​KBGMOMJO@​IMAGEHLP?4DLL?$AA@​
  34E ??_C@​_0N@​KIGOLBLC@​Module32Next?$AA@​
  34E ??_C@​_0N@​NHGLKGEC@​KERNEL32?4DLL?$AA@​
  349 ??_C@​_0NN@​NGPKDKPD@​The?5value?5of?5ESP?5was?5not?5properl@​
  34E ??_C@​_0O@​CHDGJGFP@​ImageNtHeader?$AA@​
  34E ??_C@​_0O@​CNMFJJGO@​Module32First?$AA@​
  34E ??_C@​_0O@​DCOGKJGG@​RegOpenKeyExA?$AA@​
  34E ??_C@​_0O@​IPLOKOKN@​ModQueryLines?$AA@​
  3E4 ??_C@​_0P@​GOIJDIPK@​GetFileVersion?$AA@​
  349 ??_C@​_0P@​HLKMHJCG@​The?5variable?5?8?$AA@​
  3D1 ??_Etype_info@​@​UAEPAXI@​Z
  324 ??_Fbad_cast@​@​QAEXXZ
  323 ??_Fbad_typeid@​@​QAEXXZ
  3D8 ??_L@​YGXPAXIHP6EX0@​Z1@​Z
  3D6 ??_M@​YGXPAXIHP6EX0@​Z@​Z
  3D7 ??_N@​YGXPAXIHP6EX0@​Z1@​Z
  3D1 ??_R0?AVtype_info@​@​@​8
  3D1 ??_R1A@​?0A@​A@​type_info@​@​8
  3D1 ??_R2type_info@​@​8
  3D1 ??_R3type_info@​@​8
  3D1 ??_R4type_info@​@​6B@​
  322 ??_U@​YAPAXI@​Z
  3D4 ??_U@​YAPAXIABUnothrow_t@​std@​@​@​Z
  321 ??_V@​YAXPAX@​Z
  3DF ??_V@​YAXPAXABUnothrow_t@​std@​@​@​Z
  3DA ??__C@​YGXPAX0IHP6EX00@​ZP6EX0@​Z@​Z
  3D9 ??__D@​YGXPAX0IHP6EX00@​ZP6EX0@​Z@​Z
  349 ?_RTC_ErrorLevels@​@​3PAHA
  349 ?_RTC_Failure@​@​YAXPAXH@​Z
  351 ?_RTC_GetErrorFunc@​@​YAP6AHHPBDH00ZZPBX@​Z
  34E ?_RTC_GetSrcLine@​@​YAHKPADHPAHPAPAD@​Z
  349 ?_RTC_MemFailure@​@​YAXPAXHPBX@​Z
  349 ?_RTC_StackFailure@​@​YAXPAXPBD@​Z
  3D6 ?__ArrayUnwind@​@​YGXPAXIHP6EX0@​Z@​Z
  320 ?__uncaught_exception@​@​YA_NXZ
  31F ?_query_new_handler@​@​YAP6AHI@​ZXZ
  31E ?_query_new_mode@​@​YAHXZ
  31D ?_set_new_handler@​@​YAP6AHI@​ZP6AHI@​Z@​Z
  31C ?_set_new_mode@​@​YAHH@​Z
  31B ?_set_se_translator@​@​YAP6AXIPAU_EXCEPTION_POINTERS@​@​@​ZP6AXI0@​Z@​Z
  31A ?before@​type_info@​@​QBEHABV1@​@​Z
  319 ?name@​type_info@​@​QBEPBDXZ
  3D2 ?nothrow@​std@​@​3Unothrow_t@​1@​B
  318 ?raw_name@​type_info@​@​QBEPBDXZ
  317 ?set_new_handler@​@​YAP6AXXZP6AXXZ@​Z
  316 ?set_terminate@​@​YAP6AXXZP6AXXZ@​Z
  315 ?set_unexpected@​@​YAP6AXXZP6AXXZ@​Z
  314 ?swprintf@​@​YAHPAGIPBGZZ
  313 ?swprintf@​@​YAHPA_WIPB_WZZ
  312 ?terminate@​@​YAXXZ
  311 ?unexpected@​@​YAXXZ
  310 ?vswprintf@​@​YAHPAGIPBGPAD@​Z
  30F ?vswprintf@​@​YAHPA_WIPB_WPAD@​Z
  30E ?what@​exception@​@​UBEPBDXZ
  350 @​_RTC_CheckStackVars@​8
  348 @​_RTC_Check_2_to_1@​4
  348 @​_RTC_Check_4_to_1@​4
  348 @​_RTC_Check_4_to_2@​4
  348 @​_RTC_Check_8_to_1@​8
  348 @​_RTC_Check_8_to_2@​8
  348 @​_RTC_Check_8_to_4@​8
  3BE @​__security_check_cookie@​4
  30D _$I10_OUTPUT
  3DB _DllMain@​12
  3E0 _WinMainCRTStartup
  30C __CIacos
  30B __CIasin
  30A __CIatan
  309 __CIatan2
  308 __CIcos
  307 __CIcosh
  306 __CIexp
  305 __CIfmod
  304 __CIlog
  303 __CIlog10
  302 __CIpow
  301 __CIsin
  300 __CIsinh
  2FF __CIsqrt
  2FE __CItan
  2FD __CItanh
  3E2 __CRT_INIT@​12
  2FC __CRT_RTC_INIT
  2FB __CxxThrowException@​8
  3E2 __DllMainCRTStartup@​12
  3C8 __EH_prolog
  3C9 __EH_prolog2
  2FA __Getdays
  2F9 __Getmonths
  2F8 __Gettnames
  358 __HUGE_dll
  343 __IMPORT_DESCRIPTOR_MSVCR71
  342 __NULL_IMPORT_DESCRIPTOR
  350 __RTC_CheckEsp
  351 __RTC_GetErrDesc
  34B __RTC_InitBase
  34C __RTC_Initialize
  351 __RTC_NumErrors
  351 __RTC_SetErrorFunc
  351 __RTC_SetErrorType
  34B __RTC_Shutdown
  34C __RTC_Terminate
  349 __RTC_UninitUse
  3BB __SEH_epilog
  3BB __SEH_prolog
  2F6 __Strftime
  2F5 __XcptFilter
  2F4 ___CppXcptFilter
  2F3 ___CxxCallUnwindDtor
  2F2 ___CxxCallUnwindVecDtor
  2F1 ___CxxDetectRethrow
  2F0 ___CxxExceptionFilter
  2EF ___CxxFrameHandler
  2EE ___CxxLongjmpUnwind@​4
  2ED ___CxxQueryExceptionSize
  2EC ___CxxRegisterExceptionObject
  2EB ___CxxUnregisterExceptionObject
  2EA ___DestructExceptionObject
  2E9 ___RTCastToVoid
  2E8 ___RTDynamicCast
  2E7 ___RTtypeid
  2E6 ___STRINGTOLD
  2E5 ____lc_codepage_func
  2E4 ____lc_collate_cp_func
  2E3 ____lc_handle_func
  2E2 ____mb_cur_max_func
  2E1 ____setlc_active_func
  2E0 ____unguarded_readlc_active_add_func
  352 ___argc_dll
  353 ___argv_dll
  2DC ___buffer_overrun
  2DB ___crtCompareStringA
  2DA ___crtCompareStringW
  2D9 ___crtGetLocaleInfoW
  2D8 ___crtGetStringTypeW
  2D7 ___crtLCMapStringA
  2D6 ___crtLCMapStringW
  3D5 ___defaultmatherr
  2D5 ___dllonexit
  2D4 ___doserrno
  2D3 ___fpecode
  2D2 ___getmainargs
  2D0 ___iob_func
  2CF ___isascii
  2CE ___iscsym
  2CD ___iscsymf
  2CA ___lconv_init
  362 ___mb_cur_max_dll
  3E5 ___onexitbegin
  3E5 ___onexitend
  2C8 ___p___argc
  2C7 ___p___argv
  2C6 ___p___initenv
  2C5 ___p___mb_cur_max
  2C4 ___p___wargv
  2C3 ___p___winitenv
  2C2 ___p__acmdln
  2C1 ___p__amblksiz
  2C0 ___p__commode
  2BF ___p__daylight
  2BE ___p__dstbias
  2BD ___p__environ
  2BC ___p__fileinfo
  2BB ___p__fmode
  2BA ___p__iob
  2B9 ___p__mbcasemap
  2B8 ___p__mbctype
  2B7 ___p__osver
  2B6 ___p__pctype
  2B5 ___p__pgmptr
  2B4 ___p__pwctype
  2B3 ___p__timezone
  2B2 ___p__tzname
  2B1 ___p__wcmdln
  2B0 ___p__wenviron
  2AF ___p__winmajor
  2AE ___p__winminor
  2AD ___p__winver
  2AC ___p__wpgmptr
  2AB ___pctype_func
  2A9 ___pwctype_func
  2A8 ___pxcptinfoptrs
  34C ___rtc_iaa
  34C ___rtc_izz
  34C ___rtc_taa
  34C ___rtc_tzz
  3BC ___security_cookie
  2A7 ___security_error_handler
  3BD ___security_init_cookie
  2A6 ___set_app_type
  2A5 ___set_buffer_overrun_handler
  3DD ___setargv
  2A4 ___setusermatherr
  2A3 ___threadhandle
  2A2 ___threadid
  2A1 ___toascii
  2A0 ___unDName
  29F ___unDNameEx
  29D ___wcserror
  29C ___wgetmainargs
  3CE ___wsetargv
  3E3 ___xc_a
  3E3 ___xc_z
  3E3 ___xi_a
  3E3 ___xi_z
  3E7 ___xl_a
  3E7 ___xl_z
  29A __abnormal_termination
  299 __access
  297 __adj_fdiv_m16i
  296 __adj_fdiv_m32
  295 __adj_fdiv_m32i
  294 __adj_fdiv_m64
  293 __adj_fdiv_r
  292 __adj_fdivr_m16i
  291 __adj_fdivr_m32
  290 __adj_fdivr_m32i
  28F __adj_fdivr_m64
  28E __adj_fpatan
  28D __adj_fprem
  28C __adj_fprem1
  28B __adj_fptan
  3CA __adjust_fdiv
  288 __aligned_free
  287 __aligned_malloc
  286 __aligned_offset_malloc
  285 __aligned_offset_realloc
  284 __aligned_realloc
  3C5 __alldiv
  3C4 __alldvrm
  3C3 __allmul
  3E9 __alloca_probe
  3C2 __allrem
  3C1 __allshl
  3C0 __allshr
  283 __amsg_exit
  282 __assert
  281 __atodbl
  280 __atoi64
  27F __atoldbl
  3BA __aulldiv
  3B9 __aulldvrm
  3B8 __aullrem
  3B7 __aullshr
  27E __beep
  27D __beginthread
  27C __beginthreadex
  27B __c_exit
  27A __cabs
  279 __callnewh
  278 __cexit
  277 __cgets
  276 __cgetws
  3EA __charmax
  275 __chdir
  274 __chdrive
  3E4 __check_commonlanguageruntime_version
  273 __chgsign
  272 __chkesp
  3E9 __chkstk
  271 __chmod
  270 __chsize
  26F __clearfp
  26E __close
  26D __commit
  3E8 __commode
  354 __commode_dll
  26B __control87
  26A __controlfp
  269 __copysign
  268 __cprintf
  267 __cputs
  266 __cputws
  265 __creat
  264 __cscanf
  263 __ctime64
  364 __ctype
  262 __cwait
  261 __cwprintf
  260 __cwscanf
  355 __daylight_dll
  3CC __dowildcard
  25D __dup
  25C __dup2
  25B __ecvt
  25A __endthread
  259 __endthreadex
  356 __environ_dll
  257 __eof
  256 __errno
  255 __except_handler2
  254 __except_handler3
  3CB __except_list
  253 __execl
  252 __execle
  251 __execlp
  250 __execlpe
  24F __execv
  24E __execve
  24D __execvp
  24C __execvpe
  24B __exit
  24A __expand
  249 __fcloseall
  248 __fcvt
  247 __fdopen
  246 __fgetchar
  245 __fgetwchar
  244 __filbuf
  242 __filelength
  241 __filelengthi64
  240 __fileno
  23F __findclose
  23E __findfirst
  23D __findfirst64
  23C __findfirsti64
  23B __findnext
  23A __findnext64
  239 __findnexti64
  238 __finite
  237 __flsbuf
  3CB __fltused
  236 __flushall
  3E6 __fmode
  357 __fmode_dll
  234 __fpclass
  233 __fpieee_flt
  232 __fpreset
  231 __fputchar
  230 __fputwchar
  22F __fsopen
  22E __fstat
  22D __fstat64
  22C __fstati64
  22B __ftime
  22A __ftime64
  229 __ftol
  3C6 __ftol2
  228 __fullpath
  227 __futime
  226 __futime64
  225 __gcvt
  224 __get_heap_handle
  223 __get_osfhandle
  222 __get_sbh_threshold
  221 __getch
  220 __getche
  21F __getcwd
  21E __getdcwd
  21D __getdiskfree
  21C __getdllprocaddr
  21B __getdrive
  21A __getdrives
  219 __getmaxstdio
  218 __getmbcp
  217 __getpid
  216 __getsystime
  215 __getw
  214 __getwch
  213 __getwche
  212 __getws
  211 __global_unwind2
  210 __gmtime64
  20F __heapadd
  20E __heapchk
  20D __heapmin
  20C __heapset
  20B __heapused
  20A __heapwalk
  209 __hypot
  208 __i64toa
  207 __i64tow
  340 __imp_??0__non_rtti_object@​@​QAE@​ABV0@​@​Z
  33F __imp_??0__non_rtti_object@​@​QAE@​PBD@​Z
  33E __imp_??0bad_cast@​@​AAE@​PBQBD@​Z
  33D __imp_??0bad_cast@​@​QAE@​ABQBD@​Z
  33C __imp_??0bad_cast@​@​QAE@​ABV0@​@​Z
  33B __imp_??0bad_cast@​@​QAE@​PBD@​Z
  33A __imp_??0bad_typeid@​@​QAE@​ABV0@​@​Z
  339 __imp_??0bad_typeid@​@​QAE@​PBD@​Z
  338 __imp_??0exception@​@​QAE@​ABQBD@​Z
  337 __imp_??0exception@​@​QAE@​ABV0@​@​Z
  336 __imp_??0exception@​@​QAE@​XZ
  335 __imp_??1__non_rtti_object@​@​UAE@​XZ
  334 __imp_??1bad_cast@​@​UAE@​XZ
  333 __imp_??1bad_typeid@​@​UAE@​XZ
  332 __imp_??1exception@​@​UAE@​XZ
  331 __imp_??1type_info@​@​UAE@​XZ
  330 __imp_??2@​YAPAXI@​Z
  32F __imp_??3@​YAXPAX@​Z
  32E __imp_??4__non_rtti_object@​@​QAEAAV0@​ABV0@​@​Z
  32D __imp_??4bad_cast@​@​QAEAAV0@​ABV0@​@​Z
  32C __imp_??4bad_typeid@​@​QAEAAV0@​ABV0@​@​Z
  32B __imp_??4exception@​@​QAEAAV0@​ABV0@​@​Z
  32A __imp_??8type_info@​@​QBEHABV0@​@​Z
  329 __imp_??9type_info@​@​QBEHABV0@​@​Z
  328 __imp_??_7__non_rtti_object@​@​6B@​
  327 __imp_??_7bad_cast@​@​6B@​
  326 __imp_??_7bad_typeid@​@​6B@​
  325 __imp_??_7exception@​@​6B@​
  324 __imp_??_Fbad_cast@​@​QAEXXZ
  323 __imp_??_Fbad_typeid@​@​QAEXXZ
  322 __imp_??_U@​YAPAXI@​Z
  321 __imp_??_V@​YAXPAX@​Z
  320 __imp_?__uncaught_exception@​@​YA_NXZ
  31F __imp_?_query_new_handler@​@​YAP6AHI@​ZXZ
  31E __imp_?_query_new_mode@​@​YAHXZ
  31D __imp_?_set_new_handler@​@​YAP6AHI@​ZP6AHI@​Z@​Z
  31C __imp_?_set_new_mode@​@​YAHH@​Z
  31B __imp_?_set_se_translator@​@​YAP6AXIPAU_EXCEPTION_POINTERS@​@​@​ZP6AXI0@​Z@​Z
  31A __imp_?before@​type_info@​@​QBEHABV1@​@​Z
  319 __imp_?name@​type_info@​@​QBEPBDXZ
  318 __imp_?raw_name@​type_info@​@​QBEPBDXZ
  317 __imp_?set_new_handler@​@​YAP6AXXZP6AXXZ@​Z
  316 __imp_?set_terminate@​@​YAP6AXXZP6AXXZ@​Z
  315 __imp_?set_unexpected@​@​YAP6AXXZP6AXXZ@​Z
  314 __imp_?swprintf@​@​YAHPAGIPBGZZ
  313 __imp_?swprintf@​@​YAHPA_WIPB_WZZ
  312 __imp_?terminate@​@​YAXXZ
  311 __imp_?unexpected@​@​YAXXZ
  310 __imp_?vswprintf@​@​YAHPAGIPBGPAD@​Z
  30F __imp_?vswprintf@​@​YAHPA_WIPB_WPAD@​Z
  30E __imp_?what@​exception@​@​UBEPBDXZ
  30D __imp__$I10_OUTPUT
  30C __imp___CIacos
  30B __imp___CIasin
  30A __imp___CIatan
  309 __imp___CIatan2
  308 __imp___CIcos
  307 __imp___CIcosh
  306 __imp___CIexp
  305 __imp___CIfmod
  304 __imp___CIlog
  303 __imp___CIlog10
  302 __imp___CIpow
  301 __imp___CIsin
  300 __imp___CIsinh
  2FF __imp___CIsqrt
  2FE __imp___CItan
  2FD __imp___CItanh
  2FC __imp___CRT_RTC_INIT
  2FB __imp___CxxThrowException@​8
  2FA __imp___Getdays
  2F9 __imp___Getmonths
  2F8 __imp___Gettnames
  2F7 __imp___HUGE
  2F6 __imp___Strftime
  2F5 __imp___XcptFilter
  2F4 __imp____CppXcptFilter
  2F3 __imp____CxxCallUnwindDtor
  2F2 __imp____CxxCallUnwindVecDtor
  2F1 __imp____CxxDetectRethrow
  2F0 __imp____CxxExceptionFilter
  2EF __imp____CxxFrameHandler
  2EE __imp____CxxLongjmpUnwind@​4
  2ED __imp____CxxQueryExceptionSize
  2EC __imp____CxxRegisterExceptionObject
  2EB __imp____CxxUnregisterExceptionObject
  2EA __imp____DestructExceptionObject
  2E9 __imp____RTCastToVoid
  2E8 __imp____RTDynamicCast
  2E7 __imp____RTtypeid
  2E6 __imp____STRINGTOLD
  2E5 __imp_____lc_codepage_func
  2E4 __imp_____lc_collate_cp_func
  2E3 __imp_____lc_handle_func
  2E2 __imp_____mb_cur_max_func
  2E1 __imp_____setlc_active_func
  2E0 __imp_____unguarded_readlc_active_add_func
  2DF __imp____argc
  2DE __imp____argv
  2DD __imp____badioinfo
  2DC __imp____buffer_overrun
  2DB __imp____crtCompareStringA
  2DA __imp____crtCompareStringW
  2D9 __imp____crtGetLocaleInfoW
  2D8 __imp____crtGetStringTypeW
  2D7 __imp____crtLCMapStringA
  2D6 __imp____crtLCMapStringW
  2D5 __imp____dllonexit
  2D4 __imp____doserrno
  2D3 __imp____fpecode
  2D2 __imp____getmainargs
  2D1 __imp____initenv
  2D0 __imp____iob_func
  2CF __imp____isascii
  2CE __imp____iscsym
  2CD __imp____iscsymf
  2CC __imp____lc_clike
  2CB __imp____lc_collate_cp
  2CA __imp____lconv_init
  2C9 __imp____mb_cur_max
  2C8 __imp____p___argc
  2C7 __imp____p___argv
  2C6 __imp____p___initenv
  2C5 __imp____p___mb_cur_max
  2C4 __imp____p___wargv
  2C3 __imp____p___winitenv
  2C2 __imp____p__acmdln
  2C1 __imp____p__amblksiz
  2C0 __imp____p__commode
  2BF __imp____p__daylight
  2BE __imp____p__dstbias
  2BD __imp____p__environ
  2BC __imp____p__fileinfo
  2BB __imp____p__fmode
  2BA __imp____p__iob
  2B9 __imp____p__mbcasemap
  2B8 __imp____p__mbctype
  2B7 __imp____p__osver
  2B6 __imp____p__pctype
  2B5 __imp____p__pgmptr
  2B4 __imp____p__pwctype
  2B3 __imp____p__timezone
  2B2 __imp____p__tzname
  2B1 __imp____p__wcmdln
  2B0 __imp____p__wenviron
  2AF __imp____p__winmajor
  2AE __imp____p__winminor
  2AD __imp____p__winver
  2AC __imp____p__wpgmptr
  2AB __imp____pctype_func
  2AA __imp____pioinfo
  2A9 __imp____pwctype_func
  2A8 __imp____pxcptinfoptrs
  2A7 __imp____security_error_handler
  2A6 __imp____set_app_type
  2A5 __imp____set_buffer_overrun_handler
  2A4 __imp____setusermatherr
  2A3 __imp____threadhandle
  2A2 __imp____threadid
  2A1 __imp____toascii
  2A0 __imp____unDName
  29F __imp____unDNameEx
  29E __imp____wargv
  29D __imp____wcserror
  29C __imp____wgetmainargs
  29B __imp____winitenv
  29A __imp___abnormal_termination
  299 __imp___access
  298 __imp___acmdln
  297 __imp___adj_fdiv_m16i
  296 __imp___adj_fdiv_m32
  295 __imp___adj_fdiv_m32i
  294 __imp___adj_fdiv_m64
  293 __imp___adj_fdiv_r
  292 __imp___adj_fdivr_m16i
  291 __imp___adj_fdivr_m32
  290 __imp___adj_fdivr_m32i
  28F __imp___adj_fdivr_m64
  28E __imp___adj_fpatan
  28D __imp___adj_fprem
  28C __imp___adj_fprem1
  28B __imp___adj_fptan
  28A __imp___adjust_fdiv
  289 __imp___aexit_rtn
  288 __imp___aligned_free
  287 __imp___aligned_malloc
  286 __imp___aligned_offset_malloc
  285 __imp___aligned_offset_realloc
  284 __imp___aligned_realloc
  283 __imp___amsg_exit
  282 __imp___assert
  281 __imp___atodbl
  280 __imp___atoi64
  27F __imp___atoldbl
  27E __imp___beep
  27D __imp___beginthread
  27C __imp___beginthreadex
  27B __imp___c_exit
  27A __imp___cabs
  279 __imp___callnewh
  278 __imp___cexit
  277 __imp___cgets
  276 __imp___cgetws
  275 __imp___chdir
  274 __imp___chdrive
  273 __imp___chgsign
  272 __imp___chkesp
  271 __imp___chmod
  270 __imp___chsize
  26F __imp___clearfp
  26E __imp___close
  26D __imp___commit
  26C __imp___commode
  26B __imp___control87
  26A __imp___controlfp
  269 __imp___copysign
  268 __imp___cprintf
  267 __imp___cputs
  266 __imp___cputws
  265 __imp___creat
  264 __imp___cscanf
  263 __imp___ctime64
  262 __imp___cwait
  261 __imp___cwprintf
  260 __imp___cwscanf
  25F __imp___daylight
  25E __imp___dstbias
  25D __imp___dup
  25C __imp___dup2
  25B __imp___ecvt
  25A __imp___endthread
  259 __imp___endthreadex
  258 __imp___environ
  257 __imp___eof
  256 __imp___errno
  255 __imp___except_handler2
  254 __imp___except_handler3
  253 __imp___execl
  252 __imp___execle
  251 __imp___execlp
  250 __imp___execlpe
  24F __imp___execv
  24E __imp___execve
  24D __imp___execvp
  24C __imp___execvpe
  24B __imp___exit
  24A __imp___expand
  249 __imp___fcloseall
  248 __imp___fcvt
  247 __imp___fdopen
  246 __imp___fgetchar
  245 __imp___fgetwchar
  244 __imp___filbuf
  243 __imp___fileinfo
  242 __imp___filelength
  241 __imp___filelengthi64
  240 __imp___fileno
  23F __imp___findclose
  23E __imp___findfirst
  23D __imp___findfirst64
  23C __imp___findfirsti64
  23B __imp___findnext
  23A __imp___findnext64
  239 __imp___findnexti64
  238 __imp___finite
  237 __imp___flsbuf
  236 __imp___flushall
  235 __imp___fmode
  234 __imp___fpclass
  233 __imp___fpieee_flt
  232 __imp___fpreset
  231 __imp___fputchar
  230 __imp___fputwchar
  22F __imp___fsopen
  22E __imp___fstat
  22D __imp___fstat64
  22C __imp___fstati64
  22B __imp___ftime
  22A __imp___ftime64
  229 __imp___ftol
  228 __imp___fullpath
  227 __imp___futime
  226 __imp___futime64
  225 __imp___gcvt
  224 __imp___get_heap_handle
  223 __imp___get_osfhandle
  222 __imp___get_sbh_threshold
  221 __imp___getch
  220 __imp___getche
  21F __imp___getcwd
  21E __imp___getdcwd
  21D __imp___getdiskfree
  21C __imp___getdllprocaddr
  21B __imp___getdrive
  21A __imp___getdrives
  219 __imp___getmaxstdio
  218 __imp___getmbcp
  217 __imp___getpid
  216 __imp___getsystime
  215 __imp___getw
  214 __imp___getwch
  213 __imp___getwche
  212 __imp___getws
  211 __imp___global_unwind2
  210 __imp___gmtime64
  20F __imp___heapadd
  20E __imp___heapchk
  20D __imp___heapmin
  20C __imp___heapset
  20B __imp___heapused
  20A __imp___heapwalk
  209 __imp___hypot
  208 __imp___i64toa
  207 __imp___i64tow
  206 __imp___initterm
  205 __imp___inp
  204 __imp___inpd
  203 __imp___inpw
  202 __imp___iob
  201 __imp___isatty
  200 __imp___isctype
  1FF __imp___ismbbalnum
  1FE __imp___ismbbalpha
  1FD __imp___ismbbgraph
  1FC __imp___ismbbkalnum
  1FB __imp___ismbbkana
  1FA __imp___ismbbkprint
  1F9 __imp___ismbbkpunct
  1F8 __imp___ismbblead
  1F7 __imp___ismbbprint
  1F6 __imp___ismbbpunct
  1F5 __imp___ismbbtrail
  1F4 __imp___ismbcalnum
  1F3 __imp___ismbcalpha
  1F2 __imp___ismbcdigit
  1F1 __imp___ismbcgraph
  1F0 __imp___ismbchira
  1EF __imp___ismbckata
  1EE __imp___ismbcl0
  1ED __imp___ismbcl1
  1EC __imp___ismbcl2
  1EB __imp___ismbclegal
  1EA __imp___ismbclower
  1E9 __imp___ismbcprint
  1E8 __imp___ismbcpunct
  1E7 __imp___ismbcspace
  1E6 __imp___ismbcsymbol
  1E5 __imp___ismbcupper
  1E4 __imp___ismbslead
  1E3 __imp___ismbstrail
  1E2 __imp___isnan
  1E1 __imp___itoa
  1E0 __imp___itow
  1DF __imp___j0
  1DE __imp___j1
  1DD __imp___jn
  1DC __imp___kbhit
  1DB __imp___lfind
  1DA __imp___loaddll
  1D9 __imp___local_unwind2
  1D8 __imp___localtime64
  1D7 __imp___lock
  1D6 __imp___locking
  1D5 __imp___logb
  1D4 __imp___longjmpex
  1D3 __imp___lrotl
  1D2 __imp___lrotr
  1D1 __imp___lsearch
  1D0 __imp___lseek
  1CF __imp___lseeki64
  1CE __imp___ltoa
  1CD __imp___ltow
  1CC __imp___makepath
  1CB __imp___mbbtombc
  1CA __imp___mbbtype
  1C9 __imp___mbcasemap
  1C8 __imp___mbccpy
  1C7 __imp___mbcjistojms
  1C6 __imp___mbcjmstojis
  1C5 __imp___mbclen
  1C4 __imp___mbctohira
  1C3 __imp___mbctokata
  1C2 __imp___mbctolower
  1C1 __imp___mbctombb
  1C0 __imp___mbctoupper
  1BF __imp___mbctype
  1BE __imp___mbsbtype
  1BD __imp___mbscat
  1BC __imp___mbschr
  1BB __imp___mbscmp
  1BA __imp___mbscoll
  1B9 __imp___mbscpy
  1B8 __imp___mbscspn
  1B7 __imp___mbsdec
  1B6 __imp___mbsdup
  1B5 __imp___mbsicmp
  1B4 __imp___mbsicoll
  1B3 __imp___mbsinc
  1B2 __imp___mbslen
  1B1 __imp___mbslwr
  1B0 __imp___mbsnbcat
  1AF __imp___mbsnbcmp
  1AE __imp___mbsnbcnt
  1AD __imp___mbsnbcoll
  1AC __imp___mbsnbcpy
  1AB __imp___mbsnbicmp
  1AA __imp___mbsnbicoll
  1A9 __imp___mbsnbset
  1A8 __imp___mbsncat
  1A7 __imp___mbsnccnt
  1A6 __imp___mbsncmp
  1A5 __imp___mbsncoll
  1A4 __imp___mbsncpy
  1A3 __imp___mbsnextc
  1A2 __imp___mbsnicmp
  1A1 __imp___mbsnicoll
  1A0 __imp___mbsninc
  19F __imp___mbsnset
  19E __imp___mbspbrk
  19D __imp___mbsrchr
  19C __imp___mbsrev
  19B __imp___mbsset
  19A __imp___mbsspn
  199 __imp___mbsspnp
  198 __imp___mbsstr
  197 __imp___mbstok
  196 __imp___mbstrlen
  195 __imp___mbsupr
  194 __imp___memccpy
  193 __imp___memicmp
  192 __imp___mkdir
  191 __imp___mktemp
  190 __imp___mktime64
  18F __imp___msize
  18E __imp___nextafter
  18D __imp___onexit
  18C __imp___open
  18B __imp___open_osfhandle
  18A __imp___osplatform
  189 __imp___osver
  188 __imp___outp
  187 __imp___outpd
  186 __imp___outpw
  185 __imp___pclose
  184 __imp___pctype
  183 __imp___pgmptr
  182 __imp___pipe
  181 __imp___popen
  180 __imp___purecall
  17F __imp___putch
  17E __imp___putenv
  17D __imp___putw
  17C __imp___putwch
  17B __imp___putws
  17A __imp___pwctype
  179 __imp___read
  178 __imp___resetstkoflw
  177 __imp___rmdir
  176 __imp___rmtmp
  175 __imp___rotl
  174 __imp___rotr
  173 __imp___safe_fdiv
  172 __imp___safe_fdivr
  171 __imp___safe_fprem
  170 __imp___safe_fprem1
  16F __imp___scalb
  16E __imp___scprintf
  16D __imp___scwprintf
  16C __imp___searchenv
  16B __imp___seh_longjmp_unwind@​4
  16A __imp___set_SSE2_enable
  169 __imp___set_error_mode
  168 __imp___set_purecall_handler
  167 __imp___set_sbh_threshold
  166 __imp___set_security_error_handler
  165 __imp___seterrormode
  164 __imp___setjmp
  163 __imp___setjmp3
  162 __imp___setmaxstdio
  161 __imp___setmbcp
  160 __imp___setmode
  15F __imp___setsystime
  15E __imp___sleep
  15D __imp___snprintf
  15C __imp___snscanf
  15B __imp___snwprintf
  15A __imp___snwscanf
  159 __imp___sopen
  158 __imp___spawnl
  157 __imp___spawnle
  156 __imp___spawnlp
  155 __imp___spawnlpe
  154 __imp___spawnv
  153 __imp___spawnve
  152 __imp___spawnvp
  151 __imp___spawnvpe
  150 __imp___splitpath
  14F __imp___stat
  14E __imp___stat64
  14D __imp___stati64
  14C __imp___statusfp
  14B __imp___strcmpi
  14A __imp___strdate
  149 __imp___strdup
  148 __imp___strerror
  147 __imp___stricmp
  146 __imp___stricoll
  145 __imp___strlwr
  144 __imp___strncoll
  143 __imp___strnicmp
  142 __imp___strnicoll
  141 __imp___strnset
  140 __imp___strrev
  13F __imp___strset
  13E __imp___strtime
  13D __imp___strtoi64
  13C __imp___strtoui64
  13B __imp___strupr
  13A __imp___swab
  139 __imp___sys_errlist
  138 __imp___sys_nerr
  3A7 __imp___tccpy
  3A6 __imp___tclen
  38F __imp___tcschr
  3A5 __imp___tcsclen
  3A1 __imp___tcscmp
  3A3 __imp___tcscoll
  390 __imp___tcscspn
  398 __imp___tcsdec
  3A2 __imp___tcsicmp
  3A4 __imp___tcsicoll
  399 __imp___tcsinc
  3B6 __imp___tcslen
  39F __imp___tcslwr
  39A __imp___tcsnbcnt
  3A8 __imp___tcsncat
  3AF __imp___tcsnccat
  3B0 __imp___tcsnccmp
  39B __imp___tcsnccnt
  3B1 __imp___tcsnccoll
  3B2 __imp___tcsnccpy
  3B3 __imp___tcsncicmp
  3B4 __imp___tcsncicoll
  3A9 __imp___tcsncmp
  3AA __imp___tcsncoll
  3AB __imp___tcsncpy
  3B5 __imp___tcsncset
  39C __imp___tcsnextc
  3AC __imp___tcsnicmp
  3AD __imp___tcsnicoll
  39D __imp___tcsninc
  3AE __imp___tcsnset
  391 __imp___tcspbrk
  392 __imp___tcsrchr
  396 __imp___tcsrev
  397 __imp___tcsset
  393 __imp___tcsspn
  39E __imp___tcsspnp
  394 __imp___tcsstr
  395 __imp___tcstok
  3A0 __imp___tcsupr
  137 __imp___tell
  136 __imp___telli64
  135 __imp___tempnam
  134 __imp___time64
  133 __imp___timezone
  132 __imp___tolower
  131 __imp___toupper
  130 __imp___tzname
  12F __imp___tzset
  12E __imp___ui64toa
  12D __imp___ui64tow
  12C __imp___ultoa
  12B __imp___ultow
  12A __imp___umask
  129 __imp___ungetch
  128 __imp___ungetwch
  127 __imp___unlink
  126 __imp___unloaddll
  125 __imp___unlock
  124 __imp___utime
  123 __imp___utime64
  122 __imp___vscprintf
  121 __imp___vscwprintf
  120 __imp___vsnprintf
  11F __imp___vsnwprintf
  11E __imp___waccess
  11D __imp___wasctime
  11C __imp___wchdir
  11B __imp___wchmod
  11A __imp___wcmdln
  119 __imp___wcreat
  118 __imp___wcsdup
  117 __imp___wcserror
  116 __imp___wcsicmp
  115 __imp___wcsicoll
  114 __imp___wcslwr
  113 __imp___wcsncoll
  112 __imp___wcsnicmp
  111 __imp___wcsnicoll
  110 __imp___wcsnset
  10F __imp___wcsrev
  10E __imp___wcsset
  10D __imp___wcstoi64
  10C __imp___wcstoui64
  10B __imp___wcsupr
  10A __imp___wctime
  109 __imp___wctime64
  108 __imp___wctype
  107 __imp___wenviron
  106 __imp___wexecl
  105 __imp___wexecle
  104 __imp___wexeclp
  103 __imp___wexeclpe
  102 __imp___wexecv
  101 __imp___wexecve
  100 __imp___wexecvp
  FF __imp___wexecvpe
  FE __imp___wfdopen
  FD __imp___wfindfirst
  FC __imp___wfindfirst64
  FB __imp___wfindfirsti64
  FA __imp___wfindnext
  F9 __imp___wfindnext64
  F8 __imp___wfindnexti64
  F7 __imp___wfopen
  F6 __imp___wfreopen
  F5 __imp___wfsopen
  F4 __imp___wfullpath
  F3 __imp___wgetcwd
  F2 __imp___wgetdcwd
  F1 __imp___wgetenv
  F0 __imp___winmajor
  EF __imp___winminor
  EE __imp___winver
  ED __imp___wmakepath
  EC __imp___wmkdir
  EB __imp___wmktemp
  EA __imp___wopen
  E9 __imp___wperror
  E8 __imp___wpgmptr
  E7 __imp___wpopen
  E6 __imp___wputenv
  E5 __imp___wremove
  E4 __imp___wrename
  E3 __imp___write
  E2 __imp___wrmdir
  E1 __imp___wsearchenv
  E0 __imp___wsetlocale
  DF __imp___wsopen
  DE __imp___wspawnl
  DD __imp___wspawnle
  DC __imp___wspawnlp
  DB __imp___wspawnlpe
  DA __imp___wspawnv
  D9 __imp___wspawnve
  D8 __imp___wspawnvp
  D7 __imp___wspawnvpe
  D6 __imp___wsplitpath
  D5 __imp___wstat
  D4 __imp___wstat64
  D3 __imp___wstati64
  D2 __imp___wstrdate
  D1 __imp___wstrtime
  D0 __imp___wsystem
  CF __imp___wtempnam
  CE __imp___wtmpnam
  CD __imp___wtof
  CC __imp___wtoi
  CB __imp___wtoi64
  CA __imp___wtol
  C9 __imp___wunlink
  C8 __imp___wutime
  C7 __imp___wutime64
  C6 __imp___y0
  C5 __imp___y1
  C4 __imp___yn
  C3 __imp__abort
  C2 __imp__abs
  C1 __imp__acos
  C0 __imp__asctime
  BF __imp__asin
  BE __imp__atan
  BD __imp__atan2
  BC __imp__atexit
  BB __imp__atof
  BA __imp__atoi
  B9 __imp__atol
  B8 __imp__bsearch
  B7 __imp__calloc
  B6 __imp__ceil
  B5 __imp__clearerr
  B4 __imp__clock
  B3 __imp__cos
  B2 __imp__cosh
  B1 __imp__ctime
  B0 __imp__difftime
  AF __imp__div
  AE __imp__exit
  AD __imp__exp
  AC __imp__fabs
  AB __imp__fclose
  AA __imp__feof
  A9 __imp__ferror
  A8 __imp__fflush
  A7 __imp__fgetc
  A6 __imp__fgetpos
  A5 __imp__fgets
  A4 __imp__fgetwc
  A3 __imp__fgetws
  A2 __imp__floor
  A1 __imp__fmod
  A0 __imp__fopen
  9F __imp__fprintf
  9E __imp__fputc
  9D __imp__fputs
  9C __imp__fputwc
  9B __imp__fputws
  9A __imp__fread
  99 __imp__free
  98 __imp__freopen
  97 __imp__frexp
  96 __imp__fscanf
  95 __imp__fseek
  94 __imp__fsetpos
  93 __imp__ftell
  92 __imp__fwprintf
  91 __imp__fwrite
  90 __imp__fwscanf
  8F __imp__getc
  8E __imp__getchar
  8D __imp__getenv
  8C __imp__gets
  8B __imp__getwc
  8A __imp__getwchar
  89 __imp__gmtime
  88 __imp__is_wctype
  87 __imp__isalnum
  86 __imp__isalpha
  85 __imp__iscntrl
  84 __imp__isdigit
  83 __imp__isgraph
  82 __imp__isleadbyte
  81 __imp__islower
  80 __imp__isprint
  7F __imp__ispunct
  7E __imp__isspace
  7D __imp__isupper
  7C __imp__iswalnum
  7B __imp__iswalpha
  7A __imp__iswascii
  79 __imp__iswcntrl
  78 __imp__iswctype
  77 __imp__iswdigit
  76 __imp__iswgraph
  75 __imp__iswlower
  74 __imp__iswprint
  73 __imp__iswpunct
  72 __imp__iswspace
  71 __imp__iswupper
  70 __imp__iswxdigit
  6F __imp__isxdigit
  6E __imp__labs
  6D __imp__ldexp
  6C __imp__ldiv
  6B __imp__localeconv
  6A __imp__localtime
  69 __imp__log
  68 __imp__log10
  67 __imp__longjmp
  66 __imp__malloc
  65 __imp__mblen
  64 __imp__mbstowcs
  63 __imp__mbtowc
  62 __imp__memchr
  61 __imp__memcmp
  60 __imp__memcpy
  5F __imp__memmove
  5E __imp__memset
  5D __imp__mktime
  5C __imp__modf
  5B __imp__perror
  5A __imp__pow
  59 __imp__printf
  58 __imp__putc
  57 __imp__putchar
  56 __imp__puts
  55 __imp__putwc
  54 __imp__putwchar
  53 __imp__qsort
  52 __imp__raise
  51 __imp__rand
  50 __imp__realloc
  4F __imp__remove
  4E __imp__rename
  4D __imp__rewind
  4C __imp__scanf
  4B __imp__setbuf
  4A __imp__setlocale
  49 __imp__setvbuf
  48 __imp__signal
  47 __imp__sin
  46 __imp__sinh
  45 __imp__sprintf
  44 __imp__sqrt
  43 __imp__srand
  42 __imp__sscanf
  41 __imp__strcat
  40 __imp__strchr
  3F __imp__strcmp
  3E __imp__strcoll
  3D __imp__strcpy
  3C __imp__strcspn
  3B __imp__strerror
  3A __imp__strftime
  39 __imp__strlen
  38 __imp__strncat
  37 __imp__strncmp
  36 __imp__strncpy
  35 __imp__strpbrk
  34 __imp__strrchr
  33 __imp__strspn
  32 __imp__strstr
  31 __imp__strtod
  30 __imp__strtok
  2F __imp__strtol
  2E __imp__strtoul
  2D __imp__strxfrm
  2C __imp__swprintf
  2B __imp__swscanf
  2A __imp__system
  29 __imp__tan
  28 __imp__tanh
  27 __imp__time
  26 __imp__tmpfile
  25 __imp__tmpnam
  24 __imp__tolower
  23 __imp__toupper
  22 __imp__towlower
  21 __imp__towupper
  20 __imp__ungetc
  1F __imp__ungetwc
  1E __imp__vfprintf
  1D __imp__vfwprintf
  1C __imp__vprintf
  1B __imp__vsprintf
  1A __imp__vswprintf
  19 __imp__vwprintf
  18 __imp__wcscat
  17 __imp__wcschr
  16 __imp__wcscmp
  15 __imp__wcscoll
  14 __imp__wcscpy
  13 __imp__wcscspn
  12 __imp__wcsftime
  11 __imp__wcslen
  10 __imp__wcsncat
  F __imp__wcsncmp
  E __imp__wcsncpy
  D __imp__wcspbrk
  C __imp__wcsrchr
  B __imp__wcsspn
  A __imp__wcsstr
  9 __imp__wcstod
  8 __imp__wcstok
  7 __imp__wcstol
  6 __imp__wcstombs
  5 __imp__wcstoul
  4 __imp__wcsxfrm
  3 __imp__wctomb
  2 __imp__wprintf
  1 __imp__wscanf
  206 __initterm
  205 __inp
  204 __inpd
  203 __inpw
  365 __iob
  201 __isatty
  200 __isctype
  1FF __ismbbalnum
  1FE __ismbbalpha
  1FD __ismbbgraph
  1FC __ismbbkalnum
  1FB __ismbbkana
  1FA __ismbbkprint
  1F9 __ismbbkpunct
  1F8 __ismbblead
  1F7 __ismbbprint
  1F6 __ismbbpunct
  1F5 __ismbbtrail
  1F4 __ismbcalnum
  1F3 __ismbcalpha
  1F2 __ismbcdigit
  1F1 __ismbcgraph
  1F0 __ismbchira
  1EF __ismbckata
  1EE __ismbcl0
  1ED __ismbcl1
  1EC __ismbcl2
  1EB __ismbclegal
  1EA __ismbclower
  1E9 __ismbcprint
  1E8 __ismbcpunct
  1E7 __ismbcspace
  1E6 __ismbcsymbol
  1E5 __ismbcupper
  1E4 __ismbslead
  1E3 __ismbstrail
  1E2 __isnan
  1E1 __itoa
  1E0 __itow
  1DF __j0
  1DE __j1
  1DD __jn
  1DC __kbhit
  3CB __ldused
  1DB __lfind
  3BF __load_config_used
  1DA __loaddll
  1D9 __local_unwind2
  1D8 __localtime64
  1D7 __lock
  1D6 __locking
  1D5 __logb
  1D4 __longjmpex
  1D3 __lrotl
  1D2 __lrotr
  1D1 __lsearch
  1D0 __lseek
  1CF __lseeki64
  1CE __ltoa
  1CD __ltow
  1CC __makepath
  3D5 __matherr
  1CB __mbbtombc
  1CA __mbbtype
  1C8 __mbccpy
  1C7 __mbcjistojms
  1C6 __mbcjmstojis
  1C5 __mbclen
  1C4 __mbctohira
  1C3 __mbctokata
  1C2 __mbctolower
  1C1 __mbctombb
  1C0 __mbctoupper
  1BE __mbsbtype
  1BD __mbscat
  1BC __mbschr
  1BB __mbscmp
  1BA __mbscoll
  1B9 __mbscpy
  1B8 __mbscspn
  1B7 __mbsdec
  1B6 __mbsdup
  1B5 __mbsicmp
  1B4 __mbsicoll
  1B3 __mbsinc
  1B2 __mbslen
  1B1 __mbslwr
  1B0 __mbsnbcat
  1AF __mbsnbcmp
  1AE __mbsnbcnt
  1AD __mbsnbcoll
  1AC __mbsnbcpy
  1AB __mbsnbicmp
  1AA __mbsnbicoll
  1A9 __mbsnbset
  1A8 __mbsncat
  1A7 __mbsnccnt
  1A6 __mbsncmp
  1A5 __mbsncoll
  1A4 __mbsncpy
  1A3 __mbsnextc
  1A2 __mbsnicmp
  1A1 __mbsnicoll
  1A0 __mbsninc
  19F __mbsnset
  19E __mbspbrk
  19D __mbsrchr
  19C __mbsrev
  19B __mbsset
  19A __mbsspn
  199 __mbsspnp
  198 __mbsstr
  197 __mbstok
  196 __mbstrlen
  195 __mbsupr
  194 __memccpy
  193 __memicmp
  192 __mkdir
  191 __mktemp
  190 __mktime64
  18F __msize
  3EC __newmode
  18E __nextafter
  3E5 __onexit
  18C __open
  18B __open_osfhandle
  359 __osver_dll
  188 __outp
  187 __outpd
  186 __outpw
  3E2 __pRawDllMain
  185 __pclose
  35A __pctype_dll
  3E4 __pfn_check_commonlanguageruntime_version
  35C __pgmptr_dll
  182 __pipe
  181 __popen
  180 __purecall
  17F __putch
  17E __putenv
  17D __putw
  17C __putwch
  17B __putws
  35B __pwctype_dll
  179 __read
  178 __resetstkoflw
  177 __rmdir
  176 __rmtmp
  175 __rotl
  174 __rotr
  173 __safe_fdiv
  172 __safe_fdivr
  171 __safe_fprem
  170 __safe_fprem1
  16F __scalb
  16E __scprintf
  16D __scwprintf
  16C __searchenv
  16B __seh_longjmp_unwind@​4
  16A __set_SSE2_enable
  169 __set_error_mode
  168 __set_purecall_handler
  167 __set_sbh_threshold
  166 __set_security_error_handler
  3DC __setargv
  3C7 __setdefaultprecision
  165 __seterrormode
  164 __setjmp
  163 __setjmp3
  162 __setmaxstdio
  161 __setmbcp
  160 __setmode
  15F __setsystime
  15E __sleep
  15D __snprintf
  15C __snscanf
  15B __snwprintf
  15A __snwscanf
  159 __sopen
  158 __spawnl
  157 __spawnle
  156 __spawnlp
  155 __spawnlpe
  154 __spawnv
  153 __spawnve
  152 __spawnvp
  151 __spawnvpe
  150 __splitpath
  14F __stat
  14E __stat64
  14D __stati64
  14C __statusfp
  14B __strcmpi
  14A __strdate
  149 __strdup
  148 __strerror
  147 __stricmp
  146 __stricoll
  145 __strlwr
  144 __strncoll
  143 __strnicmp
  142 __strnicoll
  141 __strnset
  140 __strrev
  13F __strset
  13E __strtime
  13D __strtoi64
  13C __strtoui64
  13B __strupr
  13A __swab
  363 __sys_errlist
  35D __sys_nerr_dll
  37F __tccpy
  37E __tclen
  367 __tcschr
  37D __tcsclen
  379 __tcscmp
  37B __tcscoll
  368 __tcscspn
  370 __tcsdec
  37A __tcsicmp
  37C __tcsicoll
  371 __tcsinc
  38E __tcslen
  377 __tcslwr
  372 __tcsnbcnt
  380 __tcsncat
  387 __tcsnccat
  388 __tcsnccmp
  373 __tcsnccnt
  389 __tcsnccoll
  38A __tcsnccpy
  38B __tcsncicmp
  38C __tcsncicoll
  381 __tcsncmp
  382 __tcsncoll
  383 __tcsncpy
  38D __tcsncset
  374 __tcsnextc
  384 __tcsnicmp
  385 __tcsnicoll
  375 __tcsninc
  386 __tcsnset
  369 __tcspbrk
  36A __tcsrchr
  36E __tcsrev
  36F __tcsset
  36B __tcsspn
  376 __tcsspnp
  36C __tcsstr
  36D __tcstok
  378 __tcsupr
  137 __tell
  136 __telli64
  135 __tempnam
  134 __time64
  35E __timezone_dll
  3EB __tls_array
  3E7 __tls_end
  3E7 __tls_index
  3E7 __tls_start
  3E7 __tls_used
  132 __tolower
  131 __toupper
  366 __tzname
  12F __tzset
  12E __ui64toa
  12D __ui64tow
  12C __ultoa
  12B __ultow
  12A __umask
  129 __ungetch
  128 __ungetwch
  127 __unlink
  126 __unloaddll
  125 __unlock
  124 __utime
  123 __utime64
  122 __vscprintf
  121 __vscwprintf
  120 __vsnprintf
  11F __vsnwprintf
  11E __waccess
  11D __wasctime
  11C __wchdir
  11B __wchmod
  119 __wcreat
  118 __wcsdup
  117 __wcserror
  116 __wcsicmp
  115 __wcsicoll
  114 __wcslwr
  113 __wcsncoll
  112 __wcsnicmp
  111 __wcsnicoll
  110 __wcsnset
  10F __wcsrev
  10E __wcsset
  10D __wcstoi64
  10C __wcstoui64
  10B __wcsupr
  10A __wctime
  109 __wctime64
  106 __wexecl
  105 __wexecle
  104 __wexeclp
  103 __wexeclpe
  102 __wexecv
  101 __wexecve
  100 __wexecvp
  FF __wexecvpe
  FE __wfdopen
  FD __wfindfirst
  FC __wfindfirst64
  FB __wfindfirsti64
  FA __wfindnext
  F9 __wfindnext64
  F8 __wfindnexti64
  F7 __wfopen
  F6 __wfreopen
  F5 __wfsopen
  F4 __wfullpath
  F3 __wgetcwd
  F2 __wgetdcwd
  F1 __wgetenv
  360 __winmajor_dll
  361 __winminor_dll
  35F __winver_dll
  ED __wmakepath
  EC __wmkdir
  EB __wmktemp
  EA __wopen
  E9 __wperror
  E7 __wpopen
  E6 __wputenv
  E5 __wremove
  E4 __wrename
  E3 __write
  E2 __wrmdir
  E1 __wsearchenv
  3CD __wsetargv
  E0 __wsetlocale
  DF __wsopen
  DE __wspawnl
  DD __wspawnle
  DC __wspawnlp
  DB __wspawnlpe
  DA __wspawnv
  D9 __wspawnve
  D8 __wspawnvp
  D7 __wspawnvpe
  D6 __wsplitpath
  D5 __wstat
  D4 __wstat64
  D3 __wstati64
  D2 __wstrdate
  D1 __wstrtime
  D0 __wsystem
  CF __wtempnam
  CE __wtmpnam
  CD __wtof
  CC __wtoi
  CB __wtoi64
  CA __wtol
  C9 __wunlink
  C8 __wutime
  C7 __wutime64
  C6 __y0
  C5 __y1
  C4 __yn
  C3 _abort
  C2 _abs
  C1 _acos
  C0 _asctime
  BF _asin
  BE _atan
  BD _atan2
  3E5 _atexit
  BB _atof
  BA _atoi
  B9 _atol
  B8 _bsearch
  B7 _calloc
  B6 _ceil
  B5 _clearerr
  B4 _clock
  B3 _cos
  B2 _cosh
  B1 _ctime
  B0 _difftime
  AF _div
  AE _exit
  AD _exp
  AC _fabs
  AB _fclose
  AA _feof
  A9 _ferror
  A8 _fflush
  A7 _fgetc
  A6 _fgetpos
  A5 _fgets
  A4 _fgetwc
  A3 _fgetws
  A2 _floor
  A1 _fmod
  A0 _fopen
  9F _fprintf
  9E _fputc
  9D _fputs
  9C _fputwc
  9B _fputws
  9A _fread
  99 _free
  98 _freopen
  97 _frexp
  96 _fscanf
  95 _fseek
  94 _fsetpos
  93 _ftell
  92 _fwprintf
  91 _fwrite
  90 _fwscanf
  8F _getc
  8E _getchar
  8D _getenv
  8C _gets
  8B _getwc
  8A _getwchar
  89 _gmtime
  88 _is_wctype
  87 _isalnum
  86 _isalpha
  85 _iscntrl
  84 _isdigit
  83 _isgraph
  82 _isleadbyte
  81 _islower
  80 _isprint
  7F _ispunct
  7E _isspace
  7D _isupper
  7C _iswalnum
  7B _iswalpha
  7A _iswascii
  79 _iswcntrl
  78 _iswctype
  77 _iswdigit
  76 _iswgraph
  75 _iswlower
  74 _iswprint
  73 _iswpunct
  72 _iswspace
  71 _iswupper
  70 _iswxdigit
  6F _isxdigit
  6E _labs
  6D _ldexp
  6C _ldiv
  6B _localeconv
  6A _localtime
  69 _log
  68 _log10
  67 _longjmp
  3E1 _mainCRTStartup
  66 _malloc
  65 _mblen
  64 _mbstowcs
  63 _mbtowc
  62 _memchr
  61 _memcmp
  60 _memcpy
  5F _memmove
  5E _memset
  5D _mktime
  5C _modf
  5B _perror
  5A _pow
  59 _printf
  58 _putc
  57 _putchar
  56 _puts
  55 _putwc
  54 _putwchar
  53 _qsort
  52 _raise
  51 _rand
  50 _realloc
  4F _remove
  4E _rename
  4D _rewind
  4C _scanf
  4B _setbuf
  4A _setlocale
  49 _setvbuf
  48 _signal
  47 _sin
  46 _sinh
  45 _sprintf
  44 _sqrt
  43 _srand
  42 _sscanf
  41 _strcat
  40 _strchr
  3F _strcmp
  3E _strcoll
  3D _strcpy
  3C _strcspn
  3B _strerror
  3A _strftime
  39 _strlen
  38 _strncat
  37 _strncmp
  36 _strncpy
  35 _strpbrk
  34 _strrchr
  33 _strspn
  32 _strstr
  31 _strtod
  30 _strtok
  2F _strtol
  2E _strtoul
  2D _strxfrm
  2C _swprintf
  2B _swscanf
  2A _system
  29 _tan
  28 _tanh
  27 _time
  26 _tmpfile
  25 _tmpnam
  24 _tolower
  23 _toupper
  22 _towlower
  21 _towupper
  20 _ungetc
  1F _ungetwc
  1E _vfprintf
  1D _vfwprintf
  1C _vprintf
  1B _vsprintf
  1A _vswprintf
  19 _vwprintf
  3CF _wWinMainCRTStartup
  18 _wcscat
  17 _wcschr
  16 _wcscmp
  15 _wcscoll
  14 _wcscpy
  13 _wcscspn
  12 _wcsftime
  11 _wcslen
  10 _wcsncat
  F _wcsncmp
  E _wcsncpy
  D _wcspbrk
  C _wcsrchr
  B _wcsspn
  A _wcsstr
  9 _wcstod
  8 _wcstok
  7 _wcstol
  6 _wcstombs
  5 _wcstoul
  4 _wcsxfrm
  3 _wctomb
  3D0 _wmainCRTStartup
  2 _wprintf
  1 _wscanf
  341 �MSVCR71_NULL_THUNK_DATA

@p5pRT
Copy link
Author

p5pRT commented Jan 8, 2014

From @tonycoz

On Wed Jan 08 03​:16​:02 2014, sisyphus wrote​:

Not sure about that. I think the USE_64_BIT_INT option didn't become
available for Windows
until 5.17.x (for some value of "x").
Did anyone attempt (and succeed with) such a build using a Microsoft
compiler at that time ?

More to the point - has anyone *ever* attempted a USE_64_BIT_INT build using
*any* 32-bit Microsoft compiler ? ... and succeeded ?

I have, with the Platform SDK 32-bit compiler.

Tony

@p5pRT
Copy link
Author

p5pRT commented Jan 8, 2014

From @tonycoz

On Wed Jan 08 08​:57​:35 2014, bulk88 wrote​:

On Wed Jan 08 01​:13​:40 2014, shay wrote​:

On Fri Jan 03 19​:59​:13 2014, bulk88 wrote​:

Building 5.18 with USE_64_BIT_INT, with Visual C 2003 32 bits,
causes
a
build failure, which is caused by the new hash randomization code
added
in 5.17. This is a regression since USE_64_BIT_INT probably worked
in
the past with Visual C.

Does this work on blead? If so then 5.18 is missing something; if not
(which I'm guessing is more likely) then USE_64_BIT_INT should
probably just be disabled for VC++ 2003, like it already is for VC++
6.0 (see the win32/ makefiles), unless there's an easy fix.

I didn't realize the option (USE_64_BIT_INT) is so new, Blead with VC
2003 with USE_64_BIT_INT,
-----------------------------------------------------------
cl -c -nologo -GF -W3 -I..\lib\CORE -I.\include -I. -I.. -DWIN32
-D_CONS
OLE -DNO_STRICT -DPERLDLL -DPERL_CORE -O1 -MD -Zi -DNDEBUG -G7 -GL
-DPERL_IS_M
INIPERL -Fo.\mini\win32io.obj win32io.c
win32io.c
c​:\perl519\src\hv_func.h(391) : warning C4244​: 'initializing' :
conversion from
'IV' to 'STRLEN', possible loss of data
link -subsystem​:console -out​:..\miniperl.exe
@​C​:\WINDOWS\TEMP\nm2AD7.tmp

hv.obj : error LNK2001​: unresolved external symbol __rotl64
..\miniperl.exe : fatal error LNK1120​: 1 unresolved externals
NMAKE : fatal error U1077​: 'link' : return code '0x460'
Stop.

C​:\perl519\src\win32>
--------------------------------------------------------------

Next I tried 5.17.3 git blead at
--------------------------------------------------------------
SHA-1​: 1f64ae1

* Add a USE_64_BIT_INT build option to the Windows makefiles.
--------------------------------------------------------------
with USE_64_BIT_INT, I got miniperl and full perl binaries, no #pragma
needed since the new hash code doesn't exist yet. Reading _rotl64's
docs for VC 2003 http​://msdn.microsoft.com/en-
us/library/5cc576c4%28v=vs.71%29.aspx says it exists. I've attached a
dump of VC 2003's msvcrt.lib's symbol table. stdlib.h on my vc2003 has
------------------------------------------------------
unsigned int __cdecl _rotl(unsigned int, int);
unsigned __int64 __cdecl _rotl64(unsigned __int64, int);
unsigned int __cdecl _rotr(unsigned int, int);
unsigned __int64 __cdecl _rotr64(unsigned __int64, int);
------------------------------------------------------
in it. Google brings up nothing about these symbols being missing from
msvcrt.lib for vc2003 so I can't explain this problem.

I suspect most software is built with the version specific CRT, not msvcrt.

Could there be an extra static library we're missing for VC+2003 that
defines those symbols?

if not
(which I'm guessing is more likely) then USE_64_BIT_INT should
probably just be disabled for VC++ 2003, like it already is for VC++
6.0 (see the win32/ makefiles), unless there's an easy fix.

read closer, there is a fix

Assuming we're not missing a library, per above, could you please provide
a patch to win32/win32.h (or elsewhere if necessary) that adds the
require intrinsics only for VC++2003?

Tony

@p5pRT
Copy link
Author

p5pRT commented Jan 9, 2014

From @bulk88

On Wed Jan 08 15​:16​:04 2014, tonyc wrote​:

I suspect most software is built with the version specific CRT, not msvcrt.

Could there be an extra static library we're missing for VC+2003 that
defines those symbols?

This is a rehash of a discussion on IRC with TonyC. No.


C​:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\lib>grep -r -U rotl64 *
Binary file libc.lib matches
Binary file libcd.lib matches
Binary file libcmt.lib matches
Binary file libcmtd.lib matches

C​:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\lib>
C​:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\lib>grep -r -U rotl *
Binary file libc.lib matches
Binary file libcd.lib matches
Binary file libcmt.lib matches
Binary file libcmtd.lib matches
Binary file msvcrt.lib matches
Binary file msvcrt.lib.v6.bak matches
msvcrt.txt​: 1CC4C __imp___rotl
msvcrt.txt​: 1CC4C __rotl
msvcrt.txt​: 1F1F0 __imp___lrotl
msvcrt.txt​: 1F1F0 __lrotl
msvcrt.txt​: 1D3 __imp___lrotl
msvcrt.txt​: 175 __imp___rotl
msvcrt.txt​: 1D3 __lrotl
msvcrt.txt​: 175 __rotl
msvcrt.txt​: Symbol name : __rotl
msvcrt.txt​: Name : _rotl
msvcrt.txt​: Symbol name : __lrotl
msvcrt.txt​: Name : _lrotl
msvcrt.txt​: __rotl
msvcrt.txt​: __lrotl
Binary file msvcrtd.lib matches

C​:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\lib>


Assuming we're not missing a library, per above, could you please provide
a patch to win32/win32.h (or elsewhere if necessary) that adds the
require intrinsics only for VC++2003?

Tony

Patch attached. I got no unusual/unknown make test failures, so USE_64_BIT_INT on VC 2003 works correctly.


porting/utils.t (Wstat​: 256 Test
s​: 31 Failed​: 14)
  Failed tests​: 5-6, 8-9, 11, 13, 15-17, 21-24, 27
  Non-zero exit status​: 1
  Parse errors​: Bad plan. You planned 82 tests but ran 31.
../cpan/IPC-Cmd/t/01_IPC-Cmd.t (Wstat​: 512 Test
s​: 459 Failed​: 2)
  Failed tests​: 82-83
  Non-zero exit status​: 2
Files=2377, Tests=693166, 5724 wallclock secs (237.27 usr + 8.61 sys = 245.88 C
PU)
Result​: FAIL
NMAKE : fatal error U1077​: '..\perl.exe' : return code '0x10'
Stop.


1st test file has an open bug. 2nd is a race condition nobody has ever figured out (I'm surprised I got it). George Win32 smoker spits it out every so often.

--
bulk88 ~ bulk88 at hotmail.com

@p5pRT
Copy link
Author

p5pRT commented Jan 9, 2014

From @bulk88

0001-perl-120925-fix-missing-_rotl64-symbol-on-Visual-C-2.patch
From 187a0c06d39a8d86d2de0cdcf6dd0b8ec32ac151 Mon Sep 17 00:00:00 2001
From: Daniel Dragan <bulk88@hotmail.com>
Date: Wed, 8 Jan 2014 23:44:16 -0500
Subject: [PATCH] [perl #120925] fix missing _rotl64 symbol on Visual C 2003

Due to a bug in the CRT (msvcr71.dll), these 2 functions are not defined
in any lib Perl can use (static link CRTs dont apply, Perl only uses DLL
CRTs), but they are available as intrinsics. This solves a link error
about missing symbol __rotl64 in hv.obj, from usage in hv_func.h, on 32 bit
USE_64_BIT_INT VC 2003 builds. _rotr64 is included for completeness. This
fix is filed as [perl #120925].
---
 win32/win32.h |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/win32/win32.h b/win32/win32.h
index a521a41..3d1655a 100644
--- a/win32/win32.h
+++ b/win32/win32.h
@@ -256,6 +256,11 @@ typedef unsigned short	mode_t;
 #define NAN_COMPARE_BROKEN 1
 #endif
 
+/* on VC2003, msvcrt.lib is missing these symbols */
+#if _MSC_VER >= 1300 && _MSC_VER < 1400
+#  pragma intrinsic(_rotl64,_rotr64)
+#endif
+
 #endif /* _MSC_VER */
 
 #ifdef __MINGW32__		/* Minimal Gnu-Win32 */
-- 
1.7.9.msysgit.0

@p5pRT
Copy link
Author

p5pRT commented Jan 9, 2014

From @steve-m-hay

On 8 January 2014 23​:11, Tony Cook via RT <perlbug-followup@​perl.org> wrote​:

On Wed Jan 08 03​:16​:02 2014, sisyphus wrote​:

Not sure about that. I think the USE_64_BIT_INT option didn't become
available for Windows
until 5.17.x (for some value of "x").
Did anyone attempt (and succeed with) such a build using a Microsoft
compiler at that time ?

More to the point - has anyone *ever* attempted a USE_64_BIT_INT build
using
*any* 32-bit Microsoft compiler ? ... and succeeded ?

I have, with the Platform SDK 32-bit compiler.

Yes, I have too with various recent VC++s. I tested that when adding the
option to the nmake makefile, as noted in the original commit​:

http​://perl5.git.perl.org/perl.git/commit/1f64ae15647e757e817c923b2a9fcbc528c5f610

@p5pRT
Copy link
Author

p5pRT commented Jan 9, 2014

From @steve-m-hay

Thanks for the patch, which is now applied in commit 8961ec4.

@p5pRT
Copy link
Author

p5pRT commented Jan 9, 2014

@steve-m-hay - Status changed from 'open' to 'resolved'

@p5pRT
Copy link
Author

p5pRT commented Jan 13, 2014

From @bulk88

On Thu Jan 09 13​:37​:40 2014, shay wrote​:

Thanks for the patch, which is now applied in commit 8961ec4.

Can this be applied to maint 5.18?

This patch was really caused because I tried to replicate https://rt-archive.perl.org/perl5/Ticket/Display.html?id=120851 and my CC failed to build that Perl, my CC was working at 5.17.3 with USE_64_BIT_INT but was broken later in 5.17 with the new has randomization code landed.

--
bulk88 ~ bulk88 at hotmail.com

@p5pRT
Copy link
Author

p5pRT commented Jan 13, 2014

From @tonycoz

On Sun Jan 12 17​:42​:15 2014, bulk88 wrote​:

On Thu Jan 09 13​:37​:40 2014, shay wrote​:

Thanks for the patch, which is now applied in commit 8961ec4.

Can this be applied to maint 5.18?

This patch was really caused because I tried to replicate
https://rt-archive.perl.org/perl5/Ticket/Display.html?id=120851 and my CC failed to
build that Perl, my CC was working at 5.17.3 with USE_64_BIT_INT but
was broken later in 5.17 with the new has randomization code landed.

+1 from me (reopened ticket for now)

@p5pRT
Copy link
Author

p5pRT commented Jan 13, 2014

@tonycoz - Status changed from 'resolved' to 'open'

@p5pRT
Copy link
Author

p5pRT commented Aug 16, 2015

From @bulk88

On Sun Jan 12 17​:59​:40 2014, tonyc wrote​:

On Sun Jan 12 17​:42​:15 2014, bulk88 wrote​:

On Thu Jan 09 13​:37​:40 2014, shay wrote​:

Thanks for the patch, which is now applied in commit 8961ec4.

Can this be applied to maint 5.18?

This patch was really caused because I tried to replicate
https://rt-archive.perl.org/perl5/Ticket/Display.html?id=120851 and my CC failed to
build that Perl, my CC was working at 5.17.3 with USE_64_BIT_INT but
was broken later in 5.17 with the new has randomization code landed.

+1 from me (reopened ticket for now)

This patch was shipped in 5.18.3 http​://perl5.git.perl.org/perl.git/shortlog/refs/tags/v5.18.3 and can now be closed.

--
bulk88 ~ bulk88 at hotmail.com

@p5pRT
Copy link
Author

p5pRT commented Aug 17, 2015

From @tonycoz

On Sat Aug 15 20​:32​:20 2015, bulk88 wrote​:

On Sun Jan 12 17​:59​:40 2014, tonyc wrote​:

On Sun Jan 12 17​:42​:15 2014, bulk88 wrote​:

On Thu Jan 09 13​:37​:40 2014, shay wrote​:

Thanks for the patch, which is now applied in commit 8961ec4.

Can this be applied to maint 5.18?

This patch was really caused because I tried to replicate
https://rt-archive.perl.org/perl5/Ticket/Display.html?id=120851 and my CC failed
to
build that Perl, my CC was working at 5.17.3 with USE_64_BIT_INT
but
was broken later in 5.17 with the new has randomization code
landed.

+1 from me (reopened ticket for now)

This patch was shipped in 5.18.3
http​://perl5.git.perl.org/perl.git/shortlog/refs/tags/v5.18.3 and can
now be closed.

Thanks, closed.

Tony

@p5pRT
Copy link
Author

p5pRT commented Aug 17, 2015

@tonycoz - Status changed from 'open' to 'resolved'

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant