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