Add enum values for HP extensions to DWARF standard
authorNick Clifton <nickc@redhat.com>
Thu, 11 Sep 2003 11:20:42 +0000 (11:20 +0000)
committerNick Clifton <nickc@redhat.com>
Thu, 11 Sep 2003 11:20:42 +0000 (11:20 +0000)
include/elf/ChangeLog
include/elf/dwarf2.h

index eec49b1b349b1b8b76eeaf4adfcd98d25643ad4e..02f20528d30a3d953ada38e89baeb603482122c9 100644 (file)
@@ -1,3 +1,8 @@
+2003-09-11  James Cownie <jcownie@etnus.com>
+
+       * dwarf2.h: Add HP dwarf extensions from their hacked gdb
+       header files (ftp://ftp.hp.com/pub/lang/tools/WDB/wdb-4.0.tar.gz).
+
 2003-09-04  Nick Clifton  <nickc@redhat.com>
 
        * v850.h (E_V850E1_ARCH): Define.
index 26d2dea4436ca255cf04f92e6a0a34b5f3afcc47..bede7e297a3fe7fef698eeea6f5ba647533e8a7a 100644 (file)
@@ -189,6 +189,8 @@ enum dwarf_tag
     DW_TAG_imported_unit = 0x3d,
     /* SGI/MIPS Extensions.  */
     DW_TAG_MIPS_loop = 0x4081,
+    /* HP extensions.  See: ftp://ftp.hp.com/pub/lang/tools/WDB/wdb-4.0.tar.gz .  */
+    DW_TAG_HP_array_descriptor = 0x4090,
     /* GNU extensions.  */
     DW_TAG_format_label = 0x4101,      /* For FORTRAN 77 and Fortran 90.  */
     DW_TAG_function_template = 0x4102, /* For C++.  */
@@ -238,7 +240,6 @@ enum dwarf_form
   };
 
 /* Attribute names and codes.  */
-
 enum dwarf_attribute
   {
     DW_AT_sibling = 0x01,
@@ -328,6 +329,21 @@ enum dwarf_attribute
     DW_AT_MIPS_abstract_name = 0x2009,
     DW_AT_MIPS_clone_origin = 0x200a,
     DW_AT_MIPS_has_inlines = 0x200b,
+    /* HP extensions.  */
+    DW_AT_HP_block_index         = 0x2000,
+    DW_AT_HP_unmodifiable        = 0x2001, /* Same as DW_AT_MIPS_fde.  */
+    DW_AT_HP_actuals_stmt_list   = 0x2010,
+    DW_AT_HP_proc_per_section    = 0x2011,
+    DW_AT_HP_raw_data_ptr        = 0x2012,
+    DW_AT_HP_pass_by_reference   = 0x2013,
+    DW_AT_HP_opt_level           = 0x2014,
+    DW_AT_HP_prof_version_id     = 0x2015,
+    DW_AT_HP_opt_flags           = 0x2016,
+    DW_AT_HP_cold_region_low_pc  = 0x2017,
+    DW_AT_HP_cold_region_high_pc = 0x2018,
+    DW_AT_HP_all_variables_modifiable = 0x2019,
+    DW_AT_HP_linkage_name        = 0x201a,
+    DW_AT_HP_prof_flags          = 0x201b,  /* In comp unit of procs_info for -g.  */
     /* GNU extensions.  */
     DW_AT_sf_names   = 0x2101,
     DW_AT_src_info   = 0x2102,
@@ -503,7 +519,15 @@ enum dwarf_location_atom
     DW_OP_call4 = 0x99,
     DW_OP_call_ref = 0x9a,
     /* GNU extensions.  */
-    DW_OP_GNU_push_tls_address = 0xe0
+    DW_OP_GNU_push_tls_address = 0xe0,
+    /* HP extensions.  */
+    DW_OP_HP_unknown     = 0xe0, /* Ouch, the same as GNU_push_tls_address.  */
+    DW_OP_HP_is_value    = 0xe1,
+    DW_OP_HP_fltconst4   = 0xe2,
+    DW_OP_HP_fltconst8   = 0xe3,
+    DW_OP_HP_mod_range   = 0xe4,
+    DW_OP_HP_unmod_range = 0xe5,
+    DW_OP_HP_tls         = 0xe6
   };
 
 #define DW_OP_lo_user  0xe0    /* Implementation-defined range start.  */
@@ -522,7 +546,15 @@ enum dwarf_type
     DW_ATE_unsigned = 0x7,
     DW_ATE_unsigned_char = 0x8,
     /* DWARF 3.  */
-    DW_ATE_imaginary_float = 0x9
+    DW_ATE_imaginary_float = 0x9,
+    /* HP extensions.  */
+    DW_ATE_HP_float80            = 0x80, /* Floating-point (80 bit).  */
+    DW_ATE_HP_complex_float80    = 0x81, /* Complex floating-point (80 bit).  */
+    DW_ATE_HP_float128           = 0x82, /* Floating-point (128 bit).  */
+    DW_ATE_HP_complex_float128   = 0x83, /* Complex floating-point (128 bit).  */
+    DW_ATE_HP_floathpintel       = 0x84, /* Floating-point (82 bit IA64).  */
+    DW_ATE_HP_imaginary_float80  = 0x85,
+    DW_ATE_HP_imaginary_float128 = 0x86
   };
 
 #define        DW_ATE_lo_user 0x80
@@ -619,7 +651,18 @@ enum dwarf_line_number_x_ops
   {
     DW_LNE_end_sequence = 1,
     DW_LNE_set_address = 2,
-    DW_LNE_define_file = 3
+    DW_LNE_define_file = 3,
+    /* HP extensions.  */
+    DW_LNE_HP_negate_is_UV_update      = 0x11,
+    DW_LNE_HP_push_context             = 0x12,
+    DW_LNE_HP_pop_context              = 0x13,
+    DW_LNE_HP_set_file_line_column     = 0x14,
+    DW_LNE_HP_set_routine_name         = 0x15,
+    DW_LNE_HP_set_sequence             = 0x16,
+    DW_LNE_HP_negate_post_semantics    = 0x17,
+    DW_LNE_HP_negate_function_exit     = 0x18,
+    DW_LNE_HP_negate_front_end_logical = 0x19,
+    DW_LNE_HP_define_proc              = 0x20
   };
 
 /* Call frame information.  */
@@ -643,17 +686,14 @@ enum dwarf_call_frame_info
     DW_CFA_def_cfa = 0x0c,
     DW_CFA_def_cfa_register = 0x0d,
     DW_CFA_def_cfa_offset = 0x0e,
-
     /* DWARF 3.  */
     DW_CFA_def_cfa_expression = 0x0f,
     DW_CFA_expression = 0x10,
     DW_CFA_offset_extended_sf = 0x11,
     DW_CFA_def_cfa_sf = 0x12,
     DW_CFA_def_cfa_offset_sf = 0x13,
-
     /* SGI/MIPS specific.  */
     DW_CFA_MIPS_advance_loc8 = 0x1d,
-
     /* GNU extensions.  */
     DW_CFA_GNU_window_save = 0x2d,
     DW_CFA_GNU_args_size = 0x2e,