From daed22eb5afdc86267c8f90b55008267c9383fca Mon Sep 17 00:00:00 2001 From: Bernhard Schommer Date: Tue, 13 Oct 2015 10:49:36 +0200 Subject: Remove unused members from debug types. The dwarf 2 standard allows more attributes for certain debuggint entries than used by gcc or diab data. Since they are also not set by compcert they can be removed. Bug 17392. --- debug/DwarfPrinter.ml | 10 ---------- debug/DwarfTypes.mli | 5 ----- debug/Dwarfgen.ml | 6 ------ 3 files changed, 21 deletions(-) (limited to 'debug') diff --git a/debug/DwarfPrinter.ml b/debug/DwarfPrinter.ml index e2f062d8..e6d9cd5e 100644 --- a/debug/DwarfPrinter.ml +++ b/debug/DwarfPrinter.ml @@ -95,7 +95,6 @@ module DwarfPrinter(Target: DWARF_TARGET): (match entity.tag with | DW_TAG_array_type e -> prologue 0x1; - add_attr_some e.array_type_file_loc add_file_loc; add_type buf | DW_TAG_base_type b -> prologue 0x24; @@ -122,12 +121,10 @@ module DwarfPrinter(Target: DWARF_TARGET): add_attr_some e.enumeration_name add_name | DW_TAG_enumerator e -> prologue 0x28; - add_attr_some e.enumerator_file_loc add_file_loc; add_abbr_entry (0x1c,value_type_abbr) buf; add_name buf | DW_TAG_formal_parameter e -> prologue 0x5; - add_attr_some e.formal_parameter_file_loc add_file_loc; add_attr_some e.formal_parameter_artificial (add_abbr_entry (0x34,artificial_type_abbr)); add_attr_some e.formal_parameter_name add_name; add_type buf; @@ -143,7 +140,6 @@ module DwarfPrinter(Target: DWARF_TARGET): add_attr_some a.lexical_block_low_pc add_low_pc | DW_TAG_member e -> prologue 0xd; - add_attr_some e.member_file_loc add_file_loc; add_attr_some e.member_byte_size add_byte_size; add_attr_some e.member_bit_offset (add_abbr_entry (0xc,bit_offset_type_abbr)); add_attr_some e.member_bit_size (add_abbr_entry (0xd,bit_size_type_abbr)); @@ -196,7 +192,6 @@ module DwarfPrinter(Target: DWARF_TARGET): add_attr_some e.union_name add_name | DW_TAG_unspecified_parameter e -> prologue 0x18; - add_attr_some e.unspecified_parameter_file_loc add_file_loc; add_attr_some e.unspecified_parameter_artificial (add_abbr_entry (0x34,artificial_type_abbr)) | DW_TAG_variable e -> prologue 0x34; @@ -381,7 +376,6 @@ module DwarfPrinter(Target: DWARF_TARGET): fprintf oc " .4byte %a\n" label a let print_array_type oc at = - print_file_loc oc at.array_type_file_loc; print_ref oc at.array_type let print_bound_value oc = function @@ -432,12 +426,10 @@ module DwarfPrinter(Target: DWARF_TARGET): print_opt_value oc et.enumeration_name print_string let print_enumerator oc en = - print_file_loc oc en.enumerator_file_loc; print_sleb128 oc en.enumerator_value; print_string oc en.enumerator_name let print_formal_parameter oc fp = - print_file_loc oc fp.formal_parameter_file_loc; print_opt_value oc fp.formal_parameter_artificial print_flag; print_opt_value oc fp.formal_parameter_name print_string; print_ref oc fp.formal_parameter_type; @@ -454,7 +446,6 @@ module DwarfPrinter(Target: DWARF_TARGET): print_opt_value oc lb.lexical_block_low_pc print_addr let print_member oc mb = - print_file_loc oc mb.member_file_loc; print_opt_value oc mb.member_byte_size print_byte; print_opt_value oc mb.member_bit_offset print_byte; print_opt_value oc mb.member_bit_size print_byte; @@ -506,7 +497,6 @@ module DwarfPrinter(Target: DWARF_TARGET): print_opt_value oc ut.union_name print_string let print_unspecified_parameter oc up = - print_file_loc oc up.unspecified_parameter_file_loc; print_opt_value oc up.unspecified_parameter_artificial print_flag let print_variable oc var = diff --git a/debug/DwarfTypes.mli b/debug/DwarfTypes.mli index 233ada2e..669ceabc 100644 --- a/debug/DwarfTypes.mli +++ b/debug/DwarfTypes.mli @@ -66,7 +66,6 @@ type file_loc = type dw_tag_array_type = { - array_type_file_loc: file_loc option; array_type: reference; } @@ -99,14 +98,12 @@ type dw_tag_enumeration_type = type dw_tag_enumerator = { - enumerator_file_loc: file_loc option; enumerator_value: constant; enumerator_name: string; } type dw_tag_formal_parameter = { - formal_parameter_file_loc: file_loc option; formal_parameter_artificial: flag option; formal_parameter_name: string option; formal_parameter_type: reference; @@ -128,7 +125,6 @@ type dw_tag_lexical_block = type dw_tag_member = { - member_file_loc: file_loc option; member_byte_size: constant option; member_bit_offset: constant option; member_bit_size: constant option; @@ -191,7 +187,6 @@ type dw_tag_union_type = type dw_tag_unspecified_parameter = { - unspecified_parameter_file_loc: file_loc option; unspecified_parameter_artificial: flag option; } diff --git a/debug/Dwarfgen.ml b/debug/Dwarfgen.ml index 8048ea43..a3414831 100644 --- a/debug/Dwarfgen.ml +++ b/debug/Dwarfgen.ml @@ -107,7 +107,6 @@ let pointer_to_entry id p = let array_to_entry id arr = let arr_tag = { - array_type_file_loc = None; array_type = arr.arr_type; } in let arr_entry = new_entry id (DW_TAG_array_type arr_tag) in @@ -134,7 +133,6 @@ let enum_to_entry file id e = let enumerator_to_entry e = let tag = { - enumerator_file_loc = None; enumerator_value = Int64.to_int (e.enumerator_const); enumerator_name = e.enumerator_name; } in @@ -153,14 +151,12 @@ let enum_to_entry file id e = let fun_type_to_entry id f = let children = if f.fun_prototyped then let u = { - unspecified_parameter_file_loc = None; unspecified_parameter_artificial = None; } in [new_entry (next_id ()) (DW_TAG_unspecified_parameter u)] else List.map (fun p -> let fp = { - formal_parameter_file_loc = None; formal_parameter_artificial = None; formal_parameter_name = if p.param_name <> "" then Some p.param_name else None; formal_parameter_type = p.param_type; @@ -178,7 +174,6 @@ let fun_type_to_entry id f = let member_to_entry mem = let mem = { - member_file_loc = None; member_byte_size = mem.cfd_byte_size; member_bit_offset = mem.cfd_bit_offset; member_bit_size = mem.cfd_bit_size; @@ -353,7 +348,6 @@ let location_entry f_id atom = let function_parameter_to_entry f_id (acc,bcc) p = let loc,loc_list = location_entry f_id (get_opt_val p.parameter_atom) in let p = { - formal_parameter_file_loc = None; formal_parameter_artificial = None; formal_parameter_name = Some p.parameter_name; formal_parameter_type = p.parameter_type; -- cgit