d50521f
http://sourceware.org/ml/gdb-patches/2007-12/msg00397.html
d50521f
d50521f
2007-12-22  Jan Kratochvil  <jan.kratochvil@redhat.com>
d50521f
d50521f
	* gdb.arch/i386-interface.S, gdb.arch/i386-interface.exp: New files.
d50521f
25ff8a1
2008-03-02  Jan Kratochvil  <jan.kratochvil@redhat.com>
25ff8a1
25ff8a1
	* gdb.arch/i386-interface.exp: Fix a testcase race.
25ff8a1
d50521f
--- /dev/null	1 Jan 1970 00:00:00 -0000
d50521f
+++ ./gdb/testsuite/gdb.arch/i386-interface.S	22 Dec 2007 19:07:28 -0000
d50521f
@@ -0,0 +1,628 @@
d50521f
+/* Copyright 2007 Free Software Foundation, Inc.
d50521f
+
d50521f
+   This program is free software; you can redistribute it and/or modify
d50521f
+   it under the terms of the GNU General Public License as published by
d50521f
+   the Free Software Foundation; either version 3 of the License, or
d50521f
+   (at your option) any later version.
d50521f
+
d50521f
+   This program is distributed in the hope that it will be useful,
d50521f
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
d50521f
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
d50521f
+   GNU General Public License for more details.
d50521f
+
d50521f
+   You should have received a copy of the GNU General Public License
d50521f
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.
d50521f
+
d50521f
+   Please email any bugs, comments, and/or additions to this file to:
d50521f
+   bug-gdb@gnu.org
d50521f
+
d50521f
+   This file is part of the gdb testsuite.
d50521f
+
d50521f
+   This file was produced by:
d50521f
+   $ gcj -S interface.java -ggdb2 -Wall -m32
d50521f
+   from the .java file:
d50521f
+     interface Interface
d50521f
+     {
d50521f
+     }
d50521f
+     class Class implements Interface
d50521f
+     {  
d50521f
+     }
d50521f
+*/
d50521f
+
d50521f
+	.file	"cc28Pp2B.jar"
d50521f
+	.section	.debug_abbrev,"",@progbits
d50521f
+.Ldebug_abbrev0:
d50521f
+	.section	.debug_info,"",@progbits
d50521f
+.Ldebug_info0:
d50521f
+	.section	.debug_line,"",@progbits
d50521f
+.Ldebug_line0:
d50521f
+	.text
d50521f
+.Ltext0:
d50521f
+	.local	_MT_Interface
d50521f
+	.comm	_MT_Interface,0,4
d50521f
+	.data
d50521f
+	.align 4
d50521f
+	.type	_catch_classes_Interface, @object
d50521f
+	.size	_catch_classes_Interface, 24
d50521f
+_catch_classes_Interface:
d50521f
+	.zero	24
d50521f
+	.section	.rodata
d50521f
+	.align 2
d50521f
+	.type	_Utf1, @object
d50521f
+	.size	_Utf1, 4
d50521f
+_Utf1:
d50521f
+	.value	36121
d50521f
+	.value	9
d50521f
+	.ascii	"Interface"
d50521f
+	.zero	1
d50521f
+.globl _ZN9Interface6class$E
d50521f
+	.data
d50521f
+	.align 32
d50521f
+	.type	_ZN9Interface6class$E, @object
d50521f
+	.size	_ZN9Interface6class$E, 144
d50521f
+_ZN9Interface6class$E:
d50521f
+	.long	_ZTVN4java4lang5ClassE+8
d50521f
+	.long	403000
d50521f
+	.long	_Utf1
d50521f
+	.value	1536
d50521f
+	.zero	2
d50521f
+	.long	0
d50521f
+	.long	0
d50521f
+	.long	0
d50521f
+	.long	0
d50521f
+	.long	_MT_Interface
d50521f
+	.value	0
d50521f
+	.value	6
d50521f
+	.long	0
d50521f
+	.long	4
d50521f
+	.value	0
d50521f
+	.value	0
d50521f
+	.long	0
d50521f
+	.long	0
d50521f
+	.long	0
d50521f
+	.long	0
d50521f
+	.long	0
d50521f
+	.long	0
d50521f
+	.long	0
d50521f
+	.long	_catch_classes_Interface
d50521f
+	.long	0
d50521f
+	.long	0
d50521f
+	.value	0
d50521f
+	.byte	1
d50521f
+	.zero	1
d50521f
+	.long	0
d50521f
+	.value	0
d50521f
+	.zero	2
d50521f
+	.long	0
d50521f
+	.long	0
d50521f
+	.long	0
d50521f
+	.long	0
d50521f
+	.long	0
d50521f
+	.long	0
d50521f
+	.long	0
d50521f
+	.long	0
d50521f
+	.long	0
d50521f
+	.long	0
d50521f
+	.hidden	_ZN9Interface7class$$E
d50521f
+.globl _ZN9Interface7class$$E
d50521f
+	.section	.rodata
d50521f
+	.align 4
d50521f
+	.type	_ZN9Interface7class$$E, @object
d50521f
+	.size	_ZN9Interface7class$$E, 4
d50521f
+_ZN9Interface7class$$E:
d50521f
+	.long	_ZN9Interface6class$E
d50521f
+	.text
d50521f
+	.align 2
d50521f
+.globl _ZN5ClassC1Ev
d50521f
+	.type	_ZN5ClassC1Ev, @function
d50521f
+_ZN5ClassC1Ev:
d50521f
+.LFB2:
d50521f
+	pushl	%ebp
d50521f
+.LCFI0:
d50521f
+	movl	%esp, %ebp
d50521f
+.LCFI1:
d50521f
+	subl	$24, %esp
d50521f
+.LCFI2:
d50521f
+.LBB2:
d50521f
+#if 0
d50521f
+	.file 1 "interface.java"
d50521f
+#else
d50521f
+	.file "interface.java"
d50521f
+#endif
d50521f
+	.loc 1 4 0
d50521f
+	movl	8(%ebp), %eax
d50521f
+	movl	%eax, -4(%ebp)
d50521f
+	movl	-4(%ebp), %eax
d50521f
+	movl	%eax, (%esp)
d50521f
+	call	_ZN4java4lang6ObjectC1Ev
d50521f
+.LBE2:
d50521f
+	leave
d50521f
+	ret
d50521f
+.LFE2:
d50521f
+	.size	_ZN5ClassC1Ev, .-_ZN5ClassC1Ev
d50521f
+	.hidden	_ZTVN5ClassE
d50521f
+.globl _ZTVN5ClassE
d50521f
+	.data
d50521f
+	.align 32
d50521f
+	.type	_ZTVN5ClassE, @object
d50521f
+	.size	_ZTVN5ClassE, 40
d50521f
+_ZTVN5ClassE:
d50521f
+	.long	0
d50521f
+	.long	0
d50521f
+	.long	_ZN5Class6class$E
d50521f
+	.long	4
d50521f
+	.long	_ZN4java4lang6Object8finalizeEJvv
d50521f
+	.long	_ZN4java4lang6Object8hashCodeEJiv
d50521f
+	.long	_ZN4java4lang6Object6equalsEJbPS1_
d50521f
+	.long	_ZN4java4lang6Object8toStringEJPNS0_6StringEv
d50521f
+	.long	_ZN4java4lang6Object5cloneEJPS1_v
d50521f
+	.long	_ZN4java4lang6Object22throwNoSuchMethodErrorEJvv
d50521f
+	.set	.L_ZN5ClassC1Ev0,_ZN5ClassC1Ev
d50521f
+	.section	.rodata
d50521f
+	.align 2
d50521f
+	.type	_Utf2, @object
d50521f
+	.size	_Utf2, 4
d50521f
+_Utf2:
d50521f
+	.value	626
d50521f
+	.value	6
d50521f
+	.ascii	"<init>"
d50521f
+	.zero	1
d50521f
+	.align 2
d50521f
+	.type	_Utf3, @object
d50521f
+	.size	_Utf3, 4
d50521f
+_Utf3:
d50521f
+	.value	39797
d50521f
+	.value	3
d50521f
+	.ascii	"()V"
d50521f
+	.zero	1
d50521f
+	.data
d50521f
+	.align 4
d50521f
+	.type	_MT_Class, @object
d50521f
+	.size	_MT_Class, 20
d50521f
+_MT_Class:
d50521f
+	.long	_Utf2
d50521f
+	.long	_Utf3
d50521f
+	.value	16384
d50521f
+	.value	-1
d50521f
+	.long	.L_ZN5ClassC1Ev0
d50521f
+	.long	0
d50521f
+	.align 4
d50521f
+	.type	_IF_Class, @object
d50521f
+	.size	_IF_Class, 4
d50521f
+_IF_Class:
d50521f
+	.long	_ZN9Interface6class$E
d50521f
+	.align 4
d50521f
+	.type	_catch_classes_Class, @object
d50521f
+	.size	_catch_classes_Class, 24
d50521f
+_catch_classes_Class:
d50521f
+	.zero	24
d50521f
+	.section	.rodata
d50521f
+	.align 2
d50521f
+	.type	_Utf4, @object
d50521f
+	.size	_Utf4, 4
d50521f
+_Utf4:
d50521f
+	.value	47448
d50521f
+	.value	5
d50521f
+	.ascii	"Class"
d50521f
+	.zero	1
d50521f
+.globl _ZN5Class6class$E
d50521f
+	.data
d50521f
+	.align 32
d50521f
+	.type	_ZN5Class6class$E, @object
d50521f
+	.size	_ZN5Class6class$E, 144
d50521f
+_ZN5Class6class$E:
d50521f
+	.long	_ZTVN4java4lang5ClassE+8
d50521f
+	.long	403000
d50521f
+	.long	_Utf4
d50521f
+	.value	32
d50521f
+	.zero	2
d50521f
+	.long	_ZN4java4lang6Object6class$E
d50521f
+	.long	0
d50521f
+	.long	0
d50521f
+	.long	0
d50521f
+	.long	_MT_Class
d50521f
+	.value	1
d50521f
+	.value	6
d50521f
+	.long	0
d50521f
+	.long	4
d50521f
+	.value	0
d50521f
+	.value	0
d50521f
+	.long	_ZTVN5ClassE+8
d50521f
+	.long	0
d50521f
+	.long	0
d50521f
+	.long	0
d50521f
+	.long	0
d50521f
+	.long	0
d50521f
+	.long	0
d50521f
+	.long	_catch_classes_Class
d50521f
+	.long	_IF_Class
d50521f
+	.long	0
d50521f
+	.value	1
d50521f
+	.byte	1
d50521f
+	.zero	1
d50521f
+	.long	0
d50521f
+	.value	0
d50521f
+	.zero	2
d50521f
+	.long	0
d50521f
+	.long	0
d50521f
+	.long	0
d50521f
+	.long	0
d50521f
+	.long	0
d50521f
+	.long	0
d50521f
+	.long	0
d50521f
+	.long	0
d50521f
+	.long	0
d50521f
+	.long	0
d50521f
+	.hidden	_ZN5Class7class$$E
d50521f
+.globl _ZN5Class7class$$E
d50521f
+	.section	.rodata
d50521f
+	.align 4
d50521f
+	.type	_ZN5Class7class$$E, @object
d50521f
+	.size	_ZN5Class7class$$E, 4
d50521f
+_ZN5Class7class$$E:
d50521f
+	.long	_ZN5Class6class$E
d50521f
+	.section	.jcr,"aw",@progbits
d50521f
+	.align 4
d50521f
+	.long	_ZN9Interface6class$E
d50521f
+	.long	_ZN5Class6class$E
d50521f
+	.section	.debug_frame,"",@progbits
d50521f
+.Lframe0:
d50521f
+	.long	.LECIE0-.LSCIE0
d50521f
+.LSCIE0:
d50521f
+	.long	0xffffffff
d50521f
+	.byte	0x1
d50521f
+	.string	""
d50521f
+	.uleb128 0x1
d50521f
+	.sleb128 -4
d50521f
+	.byte	0x8
d50521f
+	.byte	0xc
d50521f
+	.uleb128 0x4
d50521f
+	.uleb128 0x4
d50521f
+	.byte	0x88
d50521f
+	.uleb128 0x1
d50521f
+	.align 4
d50521f
+.LECIE0:
d50521f
+.LSFDE0:
d50521f
+	.long	.LEFDE0-.LASFDE0
d50521f
+.LASFDE0:
d50521f
+	.long	.Lframe0
d50521f
+	.long	.LFB2
d50521f
+	.long	.LFE2-.LFB2
d50521f
+	.byte	0x4
d50521f
+	.long	.LCFI0-.LFB2
d50521f
+	.byte	0xe
d50521f
+	.uleb128 0x8
d50521f
+	.byte	0x85
d50521f
+	.uleb128 0x2
d50521f
+	.byte	0x4
d50521f
+	.long	.LCFI1-.LCFI0
d50521f
+	.byte	0xd
d50521f
+	.uleb128 0x5
d50521f
+	.align 4
d50521f
+.LEFDE0:
d50521f
+	.section	.eh_frame,"a",@progbits
d50521f
+.Lframe1:
d50521f
+	.long	.LECIE1-.LSCIE1
d50521f
+.LSCIE1:
d50521f
+	.long	0x0
d50521f
+	.byte	0x1
d50521f
+.globl __gcj_personality_v0
d50521f
+	.string	"zP"
d50521f
+	.uleb128 0x1
d50521f
+	.sleb128 -4
d50521f
+	.byte	0x8
d50521f
+	.uleb128 0x5
d50521f
+	.byte	0x0
d50521f
+	.long	__gcj_personality_v0
d50521f
+	.byte	0xc
d50521f
+	.uleb128 0x4
d50521f
+	.uleb128 0x4
d50521f
+	.byte	0x88
d50521f
+	.uleb128 0x1
d50521f
+	.align 4
d50521f
+.LECIE1:
d50521f
+.LSFDE1:
d50521f
+	.long	.LEFDE1-.LASFDE1
d50521f
+.LASFDE1:
d50521f
+	.long	.LASFDE1-.Lframe1
d50521f
+	.long	.LFB2
d50521f
+	.long	.LFE2-.LFB2
d50521f
+	.uleb128 0x0
d50521f
+	.byte	0x4
d50521f
+	.long	.LCFI0-.LFB2
d50521f
+	.byte	0xe
d50521f
+	.uleb128 0x8
d50521f
+	.byte	0x85
d50521f
+	.uleb128 0x2
d50521f
+	.byte	0x4
d50521f
+	.long	.LCFI1-.LCFI0
d50521f
+	.byte	0xd
d50521f
+	.uleb128 0x5
d50521f
+	.align 4
d50521f
+.LEFDE1:
d50521f
+	.text
d50521f
+.Letext0:
d50521f
+	.section	.debug_loc,"",@progbits
d50521f
+.Ldebug_loc0:
d50521f
+.LLST0:
d50521f
+	.long	.LFB2-.Ltext0
d50521f
+	.long	.LCFI0-.Ltext0
d50521f
+	.value	0x2
d50521f
+	.byte	0x74
d50521f
+	.sleb128 4
d50521f
+	.long	.LCFI0-.Ltext0
d50521f
+	.long	.LCFI1-.Ltext0
d50521f
+	.value	0x2
d50521f
+	.byte	0x74
d50521f
+	.sleb128 8
d50521f
+	.long	.LCFI1-.Ltext0
d50521f
+	.long	.LFE2-.Ltext0
d50521f
+	.value	0x2
d50521f
+	.byte	0x75
d50521f
+	.sleb128 8
d50521f
+	.long	0x0
d50521f
+	.long	0x0
d50521f
+	.section	.debug_info
d50521f
+	.long	0x117
d50521f
+	.value	0x2
d50521f
+	.long	.Ldebug_abbrev0
d50521f
+	.byte	0x4
d50521f
+	.uleb128 0x1
d50521f
+	.string	"GNU Java 4.3.0 20071221 (experimental)"
d50521f
+	.byte	0xb
d50521f
+	.string	"interface.java"
d50521f
+	.string	"/home/jkratoch/redhat/bz371831"
d50521f
+	.long	.Ltext0
d50521f
+	.long	.Letext0
d50521f
+	.long	.Ldebug_line0
d50521f
+	.uleb128 0x2
d50521f
+	.string	"Interface"
d50521f
+	.byte	0x4
d50521f
+	.byte	0x1
d50521f
+	.byte	0x0
d50521f
+	.long	0x8e
d50521f
+	.long	0x8e
d50521f
+	.uleb128 0x3
d50521f
+	.long	0x8e
d50521f
+	.byte	0x2
d50521f
+	.byte	0x23
d50521f
+	.uleb128 0x0
d50521f
+	.byte	0x1
d50521f
+	.byte	0x0
d50521f
+	.uleb128 0x4
d50521f
+	.string	"java.lang.Object"
d50521f
+	.byte	0x1
d50521f
+	.uleb128 0x5
d50521f
+	.string	"Class"
d50521f
+	.byte	0x4
d50521f
+	.byte	0x1
d50521f
+	.byte	0x0
d50521f
+	.long	0x8e
d50521f
+	.long	0xe8
d50521f
+	.uleb128 0x3
d50521f
+	.long	0x8e
d50521f
+	.byte	0x2
d50521f
+	.byte	0x23
d50521f
+	.uleb128 0x0
d50521f
+	.byte	0x1
d50521f
+	.uleb128 0x6
d50521f
+	.long	0x6e
d50521f
+	.byte	0x2
d50521f
+	.byte	0x23
d50521f
+	.uleb128 0x0
d50521f
+	.byte	0x1
d50521f
+	.byte	0x1
d50521f
+	.uleb128 0x7
d50521f
+	.byte	0x1
d50521f
+	.string	"<init>"
d50521f
+	.byte	0x1
d50521f
+	.byte	0x0
d50521f
+	.string	"_ZN5ClassC1Ev"
d50521f
+	.byte	0x1
d50521f
+	.uleb128 0x8
d50521f
+	.long	0xe8
d50521f
+	.byte	0x1
d50521f
+	.byte	0x0
d50521f
+	.byte	0x0
d50521f
+	.uleb128 0x9
d50521f
+	.byte	0x4
d50521f
+	.long	0xa1
d50521f
+	.uleb128 0xa
d50521f
+	.long	0xc6
d50521f
+	.long	.LFB2
d50521f
+	.long	.LFE2
d50521f
+	.long	.LLST0
d50521f
+	.long	0x114
d50521f
+	.uleb128 0xb
d50521f
+	.long	0xe8
d50521f
+	.byte	0x2
d50521f
+	.byte	0x91
d50521f
+	.sleb128 0
d50521f
+	.uleb128 0xc
d50521f
+	.long	0x114
d50521f
+	.byte	0x2
d50521f
+	.byte	0x91
d50521f
+	.sleb128 -12
d50521f
+	.byte	0x0
d50521f
+	.uleb128 0x9
d50521f
+	.byte	0x4
d50521f
+	.long	0x8e
d50521f
+	.byte	0x0
d50521f
+	.section	.debug_abbrev
d50521f
+	.uleb128 0x1
d50521f
+	.uleb128 0x11
d50521f
+	.byte	0x1
d50521f
+	.uleb128 0x25
d50521f
+	.uleb128 0x8
d50521f
+	.uleb128 0x13
d50521f
+	.uleb128 0xb
d50521f
+	.uleb128 0x3
d50521f
+	.uleb128 0x8
d50521f
+	.uleb128 0x1b
d50521f
+	.uleb128 0x8
d50521f
+	.uleb128 0x11
d50521f
+	.uleb128 0x1
d50521f
+	.uleb128 0x12
d50521f
+	.uleb128 0x1
d50521f
+	.uleb128 0x10
d50521f
+	.uleb128 0x6
d50521f
+	.byte	0x0
d50521f
+	.byte	0x0
d50521f
+	.uleb128 0x2
d50521f
+	.uleb128 0x38
d50521f
+	.byte	0x1
d50521f
+	.uleb128 0x3
d50521f
+	.uleb128 0x8
d50521f
+	.uleb128 0xb
d50521f
+	.uleb128 0xb
d50521f
+	.uleb128 0x3a
d50521f
+	.uleb128 0xb
d50521f
+	.uleb128 0x3b
d50521f
+	.uleb128 0xb
d50521f
+	.uleb128 0x1d
d50521f
+	.uleb128 0x13
d50521f
+	.uleb128 0x1
d50521f
+	.uleb128 0x13
d50521f
+	.byte	0x0
d50521f
+	.byte	0x0
d50521f
+	.uleb128 0x3
d50521f
+	.uleb128 0x1c
d50521f
+	.byte	0x0
d50521f
+	.uleb128 0x49
d50521f
+	.uleb128 0x13
d50521f
+	.uleb128 0x38
d50521f
+	.uleb128 0xa
d50521f
+	.uleb128 0x32
d50521f
+	.uleb128 0xb
d50521f
+	.byte	0x0
d50521f
+	.byte	0x0
d50521f
+	.uleb128 0x4
d50521f
+	.uleb128 0x2
d50521f
+	.byte	0x0
d50521f
+	.uleb128 0x3
d50521f
+	.uleb128 0x8
d50521f
+	.uleb128 0x3c
d50521f
+	.uleb128 0xc
d50521f
+	.byte	0x0
d50521f
+	.byte	0x0
d50521f
+	.uleb128 0x5
d50521f
+	.uleb128 0x2
d50521f
+	.byte	0x1
d50521f
+	.uleb128 0x3
d50521f
+	.uleb128 0x8
d50521f
+	.uleb128 0xb
d50521f
+	.uleb128 0xb
d50521f
+	.uleb128 0x3a
d50521f
+	.uleb128 0xb
d50521f
+	.uleb128 0x3b
d50521f
+	.uleb128 0xb
d50521f
+	.uleb128 0x1d
d50521f
+	.uleb128 0x13
d50521f
+	.uleb128 0x1
d50521f
+	.uleb128 0x13
d50521f
+	.byte	0x0
d50521f
+	.byte	0x0
d50521f
+	.uleb128 0x6
d50521f
+	.uleb128 0x1c
d50521f
+	.byte	0x0
d50521f
+	.uleb128 0x49
d50521f
+	.uleb128 0x13
d50521f
+	.uleb128 0x38
d50521f
+	.uleb128 0xa
d50521f
+	.uleb128 0x4c
d50521f
+	.uleb128 0xb
d50521f
+	.uleb128 0x32
d50521f
+	.uleb128 0xb
d50521f
+	.byte	0x0
d50521f
+	.byte	0x0
d50521f
+	.uleb128 0x7
d50521f
+	.uleb128 0x2e
d50521f
+	.byte	0x1
d50521f
+	.uleb128 0x3f
d50521f
+	.uleb128 0xc
d50521f
+	.uleb128 0x3
d50521f
+	.uleb128 0x8
d50521f
+	.uleb128 0x3a
d50521f
+	.uleb128 0xb
d50521f
+	.uleb128 0x3b
d50521f
+	.uleb128 0xb
d50521f
+	.uleb128 0x2007
d50521f
+	.uleb128 0x8
d50521f
+	.uleb128 0x3c
d50521f
+	.uleb128 0xc
d50521f
+	.byte	0x0
d50521f
+	.byte	0x0
d50521f
+	.uleb128 0x8
d50521f
+	.uleb128 0x5
d50521f
+	.byte	0x0
d50521f
+	.uleb128 0x49
d50521f
+	.uleb128 0x13
d50521f
+	.uleb128 0x34
d50521f
+	.uleb128 0xc
d50521f
+	.byte	0x0
d50521f
+	.byte	0x0
d50521f
+	.uleb128 0x9
d50521f
+	.uleb128 0xf
d50521f
+	.byte	0x0
d50521f
+	.uleb128 0xb
d50521f
+	.uleb128 0xb
d50521f
+	.uleb128 0x49
d50521f
+	.uleb128 0x13
d50521f
+	.byte	0x0
d50521f
+	.byte	0x0
d50521f
+	.uleb128 0xa
d50521f
+	.uleb128 0x2e
d50521f
+	.byte	0x1
d50521f
+	.uleb128 0x47
d50521f
+	.uleb128 0x13
d50521f
+	.uleb128 0x11
d50521f
+	.uleb128 0x1
d50521f
+	.uleb128 0x12
d50521f
+	.uleb128 0x1
d50521f
+	.uleb128 0x40
d50521f
+	.uleb128 0x6
d50521f
+	.uleb128 0x1
d50521f
+	.uleb128 0x13
d50521f
+	.byte	0x0
d50521f
+	.byte	0x0
d50521f
+	.uleb128 0xb
d50521f
+	.uleb128 0x5
d50521f
+	.byte	0x0
d50521f
+	.uleb128 0x49
d50521f
+	.uleb128 0x13
d50521f
+	.uleb128 0x2
d50521f
+	.uleb128 0xa
d50521f
+	.byte	0x0
d50521f
+	.byte	0x0
d50521f
+	.uleb128 0xc
d50521f
+	.uleb128 0x34
d50521f
+	.byte	0x0
d50521f
+	.uleb128 0x49
d50521f
+	.uleb128 0x13
d50521f
+	.uleb128 0x2
d50521f
+	.uleb128 0xa
d50521f
+	.byte	0x0
d50521f
+	.byte	0x0
d50521f
+	.byte	0x0
d50521f
+	.section	.debug_pubnames,"",@progbits
d50521f
+	.long	0x15
d50521f
+	.value	0x2
d50521f
+	.long	.Ldebug_info0
d50521f
+	.long	0x11b
d50521f
+	.long	0xee
d50521f
+	.string	"()"
d50521f
+	.long	0x0
d50521f
+	.section	.debug_aranges,"",@progbits
d50521f
+	.long	0x1c
d50521f
+	.value	0x2
d50521f
+	.long	.Ldebug_info0
d50521f
+	.byte	0x4
d50521f
+	.byte	0x0
d50521f
+	.value	0x0
d50521f
+	.value	0x0
d50521f
+	.long	.Ltext0
d50521f
+	.long	.Letext0-.Ltext0
d50521f
+	.long	0x0
d50521f
+	.long	0x0
d50521f
+	.ident	"GCC: (GNU) 4.3.0 20071221 (experimental)"
d50521f
+	.section	.note.GNU-stack,"",@progbits
d50521f
--- /dev/null	1 Jan 1970 00:00:00 -0000
d50521f
+++ ./gdb/testsuite/gdb.arch/i386-interface.exp	22 Dec 2007 19:07:28 -0000
dd46ae6
@@ -0,0 +1,59 @@
d50521f
+# Copyright 2007 Free Software Foundation, Inc.
d50521f
+
d50521f
+# This program is free software; you can redistribute it and/or modify
d50521f
+# it under the terms of the GNU General Public License as published by
d50521f
+# the Free Software Foundation; either version 3 of the License, or
d50521f
+# (at your option) any later version.
d50521f
+#
d50521f
+# This program is distributed in the hope that it will be useful,
d50521f
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
d50521f
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
d50521f
+# GNU General Public License for more details.
d50521f
+#
d50521f
+# You should have received a copy of the GNU General Public License
d50521f
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
d50521f
+
d50521f
+# Please email any bugs, comments, and/or additions to this file to:
d50521f
+# bug-gdb@gnu.org
d50521f
+
d50521f
+# This file is part of the gdb testsuite.
d50521f
+
d50521f
+# Test basis recognization of DW_TAG_interface_type.
d50521f
+# GCC java_classify_record() produces it if returns RECORD_IS_INTERFACE.
d50521f
+
d50521f
+if {![istarget "i?86-*-*"] && ![istarget "x86_64-*-*"]} then {
d50521f
+    verbose "Skipping i386 Java DW_TAG_interface_type test."
d50521f
+    return
d50521f
+}
d50521f
+
d50521f
+set testfile "i386-interface"
d50521f
+set srcfile ${testfile}.S
d50521f
+set binfile ${objdir}/${subdir}/${testfile}.o
d50521f
+
d50521f
+if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" object {debug additional_flags=-m32}] != "" } {
d50521f
+    untested i386-gnu-cfi.exp
d50521f
+    return -1
d50521f
+}
d50521f
+
d50521f
+# Get things started.
d50521f
+
d50521f
+gdb_exit
d50521f
+gdb_start
d50521f
+gdb_reinitialize_dir $srcdir/$subdir
d50521f
+gdb_load ${binfile}
d50521f
+
d50521f
+gdb_test "set language java"
d50521f
+
d50521f
+set test "ptype Interface"
d50521f
+gdb_test_multiple $test $test {
25ff8a1
+    -re "type = class Interface  *extends java.lang.Object \{.*$gdb_prompt $" {
d50521f
+	pass $test
d50521f
+    }
d50521f
+}
d50521f
+
d50521f
+set test "ptype Class"
d50521f
+gdb_test_multiple $test $test {
25ff8a1
+    -re "type = class Class  *extends java.lang.Object implements Interface \{.*$gdb_prompt $" {
d50521f
+	pass $test
d50521f
+    }
d50521f
+}