Home | History | Annotate | Line # | Download | only in gdb.dwarf2
      1   1.1  christos /* This testcase is part of GDB, the GNU debugger.
      2   1.1  christos 
      3  1.11  christos    Copyright 2012-2024 Free Software Foundation, Inc.
      4   1.1  christos 
      5   1.1  christos    This program is free software; you can redistribute it and/or modify
      6   1.1  christos    it under the terms of the GNU General Public License as published by
      7   1.1  christos    the Free Software Foundation; either version 3 of the License, or
      8   1.1  christos    (at your option) any later version.
      9   1.1  christos 
     10   1.1  christos    This program is distributed in the hope that it will be useful,
     11   1.1  christos    but WITHOUT ANY WARRANTY; without even the implied warranty of
     12   1.1  christos    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     13   1.1  christos    GNU General Public License for more details.
     14   1.1  christos 
     15   1.1  christos    You should have received a copy of the GNU General Public License
     16   1.1  christos    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
     17   1.1  christos 
     18   1.1  christos /* This test triggers a crash when a physname for a subprogram has
     19   1.1  christos    a method pointer to an anonymous struct as a parameter.  This
     20   1.1  christos    situation is possible with templates and lambda expressions,
     21   1.1  christos    reproduced here by the following source code:
     22   1.1  christos 
     23   1.1  christos    class a
     24   1.1  christos    {
     25   1.1  christos     public:
     26   1.1  christos      int doit (void) { return 0; }
     27   1.1  christos    };
     28   1.1  christos 
     29   1.1  christos   class crash
     30   1.1  christos    {
     31   1.1  christos     public:
     32   1.1  christos      crash (int (a::*mp) (void)) {}
     33   1.1  christos    };
     34   1.1  christos 
     35   1.1  christos    In order to avoid lambdas, the resulting output has been edited to
     36   1.1  christos    remove the DW_AT_name attribute from the DIEs describing "class a."  */
     37   1.1  christos 
     38   1.1  christos #define OFFSET(LBL) .Ldie_ ## LBL - .Lcu1_begin
     39   1.1  christos 
     40   1.1  christos 	.section	.debug_info
     41   1.1  christos .Lcu1_begin:
     42   1.1  christos 	.4byte	.Lcu1_end - .Lcu1_start /* Length of Compilation Unit Info */
     43   1.1  christos .Lcu1_start:
     44   1.1  christos 	.2byte	0x3	/* DWARF version number */
     45   1.1  christos 	.4byte	.Labbrev1_begin	/* Offset Into Abbrev. Section */
     46   1.1  christos 	.byte	0x4	/* Pointer Size (in bytes) */
     47   1.1  christos 
     48   1.1  christos .Ldie_b:
     49   1.1  christos 	.uleb128 0x1	/* (DIE (0xb) DW_TAG_compile_unit) */
     50   1.1  christos 	.ascii	"GNU C++ 4.6.3\0"	/* DW_AT_producer */
     51   1.1  christos 	.byte	0x4	/* DW_AT_language */
     52   1.1  christos 	.ascii	"anon-member-ptr.cc\0"	/* DW_AT_name */
     53   1.1  christos 	.4byte	.Ldebug_line0	/* DW_AT_stmt_list */
     54   1.1  christos 
     55   1.1  christos .Ldie_31:
     56   1.1  christos 	.uleb128 0x2	/* (DIE (0x31) DW_TAG_class_type  */
     57   1.1  christos #if 0
     58   1.1  christos 	/* This is the "fudging" part...  */
     59   1.1  christos 	.ascii	"a\0"	/* DW_AT_name */
     60   1.1  christos #endif
     61   1.1  christos 	.byte	0x1	/* DW_AT_byte_size */
     62   1.1  christos 
     63   1.1  christos .Ldie_59:
     64   1.1  christos 	.uleb128 0x4	/* (DIE (0x59) DW_TAG_base_type */
     65   1.1  christos 	.byte	0x4	/* DW_AT_byte_size */
     66   1.1  christos 	.byte	0x5	/* DW_AT_encoding */
     67   1.1  christos 	.ascii	"int\0"	/* DW_AT_name */
     68   1.1  christos 
     69   1.1  christos .Ldie_60:
     70   1.1  christos 	.uleb128 0x5	/* (DIE (0x60) DW_TAG_pointer_type) */
     71   1.1  christos 	.byte	0x4	/* DW_AT_byte_size */
     72   1.1  christos 	.4byte	OFFSET (31)	/* DW_AT_type */
     73   1.1  christos 
     74   1.1  christos .Ldie_66:
     75   1.1  christos 	.uleb128 0x6	/* (DIE (0x66) DW_TAG_class_type) */
     76   1.1  christos 	.ascii	"crash\0"	/* DW_AT_name */
     77   1.1  christos 	.byte	0x1	/* DW_AT_byte_size */
     78   1.1  christos 	.4byte	OFFSET (8d)	/* DW_AT_sibling */
     79   1.1  christos 
     80   1.1  christos .Ldie_72:
     81   1.1  christos 	.uleb128 0x7	/* (DIE (0x72) DW_TAG_subprogram) */
     82   1.1  christos 	.byte	0x1	/* DW_AT_external */
     83   1.1  christos 	.ascii	"crash\0"	/* DW_AT_name */
     84   1.1  christos 	.byte	0x1	/* DW_AT_accessibility */
     85   1.1  christos 	.byte	0x1	/* DW_AT_declaration */
     86   1.1  christos 	.4byte	OFFSET (80)	/* DW_AT_object_pointer */
     87   1.1  christos 
     88   1.1  christos .Ldie_80:
     89   1.1  christos 	.uleb128 0x3	/* (DIE (0x80) DW_TAG_formal_parameter */
     90   1.1  christos 	.4byte	OFFSET (8d)	/* DW_AT_type */
     91   1.1  christos 	.byte	0x1	/* DW_AT_artificial */
     92   1.1  christos 
     93   1.1  christos .Ldie_86:
     94   1.1  christos 	.uleb128 0x3	/* (DIE (0x86) DW_TAG_formal_parameter */
     95   1.1  christos 	.4byte	OFFSET (93)	/* DW_AT_type */
     96   1.1  christos 	.byte	0x0	/* DW_AT_artificial */
     97   1.1  christos 	.byte	0	/* end of children of DIE 0x72 */
     98   1.1  christos 	.byte	0	/* end of children of DIE 0x66 */
     99   1.1  christos 
    100   1.1  christos .Ldie_8d:
    101   1.1  christos 	.uleb128 0x5	/* (DIE (0x8d) DW_TAG_pointer_type */
    102   1.1  christos 	.byte	0x4	/* DW_AT_size */
    103   1.1  christos 	.4byte	OFFSET (66)	/* DW_AT_type */
    104   1.1  christos 
    105   1.1  christos .Ldie_93:
    106   1.1  christos 	.uleb128 0x8	/* (DIE (0x93) DW_TAG_structure_type */
    107   1.1  christos 	.byte	0x10	/* DW_AT_byte_size */
    108   1.1  christos 	.4byte	OFFSET (b4)	/* DW_AT_sibling */
    109   1.1  christos 
    110   1.1  christos .Ldie_9b:
    111   1.1  christos 	.uleb128 0x9	/* (DIE (0x9b) DW_TAG_member */
    112   1.1  christos 	.ascii	"__pfn\0"	/* DW_AT_name */
    113   1.1  christos 	.4byte	OFFSET (c8)	/* DW_AT_type */
    114   1.1  christos 	.byte	0	/* DW_AT_data_member_location */
    115   1.1  christos 
    116   1.1  christos .Ldie_a7:
    117   1.1  christos 	.uleb128 0x9	/* (DIE (0xa7) DW_TAG_member */
    118   1.1  christos 	.ascii	"__delta\0"	/* DW_AT_name */
    119   1.1  christos 	.4byte	OFFSET (ce)	/* DW_AT_type */
    120   1.1  christos 	.byte	0x8	/* DW_AT_data_member_location */
    121   1.1  christos 	.byte	0	/* end of children of DIE 0x93 */
    122   1.1  christos 
    123   1.1  christos .Ldie_b4:
    124   1.1  christos 	.uleb128 0xa	/* (DIE (0xb4) DW_TAG_subroutine_type) */
    125   1.1  christos 	.4byte	OFFSET (59)	/* DW_AT_type */
    126   1.1  christos 	.4byte	OFFSET (c1)	/* DW_AT_object_pointer */
    127   1.1  christos 	.4byte	OFFSET (c8)	/* DW_AT_sibling */
    128   1.1  christos 
    129   1.1  christos .Ldie_c1:
    130   1.1  christos 	.uleb128 0x3	/* (DIE (0xc1) DW_TAG_formal_parameter) */
    131   1.1  christos 	.4byte	OFFSET (60)	/* DW_AT_type */
    132   1.1  christos 	.byte	0x1	/* DW_AT_artificial */
    133   1.1  christos 	.byte	0	/* end of children of DIE 0xb4 */
    134   1.1  christos 
    135   1.1  christos .Ldie_c8:
    136   1.1  christos 	.uleb128 0x5	/* (DIE (0xc8) DW_TAG_pointer_type) */
    137   1.1  christos 	.byte	0x4	/* DW_AT_byte_size */
    138   1.1  christos 	.4byte	OFFSET (b4)	/* DW_AT_type */
    139   1.1  christos 
    140   1.1  christos .Ldie_ce:
    141   1.1  christos 	.uleb128 0x4	/* (DIE (0xce) DW_TAG_base_type) */
    142   1.1  christos 	.byte	0x8	/* DW_AT_byte_size */
    143   1.1  christos 	.byte	0x5	/* DW_AT_encoding */
    144   1.1  christos 	.ascii	"long int\0"	/* DW_AT_name */
    145   1.1  christos 
    146   1.1  christos .Ldie_107:
    147   1.1  christos 	.uleb128 0xc	/* (DIE (0x107) DW_TAG_subprogram) */
    148   1.1  christos 	.4byte	OFFSET (72)	/* DW_AT_specification */
    149   1.1  christos 	.byte	0x2	/* DW_AT_inline */
    150   1.1  christos 	.4byte	OFFSET (115)	/* DW_AT_object_pointer */
    151   1.1  christos 	.4byte	OFFSET (12a)	/* DW_AT_sibling */
    152   1.1  christos 
    153   1.1  christos .Ldie_115:
    154   1.1  christos 	.uleb128 0xd	/* (DIE (0x115) DW_TAG_formal_parameter) */
    155   1.1  christos 	.ascii	"this\0"	/* DW_AT_name */
    156   1.1  christos 	.4byte	OFFSET (12a)	/* DW_AT_type */
    157   1.1  christos 	.byte	0x1	/* DW_AT_artificial */
    158   1.1  christos 
    159   1.1  christos .Ldie_11f:
    160   1.1  christos 	.uleb128 0xd	/* (DIE (0x11f) DW_TAG_formal_parameter) */
    161   1.1  christos 	.ascii	"mp\0"	/* DW_AT_name */
    162   1.1  christos 	.4byte	OFFSET (93)	/* DW_AT_type */
    163   1.1  christos 	.byte	0x0	/* DW_AT_artificial */
    164   1.1  christos 	.byte	0	/* end of children of DIE 0x107 */
    165   1.1  christos 
    166   1.1  christos .Ldie_12a:
    167   1.1  christos 	.uleb128 0xb	/* (DIE (0x12a) DW_TAG_const_type) */
    168   1.1  christos 	.4byte	OFFSET (8d)	/* DW_AT_type */
    169   1.1  christos 
    170   1.1  christos .Ldie_12f:
    171   1.1  christos 	.uleb128 0xe	/* (DIE (0x12f) DW_TAG_subprogram) */
    172   1.1  christos 	.4byte	OFFSET (107)	/* DW_AT_abstract_origin */
    173   1.1  christos 	.4byte	0x20	/* DW_AT_low_pc */
    174   1.1  christos 	.4byte	0x2c	/* DW_AT_high_pc */
    175   1.1  christos 	.4byte	OFFSET (14e)	/* DW_AT_object_pointer */
    176   1.1  christos 
    177   1.1  christos .Ldie_14e:
    178   1.1  christos 	.uleb128 0xf	/* (DIE (0x14e) DW_TAG_formal_parameter) */
    179   1.1  christos 	.4byte	OFFSET (115)	/* DW_AT_abstract_origin */
    180   1.1  christos 	.byte	0x2	/* DW_AT_location */
    181   1.1  christos 	.byte	0x91
    182   1.1  christos 	.sleb128 -24
    183   1.1  christos 
    184   1.1  christos .Ldie_156:
    185   1.1  christos 	.uleb128 0xf	/* (DIE (0x156) DW_TAG_formal_parameter) */
    186   1.1  christos 	.4byte	OFFSET (11f)	/* DW_at_abstract_origin */
    187   1.1  christos 	.byte	0x2	/* DW_AT_location */
    188   1.1  christos 	.byte	0x91
    189   1.1  christos 	.sleb128 -40
    190   1.1  christos 	.byte	0	/* end of children of DIE 0x12f */
    191   1.1  christos 	.byte	0	/* end of children of DIE 0x5b */
    192   1.1  christos .Lcu1_end:
    193   1.1  christos 
    194   1.1  christos /* Abbrev table */
    195   1.1  christos 	.section	.debug_abbrev
    196   1.1  christos 	.uleb128 0x1	/* (abbrev code) */
    197   1.1  christos 	.uleb128 0x11	/* (TAG: DW_TAG_compile_unit) */
    198   1.1  christos 	.byte	0x1	/* DW_children_yes */
    199   1.1  christos 	.uleb128 0x25	/* (DW_AT_producer) */
    200   1.1  christos 	.uleb128 0x8	/* (DW_FORM_string) */
    201   1.1  christos 	.uleb128 0x13	/* (DW_AT_language) */
    202   1.1  christos 	.uleb128 0xb	/* (DW_FORM_data1) */
    203   1.1  christos 	.uleb128 0x3	/* (DW_AT_name) */
    204   1.1  christos 	.uleb128 0x8	/* (DW_FORM_string) */
    205   1.1  christos 	.uleb128 0x10	/* (DW_AT_stmt_list) */
    206   1.1  christos 	.uleb128 0x6	/* (DW_FORM_data4) */
    207   1.1  christos 	.byte	0
    208   1.1  christos 	.byte	0
    209   1.1  christos 
    210   1.1  christos 	.uleb128 0x2	/* (abbrev code) */
    211   1.1  christos 	.uleb128 0x2	/* (TAG: DW_TAG_class_type) */
    212   1.1  christos 	.byte	0x0	/* DW_children_no */
    213   1.1  christos #if 0
    214   1.1  christos 	/* This is the "fudging" part...  */
    215   1.1  christos 	.uleb128 0x3	/* (DW_AT_name) */
    216   1.1  christos 	.uleb128 0x8	/* (DW_FORM_string) */
    217   1.1  christos #endif
    218   1.1  christos 	.uleb128 0xb	/* (DW_AT_byte_size) */
    219   1.1  christos 	.uleb128 0xb	/* (DW_FORM_data1) */
    220   1.1  christos 	.byte	0
    221   1.1  christos 	.byte	0
    222   1.1  christos 
    223   1.1  christos 	.uleb128 0x3	/* (abbrev code) */
    224   1.1  christos 	.uleb128 0x5	/* (TAG: DW_TAG_formal_parameter) */
    225   1.1  christos 	.byte	0	/* DW_children_no */
    226   1.1  christos 	.uleb128 0x49	/* (DW_AT_type) */
    227   1.1  christos 	.uleb128 0x13	/* (DW_FORM_ref4) */
    228   1.1  christos 	.uleb128 0x34	/* (DW_AT_artificial) */
    229   1.1  christos 	.uleb128 0xc	/* (DW_FORM_flag) */
    230   1.1  christos 	.byte	0
    231   1.1  christos 	.byte	0
    232   1.1  christos 
    233   1.1  christos 	.uleb128 0x4	/* (abbrev code) */
    234   1.1  christos 	.uleb128 0x24	/* (TAG: DW_TAG_base_type) */
    235   1.1  christos 	.byte	0	/* DW_children_no */
    236   1.1  christos 	.uleb128 0xb	/* (DW_AT_byte_size) */
    237   1.1  christos 	.uleb128 0xb	/* (DW_FORM_data1) */
    238   1.1  christos 	.uleb128 0x3e	/* (DW_AT_encoding) */
    239   1.1  christos 	.uleb128 0xb	/* (DW_FORM_data1) */
    240   1.1  christos 	.uleb128 0x3	/* (DW_AT_name) */
    241   1.1  christos 	.uleb128 0x8	/* (DW_FORM_string) */
    242   1.1  christos 	.byte	0
    243   1.1  christos 	.byte	0
    244   1.1  christos 
    245   1.1  christos 	.uleb128 0x5	/* (abbrev code) */
    246   1.1  christos 	.uleb128 0xf	/* (TAG: DW_TAG_pointer_type) */
    247   1.1  christos 	.byte	0	/* DW_children_no */
    248   1.1  christos 	.uleb128 0xb	/* (DW_AT_byte_size) */
    249   1.1  christos 	.uleb128 0xb	/* (DW_FORM_data1) */
    250   1.1  christos 	.uleb128 0x49	/* (DW_AT_type) */
    251   1.1  christos 	.uleb128 0x13	/* (DW_FORM_ref4) */
    252   1.1  christos 	.byte	0
    253   1.1  christos 	.byte	0
    254   1.1  christos 
    255   1.1  christos 	.uleb128 0x6	/* (abbrev code) */
    256   1.1  christos 	.uleb128 0x2	/* (TAG: DW_TAG_class_type) */
    257   1.1  christos 	.byte	0x1	/* DW_children_yes */
    258   1.1  christos 	.uleb128 0x3	/* (DW_AT_name) */
    259   1.1  christos 	.uleb128 0x8	/* (DW_FORM_string) */
    260   1.1  christos 	.uleb128 0xb	/* (DW_AT_byte_size) */
    261   1.1  christos 	.uleb128 0xb	/* (DW_FORM_data1) */
    262   1.1  christos 	.uleb128 0x1	/* (DW_AT_sibling) */
    263   1.1  christos 	.uleb128 0x13
    264   1.1  christos 	.byte	0
    265   1.1  christos 	.byte	0
    266   1.1  christos 
    267   1.1  christos 	.uleb128 0x7	/* (abbrev code) */
    268   1.1  christos 	.uleb128 0x2e	/* (TAG: DW_TAG_subprogram) */
    269   1.1  christos 	.byte	0x1	/* DW_children_yes */
    270   1.1  christos 	.uleb128 0x3f	/* (DW_AT_external) */
    271   1.1  christos 	.uleb128 0xc	/* (DW_FORM_flag) */
    272   1.1  christos 	.uleb128 0x3	/* (DW_AT_name) */
    273   1.1  christos 	.uleb128 0x8	/* (DW_FORM_string) */
    274   1.1  christos 	.uleb128 0x32	/* (DW_AT_accessibility) */
    275   1.1  christos 	.uleb128 0xb	/* (DW_FORM_data1) */
    276   1.1  christos 	.uleb128 0x3c	/* (DW_AT_declaration) */
    277   1.1  christos 	.uleb128 0xc	/* (DW_FORM_flag) */
    278   1.1  christos 	.uleb128 0x64	/* (DW_AT_object_pointer) */
    279   1.1  christos 	.uleb128 0x13	/* (DW_FORM_ref4) */
    280   1.1  christos 	.byte	0
    281   1.1  christos 	.byte	0
    282   1.1  christos 
    283   1.1  christos 	.uleb128 0x8	/* (abbrev code) */
    284   1.1  christos 	.uleb128 0x13	/* (TAG: DW_TAG_structure_type) */
    285   1.1  christos 	.byte	0x1	/* DW_children_yes */
    286   1.1  christos 	.uleb128 0xb	/* (DW_AT_byte_size) */
    287   1.1  christos 	.uleb128 0xb	/* (DW_FORM_data1) */
    288   1.1  christos 	.uleb128 0x1	/* (DW_AT_sibling) */
    289   1.1  christos 	.uleb128 0x13	/* (DW_FORM_ref4) */
    290   1.1  christos 	.byte	0
    291   1.1  christos 	.byte	0
    292   1.1  christos 
    293   1.1  christos 	.uleb128 0x9	/* (abbrev code) */
    294   1.1  christos 	.uleb128 0xd	/* (TAG: DW_TAG_member) */
    295   1.1  christos 	.byte	0	/* DW_children_no */
    296   1.1  christos 	.uleb128 0x3	/* (DW_AT_name) */
    297   1.1  christos 	.uleb128 0x8	/* (DW_FORM_string) */
    298   1.1  christos 	.uleb128 0x49	/* (DW_AT_type) */
    299   1.1  christos 	.uleb128 0x13	/* (DW_FORM_ref4) */
    300   1.1  christos 	.uleb128 0x38	/* (DW_AT_data_member_location) */
    301   1.1  christos 	.uleb128 0xb	/* (DW_FORM_data1) */
    302   1.1  christos 	.byte	0
    303   1.1  christos 	.byte	0
    304   1.1  christos 
    305   1.1  christos 	.uleb128 0xa	/* (abbrev code) */
    306   1.1  christos 	.uleb128 0x15	/* (TAG: DW_TAG_subroutine_type) */
    307   1.1  christos 	.byte	0x1	/* DW_children_yes */
    308   1.1  christos 	.uleb128 0x49	/* (DW_AT_type) */
    309   1.1  christos 	.uleb128 0x13	/* (DW_FORM_ref4) */
    310   1.1  christos 	.uleb128 0x64	/* (DW_AT_object_pointer) */
    311   1.1  christos 	.uleb128 0x13	/* (DW_FORM_ref4) */
    312   1.1  christos 	.uleb128 0x1	/* (DW_AT_sibling) */
    313   1.1  christos 	.uleb128 0x13	/* (DW_FORM_ref4) */
    314   1.1  christos 	.byte	0
    315   1.1  christos 	.byte	0
    316   1.1  christos 
    317   1.1  christos 	.uleb128 0xb	/* (abbrev code) */
    318   1.1  christos 	.uleb128 0x26	/* (TAG: DW_TAG_const_type) */
    319   1.1  christos 	.byte	0	/* DW_children_no */
    320   1.1  christos 	.uleb128 0x49	/* (DW_AT_type) */
    321   1.1  christos 	.uleb128 0x13	/* (DW_FORM_ref4) */
    322   1.1  christos 	.byte	0
    323   1.1  christos 	.byte	0
    324   1.1  christos 
    325   1.1  christos 	.uleb128 0xc	/* (abbrev code) */
    326   1.1  christos 	.uleb128 0x2e	/* (TAG: DW_TAG_subprogram) */
    327   1.1  christos 	.byte	0x1	/* DW_children_yes */
    328   1.1  christos 	.uleb128 0x47	/* (DW_AT_specification) */
    329   1.1  christos 	.uleb128 0x13	/* (DW_FORM_ref4) */
    330   1.1  christos 	.uleb128 0x20	/* (DW_AT_inline) */
    331   1.1  christos 	.uleb128 0xb	/* (DW_FORM_data1) */
    332   1.1  christos 	.uleb128 0x64	/* (DW_AT_object_pointer) */
    333   1.1  christos 	.uleb128 0x13	/* (DW_FORM_ref4) */
    334   1.1  christos 	.uleb128 0x1	/* (DW_AT_sibling) */
    335   1.1  christos 	.uleb128 0x13	/* (DW_FORM_ref4) */
    336   1.1  christos 	.byte	0
    337   1.1  christos 	.byte	0
    338   1.1  christos 
    339   1.1  christos 	.uleb128 0xd	/* (abbrev code) */
    340   1.1  christos 	.uleb128 0x5	/* (TAG: DW_TAG_formal_parameter) */
    341   1.1  christos 	.byte	0	/* DW_children_no */
    342   1.1  christos 	.uleb128 0x3	/* (DW_AT_name) */
    343   1.1  christos 	.uleb128 0x8	/* (DW_FORM_string) */
    344   1.1  christos 	.uleb128 0x49	/* (DW_AT_type) */
    345   1.1  christos 	.uleb128 0x13	/* (DW_FORM_ref4) */
    346   1.1  christos 	.uleb128 0x34	/* (DW_AT_artificial) */
    347   1.1  christos 	.uleb128 0xc	/* (DW_FORM_flag) */
    348   1.1  christos 	.byte	0
    349   1.1  christos 	.byte	0
    350   1.1  christos 
    351   1.1  christos 	.uleb128 0xe	/* (abbrev code) */
    352   1.1  christos 	.uleb128 0x2e	/* (TAG: DW_TAG_subprogram) */
    353   1.1  christos 	.byte	0x1	/* DW_children_yes */
    354   1.1  christos 	.uleb128 0x31	/* (DW_AT_abstract_origin) */
    355   1.1  christos 	.uleb128 0x13	/* (DW_FORM_ref4) */
    356   1.1  christos 	.uleb128 0x11	/* (DW_AT_low_pc) */
    357   1.1  christos 	.uleb128 0x13	/* (DW_FORM_ref4) */
    358   1.1  christos 	.uleb128 0x12	/* (DW_AT_high_pc) */
    359   1.1  christos 	.uleb128 0x13	/* (DW_FORM_ref4) */
    360   1.1  christos 	.uleb128 0x64	/* (DW_AT_object_pointer) */
    361   1.1  christos 	.uleb128 0x13	/* (DW_FORM_ref4) */
    362   1.1  christos 	.byte	0
    363   1.1  christos 	.byte	0
    364   1.1  christos 
    365   1.1  christos 	.uleb128 0xf	/* (abbrev code) */
    366   1.1  christos 	.uleb128 0x5	/* (TAG: DW_TAG_formal_parameter) */
    367   1.1  christos 	.byte	0	/* DW_children_no */
    368   1.1  christos 	.uleb128 0x31	/* (DW_AT_abstract_origin) */
    369   1.1  christos 	.uleb128 0x13	/* (DW_FORM_ref4) */
    370   1.1  christos 	.uleb128 0x2	/* (DW_AT_location) */
    371   1.1  christos 	.uleb128 0xa	/* (DW_FORM_block) */
    372   1.1  christos 	.byte	0
    373   1.1  christos 	.byte	0
    374   1.1  christos 	.byte	0
    375   1.1  christos 
    376   1.1  christos 	.section	.debug_line
    377   1.1  christos .Ldebug_line0:
    378  1.11  christos #ifdef __arm__
    379  1.11  christos 	.section	.note.GNU-stack,"",%progbits
    380  1.11  christos #else
    381  1.10  christos 	.section	.note.GNU-stack,"",@progbits
    382  1.11  christos #endif
    383