[Patch RFA libitm] config-based assessment of weakref capability

Jack Howarth howarth@bromo.med.uc.edu
Fri Nov 18 17:05:00 GMT 2011


Iain,
   For gcc trunk at r181476 with 181473-libitm-config-weakref.txt, 181473-libitm-tests-mapanon.txt
and 181473-libitm-user-label-prefix.txt as well as the regenerations performed in libitm, I see
the following failures on x86_64-apple-darwin11 under Xcode 4.2...

Running target unix/-m32
Using /sw/share/dejagnu/baseboards/unix.exp as board description file for target.
Using /sw/share/dejagnu/config/unix.exp as generic interface file for target.
Using /sw/src/fink.build/gcc47-4.7.0-1/gcc-4.7-20111118/libitm/testsuite/config/default.exp as tool-and-target-specific interface file.
Running /sw/src/fink.build/gcc47-4.7.0-1/gcc-4.7-20111118/libitm/testsuite/libitm.c/c.exp ...
FAIL: libitm.c/cancel.c (test for excess errors)
WARNING: libitm.c/cancel.c compilation failed to produce executable
FAIL: libitm.c/clone-1.c (test for excess errors)
WARNING: libitm.c/clone-1.c compilation failed to produce executable
FAIL: libitm.c/memcpy-1.c execution test
FAIL: libitm.c/memset-1.c execution test
FAIL: libitm.c/reentrant.c (test for excess errors)
WARNING: libitm.c/reentrant.c compilation failed to produce executable
Running /sw/src/fink.build/gcc47-4.7.0-1/gcc-4.7-20111118/libitm/testsuite/libitm.c++/c++.exp ...
FAIL: libitm.c++/eh-1.C (test for excess errors)
WARNING: libitm.c++/eh-1.C compilation failed to produce executable
WARNING: libitm.c++/static_ctor.C compilation failed to produce executable

		=== libitm Summary for unix/-m32 ===

# of expected passes		14
# of unexpected failures	6
# of expected failures		4
Running target unix/-m64
Using /sw/share/dejagnu/baseboards/unix.exp as board description file for target.
Using /sw/share/dejagnu/config/unix.exp as generic interface file for target.
Using /sw/src/fink.build/gcc47-4.7.0-1/gcc-4.7-20111118/libitm/testsuite/config/default.exp as tool-and-target-specific interface file.
Running /sw/src/fink.build/gcc47-4.7.0-1/gcc-4.7-20111118/libitm/testsuite/libitm.c/c.exp ...
FAIL: libitm.c/cancel.c (test for excess errors)
WARNING: libitm.c/cancel.c compilation failed to produce executable
FAIL: libitm.c/clone-1.c (test for excess errors)
WARNING: libitm.c/clone-1.c compilation failed to produce executable
FAIL: libitm.c/reentrant.c (test for excess errors)
WARNING: libitm.c/reentrant.c compilation failed to produce executable
Running /sw/src/fink.build/gcc47-4.7.0-1/gcc-4.7-20111118/libitm/testsuite/libitm.c++/c++.exp ...
FAIL: libitm.c++/eh-1.C (test for excess errors)
WARNING: libitm.c++/eh-1.C compilation failed to produce executable
WARNING: libitm.c++/static_ctor.C compilation failed to produce executable

		=== libitm Summary for unix/-m64 ===

# of expected passes		16
# of unexpected failures	4
# of expected failures		4

		=== libitm Summary ===

# of expected passes		30
# of unexpected failures	10
# of expected failures		8

These appear as...

Executing on host: /sw/src/fink.build/gcc47-4.7.0-1/darwin_objdir/gcc/xgcc -B/sw/src/fink.build/gcc47-4.7.0-1/darwin_objdir/gcc/ /sw/src/fink.build/gcc47-4.7.0-1/gcc-4.7-20111118/libitm/testsuite/libitm.c/cancel.c  -B/sw/src/fink.build/gcc47-4.7.0-1/darwin_objdir/x86_64-apple-darwin11.2.0/i386/libitm/ -I/sw/src/fink.build/gcc47-4.7.0-1/darwin_objdir/x86_64-apple-darwin11.2.0/i386/libitm -I/sw/src/fink.build/gcc47-4.7.0-1/gcc-4.7-20111118/libitm/testsuite/.. -march=i486 -shared-libgcc -fmessage-length=0 -fgnu-tm  -O2   -L/sw/src/fink.build/gcc47-4.7.0-1/darwin_objdir/x86_64-apple-darwin11.2.0/i386/libitm/.libs -litm -lm   -m32 -o ./cancel.exe    (timeout = 300)
/var/tmp//cc4JYjZE.s:130:Expected comma after segment-name
/var/tmp//cc4JYjZE.s:130:Rest of line ignored. 1st junk character valued 32 ( ).
compiler exited with status 1
output is:
/var/tmp//cc4JYjZE.s:130:Expected comma after segment-name
/var/tmp//cc4JYjZE.s:130:Rest of line ignored. 1st junk character valued 32 ( ).

FAIL: libitm.c/cancel.c (test for excess errors)

Executing on host: /sw/src/fink.build/gcc47-4.7.0-1/darwin_objdir/gcc/xgcc -B/sw/src/fink.build/gcc47-4.7.0-1/darwin_objdir/gcc/ /sw/src/fink.build/gcc47-4.7.0-1/gcc-4.7-20111118/libitm/testsuite/libitm.c/clone-1.c  -B/sw/src/fink.build/gcc47-4.7.0-1/darwin_objdir/x86_64-apple-darwin11.2.0/i386/libitm/ -I/sw/src/fink.build/gcc47-4.7.0-1/darwin_objdir/x86_64-apple-darwin11.2.0/i386/libitm -I/sw/src/fink.build/gcc47-4.7.0-1/gcc-4.7-20111118/libitm/testsuite/.. -march=i486 -shared-libgcc -fmessage-length=0 -fgnu-tm  -O2   -L/sw/src/fink.build/gcc47-4.7.0-1/darwin_objdir/x86_64-apple-darwin11.2.0/i386/libitm/.libs -litm -lm   -m32 -o ./clone-1.exe    (timeout = 300)
/var/tmp//ccKvZq3x.s:80:Expected comma after segment-name
/var/tmp//ccKvZq3x.s:80:Rest of line ignored. 1st junk character valued 32 ( ).
compiler exited with status 1
output is:
/var/tmp//ccKvZq3x.s:80:Expected comma after segment-name
/var/tmp//ccKvZq3x.s:80:Rest of line ignored. 1st junk character valued 32 ( ).

FAIL: libitm.c/clone-1.c (test for excess errors)

Executing on host: /sw/src/fink.build/gcc47-4.7.0-1/darwin_objdir/gcc/xgcc -B/sw/src/fink.build/gcc47-4.7.0-1/darwin_objdir/gcc/ /sw/src/fink.build/gcc47-4.7.0-1/gcc-4.7-20111118/libitm/testsuite/libitm.c/memcpy-1.c  -B/sw/src/fink.build/gcc47-4.7.0-1/darwin_objdir/x86_64-apple-darwin11.2.0/i386/libitm/ -I/sw/src/fink.build/gcc47-4.7.0-1/darwin_objdir/x86_64-apple-darwin11.2.0/i386/libitm -I/sw/src/fink.build/gcc47-4.7.0-1/gcc-4.7-20111118/libitm/testsuite/.. -march=i486 -shared-libgcc -fmessage-length=0 -fgnu-tm  -O2   -L/sw/src/fink.build/gcc47-4.7.0-1/darwin_objdir/x86_64-apple-darwin11.2.0/i386/libitm/.libs -litm -lm   -m32 -o ./memcpy-1.exe    (timeout = 300)
PASS: libitm.c/memcpy-1.c (test for excess errors)
Setting LD_LIBRARY_PATH to .:/sw/src/fink.build/gcc47-4.7.0-1/darwin_objdir/x86_64-apple-darwin11.2.0/i386/libitm/.libs:/sw/src/fink.build/gcc47-4.7.0-1/darwin_objdir/gcc:.:/sw/src/fink.build/gcc47-4.7.0-1/darwin_objdir/x86_64-apple-darwin11.2.0/i386/libitm/.libs:/sw/src/fink.build/gcc47-4.7.0-1/darwin_objdir/gcc

libitm: pr_undoLogCode not supported
FAIL: libitm.c/memcpy-1.c execution test

Executing on host: /sw/src/fink.build/gcc47-4.7.0-1/darwin_objdir/gcc/xgcc -B/sw/src/fink.build/gcc47-4.7.0-1/darwin_objdir/gcc/ /sw/src/fink.build/gcc47-4.7.0-1/gcc-4.7-20111118/libitm/testsuite/libitm.c/memset-1.c  -B/sw/src/fink.build/gcc47-4.7.0-1/darwin_objdir/x86_64-apple-darwin11.2.0/i386/libitm/ -I/sw/src/fink.build/gcc47-4.7.0-1/darwin_objdir/x86_64-apple-darwin11.2.0/i386/libitm -I/sw/src/fink.build/gcc47-4.7.0-1/gcc-4.7-20111118/libitm/testsuite/.. -march=i486 -shared-libgcc -fmessage-length=0 -fgnu-tm  -O2   -L/sw/src/fink.build/gcc47-4.7.0-1/darwin_objdir/x86_64-apple-darwin11.2.0/i386/libitm/.libs -litm -lm   -m32 -o ./memset-1.exe    (timeout = 300)
PASS: libitm.c/memset-1.c (test for excess errors)
Setting LD_LIBRARY_PATH to .:/sw/src/fink.build/gcc47-4.7.0-1/darwin_objdir/x86_64-apple-darwin11.2.0/i386/libitm/.libs:/sw/src/fink.build/gcc47-4.7.0-1/darwin_objdir/gcc:.:/sw/src/fink.build/gcc47-4.7.0-1/darwin_objdir/x86_64-apple-darwin11.2.0/i386/libitm/.libs:/sw/src/fink.build/gcc47-4.7.0-1/darwin_objdir/gcc

libitm: pr_undoLogCode not supported
FAIL: libitm.c/memset-1.c execution test

Executing on host: /sw/src/fink.build/gcc47-4.7.0-1/darwin_objdir/gcc/xgcc -B/sw/src/fink.build/gcc47-4.7.0-1/darwin_objdir/gcc/ /sw/src/fink.build/gcc47-4.7.0-1/gcc-4.7-20111118/libitm/testsuite/libitm.c/reentrant.c  -B/sw/src/fink.build/gcc47-4.7.0-1/darwin_objdir/x86_64-apple-darwin11.2.0/i386/libitm/ -I/sw/src/fink.build/gcc47-4.7.0-1/darwin_objdir/x86_64-apple-darwin11.2.0/i386/libitm -I/sw/src/fink.build/gcc47-4.7.0-1/gcc-4.7-20111118/libitm/testsuite/.. -march=i486 -shared-libgcc -fmessage-length=0 -fgnu-tm  -pthread   -L/sw/src/fink.build/gcc47-4.7.0-1/darwin_objdir/x86_64-apple-darwin11.2.0/i386/libitm/.libs -litm -lm   -m32 -o ./reentrant.exe    (timeout = 300)
/var/tmp//ccH5ebBa.s:167:Expected comma after segment-name
/var/tmp//ccH5ebBa.s:167:Rest of line ignored. 1st junk character valued 32 ( ).
compiler exited with status 1
output is:
/var/tmp//ccH5ebBa.s:167:Expected comma after segment-name
/var/tmp//ccH5ebBa.s:167:Rest of line ignored. 1st junk character valued 32 ( ).

FAIL: libitm.c/reentrant.c (test for excess errors)

Executing on host: /sw/src/fink.build/gcc47-4.7.0-1/darwin_objdir/gcc/xgcc -B/sw/src/fink.build/gcc47-4.7.0-1/darwin_objdir/gcc/ /sw/src/fink.build/gcc47-4.7.0-1/gcc-4.7-20111118/libitm/testsuite/libitm.c++/eh-1.C  -B/sw/src/fink.build/gcc47-4.7.0-1/darwin_objdir/x86_64-apple-darwin11.2.0/i386/libitm/ -I/sw/src/fink.build/gcc47-4.7.0-1/darwin_objdir/x86_64-apple-darwin11.2.0/i386/libitm -I/sw/src/fink.build/gcc47-4.7.0-1/gcc-4.7-20111118/libitm/testsuite/.. -march=i486 -shared-libgcc -fmessage-length=0 -fgnu-tm  -nostdinc++ -I/sw/src/fink.build/gcc47-4.7.0-1/darwin_objdir/x86_64-apple-darwin11.2.0/i386/libstdc++-v3/include/x86_64-apple-darwin11.2.0 -I/sw/src/fink.build/gcc47-4.7.0-1/darwin_objdir/x86_64-apple-darwin11.2.0/i386/libstdc++-v3/include -I/sw/src/fink.build/gcc47-4.7.0-1/gcc-4.7-20111118/libstdc++-v3/libsupc++ -I/sw/src/fink.build/gcc47-4.7.0-1/gcc-4.7-20111118/libstdc++-v3/include/backward -I/sw/src/fink.build/gcc47-4.7.0-1/gcc-4.7-20111118/libstdc++-v3/testsuite/util   -L/sw/src/fink.build/gcc47-4.7.0-1/darwin_objdir/x86_64-apple-darwin11.2.0/i386/libitm/.libs -litm -L/sw/src/fink.build/gcc47-4.7.0-1/darwin_objdir/x86_64-apple-darwin11.2.0/i386/libgomp/../libstdc++-v3/src/.libs -lstdc++ -lm   -m32 -o ./eh-1.exe    (timeout = 300)
/var/tmp//cccQSVpj.s:222:Expected comma after segment-name
/var/tmp//cccQSVpj.s:222:Rest of line ignored. 1st junk character valued 32 ( ).
compiler exited with status 1
output is:
/var/tmp//cccQSVpj.s:222:Expected comma after segment-name
/var/tmp//cccQSVpj.s:222:Rest of line ignored. 1st junk character valued 32 ( ).

FAIL: libitm.c++/eh-1.C (test for excess errors)
Excess errors:
/var/tmp//cccQSVpj.s:222:Expected comma after segment-name
/var/tmp//cccQSVpj.s:222:Rest of line ignored. 1st junk character valued 32 ( ).

WARNING: libitm.c++/eh-1.C compilation failed to produce executable

I've attached the cancel.s obtained with --save-temps from the m32 libitm.c/cancel.c (test for excess errors)
failure.
             Jack
-------------- next part --------------
	.text
	.align 4,0x90
	.globl _cancel1
_cancel1:
LFB3:
	subl	$12, %esp
LCFI0:
	movl	$17, %eax
	call	__ITM_abortTransaction
LFE3:
	.section __TEXT,__text_startup,regular,pure_instructions
	.align 4
	.globl _main
_main:
LFB4:
	pushl	%edi
LCFI1:
	pushl	%esi
LCFI2:
	pushl	%ebx
LCFI3:
	call	___x86.get_pc_thunk.bx
L00000000001$pb:
	movl	L_b$non_lazy_ptr-L00000000001$pb(%ebx), %esi
	movl	$0, (%esi)
	movl	$33, %eax
	call	__ITM_beginTransaction
	movl	$1, %edx
	movl	L_a$non_lazy_ptr-L00000000001$pb(%ebx), %eax
	call	__ITM_WU4
	movl	$33, %eax
	call	__ITM_beginTransaction
	testb	$16, %al
	jne	L4
	movl	$1, %edx
	movl	%esi, %eax
	call	__ITM_WU4
	movl	$1, %eax
	call	__ITM_abortTransaction
	.align 4
L4:
	call	__ITM_commitTransaction
	movl	L_a$non_lazy_ptr-L00000000001$pb(%ebx), %edi
	cmpl	$1, (%edi)
	jne	L6
	movl	(%esi), %ecx
	testl	%ecx, %ecx
	jne	L6
	call	__ITM_inTransaction
	testl	%eax, %eax
	jne	L6
	movb	$33, %al
	call	__ITM_beginTransaction
	testb	$16, %al
	jne	L12
	movl	$2, %edx
	movl	%edi, %eax
	call	__ITM_WU4
	movl	$33, %eax
	call	__ITM_beginTransaction
	testb	$16, %al
	jne	L11
	movl	$2, %edx
	movl	%esi, %eax
	call	__ITM_WU4
	movl	$17, %eax
	call	__ITM_abortTransaction
L11:
	call	__ITM_commitTransaction
L12:
	cmpl	$1, (%edi)
	jne	L6
	movl	(%esi), %edx
	testl	%edx, %edx
	jne	L6
	call	__ITM_inTransaction
	testl	%eax, %eax
	jne	L6
	movb	$33, %al
	call	__ITM_beginTransaction
	testb	$16, %al
	jne	L16
	movl	$2, %edx
	movl	L_a$non_lazy_ptr-L00000000001$pb(%ebx), %eax
	call	__ITM_WU4
	movl	$33, %eax
	call	__ITM_beginTransaction
	testb	$16, %al
	jne	L15
	movl	$2, %edx
	movl	L_b$non_lazy_ptr-L00000000001$pb(%ebx), %eax
	call	__ITM_WU4
	movl	$17, %eax
	call	__ITM_abortTransaction
L15:
	call	__ITM_commitTransaction
L16:
	cmpl	$1, (%edi)
	jne	L6
	movl	(%esi), %eax
	testl	%eax, %eax
	jne	L6
	call	__ITM_inTransaction
	testl	%eax, %eax
	jne	L6
	popl	%ebx
LCFI4:
	popl	%esi
LCFI5:
	popl	%edi
LCFI6:
	ret
L6:
LCFI7:
	call	_abort
LFE4:
	.text
	.align 4,0x90
	.globl __ZGTt7cancel1
__ZGTt7cancel1:
LFB5:
	subl	$12, %esp
LCFI8:
	movl	$17, %eax
	call	__ITM_abortTransaction
LFE5:
	.comm	_b,4,2
	.comm	_a,4,2
	.comm	_pp,100,5
	.section .tm_clone_table
	.align 2
	.long	_cancel1
	.long	__ZGTt7cancel1
	.section __TEXT,__textcoal_nt,coalesced,pure_instructions
	.weak_definition	___x86.get_pc_thunk.bx
	.private_extern	___x86.get_pc_thunk.bx
___x86.get_pc_thunk.bx:
LFB6:
	movl	(%esp), %ebx
	ret
LFE6:
	.section __TEXT,__eh_frame,coalesced,no_toc+strip_static_syms+live_support
EH_frame1:
	.set L$set$0,LECIE1-LSCIE1
	.long L$set$0
LSCIE1:
	.long	0
	.byte	0x1
	.ascii "zR\0"
	.byte	0x1
	.byte	0x7c
	.byte	0x8
	.byte	0x1
	.byte	0x10
	.byte	0xc
	.byte	0x5
	.byte	0x4
	.byte	0x88
	.byte	0x1
	.align 2
LECIE1:
LSFDE1:
	.set L$set$1,LEFDE1-LASFDE1
	.long L$set$1
LASFDE1:
	.long	LASFDE1-EH_frame1
	.long	LFB3-.
	.set L$set$2,LFE3-LFB3
	.long L$set$2
	.byte	0
	.byte	0x4
	.set L$set$3,LCFI0-LFB3
	.long L$set$3
	.byte	0xe
	.byte	0x10
	.align 2
LEFDE1:
LSFDE3:
	.set L$set$4,LEFDE3-LASFDE3
	.long L$set$4
LASFDE3:
	.long	LASFDE3-EH_frame1
	.long	LFB4-.
	.set L$set$5,LFE4-LFB4
	.long L$set$5
	.byte	0
	.byte	0x4
	.set L$set$6,LCFI1-LFB4
	.long L$set$6
	.byte	0xe
	.byte	0x8
	.byte	0x4
	.set L$set$7,LCFI2-LCFI1
	.long L$set$7
	.byte	0xe
	.byte	0xc
	.byte	0x4
	.set L$set$8,LCFI3-LCFI2
	.long L$set$8
	.byte	0xe
	.byte	0x10
	.byte	0x87
	.byte	0x2
	.byte	0x86
	.byte	0x3
	.byte	0x83
	.byte	0x4
	.byte	0x4
	.set L$set$9,LCFI4-LCFI3
	.long L$set$9
	.byte	0xa
	.byte	0xc3
	.byte	0xe
	.byte	0xc
	.byte	0x4
	.set L$set$10,LCFI5-LCFI4
	.long L$set$10
	.byte	0xc6
	.byte	0xe
	.byte	0x8
	.byte	0x4
	.set L$set$11,LCFI6-LCFI5
	.long L$set$11
	.byte	0xc7
	.byte	0xe
	.byte	0x4
	.byte	0x4
	.set L$set$12,LCFI7-LCFI6
	.long L$set$12
	.byte	0xb
	.align 2
LEFDE3:
LSFDE5:
	.set L$set$13,LEFDE5-LASFDE5
	.long L$set$13
LASFDE5:
	.long	LASFDE5-EH_frame1
	.long	LFB5-.
	.set L$set$14,LFE5-LFB5
	.long L$set$14
	.byte	0
	.byte	0x4
	.set L$set$15,LCFI8-LFB5
	.long L$set$15
	.byte	0xe
	.byte	0x10
	.align 2
LEFDE5:
LSFDE7:
	.set L$set$16,LEFDE7-LASFDE7
	.long L$set$16
LASFDE7:
	.long	LASFDE7-EH_frame1
	.long	LFB6-.
	.set L$set$17,LFE6-LFB6
	.long L$set$17
	.byte	0
	.align 2
LEFDE7:
	.section __IMPORT,__pointers,non_lazy_symbol_pointers
L_b$non_lazy_ptr:
	.indirect_symbol _b
	.long	0
L_a$non_lazy_ptr:
	.indirect_symbol _a
	.long	0
	.subsections_via_symbols


More information about the Gcc-patches mailing list