Wed Oct 17 14:51:46 2012: Request 80217 was acted upon. Transaction: Correspondence added by BULKDD Queue: Win32-API Subject: Build failure under Cygwin on Windows Broken in: 0.72 Severity: Critical Owner: Nobody Requestors: jdhed...@cpan.org Status: open Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=80217 >
the alloca was linked from /lib/gcc/i686-pc-cygwin/4.5.3/libgcc.a . Looking at libgcc.a's disassembly it was identical to what I saw in API.dll. for the record cygwin gcc -S output .globl _XS_Win32__API_Call .def _XS_Win32__API_Call; .scl 2; .type 32; .endef _XS_Win32__API_Call: LFB32: .loc 1 726 0 LVL373: pushl %ebp LCFI161: movl %esp, %ebp LCFI162: pushl %edi LCFI163: pushl %esi LCFI164: pushl %ebx LCFI165: subl $204, %esp LCFI166: .loc 1 726 0 movl 8(%ebp), %ebx .loc 1 728 0 movl 72(%ebx), %eax movl (%ebx), %edx LVL374: movl (%eax), %edi LVL375: subl $4, %eax movl %eax, 72(%ebx) movl 12(%ebx), %eax LVL376: movl %edx, %esi leal (%eax,%edi,4), %ecx LVL377: subl %ecx, %esi sarl $2, %esi LVL378: .loc 1 732 0 testl %esi, %esi jle L331 LVL379: .loc 1 728 0 leal 1(%edi), %ecx LVL380: movl %ecx, -108(%ebp) LBB161: .loc 1 737 0 movl (%eax,%ecx,4), %eax movl %eax, -84(%ebp) LVL381: .loc 1 739 0 movl 16(%ebx), %eax LVL382: subl %edx, %eax cmpl $11, %eax jle L332 LVL383: L192: LBB163: .loc 1 765 0 movl -84(%ebp), %eax movl $LC45, 8(%esp) movl %ebx, (%esp) movl %eax, 4(%esp) call _Perl_sv_isa .loc 1 767 0 movl $0, 8(%esp) movl $LC46, 4(%esp) movl %ebx, (%esp) .loc 1 765 0 movl %eax, -92(%ebp) LVL384: .loc 1 767 0 call _Perl_get_sv .loc 1 768 0 movl -84(%ebp), %edx movl 16(%edx), %edx LBB270: .loc 1 770 0 movl $0, 24(%esp) LBE270: .loc 1 767 0 movl %eax, -80(%ebp) LVL385: LBB269: .loc 1 770 0 movl $0, 20(%esp) LBE269: .loc 1 768 0 movl %edx, -76(%ebp) LVL386: LBB268: .loc 1 770 0 movl $32, 16(%esp) movl $7, 12(%esp) movl $LC47, 8(%esp) movl %edx, 4(%esp) movl %ebx, (%esp) call _Perl_hv_common_key_len LVL387: .loc 1 772 0 movb $0, -109(%ebp) .loc 1 771 0 testl %eax, %eax je L193 .loc 1 771 0 is_stmt 0 discriminator 1 movl (%eax), %eax LVL388: movl %ebx, (%esp) movl %eax, 4(%esp) call _Perl_sv_true testl %eax, %eax setne -109(%ebp) L193: LVL389: LBE268: .loc 1 774 0 is_stmt 1 movl -76(%ebp), %ecx movl $0, 24(%esp) movl $0, 20(%esp) movl $32, 16(%esp) movl $5, 12(%esp) movl $LC48, 8(%esp) movl %ecx, 4(%esp) movl %ebx, (%esp) call _Perl_hv_common_key_len LVL390: .loc 1 775 0 movb $0, -101(%ebp) .loc 1 764 0 movb $0, -93(%ebp) .loc 1 775 0 testl %eax, %eax je L194 .loc 1 775 0 is_stmt 0 discriminator 1 movl (%eax), %eax LVL391: testb $1, 9(%eax) je L195 movl (%eax), %eax movb $0, -101(%ebp) .loc 1 764 0 is_stmt 1 discriminator 1 movb $0, -93(%ebp) .loc 1 775 0 discriminator 1 movl 16(%eax), %edx orl 20(%eax), %edx setne %al testb %al, %al jne L333 LVL392: L194: .loc 1 782 0 movl -76(%ebp), %edx .loc 1 786 0 subl $1, %esi LVL393: .loc 1 782 0 movl $0, 24(%esp) movl $0, 20(%esp) movl $32, 16(%esp) movl %edx, 4(%esp) movl $2, 12(%esp) movl $LC23, 8(%esp) movl %ebx, (%esp) call _Perl_hv_common_key_len LVL394: .loc 1 783 0 movl (%eax), %eax LVL395: movl 16(%eax), %eax .loc 1 784 0 movl %ebx, (%esp) .loc 1 783 0 movl %eax, -64(%ebp) LVL396: .loc 1 784 0 movl %eax, 4(%esp) call _Perl_av_len LVL397: movl %eax, -60(%ebp) LVL398: .loc 1 786 0 addl $1, %eax LVL399: cmpl %eax, %esi movl %eax, -88(%ebp) jne L334 .loc 1 790 0 movl -60(%ebp), %ecx testl %ecx, %ecx js L198 LBB212: .loc 1 798 0 call _DebugBreak@0 .loc 1 799 0 movl -88(%ebp), %eax .loc 1 802 0 leal 8(,%edi,4), %edi .loc 1 799 0 sall $4, %eax movl %eax, (%esp) call __alloca .loc 1 802 0 movl -88(%ebp), %edx .loc 1 799 0 movl %eax, -48(%ebp) LVL400: .loc 1 802 0 leal 0(,%edx,4), %eax LVL401: movl %eax, (%esp) call __alloca movl -48(%ebp), %esi