From: Joel Brobecker Date: Wed, 28 Feb 2007 16:28:17 +0000 (+0000) Subject: Move dw2-producer.* from gdb.arch to gdb.dwarf2 where it was supposed to X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=e26f076c6745533e416851dc6294262cf801b3ca;p=binutils-gdb.git Move dw2-producer.* from gdb.arch to gdb.dwarf2 where it was supposed to be checked in. --- diff --git a/gdb/testsuite/gdb.arch/dw2-producer.S b/gdb/testsuite/gdb.arch/dw2-producer.S deleted file mode 100644 index c4d47848490..00000000000 --- a/gdb/testsuite/gdb.arch/dw2-producer.S +++ /dev/null @@ -1,202 +0,0 @@ -/* This testcase is part of GDB, the GNU debugger. - - Copyright 2004, 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 2 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, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, - USA. */ - -/* This file contains some basic DWARF info. The only particularity about - this info is that this compile unit does not have a DW_AT_producer - attribute. The rest is a straight copy of one of the other assembly - files available in this directory. - - The intent of this testcase is to verify that GDB is able to handle - the lack of the DW_AT_producer attribute without problem. */ - -/* Dummy function to provide debug information for. */ - - .text -.Lbegin_text1: - .globl func_cu1 - .type func_cu1, %function -func_cu1: -.Lbegin_func_cu1: - .int 0 -.Lend_func_cu1: - .size func_cu1, .-func_cu1 -.Lend_text1: - -/* Debug information */ - - .section .debug_info -.Lcu1_begin: - /* CU header */ - .4byte .Lcu1_end - .Lcu1_start /* Length of Compilation Unit */ -.Lcu1_start: - .2byte 2 /* DWARF Version */ - .4byte .Labbrev1_begin /* Offset into abbrev section */ - .byte 4 /* Pointer size */ - - /* CU die */ - .uleb128 1 /* Abbrev: DW_TAG_compile_unit */ - .4byte .Lline1_begin /* DW_AT_stmt_list */ - .4byte .Lend_text1 /* DW_AT_high_pc */ - .4byte .Lbegin_text1 /* DW_AT_low_pc */ - .ascii "file1.txt\0" /* DW_AT_name */ - .byte 1 /* DW_AT_language (C) */ - - /* func_cu1 */ - .uleb128 2 /* Abbrev: DW_TAG_subprogram */ - .byte 1 /* DW_AT_external */ - .byte 1 /* DW_AT_decl_file */ - .byte 2 /* DW_AT_decl_line */ - .ascii "func_cu1\0" /* DW_AT_name */ - .4byte .Ltype_int-.Lcu1_begin /* DW_AT_type */ - .4byte .Lbegin_func_cu1 /* DW_AT_low_pc */ - .4byte .Lend_func_cu1 /* DW_AT_high_pc */ - .byte 1 /* DW_AT_frame_base: length */ - .byte 0x55 /* DW_AT_frame_base: DW_OP_reg5 */ - -.Ltype_int: - .uleb128 3 /* Abbrev: DW_TAG_base_type */ - .ascii "int\0" /* DW_AT_name */ - .byte 4 /* DW_AT_byte_size */ - .byte 5 /* DW_AT_encoding */ - - .byte 0 /* End of children of CU */ - -.Lcu1_end: - -/* Abbrev table */ - .section .debug_abbrev -.Labbrev1_begin: - .uleb128 1 /* Abbrev code */ - .uleb128 0x11 /* DW_TAG_compile_unit */ - .byte 1 /* has_children */ - .uleb128 0x10 /* DW_AT_stmt_list */ - .uleb128 0x6 /* DW_FORM_data4 */ - .uleb128 0x12 /* DW_AT_high_pc */ - .uleb128 0x1 /* DW_FORM_addr */ - .uleb128 0x11 /* DW_AT_low_pc */ - .uleb128 0x1 /* DW_FORM_addr */ - .uleb128 0x3 /* DW_AT_name */ - .uleb128 0x8 /* DW_FORM_string */ - .uleb128 0x13 /* DW_AT_language */ - .uleb128 0xb /* DW_FORM_data1 */ - .byte 0x0 /* Terminator */ - .byte 0x0 /* Terminator */ - - .uleb128 2 /* Abbrev code */ - .uleb128 0x2e /* DW_TAG_subprogram */ - .byte 0 /* has_children */ - .uleb128 0x3f /* DW_AT_external */ - .uleb128 0xc /* DW_FORM_flag */ - .uleb128 0x3a /* DW_AT_decl_file */ - .uleb128 0xb /* DW_FORM_data1 */ - .uleb128 0x3b /* DW_AT_decl_line */ - .uleb128 0xb /* DW_FORM_data1 */ - .uleb128 0x3 /* DW_AT_name */ - .uleb128 0x8 /* DW_FORM_string */ - .uleb128 0x49 /* DW_AT_type */ - .uleb128 0x13 /* DW_FORM_ref4 */ - .uleb128 0x11 /* DW_AT_low_pc */ - .uleb128 0x1 /* DW_FORM_addr */ - .uleb128 0x12 /* DW_AT_high_pc */ - .uleb128 0x1 /* DW_FORM_addr */ - .uleb128 0x40 /* DW_AT_frame_base */ - .uleb128 0xa /* DW_FORM_block1 */ - .byte 0x0 /* Terminator */ - .byte 0x0 /* Terminator */ - - .uleb128 3 /* Abbrev code */ - .uleb128 0x24 /* DW_TAG_base_type */ - .byte 0 /* has_children */ - .uleb128 0x3 /* DW_AT_name */ - .uleb128 0x8 /* DW_FORM_string */ - .uleb128 0xb /* DW_AT_byte_size */ - .uleb128 0xb /* DW_FORM_data1 */ - .uleb128 0x3e /* DW_AT_encoding */ - .uleb128 0xb /* DW_FORM_data1 */ - .byte 0x0 /* Terminator */ - .byte 0x0 /* Terminator */ - - .byte 0x0 /* Terminator */ - .byte 0x0 /* Terminator */ - -/* Line table */ - .section .debug_line -.Lline1_begin: - .4byte .Lline1_end - .Lline1_start /* Initial length */ -.Lline1_start: - .2byte 2 /* Version */ - .4byte .Lline1_lines - .Lline1_hdr /* header_length */ -.Lline1_hdr: - .byte 1 /* Minimum insn length */ - .byte 1 /* default_is_stmt */ - .byte 1 /* line_base */ - .byte 1 /* line_range */ - .byte 0x10 /* opcode_base */ - - /* Standard lengths */ - .byte 0 - .byte 1 - .byte 1 - .byte 1 - .byte 1 - .byte 0 - .byte 0 - .byte 0 - .byte 1 - .byte 0 - .byte 0 - .byte 1 - .byte 0 - .byte 0 - .byte 0 - - /* Include directories */ - .byte 0 - - /* File names */ - .ascii "file1.txt\0" - .uleb128 0 - .uleb128 0 - .uleb128 0 - - .byte 0 - -.Lline1_lines: - .byte 0 /* DW_LNE_set_address */ - .uleb128 5 - .byte 2 - .4byte .Lbegin_func_cu1 - - .byte 3 /* DW_LNS_advance_line */ - .sleb128 3 /* ... to 4 */ - - .byte 1 /* DW_LNS_copy */ - - .byte 1 /* DW_LNS_copy (second time as an end-of-prologue marker) */ - - .byte 0 /* DW_LNE_set_address */ - .uleb128 5 - .byte 2 - .4byte .Lend_func_cu1 - - .byte 0 /* DW_LNE_end_of_sequence */ - .uleb128 1 - .byte 1 - -.Lline1_end: diff --git a/gdb/testsuite/gdb.arch/dw2-producer.exp b/gdb/testsuite/gdb.arch/dw2-producer.exp deleted file mode 100644 index 2fd36d49e6a..00000000000 --- a/gdb/testsuite/gdb.arch/dw2-producer.exp +++ /dev/null @@ -1,51 +0,0 @@ -# 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 2 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, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# This test can only be run on targets which support DWARF-2 and use gas. -# For now pick a sampling of likely targets. -if {![istarget *-*-linux*] - && ![istarget *-*-gnu*] - && ![istarget *-*-elf*] - && ![istarget *-*-openbsd*] - && ![istarget arm-*-eabi*] - && ![istarget powerpc-*-eabi*]} { - return 0 -} - -set testfile "dw2-producer" -set srcfile ${testfile}.S -set binfile ${objdir}/${subdir}/${testfile}.x - -if { [gdb_compile "${srcdir}/${subdir}/main.c" "main.o" object {debug}] != "" } { - return -1 -} - -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${testfile}.o" object {nodebug}] != "" } { - return -1 -} - -if { [gdb_compile "${testfile}.o main.o" "${binfile}" executable {debug}] != "" } { - return -1 -} - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - -gdb_test "set listsize 1" "" -gdb_test "list func_cu1" "4\[ \t\]+File 1 Line 4" -gdb_test "ptype func_cu1" "type = int \\(\\)" diff --git a/gdb/testsuite/gdb.dwarf2/dw2-producer.S b/gdb/testsuite/gdb.dwarf2/dw2-producer.S new file mode 100644 index 00000000000..c4d47848490 --- /dev/null +++ b/gdb/testsuite/gdb.dwarf2/dw2-producer.S @@ -0,0 +1,202 @@ +/* This testcase is part of GDB, the GNU debugger. + + Copyright 2004, 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 2 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, + USA. */ + +/* This file contains some basic DWARF info. The only particularity about + this info is that this compile unit does not have a DW_AT_producer + attribute. The rest is a straight copy of one of the other assembly + files available in this directory. + + The intent of this testcase is to verify that GDB is able to handle + the lack of the DW_AT_producer attribute without problem. */ + +/* Dummy function to provide debug information for. */ + + .text +.Lbegin_text1: + .globl func_cu1 + .type func_cu1, %function +func_cu1: +.Lbegin_func_cu1: + .int 0 +.Lend_func_cu1: + .size func_cu1, .-func_cu1 +.Lend_text1: + +/* Debug information */ + + .section .debug_info +.Lcu1_begin: + /* CU header */ + .4byte .Lcu1_end - .Lcu1_start /* Length of Compilation Unit */ +.Lcu1_start: + .2byte 2 /* DWARF Version */ + .4byte .Labbrev1_begin /* Offset into abbrev section */ + .byte 4 /* Pointer size */ + + /* CU die */ + .uleb128 1 /* Abbrev: DW_TAG_compile_unit */ + .4byte .Lline1_begin /* DW_AT_stmt_list */ + .4byte .Lend_text1 /* DW_AT_high_pc */ + .4byte .Lbegin_text1 /* DW_AT_low_pc */ + .ascii "file1.txt\0" /* DW_AT_name */ + .byte 1 /* DW_AT_language (C) */ + + /* func_cu1 */ + .uleb128 2 /* Abbrev: DW_TAG_subprogram */ + .byte 1 /* DW_AT_external */ + .byte 1 /* DW_AT_decl_file */ + .byte 2 /* DW_AT_decl_line */ + .ascii "func_cu1\0" /* DW_AT_name */ + .4byte .Ltype_int-.Lcu1_begin /* DW_AT_type */ + .4byte .Lbegin_func_cu1 /* DW_AT_low_pc */ + .4byte .Lend_func_cu1 /* DW_AT_high_pc */ + .byte 1 /* DW_AT_frame_base: length */ + .byte 0x55 /* DW_AT_frame_base: DW_OP_reg5 */ + +.Ltype_int: + .uleb128 3 /* Abbrev: DW_TAG_base_type */ + .ascii "int\0" /* DW_AT_name */ + .byte 4 /* DW_AT_byte_size */ + .byte 5 /* DW_AT_encoding */ + + .byte 0 /* End of children of CU */ + +.Lcu1_end: + +/* Abbrev table */ + .section .debug_abbrev +.Labbrev1_begin: + .uleb128 1 /* Abbrev code */ + .uleb128 0x11 /* DW_TAG_compile_unit */ + .byte 1 /* has_children */ + .uleb128 0x10 /* DW_AT_stmt_list */ + .uleb128 0x6 /* DW_FORM_data4 */ + .uleb128 0x12 /* DW_AT_high_pc */ + .uleb128 0x1 /* DW_FORM_addr */ + .uleb128 0x11 /* DW_AT_low_pc */ + .uleb128 0x1 /* DW_FORM_addr */ + .uleb128 0x3 /* DW_AT_name */ + .uleb128 0x8 /* DW_FORM_string */ + .uleb128 0x13 /* DW_AT_language */ + .uleb128 0xb /* DW_FORM_data1 */ + .byte 0x0 /* Terminator */ + .byte 0x0 /* Terminator */ + + .uleb128 2 /* Abbrev code */ + .uleb128 0x2e /* DW_TAG_subprogram */ + .byte 0 /* has_children */ + .uleb128 0x3f /* DW_AT_external */ + .uleb128 0xc /* DW_FORM_flag */ + .uleb128 0x3a /* DW_AT_decl_file */ + .uleb128 0xb /* DW_FORM_data1 */ + .uleb128 0x3b /* DW_AT_decl_line */ + .uleb128 0xb /* DW_FORM_data1 */ + .uleb128 0x3 /* DW_AT_name */ + .uleb128 0x8 /* DW_FORM_string */ + .uleb128 0x49 /* DW_AT_type */ + .uleb128 0x13 /* DW_FORM_ref4 */ + .uleb128 0x11 /* DW_AT_low_pc */ + .uleb128 0x1 /* DW_FORM_addr */ + .uleb128 0x12 /* DW_AT_high_pc */ + .uleb128 0x1 /* DW_FORM_addr */ + .uleb128 0x40 /* DW_AT_frame_base */ + .uleb128 0xa /* DW_FORM_block1 */ + .byte 0x0 /* Terminator */ + .byte 0x0 /* Terminator */ + + .uleb128 3 /* Abbrev code */ + .uleb128 0x24 /* DW_TAG_base_type */ + .byte 0 /* has_children */ + .uleb128 0x3 /* DW_AT_name */ + .uleb128 0x8 /* DW_FORM_string */ + .uleb128 0xb /* DW_AT_byte_size */ + .uleb128 0xb /* DW_FORM_data1 */ + .uleb128 0x3e /* DW_AT_encoding */ + .uleb128 0xb /* DW_FORM_data1 */ + .byte 0x0 /* Terminator */ + .byte 0x0 /* Terminator */ + + .byte 0x0 /* Terminator */ + .byte 0x0 /* Terminator */ + +/* Line table */ + .section .debug_line +.Lline1_begin: + .4byte .Lline1_end - .Lline1_start /* Initial length */ +.Lline1_start: + .2byte 2 /* Version */ + .4byte .Lline1_lines - .Lline1_hdr /* header_length */ +.Lline1_hdr: + .byte 1 /* Minimum insn length */ + .byte 1 /* default_is_stmt */ + .byte 1 /* line_base */ + .byte 1 /* line_range */ + .byte 0x10 /* opcode_base */ + + /* Standard lengths */ + .byte 0 + .byte 1 + .byte 1 + .byte 1 + .byte 1 + .byte 0 + .byte 0 + .byte 0 + .byte 1 + .byte 0 + .byte 0 + .byte 1 + .byte 0 + .byte 0 + .byte 0 + + /* Include directories */ + .byte 0 + + /* File names */ + .ascii "file1.txt\0" + .uleb128 0 + .uleb128 0 + .uleb128 0 + + .byte 0 + +.Lline1_lines: + .byte 0 /* DW_LNE_set_address */ + .uleb128 5 + .byte 2 + .4byte .Lbegin_func_cu1 + + .byte 3 /* DW_LNS_advance_line */ + .sleb128 3 /* ... to 4 */ + + .byte 1 /* DW_LNS_copy */ + + .byte 1 /* DW_LNS_copy (second time as an end-of-prologue marker) */ + + .byte 0 /* DW_LNE_set_address */ + .uleb128 5 + .byte 2 + .4byte .Lend_func_cu1 + + .byte 0 /* DW_LNE_end_of_sequence */ + .uleb128 1 + .byte 1 + +.Lline1_end: diff --git a/gdb/testsuite/gdb.dwarf2/dw2-producer.exp b/gdb/testsuite/gdb.dwarf2/dw2-producer.exp new file mode 100644 index 00000000000..2fd36d49e6a --- /dev/null +++ b/gdb/testsuite/gdb.dwarf2/dw2-producer.exp @@ -0,0 +1,51 @@ +# 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 2 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, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + +# This test can only be run on targets which support DWARF-2 and use gas. +# For now pick a sampling of likely targets. +if {![istarget *-*-linux*] + && ![istarget *-*-gnu*] + && ![istarget *-*-elf*] + && ![istarget *-*-openbsd*] + && ![istarget arm-*-eabi*] + && ![istarget powerpc-*-eabi*]} { + return 0 +} + +set testfile "dw2-producer" +set srcfile ${testfile}.S +set binfile ${objdir}/${subdir}/${testfile}.x + +if { [gdb_compile "${srcdir}/${subdir}/main.c" "main.o" object {debug}] != "" } { + return -1 +} + +if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${testfile}.o" object {nodebug}] != "" } { + return -1 +} + +if { [gdb_compile "${testfile}.o main.o" "${binfile}" executable {debug}] != "" } { + return -1 +} + +gdb_exit +gdb_start +gdb_reinitialize_dir $srcdir/$subdir +gdb_load ${binfile} + +gdb_test "set listsize 1" "" +gdb_test "list func_cu1" "4\[ \t\]+File 1 Line 4" +gdb_test "ptype func_cu1" "type = int \\(\\)"