1 http://sourceware.org/ml/gdb-patches/2007-12/msg00397.html
3 2007-12-22 Jan Kratochvil <jan.kratochvil@redhat.com>
5 * gdb.arch/i386-interface.S, gdb.arch/i386-interface.exp: New files.
7 2008-03-02 Jan Kratochvil <jan.kratochvil@redhat.com>
9 * gdb.arch/i386-interface.exp: Fix a testcase race.
11 --- /dev/null 1 Jan 1970 00:00:00 -0000
12 +++ ./gdb/testsuite/gdb.arch/i386-interface.S 22 Dec 2007 19:07:28 -0000
14 +/* Copyright 2007 Free Software Foundation, Inc.
16 + This program is free software; you can redistribute it and/or modify
17 + it under the terms of the GNU General Public License as published by
18 + the Free Software Foundation; either version 3 of the License, or
19 + (at your option) any later version.
21 + This program is distributed in the hope that it will be useful,
22 + but WITHOUT ANY WARRANTY; without even the implied warranty of
23 + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
24 + GNU General Public License for more details.
26 + You should have received a copy of the GNU General Public License
27 + along with this program. If not, see <http://www.gnu.org/licenses/>.
29 + Please email any bugs, comments, and/or additions to this file to:
32 + This file is part of the gdb testsuite.
34 + This file was produced by:
35 + $ gcj -S interface.java -ggdb2 -Wall -m32
36 + from the .java file:
40 + class Class implements Interface
45 + .file "cc28Pp2B.jar"
46 + .section .debug_abbrev,"",@progbits
48 + .section .debug_info,"",@progbits
50 + .section .debug_line,"",@progbits
54 + .local _MT_Interface
55 + .comm _MT_Interface,0,4
58 + .type _catch_classes_Interface, @object
59 + .size _catch_classes_Interface, 24
60 +_catch_classes_Interface:
64 + .type _Utf1, @object
71 +.globl _ZN9Interface6class$E
74 + .type _ZN9Interface6class$E, @object
75 + .size _ZN9Interface6class$E, 144
76 +_ZN9Interface6class$E:
77 + .long _ZTVN4java4lang5ClassE+8
100 + .long _catch_classes_Interface
119 + .hidden _ZN9Interface7class$$E
120 +.globl _ZN9Interface7class$$E
123 + .type _ZN9Interface7class$$E, @object
124 + .size _ZN9Interface7class$$E, 4
125 +_ZN9Interface7class$$E:
126 + .long _ZN9Interface6class$E
129 +.globl _ZN5ClassC1Ev
130 + .type _ZN5ClassC1Ev, @function
141 + .file 1 "interface.java"
143 + .file "interface.java"
147 + movl %eax, -4(%ebp)
148 + movl -4(%ebp), %eax
150 + call _ZN4java4lang6ObjectC1Ev
155 + .size _ZN5ClassC1Ev, .-_ZN5ClassC1Ev
156 + .hidden _ZTVN5ClassE
160 + .type _ZTVN5ClassE, @object
161 + .size _ZTVN5ClassE, 40
165 + .long _ZN5Class6class$E
167 + .long _ZN4java4lang6Object8finalizeEJvv
168 + .long _ZN4java4lang6Object8hashCodeEJiv
169 + .long _ZN4java4lang6Object6equalsEJbPS1_
170 + .long _ZN4java4lang6Object8toStringEJPNS0_6StringEv
171 + .long _ZN4java4lang6Object5cloneEJPS1_v
172 + .long _ZN4java4lang6Object22throwNoSuchMethodErrorEJvv
173 + .set .L_ZN5ClassC1Ev0,_ZN5ClassC1Ev
176 + .type _Utf2, @object
184 + .type _Utf3, @object
193 + .type _MT_Class, @object
194 + .size _MT_Class, 20
200 + .long .L_ZN5ClassC1Ev0
203 + .type _IF_Class, @object
206 + .long _ZN9Interface6class$E
208 + .type _catch_classes_Class, @object
209 + .size _catch_classes_Class, 24
210 +_catch_classes_Class:
214 + .type _Utf4, @object
221 +.globl _ZN5Class6class$E
224 + .type _ZN5Class6class$E, @object
225 + .size _ZN5Class6class$E, 144
227 + .long _ZTVN4java4lang5ClassE+8
232 + .long _ZN4java4lang6Object6class$E
243 + .long _ZTVN5ClassE+8
250 + .long _catch_classes_Class
269 + .hidden _ZN5Class7class$$E
270 +.globl _ZN5Class7class$$E
273 + .type _ZN5Class7class$$E, @object
274 + .size _ZN5Class7class$$E, 4
276 + .long _ZN5Class6class$E
277 + .section .jcr,"aw",@progbits
279 + .long _ZN9Interface6class$E
280 + .long _ZN5Class6class$E
281 + .section .debug_frame,"",@progbits
283 + .long .LECIE0-.LSCIE0
299 + .long .LEFDE0-.LASFDE0
311 + .long .LCFI1-.LCFI0
316 + .section .eh_frame,"a",@progbits
318 + .long .LECIE1-.LSCIE1
322 +.globl __gcj_personality_v0
329 + .long __gcj_personality_v0
338 + .long .LEFDE1-.LASFDE1
340 + .long .LASFDE1-.Lframe1
351 + .long .LCFI1-.LCFI0
358 + .section .debug_loc,"",@progbits
361 + .long .LFB2-.Ltext0
362 + .long .LCFI0-.Ltext0
366 + .long .LCFI0-.Ltext0
367 + .long .LCFI1-.Ltext0
371 + .long .LCFI1-.Ltext0
372 + .long .LFE2-.Ltext0
378 + .section .debug_info
381 + .long .Ldebug_abbrev0
384 + .string "GNU Java 4.3.0 20071221 (experimental)"
386 + .string "interface.java"
387 + .string "/home/jkratoch/redhat/bz371831"
390 + .long .Ldebug_line0
392 + .string "Interface"
406 + .string "java.lang.Object"
433 + .string "_ZN5ClassC1Ev"
464 + .section .debug_abbrev
620 + .section .debug_pubnames,"",@progbits
623 + .long .Ldebug_info0
628 + .section .debug_aranges,"",@progbits
631 + .long .Ldebug_info0
637 + .long .Letext0-.Ltext0
640 + .ident "GCC: (GNU) 4.3.0 20071221 (experimental)"
641 + .section .note.GNU-stack,"",@progbits
642 --- /dev/null 1 Jan 1970 00:00:00 -0000
643 +++ ./gdb/testsuite/gdb.arch/i386-interface.exp 22 Dec 2007 19:07:28 -0000
645 +# Copyright 2007 Free Software Foundation, Inc.
647 +# This program is free software; you can redistribute it and/or modify
648 +# it under the terms of the GNU General Public License as published by
649 +# the Free Software Foundation; either version 3 of the License, or
650 +# (at your option) any later version.
652 +# This program is distributed in the hope that it will be useful,
653 +# but WITHOUT ANY WARRANTY; without even the implied warranty of
654 +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
655 +# GNU General Public License for more details.
657 +# You should have received a copy of the GNU General Public License
658 +# along with this program. If not, see <http://www.gnu.org/licenses/>.
660 +# Please email any bugs, comments, and/or additions to this file to:
663 +# This file is part of the gdb testsuite.
665 +# Test basis recognization of DW_TAG_interface_type.
666 +# GCC java_classify_record() produces it if returns RECORD_IS_INTERFACE.
668 +if {![istarget "i?86-*-*"] && ![istarget "x86_64-*-*"]} then {
669 + verbose "Skipping i386 Java DW_TAG_interface_type test."
673 +set testfile "i386-interface"
674 +set srcfile ${testfile}.S
675 +set binfile ${objdir}/${subdir}/${testfile}.o
677 +if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" object {debug additional_flags=-m32}] != "" } {
678 + untested i386-gnu-cfi.exp
682 +# Get things started.
686 +gdb_reinitialize_dir $srcdir/$subdir
689 +gdb_test "set language java"
691 +set test "ptype Interface"
692 +gdb_test_multiple $test $test {
693 + -re "type = class Interface *extends java.lang.Object \{.*$gdb_prompt $" {
698 +set test "ptype Class"
699 +gdb_test_multiple $test $test {
700 + -re "type = class Class *extends java.lang.Object implements Interface \{.*$gdb_prompt $" {