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: [email protected]
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