[rt.cpan.org #80217] Build failure under Cygwin on Windows

[email protected] ("Daniel Dragan via RT")
Newsgroups perl.libwin32
Message-ID <[email protected]>
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.