Tue Oct 23 01:54:00 2012: Request 80347 was acted upon.
Transaction: Ticket created by BULKDD
       Queue: Win32-API
     Subject: (No subject given)
   Broken in: 0.73
    Severity: Unimportant
       Owner: Nobody
  Requestors: bul...@cpan.org
      Status: new
 Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=80347 >


This is a todo for myself. From
http://ppm4.activestate.com/MSWin32-x64/5.16/1600/B/BU/BULKDD/Win32/Win32-API-0.73.d/log-20121021T040314.txt
The compiler is identified as ver 14 in 02_Callback.t, which is VS 2005
or SDK/DDK equivalent. VS 2005 and newer are -GS on by default. There
are 2 ways to fix this. 

-Add -GS- to the CCFLAGS in makefile.pl if >= VS 2005 (easy fix,
Win32::API never used fixed length stack alloced buffers)

-call __security_init_cookie without calling the rest of the CRT code.
Now the issue is, what if -GS- was specified and __security_init_cookie
is still in the source?

Obviously this compiler warning doesn't cause any visible runtime errors
but probably the security cookie is not randomized correctly.
________________________________________________________________
        C:\Perl64-5.16\bin\perl.exe C:\cpanfly-5.16\var\megalib\ExtUtils\xsubpp
 -typemap C:\Perl64-5.16\lib\ExtUtils\typemap  Callback.xs >
Callback.xsc && C:\Perl64-5.16\bin\perl.exe -MExtUtils::Command -e mv --
Callback.xsc Callback.c
        cl -c    -nologo -GF -W3 -MD -Zi -DNDEBUG -Ox -GL -fp:precise -DWIN32
-D_CONSOLE -DNO_STRICT -DWIN64 -DCONSERVATIVE -DPERL_TEXTMODE_SCRIPTS
-DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS
-DUSE_PERLIO -MD -Zi -DNDEBUG -Ox -GL -fp:precise    -DVERSION=\"0.73\"
 -DXS_VERSION=\"0.73\"  "-IC:\Perl64-5.16\lib\CORE"   Callback.c
Callback.c
Callback.xs(639) : warning C4244: '=' : conversion from 'UV' to 'int',
possible loss of data
Running Mkbootstrap for Win32::API::Callback ()
        C:\Perl64-5.16\bin\perl.exe -MExtUtils::Command -e chmod -- 644 
Callback.bs
        C:\Perl64-5.16\bin\perl.exe -MExtUtils::Mksymlists  -e
"Mksymlists('NAME'=>\"Win32::API::Callback\", 'DLBASE' => 'Callback',
'DL_FUNCS' => {  }, 'FUNCLIST' => [], 'IMPORTS' => {  }, 'DL_VARS' => []);"
        link -out:..\blib\arch\auto\Win32\API\Callback\Callback.dll -dll
-nologo -nodefaultlib -debug -opt:ref,icf -ltcg 
-libpath:"C:\Perl64-5.16\lib\CORE"  -machine:AMD64 Callback.obj  
C:\Perl64-5.16\lib\CORE\perl516.lib 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 bufferoverflowU.lib
msvcrt.lib -def:Callback.def
   Creating library ..\blib\arch\auto\Win32\API\Callback\Callback.lib
and object ..\blib\arch\auto\Win32\API\Callback\Callback.exp
Generating code
Finished generating code
bufferoverflowU.lib(gs_support.obj) : warning LNK4210: .CRT section
exists; there may be unhandled static initializers or terminators
        if exist ..\blib\arch\auto\Win32\API\Callback\Callback.dll.manifest mt
-nologo -manifest
..\blib\arch\auto\Win32\API\Callback\Callback.dll.manifest
-outputresource:..\blib\arch\auto\Win32\API\Callback\Callback.dll;2
        if exist ..\blib\arch\auto\Win32\API\Callback\Callback.dll.manifest del
..\blib\arch\auto\Win32\API\Callback\Callback.dll.manifest
        C:\Perl64-5.16\bin\perl.exe -MExtUtils::Command -e chmod -- 755
..\blib\arch\auto\Win32\API\Callback\Callback.dll
        C:\Perl64-5.16\bin\perl.exe -MExtUtils::Command -e cp -- Callback.bs
..\blib\arch\auto\Win32\API\Callback\Callback.bs
        C:\Perl64-5.16\bin\perl.exe -MExtUtils::Command -e chmod -- 644
..\blib\arch\auto\Win32\API\Callback\Callback.bs
        cd ..
        C:\Perl64-5.16\bin\perl.exe C:\cpanfly-5.16\var\megalib\ExtUtils\xsubpp
 -nolinenumbers  -typemap C:\Perl64-5.16\lib\ExtUtils\typemap -typemap
typemap  API.xs > API.xsc && C:\Perl64-5.16\bin\perl.exe
-MExtUtils::Command -e mv -- API.xsc API.c
        cl -c    -nologo -GF -W3 -MD -Zi -DNDEBUG -Ox -GL -fp:precise -DWIN32
-D_CONSOLE -DNO_STRICT -DWIN64 -DCONSERVATIVE -DPERL_TEXTMODE_SCRIPTS
-DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS
-DUSE_PERLIO -MD -Zi -DNDEBUG -Ox -GL -fp:precise    -DVERSION=\"0.73\"
 -DXS_VERSION=\"0.73\"  "-IC:\Perl64-5.16\lib\CORE"   API.c
API.c
        ml64 -Zi -c call_asm_x64_msvc.asm
 Assembling: call_asm_x64_msvc.asm
Microsoft (R) Macro Assembler (AMD64) Version 8.00.40310.39
Copyright (C) Microsoft Corporation.  All rights reserved.

Running Mkbootstrap for Win32::API ()
        C:\Perl64-5.16\bin\perl.exe -MExtUtils::Command -e chmod -- 644 API.bs
        C:\Perl64-5.16\bin\perl.exe -MExtUtils::Mksymlists  -e
"Mksymlists('NAME'=>\"Win32::API\", 'DLBASE' => 'API', 'DL_FUNCS' => { 
}, 'FUNCLIST' => [], 'IMPORTS' => {  }, 'DL_VARS' => []);"
        link -out:blib\arch\auto\Win32\API\API.dll -dll -nologo -nodefaultlib
-debug -opt:ref,icf -ltcg  -libpath:"C:\Perl64-5.16\lib\CORE" 
-machine:AMD64 API.obj call_asm_x64_msvc.obj  
C:\Perl64-5.16\lib\CORE\perl516.lib 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 bufferoverflowU.lib
msvcrt.lib -def:API.def
   Creating library blib\arch\auto\Win32\API\API.lib and object
blib\arch\auto\Win32\API\API.exp
Generating code
Finished generating code
bufferoverflowU.lib(gs_support.obj) : warning LNK4210: .CRT section
exists; there may be unhandled static initializers or terminators
        if exist blib\arch\auto
___________________________________________________________

Reply via email to