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

Reply via email to