OSDN Git Service

Update copyright year in most headers.
[pf3gnuchains/pf3gnuchains3x.git] / gdb / testsuite / gdb.dwarf2 / dw2-strp.S
index a1602a5..433921c 100644 (file)
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2008, 2009 Free Software Foundation, Inc.
+   Copyright 2008, 2009, 2010 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
@@ -28,7 +28,8 @@
        /* CU die */
        .uleb128        1                       /* Abbrev: DW_TAG_compile_unit */
        .4byte          .Lproducer              /* DW_AT_producer */
-       .byte           1                       /* DW_AT_language (C) */
+       /* Use C++ to exploit a bug in parsing DW_AT_name "".  */
+       .byte           4                       /* DW_AT_language (C++) -  */
 
 .Larray_type:
        .uleb128        2                       /* Abbrev: DW_TAG_array_type */
        .byte           1                       /* DW_AT_byte_size */
        .byte           6                       /* DW_AT_encoding */
 
-       .uleb128        5                       /* Abbrev: DW_TAG_variable */
+       .uleb128        5                       /* Abbrev: DW_TAG_variable DW_FORM_strp */
        .4byte          .Lvarname               /* DW_AT_name */
        .4byte          .Lconst_type-.Lcu1_begin/* DW_AT_type */
        .4byte          .Lvarcontents           /* DW_AT_const_value */
        .byte           1                       /* DW_AT_external */
 
+       .uleb128        6                       /* Abbrev: DW_TAG_variable DW_FORM_string */
+       .string         "a_string2"             /* DW_AT_name */
+       .4byte          .Lconst_type-.Lcu1_begin/* DW_AT_type */
+       .string         "hello world2\n"        /* DW_AT_const_value */
+       .byte           1                       /* DW_AT_external */
+
 .Lconst_type:
-       .uleb128        6                       /* Abbrev: DW_TAG_const_type */
+       .uleb128        7                       /* Abbrev: DW_TAG_const_type */
        .4byte          .Larray_type-.Lcu1_begin/* DW_AT_type */
+
+       .uleb128        8                       /* Abbrev: DW_TAG_variable (name "") */
+       .4byte          .Lemptyname             /* DW_AT_name */
+
        .byte           0                       /* End of children of CU */
 .Lcu1_end:
 
        .byte           0x0                     /* Terminator */
 
        .uleb128        6                       /* Abbrev code */
+       .uleb128        0x34                    /* DW_TAG_variable */
+       .byte           0x0                     /* no_children */
+       .uleb128        0x3                     /* DW_AT_name */
+       .uleb128        0x8                     /* DW_FORM_string */
+       .uleb128        0x49                    /* DW_AT_type */
+       .uleb128        0x13                    /* DW_FORM_ref4 */
+       .uleb128        0x1c                    /* DW_AT_const_value */
+       .uleb128        0x8                     /* DW_FORM_string */
+       .uleb128        0x3f                    /* DW_AT_external */
+       .uleb128        0xc                     /* DW_FORM_flag */
+       .byte           0x0                     /* Terminator */
+       .byte           0x0                     /* Terminator */
+
+       .uleb128        7                       /* Abbrev code */
        .uleb128        0x26                    /* DW_TAG_const_type */
        .byte           0x0                     /* DW_children_no */
        .uleb128        0x49                    /* DW_AT_type */
        .uleb128        0x13                    /* DW_FORM_ref4 */
        .byte           0x0                     /* Terminator */
        .byte           0x0                     /* Terminator */
+
+       .uleb128        8                       /* Abbrev code */
+       .uleb128        0x34                    /* DW_TAG_variable */
+       .byte           0x0                     /* DW_children_no */
+       .uleb128        0x3                     /* DW_AT_name */
+       .uleb128        0xe                     /* DW_FORM_strp */
+       .byte           0x0                     /* Terminator */
+       .byte           0x0                     /* Terminator */
+
        .byte           0x0                     /* Terminator */
 
 /* String table */
        .string         "a_string"
 .Lvarcontents:
        .string         "hello world!\n"
+.Lemptyname:
+       .string         ""