This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [patch] XLF Fortran: Remove an inappropriate complaint


On Sun, 25 Nov 2007 23:13:57 +0100, Daniel Jacobowitz wrote:
...
> I'm confused.  What's wrong?
> 
> The patch I was replying to removed the complaint call.  That seems
> fine, since it isn't related to DW_FORM_ref* support.

The attached file (a binary patched one GCC output) should have for
DW_TAG_array_type <7a>:

According to the DWARF3 spec: index type `short int'.

Current CVS HEAD GDB complains and assigns: index type `long int' (64-bit int).

Therefore GDB violates the DWARF3 spec and the complaint there is right as it
warns the user GDB has violated the DWARF3 spec while parsing the ELF file.



Regards,
Jan


Contents of the .debug_abbrev section:

  Number TAG
   2      DW_TAG_variable    [no children]
    DW_AT_name         DW_FORM_string
    DW_AT_decl_file    DW_FORM_data1
    DW_AT_decl_line    DW_FORM_data1
    DW_AT_type         DW_FORM_ref4
    DW_AT_external     DW_FORM_flag
    DW_AT_location     DW_FORM_block1
   3      DW_TAG_base_type    [no children]
    DW_AT_name         DW_FORM_string
    DW_AT_byte_size    DW_FORM_data1
    DW_AT_encoding     DW_FORM_data1
   4      DW_TAG_array_type    [has children]
    DW_AT_sibling      DW_FORM_ref4
    DW_AT_type         DW_FORM_ref4
   5      DW_TAG_subrange_type    [no children]
    DW_AT_upper_bound  DW_FORM_ref1
    DW_AT_visibility   DW_FORM_data4

The section .debug_info contains:

  Compilation Unit @ offset 0x0:
   Pointer Size:  8
 <1><55>: Abbrev Number: 2 (DW_TAG_variable)
  <56>     DW_AT_name        : bound	
  <5c>     DW_AT_decl_file   : 1	
  <5d>     DW_AT_decl_line   : 1	
  <5e>     DW_AT_type        : <6d>	
  <62>     DW_AT_external    : 1	
  <63>     DW_AT_location    : 9 byte block: 3 0 0 0 0 0 0 0 0 	(DW_OP_addr: 0)
 <1><6d>: Abbrev Number: 3 (DW_TAG_base_type)
  <6e>     DW_AT_name        : short int	
  <78>     DW_AT_byte_size   : 2	
  <79>     DW_AT_encoding    : 5	(signed)
 <1><7a>: Abbrev Number: 4 (DW_TAG_array_type)
  <7f>     DW_AT_type        : <9f>	
 <2><83>: Abbrev Number: 5 (DW_TAG_subrange_type)
  <84>     DW_AT_upper_bound : <55>	
  <85>     DW_AT_visibility  : 0x2	(exported)
 <1><9f>: Abbrev Number: 3 (DW_TAG_base_type)
  <a0>     DW_AT_name        : char	
  <a5>     DW_AT_byte_size   : 1	
  <a6>     DW_AT_encoding    : 6	(signed char)

Attachment: type-var.o.gz
Description: GNU Zip compressed data


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]