12de3b87aSKai Wang /*- 22de3b87aSKai Wang * Copyright (c) 2007 John Birrell (jb@freebsd.org) 32de3b87aSKai Wang * Copyright (c) 2009 Kai Wang 42de3b87aSKai Wang * All rights reserved. 52de3b87aSKai Wang * 62de3b87aSKai Wang * Redistribution and use in source and binary forms, with or without 72de3b87aSKai Wang * modification, are permitted provided that the following conditions 82de3b87aSKai Wang * are met: 92de3b87aSKai Wang * 1. Redistributions of source code must retain the above copyright 102de3b87aSKai Wang * notice, this list of conditions and the following disclaimer. 112de3b87aSKai Wang * 2. Redistributions in binary form must reproduce the above copyright 122de3b87aSKai Wang * notice, this list of conditions and the following disclaimer in the 132de3b87aSKai Wang * documentation and/or other materials provided with the distribution. 142de3b87aSKai Wang * 152de3b87aSKai Wang * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 162de3b87aSKai Wang * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 172de3b87aSKai Wang * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 182de3b87aSKai Wang * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 192de3b87aSKai Wang * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 202de3b87aSKai Wang * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 212de3b87aSKai Wang * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 222de3b87aSKai Wang * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 232de3b87aSKai Wang * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 242de3b87aSKai Wang * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 252de3b87aSKai Wang * SUCH DAMAGE. 262de3b87aSKai Wang */ 272de3b87aSKai Wang 282de3b87aSKai Wang #include "_libdwarf.h" 292de3b87aSKai Wang 30*d003e0d7SEd Maste ELFTC_VCSID("$Id: dwarf_dump.c 3749 2019-06-28 01:10:44Z emaste $"); 312de3b87aSKai Wang 322de3b87aSKai Wang int 332de3b87aSKai Wang dwarf_get_ACCESS_name(unsigned access, const char **s) 342de3b87aSKai Wang { 352de3b87aSKai Wang 362de3b87aSKai Wang assert(s != NULL); 372de3b87aSKai Wang 382de3b87aSKai Wang switch (access) { 392de3b87aSKai Wang case DW_ACCESS_public: 402de3b87aSKai Wang *s = "DW_ACCESS_public"; break; 412de3b87aSKai Wang case DW_ACCESS_protected: 422de3b87aSKai Wang *s = "DW_ACCESS_protected"; break; 432de3b87aSKai Wang case DW_ACCESS_private: 442de3b87aSKai Wang *s = "DW_ACCESS_private"; break; 452de3b87aSKai Wang default: 462de3b87aSKai Wang return (DW_DLV_NO_ENTRY); 472de3b87aSKai Wang } 482de3b87aSKai Wang 492de3b87aSKai Wang return (DW_DLV_OK); 502de3b87aSKai Wang } 512de3b87aSKai Wang 522de3b87aSKai Wang int 532de3b87aSKai Wang dwarf_get_AT_name(unsigned attr, const char **s) 542de3b87aSKai Wang { 552de3b87aSKai Wang 562de3b87aSKai Wang assert(s != NULL); 572de3b87aSKai Wang 582de3b87aSKai Wang switch (attr) { 592de3b87aSKai Wang case DW_AT_abstract_origin: 602de3b87aSKai Wang *s = "DW_AT_abstract_origin"; break; 612de3b87aSKai Wang case DW_AT_accessibility: 622de3b87aSKai Wang *s = "DW_AT_accessibility"; break; 632de3b87aSKai Wang case DW_AT_address_class: 642de3b87aSKai Wang *s = "DW_AT_address_class"; break; 652de3b87aSKai Wang case DW_AT_artificial: 662de3b87aSKai Wang *s = "DW_AT_artificial"; break; 672de3b87aSKai Wang case DW_AT_allocated: 682de3b87aSKai Wang *s = "DW_AT_allocated"; break; 692de3b87aSKai Wang case DW_AT_associated: 702de3b87aSKai Wang *s = "DW_AT_associated"; break; 712de3b87aSKai Wang case DW_AT_base_types: 722de3b87aSKai Wang *s = "DW_AT_base_types"; break; 732de3b87aSKai Wang case DW_AT_binary_scale: 742de3b87aSKai Wang *s = "DW_AT_binary_scale"; break; 752de3b87aSKai Wang case DW_AT_bit_offset: 762de3b87aSKai Wang *s = "DW_AT_bit_offset"; break; 772de3b87aSKai Wang case DW_AT_bit_size: 782de3b87aSKai Wang *s = "DW_AT_bit_size"; break; 792de3b87aSKai Wang case DW_AT_bit_stride: 802de3b87aSKai Wang *s = "DW_AT_bit_stride"; break; 812de3b87aSKai Wang case DW_AT_byte_size: 822de3b87aSKai Wang *s = "DW_AT_byte_size"; break; 832de3b87aSKai Wang case DW_AT_byte_stride: 842de3b87aSKai Wang *s = "DW_AT_byte_stride"; break; 852de3b87aSKai Wang case DW_AT_calling_convention: 862de3b87aSKai Wang *s = "DW_AT_calling_convention"; break; 872de3b87aSKai Wang case DW_AT_common_reference: 882de3b87aSKai Wang *s = "DW_AT_common_reference"; break; 892de3b87aSKai Wang case DW_AT_comp_dir: 902de3b87aSKai Wang *s = "DW_AT_comp_dir"; break; 912de3b87aSKai Wang case DW_AT_const_expr: 922de3b87aSKai Wang *s = "DW_AT_const_expr"; break; 932de3b87aSKai Wang case DW_AT_const_value: 942de3b87aSKai Wang *s = "DW_AT_const_value"; break; 952de3b87aSKai Wang case DW_AT_containing_type: 962de3b87aSKai Wang *s = "DW_AT_containing_type"; break; 972de3b87aSKai Wang case DW_AT_count: 982de3b87aSKai Wang *s = "DW_AT_count"; break; 992de3b87aSKai Wang case DW_AT_call_column: 1002de3b87aSKai Wang *s = "DW_AT_call_column"; break; 1012de3b87aSKai Wang case DW_AT_call_file: 1022de3b87aSKai Wang *s = "DW_AT_call_file"; break; 1032de3b87aSKai Wang case DW_AT_call_line: 1042de3b87aSKai Wang *s = "DW_AT_call_line"; break; 1052de3b87aSKai Wang case DW_AT_data_bit_offset: 1062de3b87aSKai Wang *s = "DW_AT_data_bit_offset"; break; 1072de3b87aSKai Wang case DW_AT_data_location: 1082de3b87aSKai Wang *s = "DW_AT_data_location"; break; 1092de3b87aSKai Wang case DW_AT_data_member_location: 1102de3b87aSKai Wang *s = "DW_AT_data_member_location"; break; 1112de3b87aSKai Wang case DW_AT_decl_column: 1122de3b87aSKai Wang *s = "DW_AT_decl_column"; break; 1132de3b87aSKai Wang case DW_AT_decl_file: 1142de3b87aSKai Wang *s = "DW_AT_decl_file"; break; 1152de3b87aSKai Wang case DW_AT_decl_line: 1162de3b87aSKai Wang *s = "DW_AT_decl_line"; break; 1172de3b87aSKai Wang case DW_AT_declaration: 1182de3b87aSKai Wang *s = "DW_AT_declaration"; break; 1192de3b87aSKai Wang case DW_AT_default_value: 1202de3b87aSKai Wang *s = "DW_AT_default_value"; break; 1212de3b87aSKai Wang case DW_AT_decimal_scale: 1222de3b87aSKai Wang *s = "DW_AT_decimal_scale"; break; 1232de3b87aSKai Wang case DW_AT_decimal_sign: 1242de3b87aSKai Wang *s = "DW_AT_decimal_sign"; break; 1252de3b87aSKai Wang case DW_AT_description: 1262de3b87aSKai Wang *s = "DW_AT_description"; break; 1272de3b87aSKai Wang case DW_AT_digit_count: 1282de3b87aSKai Wang *s = "DW_AT_digit_count"; break; 1292de3b87aSKai Wang case DW_AT_discr: 1302de3b87aSKai Wang *s = "DW_AT_discr"; break; 1312de3b87aSKai Wang case DW_AT_discr_list: 1322de3b87aSKai Wang *s = "DW_AT_discr_list"; break; 1332de3b87aSKai Wang case DW_AT_discr_value: 1342de3b87aSKai Wang *s = "DW_AT_discr_value"; break; 1352de3b87aSKai Wang case DW_AT_element_list: 1362de3b87aSKai Wang *s = "DW_AT_element_list"; break; 1372de3b87aSKai Wang case DW_AT_encoding: 1382de3b87aSKai Wang *s = "DW_AT_encoding"; break; 1392de3b87aSKai Wang case DW_AT_enum_class: 1402de3b87aSKai Wang *s = "DW_AT_enum_class"; break; 1412de3b87aSKai Wang case DW_AT_external: 1422de3b87aSKai Wang *s = "DW_AT_external"; break; 1432de3b87aSKai Wang case DW_AT_entry_pc: 1442de3b87aSKai Wang *s = "DW_AT_entry_pc"; break; 1452de3b87aSKai Wang case DW_AT_extension: 1462de3b87aSKai Wang *s = "DW_AT_extension"; break; 1472de3b87aSKai Wang case DW_AT_explicit: 1482de3b87aSKai Wang *s = "DW_AT_explicit"; break; 1492de3b87aSKai Wang case DW_AT_endianity: 1502de3b87aSKai Wang *s = "DW_AT_endianity"; break; 1512de3b87aSKai Wang case DW_AT_elemental: 1522de3b87aSKai Wang *s = "DW_AT_elemental"; break; 1532de3b87aSKai Wang case DW_AT_frame_base: 1542de3b87aSKai Wang *s = "DW_AT_frame_base"; break; 1552de3b87aSKai Wang case DW_AT_friend: 1562de3b87aSKai Wang *s = "DW_AT_friend"; break; 1572de3b87aSKai Wang case DW_AT_high_pc: 1582de3b87aSKai Wang *s = "DW_AT_high_pc"; break; 1592de3b87aSKai Wang case DW_AT_hi_user: 1602de3b87aSKai Wang *s = "DW_AT_hi_user"; break; 1612de3b87aSKai Wang case DW_AT_identifier_case: 1622de3b87aSKai Wang *s = "DW_AT_identifier_case"; break; 1632de3b87aSKai Wang case DW_AT_import: 1642de3b87aSKai Wang *s = "DW_AT_import"; break; 1652de3b87aSKai Wang case DW_AT_inline: 1662de3b87aSKai Wang *s = "DW_AT_inline"; break; 1672de3b87aSKai Wang case DW_AT_is_optional: 1682de3b87aSKai Wang *s = "DW_AT_is_optional"; break; 1692de3b87aSKai Wang case DW_AT_language: 1702de3b87aSKai Wang *s = "DW_AT_language"; break; 1712de3b87aSKai Wang case DW_AT_linkage_name: 1722de3b87aSKai Wang *s = "DW_AT_linkage_name"; break; 1732de3b87aSKai Wang case DW_AT_lo_user: 1742de3b87aSKai Wang *s = "DW_AT_lo_user"; break; 1752de3b87aSKai Wang case DW_AT_location: 1762de3b87aSKai Wang *s = "DW_AT_location"; break; 1772de3b87aSKai Wang case DW_AT_low_pc: 1782de3b87aSKai Wang *s = "DW_AT_low_pc"; break; 1792de3b87aSKai Wang case DW_AT_lower_bound: 1802de3b87aSKai Wang *s = "DW_AT_lower_bound"; break; 1812de3b87aSKai Wang case DW_AT_macro_info: 1822de3b87aSKai Wang *s = "DW_AT_macro_info"; break; 1832de3b87aSKai Wang case DW_AT_main_subprogram: 1842de3b87aSKai Wang *s = "DW_AT_main_subprogram"; break; 1852de3b87aSKai Wang case DW_AT_mutable: 1862de3b87aSKai Wang *s = "DW_AT_mutable"; break; 1872de3b87aSKai Wang case DW_AT_member: 1882de3b87aSKai Wang *s = "DW_AT_member"; break; 1892de3b87aSKai Wang case DW_AT_name: 1902de3b87aSKai Wang *s = "DW_AT_name"; break; 1912de3b87aSKai Wang case DW_AT_namelist_item: 1922de3b87aSKai Wang *s = "DW_AT_namelist_item"; break; 1932de3b87aSKai Wang case DW_AT_ordering: 1942de3b87aSKai Wang *s = "DW_AT_ordering"; break; 1952de3b87aSKai Wang case DW_AT_object_pointer: 1962de3b87aSKai Wang *s = "DW_AT_object_pointer"; break; 1972de3b87aSKai Wang case DW_AT_priority: 1982de3b87aSKai Wang *s = "DW_AT_priority"; break; 1992de3b87aSKai Wang case DW_AT_producer: 2002de3b87aSKai Wang *s = "DW_AT_producer"; break; 2012de3b87aSKai Wang case DW_AT_prototyped: 2022de3b87aSKai Wang *s = "DW_AT_prototyped"; break; 2032de3b87aSKai Wang case DW_AT_picture_string: 2042de3b87aSKai Wang *s = "DW_AT_picture_string"; break; 2052de3b87aSKai Wang case DW_AT_pure: 2062de3b87aSKai Wang *s = "DW_AT_pure"; break; 2072de3b87aSKai Wang case DW_AT_return_addr: 2082de3b87aSKai Wang *s = "DW_AT_return_addr"; break; 2092de3b87aSKai Wang case DW_AT_ranges: 2102de3b87aSKai Wang *s = "DW_AT_ranges"; break; 2112de3b87aSKai Wang case DW_AT_recursive: 2122de3b87aSKai Wang *s = "DW_AT_recursive"; break; 2132de3b87aSKai Wang case DW_AT_segment: 2142de3b87aSKai Wang *s = "DW_AT_segment"; break; 2152de3b87aSKai Wang case DW_AT_sibling: 2162de3b87aSKai Wang *s = "DW_AT_sibling"; break; 2172de3b87aSKai Wang case DW_AT_signature: 2182de3b87aSKai Wang *s = "DW_AT_signature"; break; 2192de3b87aSKai Wang case DW_AT_specification: 2202de3b87aSKai Wang *s = "DW_AT_specification"; break; 2212de3b87aSKai Wang case DW_AT_start_scope: 2222de3b87aSKai Wang *s = "DW_AT_start_scope"; break; 2232de3b87aSKai Wang case DW_AT_static_link: 2242de3b87aSKai Wang *s = "DW_AT_static_link"; break; 2252de3b87aSKai Wang case DW_AT_stmt_list: 2262de3b87aSKai Wang *s = "DW_AT_stmt_list"; break; 2272de3b87aSKai Wang case DW_AT_string_length: 2282de3b87aSKai Wang *s = "DW_AT_string_length"; break; 2292de3b87aSKai Wang case DW_AT_subscr_data: 2302de3b87aSKai Wang *s = "DW_AT_subscr_data"; break; 2312de3b87aSKai Wang case DW_AT_small: 2322de3b87aSKai Wang *s = "DW_AT_small"; break; 2332de3b87aSKai Wang case DW_AT_type: 2342de3b87aSKai Wang *s = "DW_AT_type"; break; 2352de3b87aSKai Wang case DW_AT_trampoline: 2362de3b87aSKai Wang *s = "DW_AT_trampoline"; break; 2372de3b87aSKai Wang case DW_AT_threads_scaled: 2382de3b87aSKai Wang *s = "DW_AT_threads_scaled"; break; 2392de3b87aSKai Wang case DW_AT_upper_bound: 2402de3b87aSKai Wang *s = "DW_AT_upper_bound"; break; 2412de3b87aSKai Wang case DW_AT_use_location: 2422de3b87aSKai Wang *s = "DW_AT_use_location"; break; 2432de3b87aSKai Wang case DW_AT_use_UTF8: 2442de3b87aSKai Wang *s = "DW_AT_use_UTF8"; break; 2452de3b87aSKai Wang case DW_AT_variable_parameter: 2462de3b87aSKai Wang *s = "DW_AT_variable_parameter"; break; 2472de3b87aSKai Wang case DW_AT_virtuality: 2482de3b87aSKai Wang *s = "DW_AT_virtuality"; break; 2492de3b87aSKai Wang case DW_AT_visibility: 2502de3b87aSKai Wang *s = "DW_AT_visibility"; break; 2512de3b87aSKai Wang case DW_AT_vtable_elem_location: 2522de3b87aSKai Wang *s = "DW_AT_vtable_elem_location"; break; 253cf781b2eSEd Maste case DW_AT_sf_names: 254cf781b2eSEd Maste *s = "DW_AT_sf_names"; break; 255cf781b2eSEd Maste case DW_AT_src_info: 256cf781b2eSEd Maste *s = "DW_AT_src_info"; break; 257cf781b2eSEd Maste case DW_AT_mac_info: 258cf781b2eSEd Maste *s = "DW_AT_mac_info"; break; 259cf781b2eSEd Maste case DW_AT_src_coords: 260cf781b2eSEd Maste *s = "DW_AT_src_coords"; break; 261cf781b2eSEd Maste case DW_AT_body_begin: 262cf781b2eSEd Maste *s = "DW_AT_body_begin"; break; 263cf781b2eSEd Maste case DW_AT_body_end: 264cf781b2eSEd Maste *s = "DW_AT_body_end"; break; 265bee2765cSEd Maste case DW_AT_MIPS_fde: 266bee2765cSEd Maste *s = "DW_AT_MIPS_fde"; break; 267bee2765cSEd Maste case DW_AT_MIPS_loop_begin: 268bee2765cSEd Maste *s = "DW_AT_MIPS_loop_begin"; break; 269bee2765cSEd Maste case DW_AT_MIPS_tail_loop_begin: 270bee2765cSEd Maste *s = "DW_AT_MIPS_tail_loop_begin"; break; 271bee2765cSEd Maste case DW_AT_MIPS_epilog_begin: 272bee2765cSEd Maste *s = "DW_AT_MIPS_epilog_begin"; break; 273bee2765cSEd Maste case DW_AT_MIPS_loop_unroll_factor: 274bee2765cSEd Maste *s = "DW_AT_MIPS_loop_unroll_factor"; break; 275bee2765cSEd Maste case DW_AT_MIPS_software_pipeline_depth: 276bee2765cSEd Maste *s = "DW_AT_MIPS_software_pipeline_depth"; break; 277bee2765cSEd Maste case DW_AT_MIPS_linkage_name: 278bee2765cSEd Maste *s = "DW_AT_MIPS_linkage_name"; break; 279bee2765cSEd Maste case DW_AT_MIPS_stride: 280bee2765cSEd Maste *s = "DW_AT_MIPS_stride"; break; 281bee2765cSEd Maste case DW_AT_MIPS_abstract_name: 282bee2765cSEd Maste *s = "DW_AT_MIPS_abstract_name"; break; 283bee2765cSEd Maste case DW_AT_MIPS_clone_origin: 284bee2765cSEd Maste *s = "DW_AT_MIPS_clone_origin"; break; 285bee2765cSEd Maste case DW_AT_MIPS_has_inlines: 286bee2765cSEd Maste *s = "DW_AT_MIPS_has_inlines"; break; 287bee2765cSEd Maste case DW_AT_MIPS_stride_byte: 288bee2765cSEd Maste *s = "DW_AT_MIPS_stride_byte"; break; 289bee2765cSEd Maste case DW_AT_MIPS_stride_elem: 290bee2765cSEd Maste *s = "DW_AT_MIPS_stride_elem"; break; 291bee2765cSEd Maste case DW_AT_MIPS_ptr_dopetype: 292bee2765cSEd Maste *s = "DW_AT_MIPS_ptr_dopetype"; break; 293bee2765cSEd Maste case DW_AT_MIPS_allocatable_dopetype: 294bee2765cSEd Maste *s = "DW_AT_MIPS_allocatable_dopetype"; break; 295bee2765cSEd Maste case DW_AT_MIPS_assumed_shape_dopetype: 296bee2765cSEd Maste *s = "DW_AT_MIPS_assumed_shape_dopetype"; break; 297bee2765cSEd Maste case DW_AT_MIPS_assumed_size: 298bee2765cSEd Maste *s = "DW_AT_MIPS_assumed_size"; break; 299cf781b2eSEd Maste case DW_AT_GNU_vector: 300cf781b2eSEd Maste *s = "DW_AT_GNU_vector"; break; 301cf781b2eSEd Maste case DW_AT_GNU_guarded_by: 302cf781b2eSEd Maste *s = "DW_AT_GNU_guarded_by"; break; 303cf781b2eSEd Maste case DW_AT_GNU_pt_guarded_by: 304cf781b2eSEd Maste *s = "DW_AT_GNU_pt_guarded_by"; break; 305cf781b2eSEd Maste case DW_AT_GNU_guarded: 306cf781b2eSEd Maste *s = "DW_AT_GNU_guarded"; break; 307cf781b2eSEd Maste case DW_AT_GNU_pt_guarded: 308cf781b2eSEd Maste *s = "DW_AT_GNU_pt_guarded"; break; 309cf781b2eSEd Maste case DW_AT_GNU_locks_excluded: 310cf781b2eSEd Maste *s = "DW_AT_GNU_locks_excluded"; break; 311cf781b2eSEd Maste case DW_AT_GNU_exclusive_locks_required: 312cf781b2eSEd Maste *s = "DW_AT_GNU_exclusive_locks_required"; break; 313cf781b2eSEd Maste case DW_AT_GNU_shared_locks_required: 314cf781b2eSEd Maste *s = "DW_AT_GNU_shared_locks_required"; break; 315cf781b2eSEd Maste case DW_AT_GNU_odr_signature: 316cf781b2eSEd Maste *s = "DW_AT_GNU_odr_signature"; break; 317cf781b2eSEd Maste case DW_AT_GNU_template_name: 318cf781b2eSEd Maste *s = "DW_AT_GNU_template_name"; break; 319cf781b2eSEd Maste case DW_AT_GNU_call_site_value: 320cf781b2eSEd Maste *s = "DW_AT_GNU_call_site_value"; break; 321cf781b2eSEd Maste case DW_AT_GNU_call_site_data_value: 322cf781b2eSEd Maste *s = "DW_AT_GNU_call_site_data_value"; break; 323cf781b2eSEd Maste case DW_AT_GNU_call_site_target: 324cf781b2eSEd Maste *s = "DW_AT_GNU_call_site_target"; break; 325cf781b2eSEd Maste case DW_AT_GNU_call_site_target_clobbered: 326cf781b2eSEd Maste *s = "DW_AT_GNU_call_site_target_clobbered"; break; 327cf781b2eSEd Maste case DW_AT_GNU_tail_call: 328cf781b2eSEd Maste *s = "DW_AT_GNU_tail_call"; break; 329cf781b2eSEd Maste case DW_AT_GNU_all_tail_call_sites: 330cf781b2eSEd Maste *s = "DW_AT_GNU_all_tail_call_sites"; break; 331cf781b2eSEd Maste case DW_AT_GNU_all_call_sites: 332cf781b2eSEd Maste *s = "DW_AT_GNU_all_call_sites"; break; 333cf781b2eSEd Maste case DW_AT_GNU_all_source_call_sites: 334cf781b2eSEd Maste *s = "DW_AT_GNU_all_source_call_sites"; break; 335feba6b41SMark Johnston case DW_AT_APPLE_optimized: 336feba6b41SMark Johnston *s = "DW_AT_APPLE_optimized"; break; 337feba6b41SMark Johnston case DW_AT_APPLE_flags: 338feba6b41SMark Johnston *s = "DW_AT_APPLE_flags"; break; 339feba6b41SMark Johnston case DW_AT_APPLE_isa: 340feba6b41SMark Johnston *s = "DW_AT_APPLE_isa"; break; 341feba6b41SMark Johnston case DW_AT_APPLE_block: 342feba6b41SMark Johnston *s = "DW_AT_APPLE_block"; break; 343feba6b41SMark Johnston case DW_AT_APPLE_major_runtime_vers: 344feba6b41SMark Johnston *s = "DW_AT_APPLE_major_runtime_vers"; break; 345feba6b41SMark Johnston case DW_AT_APPLE_runtime_class: 346feba6b41SMark Johnston *s = "DW_AT_APPLE_runtime_class"; break; 347feba6b41SMark Johnston case DW_AT_APPLE_omit_frame_ptr: 348feba6b41SMark Johnston *s = "DW_AT_APPLE_omit_frame_ptr"; break; 349feba6b41SMark Johnston case DW_AT_APPLE_property_name: 350feba6b41SMark Johnston *s = "DW_AT_APPLE_property_name"; break; 351feba6b41SMark Johnston case DW_AT_APPLE_property_getter: 352feba6b41SMark Johnston *s = "DW_AT_APPLE_property_getter"; break; 353feba6b41SMark Johnston case DW_AT_APPLE_property_setter: 354feba6b41SMark Johnston *s = "DW_AT_APPLE_property_setter"; break; 355feba6b41SMark Johnston case DW_AT_APPLE_property_attribute: 356feba6b41SMark Johnston *s = "DW_AT_APPLE_property_attribute"; break; 357feba6b41SMark Johnston case DW_AT_APPLE_objc_complete_type: 358feba6b41SMark Johnston *s = "DW_AT_APPLE_objc_complete_type"; break; 359feba6b41SMark Johnston case DW_AT_APPLE_property: 360feba6b41SMark Johnston *s = "DW_AT_APPLE_property"; break; 3612de3b87aSKai Wang default: 3622de3b87aSKai Wang return (DW_DLV_NO_ENTRY); 3632de3b87aSKai Wang } 3642de3b87aSKai Wang 3652de3b87aSKai Wang return (DW_DLV_OK); 3662de3b87aSKai Wang } 3672de3b87aSKai Wang 3682de3b87aSKai Wang int 3692de3b87aSKai Wang dwarf_get_ATE_name(unsigned ate, const char **s) 3702de3b87aSKai Wang { 3712de3b87aSKai Wang 3722de3b87aSKai Wang assert(s != NULL); 3732de3b87aSKai Wang 3742de3b87aSKai Wang switch(ate) { 3752de3b87aSKai Wang case DW_ATE_address: 3762de3b87aSKai Wang *s = "DW_ATE_address"; break; 3772de3b87aSKai Wang case DW_ATE_boolean: 3782de3b87aSKai Wang *s = "DW_ATE_boolean"; break; 3792de3b87aSKai Wang case DW_ATE_complex_float: 3802de3b87aSKai Wang *s = "DW_ATE_complex_float"; break; 3812de3b87aSKai Wang case DW_ATE_float: 3822de3b87aSKai Wang *s = "DW_ATE_float"; break; 3832de3b87aSKai Wang case DW_ATE_signed: 3842de3b87aSKai Wang *s = "DW_ATE_signed"; break; 3852de3b87aSKai Wang case DW_ATE_signed_char: 3862de3b87aSKai Wang *s = "DW_ATE_signed_char"; break; 3872de3b87aSKai Wang case DW_ATE_unsigned: 3882de3b87aSKai Wang *s = "DW_ATE_unsigned"; break; 3892de3b87aSKai Wang case DW_ATE_unsigned_char: 3902de3b87aSKai Wang *s = "DW_ATE_unsigned_char"; break; 3912de3b87aSKai Wang case DW_ATE_imaginary_float: 3922de3b87aSKai Wang *s = "DW_ATE_imaginary_float"; break; 3932de3b87aSKai Wang case DW_ATE_packed_decimal: 3942de3b87aSKai Wang *s = "DW_ATE_packed_decimal"; break; 3952de3b87aSKai Wang case DW_ATE_numeric_string: 3962de3b87aSKai Wang *s = "DW_ATE_numeric_string"; break; 3972de3b87aSKai Wang case DW_ATE_edited: 3982de3b87aSKai Wang *s = "DW_ATE_edited"; break; 3992de3b87aSKai Wang case DW_ATE_signed_fixed: 4002de3b87aSKai Wang *s = "DW_ATE_signed_fixed"; break; 4012de3b87aSKai Wang case DW_ATE_unsigned_fixed: 4022de3b87aSKai Wang *s = "DW_ATE_unsigned_fixed"; break; 4032de3b87aSKai Wang case DW_ATE_decimal_float: 4042de3b87aSKai Wang *s = "DW_ATE_decimal_float"; break; 4052de3b87aSKai Wang case DW_ATE_lo_user: 4062de3b87aSKai Wang *s = "DW_ATE_lo_user"; break; 4072de3b87aSKai Wang case DW_ATE_hi_user: 4082de3b87aSKai Wang *s = "DW_ATE_hi_user"; break; 4092de3b87aSKai Wang default: 4102de3b87aSKai Wang return (DW_DLV_NO_ENTRY); 4112de3b87aSKai Wang } 4122de3b87aSKai Wang 4132de3b87aSKai Wang return (DW_DLV_OK); 4142de3b87aSKai Wang } 4152de3b87aSKai Wang 4162de3b87aSKai Wang int 4172de3b87aSKai Wang dwarf_get_CC_name(unsigned cc, const char **s) 4182de3b87aSKai Wang { 4192de3b87aSKai Wang 4202de3b87aSKai Wang assert(s != NULL); 4212de3b87aSKai Wang 4222de3b87aSKai Wang switch (cc) { 4232de3b87aSKai Wang case DW_CC_normal: 4242de3b87aSKai Wang *s = "DW_CC_normal"; break; 4252de3b87aSKai Wang case DW_CC_program: 4262de3b87aSKai Wang *s = "DW_CC_program"; break; 4272de3b87aSKai Wang case DW_CC_nocall: 4282de3b87aSKai Wang *s = "DW_CC_nocall"; break; 4292de3b87aSKai Wang case DW_CC_lo_user: 4302de3b87aSKai Wang *s = "DW_CC_lo_user"; break; 4312de3b87aSKai Wang case DW_CC_hi_user: 4322de3b87aSKai Wang *s = "DW_CC_hi_user"; break; 4332de3b87aSKai Wang default: 4342de3b87aSKai Wang return (DW_DLV_NO_ENTRY); 4352de3b87aSKai Wang } 4362de3b87aSKai Wang 4372de3b87aSKai Wang return (DW_DLV_OK); 4382de3b87aSKai Wang } 4392de3b87aSKai Wang 4402de3b87aSKai Wang int 4412de3b87aSKai Wang dwarf_get_CFA_name(unsigned cfa, const char **s) 4422de3b87aSKai Wang { 4432de3b87aSKai Wang 4442de3b87aSKai Wang assert(s != NULL); 4452de3b87aSKai Wang 4462de3b87aSKai Wang switch (cfa) { 4472de3b87aSKai Wang case DW_CFA_advance_loc: 4482de3b87aSKai Wang *s = "DW_CFA_advance_loc"; break; 4492de3b87aSKai Wang case DW_CFA_offset: 4502de3b87aSKai Wang *s = "DW_CFA_offset"; break; 4512de3b87aSKai Wang case DW_CFA_restore: 4522de3b87aSKai Wang *s = "DW_CFA_restore"; break; 4532de3b87aSKai Wang case DW_CFA_nop: 4542de3b87aSKai Wang *s = "DW_CFA_nop"; break; 4552de3b87aSKai Wang case DW_CFA_set_loc: 4562de3b87aSKai Wang *s = "DW_CFA_set_loc"; break; 4572de3b87aSKai Wang case DW_CFA_advance_loc1: 4582de3b87aSKai Wang *s = "DW_CFA_advance_loc1"; break; 4592de3b87aSKai Wang case DW_CFA_advance_loc2: 4602de3b87aSKai Wang *s = "DW_CFA_advance_loc2"; break; 4612de3b87aSKai Wang case DW_CFA_advance_loc4: 4622de3b87aSKai Wang *s = "DW_CFA_advance_loc4"; break; 4632de3b87aSKai Wang case DW_CFA_offset_extended: 4642de3b87aSKai Wang *s = "DW_CFA_offset_extended"; break; 4652de3b87aSKai Wang case DW_CFA_restore_extended: 4662de3b87aSKai Wang *s = "DW_CFA_restore_extended"; break; 4672de3b87aSKai Wang case DW_CFA_undefined: 4682de3b87aSKai Wang *s = "DW_CFA_undefined"; break; 4692de3b87aSKai Wang case DW_CFA_same_value: 4702de3b87aSKai Wang *s = "DW_CFA_same_value"; break; 4712de3b87aSKai Wang case DW_CFA_register: 4722de3b87aSKai Wang *s = "DW_CFA_register"; break; 4732de3b87aSKai Wang case DW_CFA_remember_state: 4742de3b87aSKai Wang *s = "DW_CFA_remember_state"; break; 4752de3b87aSKai Wang case DW_CFA_restore_state: 4762de3b87aSKai Wang *s = "DW_CFA_restore_state"; break; 4772de3b87aSKai Wang case DW_CFA_def_cfa: 4782de3b87aSKai Wang *s = "DW_CFA_def_cfa"; break; 4792de3b87aSKai Wang case DW_CFA_def_cfa_register: 4802de3b87aSKai Wang *s = "DW_CFA_def_cfa_register"; break; 4812de3b87aSKai Wang case DW_CFA_def_cfa_offset: 4822de3b87aSKai Wang *s = "DW_CFA_def_cfa_offset"; break; 4832de3b87aSKai Wang case DW_CFA_def_cfa_expression: 4842de3b87aSKai Wang *s = "DW_CFA_def_cfa_expression"; break; 4852de3b87aSKai Wang case DW_CFA_expression: 4862de3b87aSKai Wang *s = "DW_CFA_expression"; break; 4872de3b87aSKai Wang case DW_CFA_offset_extended_sf: 4882de3b87aSKai Wang *s = "DW_CFA_offset_extended_sf"; break; 4892de3b87aSKai Wang case DW_CFA_def_cfa_sf: 4902de3b87aSKai Wang *s = "DW_CFA_def_cfa_sf"; break; 4912de3b87aSKai Wang case DW_CFA_def_cfa_offset_sf: 4922de3b87aSKai Wang *s = "DW_CFA_def_cfa_offset_sf"; break; 4932de3b87aSKai Wang case DW_CFA_val_offset: 4942de3b87aSKai Wang *s = "DW_CFA_val_offset"; break; 4952de3b87aSKai Wang case DW_CFA_val_offset_sf: 4962de3b87aSKai Wang *s = "DW_CFA_val_offset_sf"; break; 4972de3b87aSKai Wang case DW_CFA_val_expression: 4982de3b87aSKai Wang *s = "DW_CFA_val_expression"; break; 4992de3b87aSKai Wang case DW_CFA_lo_user: 5002de3b87aSKai Wang *s = "DW_CFA_lo_user"; break; 5012de3b87aSKai Wang case DW_CFA_high_user: 5022de3b87aSKai Wang *s = "DW_CFA_high_user"; break; 5032de3b87aSKai Wang default: 5042de3b87aSKai Wang return (DW_DLV_NO_ENTRY); 5052de3b87aSKai Wang } 5062de3b87aSKai Wang 5072de3b87aSKai Wang return (DW_DLV_OK); 5082de3b87aSKai Wang } 5092de3b87aSKai Wang 5102de3b87aSKai Wang int 5112de3b87aSKai Wang dwarf_get_CHILDREN_name(unsigned children, const char **s) 5122de3b87aSKai Wang { 5132de3b87aSKai Wang 5142de3b87aSKai Wang assert(s != NULL); 5152de3b87aSKai Wang 5162de3b87aSKai Wang switch (children) { 5172de3b87aSKai Wang case DW_CHILDREN_no: 5182de3b87aSKai Wang *s = "DW_CHILDREN_no"; break; 5192de3b87aSKai Wang case DW_CHILDREN_yes: 5202de3b87aSKai Wang *s = "DW_CHILDREN_yes"; break; 5212de3b87aSKai Wang default: 5222de3b87aSKai Wang return (DW_DLV_NO_ENTRY); 5232de3b87aSKai Wang } 5242de3b87aSKai Wang 5252de3b87aSKai Wang return (DW_DLV_OK); 5262de3b87aSKai Wang } 5272de3b87aSKai Wang 5282de3b87aSKai Wang int 5292de3b87aSKai Wang dwarf_get_FORM_name(unsigned form, const char **s) 5302de3b87aSKai Wang { 5312de3b87aSKai Wang 5322de3b87aSKai Wang assert(s != NULL); 5332de3b87aSKai Wang 5342de3b87aSKai Wang switch (form) { 5352de3b87aSKai Wang case DW_FORM_addr: 5362de3b87aSKai Wang *s = "DW_FORM_addr"; break; 5372de3b87aSKai Wang case DW_FORM_block: 5382de3b87aSKai Wang *s = "DW_FORM_block"; break; 5392de3b87aSKai Wang case DW_FORM_block1: 5402de3b87aSKai Wang *s = "DW_FORM_block1"; break; 5412de3b87aSKai Wang case DW_FORM_block2: 5422de3b87aSKai Wang *s = "DW_FORM_block2"; break; 5432de3b87aSKai Wang case DW_FORM_block4: 5442de3b87aSKai Wang *s = "DW_FORM_block4"; break; 5452de3b87aSKai Wang case DW_FORM_data1: 5462de3b87aSKai Wang *s = "DW_FORM_data1"; break; 5472de3b87aSKai Wang case DW_FORM_data2: 5482de3b87aSKai Wang *s = "DW_FORM_data2"; break; 5492de3b87aSKai Wang case DW_FORM_data4: 5502de3b87aSKai Wang *s = "DW_FORM_data4"; break; 5512de3b87aSKai Wang case DW_FORM_data8: 5522de3b87aSKai Wang *s = "DW_FORM_data8"; break; 5532de3b87aSKai Wang case DW_FORM_exprloc: 5542de3b87aSKai Wang *s = "DW_FORM_exprloc"; break; 5552de3b87aSKai Wang case DW_FORM_flag: 5562de3b87aSKai Wang *s = "DW_FORM_flag"; break; 5572de3b87aSKai Wang case DW_FORM_flag_present: 5582de3b87aSKai Wang *s = "DW_FORM_flag_present"; break; 5592de3b87aSKai Wang case DW_FORM_indirect: 5602de3b87aSKai Wang *s = "DW_FORM_indirect"; break; 5612de3b87aSKai Wang case DW_FORM_ref1: 5622de3b87aSKai Wang *s = "DW_FORM_ref1"; break; 5632de3b87aSKai Wang case DW_FORM_ref2: 5642de3b87aSKai Wang *s = "DW_FORM_ref2"; break; 5652de3b87aSKai Wang case DW_FORM_ref4: 5662de3b87aSKai Wang *s = "DW_FORM_ref4"; break; 5672de3b87aSKai Wang case DW_FORM_ref8: 5682de3b87aSKai Wang *s = "DW_FORM_ref8"; break; 5692de3b87aSKai Wang case DW_FORM_ref_addr: 5702de3b87aSKai Wang *s = "DW_FORM_ref_addr"; break; 5712de3b87aSKai Wang case DW_FORM_ref_sig8: 5722de3b87aSKai Wang *s = "DW_FORM_ref_sig8"; break; 5732de3b87aSKai Wang case DW_FORM_ref_udata: 5742de3b87aSKai Wang *s = "DW_FORM_ref_udata"; break; 5752de3b87aSKai Wang case DW_FORM_sdata: 5762de3b87aSKai Wang *s = "DW_FORM_sdata"; break; 5772de3b87aSKai Wang case DW_FORM_sec_offset: 5782de3b87aSKai Wang *s = "DW_FORM_sec_offset"; break; 5792de3b87aSKai Wang case DW_FORM_string: 5802de3b87aSKai Wang *s = "DW_FORM_string"; break; 5812de3b87aSKai Wang case DW_FORM_strp: 5822de3b87aSKai Wang *s = "DW_FORM_strp"; break; 5832de3b87aSKai Wang case DW_FORM_udata: 5842de3b87aSKai Wang *s = "DW_FORM_udata"; break; 5852de3b87aSKai Wang default: 5862de3b87aSKai Wang return (DW_DLV_NO_ENTRY); 5872de3b87aSKai Wang } 5882de3b87aSKai Wang 5892de3b87aSKai Wang return (DW_DLV_OK); 5902de3b87aSKai Wang } 5912de3b87aSKai Wang 5922de3b87aSKai Wang int 5932de3b87aSKai Wang dwarf_get_DS_name(unsigned ds, const char **s) 5942de3b87aSKai Wang { 5952de3b87aSKai Wang 5962de3b87aSKai Wang assert(s != NULL); 5972de3b87aSKai Wang 5982de3b87aSKai Wang switch (ds) { 5992de3b87aSKai Wang case DW_DS_unsigned: 6002de3b87aSKai Wang *s = "DW_DS_unsigned"; break; 6012de3b87aSKai Wang case DW_DS_leading_overpunch: 6022de3b87aSKai Wang *s = "DW_DS_leading_overpunch"; break; 6032de3b87aSKai Wang case DW_DS_trailing_overpunch: 6042de3b87aSKai Wang *s = "DW_DS_trailing_overpunch"; break; 6052de3b87aSKai Wang case DW_DS_leading_separate: 6062de3b87aSKai Wang *s = "DW_DS_leading_separate"; break; 6072de3b87aSKai Wang case DW_DS_trailing_separate: 608*d003e0d7SEd Maste *s = "DW_DS_trailing_separate"; break; 6092de3b87aSKai Wang default: 6102de3b87aSKai Wang return (DW_DLV_NO_ENTRY); 6112de3b87aSKai Wang } 6122de3b87aSKai Wang 6132de3b87aSKai Wang return (DW_DLV_OK); 6142de3b87aSKai Wang } 6152de3b87aSKai Wang 6162de3b87aSKai Wang int 6172de3b87aSKai Wang dwarf_get_DSC_name(unsigned dsc, const char **s) 6182de3b87aSKai Wang { 6192de3b87aSKai Wang 6202de3b87aSKai Wang assert(s != NULL); 6212de3b87aSKai Wang 6222de3b87aSKai Wang switch (dsc) { 6232de3b87aSKai Wang case DW_DSC_label: 6242de3b87aSKai Wang *s = "DW_DSC_label"; break; 6252de3b87aSKai Wang case DW_DSC_range: 6262de3b87aSKai Wang *s = "DW_DSC_range"; break; 6272de3b87aSKai Wang default: 6282de3b87aSKai Wang return (DW_DLV_NO_ENTRY); 6292de3b87aSKai Wang } 6302de3b87aSKai Wang 6312de3b87aSKai Wang return (DW_DLV_OK); 6322de3b87aSKai Wang } 6332de3b87aSKai Wang 6342de3b87aSKai Wang int 6352de3b87aSKai Wang dwarf_get_EH_name(unsigned eh, const char **s) 6362de3b87aSKai Wang { 6372de3b87aSKai Wang 6382de3b87aSKai Wang assert(s != NULL); 6392de3b87aSKai Wang 6402de3b87aSKai Wang switch (eh) { 6412de3b87aSKai Wang case DW_EH_PE_absptr: 6422de3b87aSKai Wang *s = "DW_EH_PE_absptr"; break; 6432de3b87aSKai Wang case DW_EH_PE_uleb128: 6442de3b87aSKai Wang *s = "DW_EH_PE_uleb128"; break; 6452de3b87aSKai Wang case DW_EH_PE_udata2: 6462de3b87aSKai Wang *s = "DW_EH_PE_udata2"; break; 6472de3b87aSKai Wang case DW_EH_PE_udata4: 6482de3b87aSKai Wang *s = "DW_EH_PE_udata4"; break; 6492de3b87aSKai Wang case DW_EH_PE_udata8: 6502de3b87aSKai Wang *s = "DW_EH_PE_udata8"; break; 6512de3b87aSKai Wang case DW_EH_PE_sleb128: 6522de3b87aSKai Wang *s = "DW_EH_PE_sleb128"; break; 6532de3b87aSKai Wang case DW_EH_PE_sdata2: 6542de3b87aSKai Wang *s = "DW_EH_PE_sdata2"; break; 6552de3b87aSKai Wang case DW_EH_PE_sdata4: 6562de3b87aSKai Wang *s = "DW_EH_PE_sdata4"; break; 6572de3b87aSKai Wang case DW_EH_PE_sdata8: 6582de3b87aSKai Wang *s = "DW_EH_PE_sdata8"; break; 6592de3b87aSKai Wang case DW_EH_PE_pcrel: 6602de3b87aSKai Wang *s = "DW_EH_PE_pcrel"; break; 6612de3b87aSKai Wang case DW_EH_PE_textrel: 6622de3b87aSKai Wang *s = "DW_EH_PE_textrel"; break; 6632de3b87aSKai Wang case DW_EH_PE_datarel: 6642de3b87aSKai Wang *s = "DW_EH_PE_datarel"; break; 6652de3b87aSKai Wang case DW_EH_PE_funcrel: 6662de3b87aSKai Wang *s = "DW_EH_PE_funcrel"; break; 6672de3b87aSKai Wang case DW_EH_PE_aligned: 6682de3b87aSKai Wang *s = "DW_EH_PE_aligned"; break; 6692de3b87aSKai Wang case DW_EH_PE_omit: 6702de3b87aSKai Wang *s = "DW_EH_PE_omit"; break; 6712de3b87aSKai Wang default: 6722de3b87aSKai Wang return (DW_DLV_NO_ENTRY); 6732de3b87aSKai Wang } 6742de3b87aSKai Wang 6752de3b87aSKai Wang return (DW_DLV_OK); 6762de3b87aSKai Wang } 6772de3b87aSKai Wang 6782de3b87aSKai Wang int 6792de3b87aSKai Wang dwarf_get_END_name(unsigned end, const char **s) 6802de3b87aSKai Wang { 6812de3b87aSKai Wang 6822de3b87aSKai Wang assert(s != NULL); 6832de3b87aSKai Wang 6842de3b87aSKai Wang switch (end) { 6852de3b87aSKai Wang case DW_END_default: 6862de3b87aSKai Wang *s = "DW_END_default"; break; 6872de3b87aSKai Wang case DW_END_big: 6882de3b87aSKai Wang *s = "DW_END_big"; break; 6892de3b87aSKai Wang case DW_END_little: 6902de3b87aSKai Wang *s = "DW_END_little"; break; 6912de3b87aSKai Wang case DW_END_lo_user: 6922de3b87aSKai Wang *s = "DW_END_lo_user"; break; 6932de3b87aSKai Wang case DW_END_high_user: 6942de3b87aSKai Wang *s = "DW_END_high_user"; break; 6952de3b87aSKai Wang default: 6962de3b87aSKai Wang return (DW_DLV_NO_ENTRY); 6972de3b87aSKai Wang } 6982de3b87aSKai Wang 6992de3b87aSKai Wang return (DW_DLV_OK); 7002de3b87aSKai Wang } 7012de3b87aSKai Wang 7022de3b87aSKai Wang int 7032de3b87aSKai Wang dwarf_get_ID_name(unsigned id, const char **s) 7042de3b87aSKai Wang { 7052de3b87aSKai Wang 7062de3b87aSKai Wang assert(s != NULL); 7072de3b87aSKai Wang 7082de3b87aSKai Wang switch (id) { 7092de3b87aSKai Wang case DW_ID_case_sensitive: 7102de3b87aSKai Wang *s = "DW_ID_case_sensitive"; break; 7112de3b87aSKai Wang case DW_ID_up_case: 7122de3b87aSKai Wang *s = "DW_ID_up_case"; break; 7132de3b87aSKai Wang case DW_ID_down_case: 7142de3b87aSKai Wang *s = "DW_ID_down_case"; break; 7152de3b87aSKai Wang case DW_ID_case_insensitive: 7162de3b87aSKai Wang *s = "DW_ID_case_insensitive"; break; 7172de3b87aSKai Wang default: 7182de3b87aSKai Wang return (DW_DLV_NO_ENTRY); 7192de3b87aSKai Wang } 7202de3b87aSKai Wang 7212de3b87aSKai Wang return (DW_DLV_OK); 7222de3b87aSKai Wang } 7232de3b87aSKai Wang 7242de3b87aSKai Wang int 7252de3b87aSKai Wang dwarf_get_INL_name(unsigned inl, const char **s) 7262de3b87aSKai Wang { 7272de3b87aSKai Wang 7282de3b87aSKai Wang assert(s != NULL); 7292de3b87aSKai Wang 7302de3b87aSKai Wang switch (inl) { 7312de3b87aSKai Wang case DW_INL_not_inlined: 7322de3b87aSKai Wang *s = "DW_INL_not_inlined"; break; 7332de3b87aSKai Wang case DW_INL_inlined: 7342de3b87aSKai Wang *s = "DW_INL_inlined"; break; 7352de3b87aSKai Wang case DW_INL_declared_not_inlined: 7362de3b87aSKai Wang *s = "DW_INL_declared_not_inlined"; break; 7372de3b87aSKai Wang case DW_INL_declared_inlined: 7382de3b87aSKai Wang *s = "DW_INL_declared_inlined"; break; 7392de3b87aSKai Wang default: 7402de3b87aSKai Wang return (DW_DLV_NO_ENTRY); 7412de3b87aSKai Wang } 7422de3b87aSKai Wang 7432de3b87aSKai Wang return (DW_DLV_OK); 7442de3b87aSKai Wang } 7452de3b87aSKai Wang 7462de3b87aSKai Wang int 7472de3b87aSKai Wang dwarf_get_LANG_name(unsigned lang, const char **s) 7482de3b87aSKai Wang { 7492de3b87aSKai Wang 7502de3b87aSKai Wang assert(s != NULL); 7512de3b87aSKai Wang 7522de3b87aSKai Wang switch (lang) { 7532de3b87aSKai Wang case DW_LANG_C89: 7542de3b87aSKai Wang *s = "DW_LANG_C89"; break; 7552de3b87aSKai Wang case DW_LANG_C: 7562de3b87aSKai Wang *s = "DW_LANG_C"; break; 7572de3b87aSKai Wang case DW_LANG_Ada83: 7582de3b87aSKai Wang *s = "DW_LANG_Ada83"; break; 7592de3b87aSKai Wang case DW_LANG_C_plus_plus: 7602de3b87aSKai Wang *s = "DW_LANG_C_plus_plus"; break; 7612de3b87aSKai Wang case DW_LANG_Cobol74: 7622de3b87aSKai Wang *s = "DW_LANG_Cobol74"; break; 7632de3b87aSKai Wang case DW_LANG_Cobol85: 7642de3b87aSKai Wang *s = "DW_LANG_Cobol85"; break; 7652de3b87aSKai Wang case DW_LANG_Fortran77: 7662de3b87aSKai Wang *s = "DW_LANG_Fortran77"; break; 7672de3b87aSKai Wang case DW_LANG_Fortran90: 7682de3b87aSKai Wang *s = "DW_LANG_Fortran90"; break; 7692de3b87aSKai Wang case DW_LANG_Pascal83: 7702de3b87aSKai Wang *s = "DW_LANG_Pascal83"; break; 7712de3b87aSKai Wang case DW_LANG_Modula2: 7722de3b87aSKai Wang *s = "DW_LANG_Modula2"; break; 7732de3b87aSKai Wang case DW_LANG_Java: 7742de3b87aSKai Wang *s = "DW_LANG_Java"; break; 7752de3b87aSKai Wang case DW_LANG_C99: 7762de3b87aSKai Wang *s = "DW_LANG_C99"; break; 7772de3b87aSKai Wang case DW_LANG_Ada95: 7782de3b87aSKai Wang *s = "DW_LANG_Ada95"; break; 7792de3b87aSKai Wang case DW_LANG_Fortran95: 7802de3b87aSKai Wang *s = "DW_LANG_Fortran95"; break; 7812de3b87aSKai Wang case DW_LANG_PLI: 7822de3b87aSKai Wang *s = "DW_LANG_PLI"; break; 7832de3b87aSKai Wang case DW_LANG_ObjC: 7842de3b87aSKai Wang *s = "DW_LANG_ObjC"; break; 7852de3b87aSKai Wang case DW_LANG_ObjC_plus_plus: 7862de3b87aSKai Wang *s = "DW_LANG_ObjC_plus_plus"; break; 7872de3b87aSKai Wang case DW_LANG_UPC: 7882de3b87aSKai Wang *s = "DW_LANG_UPC"; break; 7892de3b87aSKai Wang case DW_LANG_D: 7902de3b87aSKai Wang *s = "DW_LANG_D"; break; 7914a0f8b33SMark Johnston case DW_LANG_Python: 7924a0f8b33SMark Johnston *s = "DW_LANG_Python"; break; 7934a0f8b33SMark Johnston case DW_LANG_OpenCL: 7944a0f8b33SMark Johnston *s = "DW_LANG_OpenCL"; break; 7954a0f8b33SMark Johnston case DW_LANG_Go: 7964a0f8b33SMark Johnston *s = "DW_LANG_Go"; break; 7974a0f8b33SMark Johnston case DW_LANG_Modula3: 7984a0f8b33SMark Johnston *s = "DW_LANG_Modula3"; break; 7994a0f8b33SMark Johnston case DW_LANG_Haskell: 8004a0f8b33SMark Johnston *s = "DW_LANG_Haskell"; break; 8014a0f8b33SMark Johnston case DW_LANG_C_plus_plus_03: 8024a0f8b33SMark Johnston *s = "DW_LANG_C_plus_plus_03"; break; 8034a0f8b33SMark Johnston case DW_LANG_C_plus_plus_11: 8044a0f8b33SMark Johnston *s = "DW_LANG_C_plus_plus_11"; break; 8054a0f8b33SMark Johnston case DW_LANG_OCaml: 8064a0f8b33SMark Johnston *s = "DW_LANG_OCaml"; break; 8074a0f8b33SMark Johnston case DW_LANG_Rust: 8084a0f8b33SMark Johnston *s = "DW_LANG_Rust"; break; 8094a0f8b33SMark Johnston case DW_LANG_C11: 8104a0f8b33SMark Johnston *s = "DW_LANG_C11"; break; 8114a0f8b33SMark Johnston case DW_LANG_Swift: 8124a0f8b33SMark Johnston *s = "DW_LANG_Swift"; break; 8134a0f8b33SMark Johnston case DW_LANG_Julia: 8144a0f8b33SMark Johnston *s = "DW_LANG_Julia"; break; 8154a0f8b33SMark Johnston case DW_LANG_Dylan: 8164a0f8b33SMark Johnston *s = "DW_LANG_Dylan"; break; 8174a0f8b33SMark Johnston case DW_LANG_C_plus_plus_14: 8184a0f8b33SMark Johnston *s = "DW_LANG_C_plus_plus_14"; break; 8194a0f8b33SMark Johnston case DW_LANG_Fortran03: 8204a0f8b33SMark Johnston *s = "DW_LANG_Fortran03"; break; 8214a0f8b33SMark Johnston case DW_LANG_Fortran08: 8224a0f8b33SMark Johnston *s = "DW_LANG_Fortran08"; break; 8234a0f8b33SMark Johnston case DW_LANG_RenderScript: 8244a0f8b33SMark Johnston *s = "DW_LANG_RenderScript"; break; 8254a0f8b33SMark Johnston case DW_LANG_BLISS: 8264a0f8b33SMark Johnston *s = "DW_LANG_BLISS"; break; 8272de3b87aSKai Wang case DW_LANG_lo_user: 8282de3b87aSKai Wang *s = "DW_LANG_lo_user"; break; 829bee2765cSEd Maste case DW_LANG_Mips_Assembler: 830bee2765cSEd Maste *s = "DW_LANG_Mips_Assembler"; break; 8312de3b87aSKai Wang case DW_LANG_hi_user: 8322de3b87aSKai Wang *s = "DW_LANG_hi_user"; break; 8332de3b87aSKai Wang default: 8342de3b87aSKai Wang return (DW_DLV_NO_ENTRY); 8352de3b87aSKai Wang } 8362de3b87aSKai Wang 8372de3b87aSKai Wang return (DW_DLV_OK); 8382de3b87aSKai Wang } 8392de3b87aSKai Wang 8402de3b87aSKai Wang int 8412de3b87aSKai Wang dwarf_get_LNE_name(unsigned lne, const char **s) 8422de3b87aSKai Wang { 8432de3b87aSKai Wang 8442de3b87aSKai Wang assert(s != NULL); 8452de3b87aSKai Wang 8462de3b87aSKai Wang switch (lne) { 8472de3b87aSKai Wang case DW_LNE_end_sequence: 8482de3b87aSKai Wang *s = "DW_LNE_end_sequence"; break; 8492de3b87aSKai Wang case DW_LNE_set_address: 8502de3b87aSKai Wang *s = "DW_LNE_set_address"; break; 8512de3b87aSKai Wang case DW_LNE_define_file: 8522de3b87aSKai Wang *s = "DW_LNE_define_file"; break; 8532de3b87aSKai Wang case DW_LNE_lo_user: 8542de3b87aSKai Wang *s = "DW_LNE_lo_user"; break; 8552de3b87aSKai Wang case DW_LNE_hi_user: 8562de3b87aSKai Wang *s = "DW_LNE_hi_user"; break; 8572de3b87aSKai Wang default: 8582de3b87aSKai Wang return (DW_DLV_NO_ENTRY); 8592de3b87aSKai Wang } 8602de3b87aSKai Wang 8612de3b87aSKai Wang return (DW_DLV_OK); 8622de3b87aSKai Wang } 8632de3b87aSKai Wang 8642de3b87aSKai Wang int 8652de3b87aSKai Wang dwarf_get_LNS_name(unsigned lns, const char **s) 8662de3b87aSKai Wang { 8672de3b87aSKai Wang 8682de3b87aSKai Wang assert(s != NULL); 8692de3b87aSKai Wang 8702de3b87aSKai Wang switch (lns) { 8712de3b87aSKai Wang case DW_LNS_copy: 8722de3b87aSKai Wang *s = "DW_LNS_copy"; break; 8732de3b87aSKai Wang case DW_LNS_advance_pc: 8742de3b87aSKai Wang *s = "DW_LNS_advance_pc"; break; 8752de3b87aSKai Wang case DW_LNS_advance_line: 8762de3b87aSKai Wang *s = "DW_LNS_advance_line"; break; 8772de3b87aSKai Wang case DW_LNS_set_file: 8782de3b87aSKai Wang *s = "DW_LNS_set_file"; break; 8792de3b87aSKai Wang case DW_LNS_set_column: 8802de3b87aSKai Wang *s = "DW_LNS_set_column"; break; 8812de3b87aSKai Wang case DW_LNS_negate_stmt: 8822de3b87aSKai Wang *s = "DW_LNS_negate_stmt"; break; 8832de3b87aSKai Wang case DW_LNS_set_basic_block: 8842de3b87aSKai Wang *s = "DW_LNS_set_basic_block"; break; 8852de3b87aSKai Wang case DW_LNS_const_add_pc: 8862de3b87aSKai Wang *s = "DW_LNS_const_add_pc"; break; 8872de3b87aSKai Wang case DW_LNS_fixed_advance_pc: 8882de3b87aSKai Wang *s = "DW_LNS_fixed_advance_pc"; break; 8892de3b87aSKai Wang case DW_LNS_set_prologue_end: 8902de3b87aSKai Wang *s = "DW_LNS_set_prologue_end"; break; 8912de3b87aSKai Wang case DW_LNS_set_epilogue_begin: 8922de3b87aSKai Wang *s = "DW_LNS_set_epilogue_begin"; break; 8932de3b87aSKai Wang case DW_LNS_set_isa: 8942de3b87aSKai Wang *s = "DW_LNS_set_isa"; break; 8952de3b87aSKai Wang default: 8962de3b87aSKai Wang return (DW_DLV_NO_ENTRY); 8972de3b87aSKai Wang } 8982de3b87aSKai Wang 8992de3b87aSKai Wang return (DW_DLV_OK); 9002de3b87aSKai Wang } 9012de3b87aSKai Wang 9022de3b87aSKai Wang int 9032de3b87aSKai Wang dwarf_get_MACINFO_name(unsigned mi, const char **s) 9042de3b87aSKai Wang { 9052de3b87aSKai Wang 9062de3b87aSKai Wang assert(s != NULL); 9072de3b87aSKai Wang 9082de3b87aSKai Wang switch (mi) { 9092de3b87aSKai Wang case DW_MACINFO_define: 9102de3b87aSKai Wang *s = "DW_MACINFO_define"; break; 9112de3b87aSKai Wang case DW_MACINFO_undef: 9122de3b87aSKai Wang *s = "DW_MACINFO_undef"; break; 9132de3b87aSKai Wang case DW_MACINFO_start_file: 9142de3b87aSKai Wang *s = "DW_MACINFO_start_file"; break; 9152de3b87aSKai Wang case DW_MACINFO_end_file: 9162de3b87aSKai Wang *s = "DW_MACINFO_end_file"; break; 9172de3b87aSKai Wang case DW_MACINFO_vendor_ext: 9182de3b87aSKai Wang *s = "DW_MACINFO_vendor_ext"; break; 9192de3b87aSKai Wang default: 9202de3b87aSKai Wang return (DW_DLV_NO_ENTRY); 9212de3b87aSKai Wang } 9222de3b87aSKai Wang 9232de3b87aSKai Wang return (DW_DLV_OK); 9242de3b87aSKai Wang } 9252de3b87aSKai Wang 9262de3b87aSKai Wang int 9272de3b87aSKai Wang dwarf_get_OP_name(unsigned op, const char **s) 9282de3b87aSKai Wang { 9292de3b87aSKai Wang 9302de3b87aSKai Wang assert(s != NULL); 9312de3b87aSKai Wang 9322de3b87aSKai Wang switch (op) { 9332de3b87aSKai Wang case DW_OP_deref: 9342de3b87aSKai Wang *s = "DW_OP_deref"; break; 9352de3b87aSKai Wang case DW_OP_reg0: 9362de3b87aSKai Wang *s = "DW_OP_reg0"; break; 9372de3b87aSKai Wang case DW_OP_reg1: 9382de3b87aSKai Wang *s = "DW_OP_reg1"; break; 9392de3b87aSKai Wang case DW_OP_reg2: 9402de3b87aSKai Wang *s = "DW_OP_reg2"; break; 9412de3b87aSKai Wang case DW_OP_reg3: 9422de3b87aSKai Wang *s = "DW_OP_reg3"; break; 9432de3b87aSKai Wang case DW_OP_reg4: 9442de3b87aSKai Wang *s = "DW_OP_reg4"; break; 9452de3b87aSKai Wang case DW_OP_reg5: 9462de3b87aSKai Wang *s = "DW_OP_reg5"; break; 9472de3b87aSKai Wang case DW_OP_reg6: 9482de3b87aSKai Wang *s = "DW_OP_reg6"; break; 9492de3b87aSKai Wang case DW_OP_reg7: 9502de3b87aSKai Wang *s = "DW_OP_reg7"; break; 9512de3b87aSKai Wang case DW_OP_reg8: 9522de3b87aSKai Wang *s = "DW_OP_reg8"; break; 9532de3b87aSKai Wang case DW_OP_reg9: 9542de3b87aSKai Wang *s = "DW_OP_reg9"; break; 9552de3b87aSKai Wang case DW_OP_reg10: 9562de3b87aSKai Wang *s = "DW_OP_reg10"; break; 9572de3b87aSKai Wang case DW_OP_reg11: 9582de3b87aSKai Wang *s = "DW_OP_reg11"; break; 9592de3b87aSKai Wang case DW_OP_reg12: 9602de3b87aSKai Wang *s = "DW_OP_reg12"; break; 9612de3b87aSKai Wang case DW_OP_reg13: 9622de3b87aSKai Wang *s = "DW_OP_reg13"; break; 9632de3b87aSKai Wang case DW_OP_reg14: 9642de3b87aSKai Wang *s = "DW_OP_reg14"; break; 9652de3b87aSKai Wang case DW_OP_reg15: 9662de3b87aSKai Wang *s = "DW_OP_reg15"; break; 9672de3b87aSKai Wang case DW_OP_reg16: 9682de3b87aSKai Wang *s = "DW_OP_reg16"; break; 9692de3b87aSKai Wang case DW_OP_reg17: 9702de3b87aSKai Wang *s = "DW_OP_reg17"; break; 9712de3b87aSKai Wang case DW_OP_reg18: 9722de3b87aSKai Wang *s = "DW_OP_reg18"; break; 9732de3b87aSKai Wang case DW_OP_reg19: 9742de3b87aSKai Wang *s = "DW_OP_reg19"; break; 9752de3b87aSKai Wang case DW_OP_reg20: 9762de3b87aSKai Wang *s = "DW_OP_reg20"; break; 9772de3b87aSKai Wang case DW_OP_reg21: 9782de3b87aSKai Wang *s = "DW_OP_reg21"; break; 9792de3b87aSKai Wang case DW_OP_reg22: 9802de3b87aSKai Wang *s = "DW_OP_reg22"; break; 9812de3b87aSKai Wang case DW_OP_reg23: 9822de3b87aSKai Wang *s = "DW_OP_reg23"; break; 9832de3b87aSKai Wang case DW_OP_reg24: 9842de3b87aSKai Wang *s = "DW_OP_reg24"; break; 9852de3b87aSKai Wang case DW_OP_reg25: 9862de3b87aSKai Wang *s = "DW_OP_reg25"; break; 9872de3b87aSKai Wang case DW_OP_reg26: 9882de3b87aSKai Wang *s = "DW_OP_reg26"; break; 9892de3b87aSKai Wang case DW_OP_reg27: 9902de3b87aSKai Wang *s = "DW_OP_reg27"; break; 9912de3b87aSKai Wang case DW_OP_reg28: 9922de3b87aSKai Wang *s = "DW_OP_reg28"; break; 9932de3b87aSKai Wang case DW_OP_reg29: 9942de3b87aSKai Wang *s = "DW_OP_reg29"; break; 9952de3b87aSKai Wang case DW_OP_reg30: 9962de3b87aSKai Wang *s = "DW_OP_reg30"; break; 9972de3b87aSKai Wang case DW_OP_reg31: 9982de3b87aSKai Wang *s = "DW_OP_reg31"; break; 9992de3b87aSKai Wang case DW_OP_lit0: 10002de3b87aSKai Wang *s = "DW_OP_lit0"; break; 10012de3b87aSKai Wang case DW_OP_lit1: 10022de3b87aSKai Wang *s = "DW_OP_lit1"; break; 10032de3b87aSKai Wang case DW_OP_lit2: 10042de3b87aSKai Wang *s = "DW_OP_lit2"; break; 10052de3b87aSKai Wang case DW_OP_lit3: 10062de3b87aSKai Wang *s = "DW_OP_lit3"; break; 10072de3b87aSKai Wang case DW_OP_lit4: 10082de3b87aSKai Wang *s = "DW_OP_lit4"; break; 10092de3b87aSKai Wang case DW_OP_lit5: 10102de3b87aSKai Wang *s = "DW_OP_lit5"; break; 10112de3b87aSKai Wang case DW_OP_lit6: 10122de3b87aSKai Wang *s = "DW_OP_lit6"; break; 10132de3b87aSKai Wang case DW_OP_lit7: 10142de3b87aSKai Wang *s = "DW_OP_lit7"; break; 10152de3b87aSKai Wang case DW_OP_lit8: 10162de3b87aSKai Wang *s = "DW_OP_lit8"; break; 10172de3b87aSKai Wang case DW_OP_lit9: 10182de3b87aSKai Wang *s = "DW_OP_lit9"; break; 10192de3b87aSKai Wang case DW_OP_lit10: 10202de3b87aSKai Wang *s = "DW_OP_lit10"; break; 10212de3b87aSKai Wang case DW_OP_lit11: 10222de3b87aSKai Wang *s = "DW_OP_lit11"; break; 10232de3b87aSKai Wang case DW_OP_lit12: 10242de3b87aSKai Wang *s = "DW_OP_lit12"; break; 10252de3b87aSKai Wang case DW_OP_lit13: 10262de3b87aSKai Wang *s = "DW_OP_lit13"; break; 10272de3b87aSKai Wang case DW_OP_lit14: 10282de3b87aSKai Wang *s = "DW_OP_lit14"; break; 10292de3b87aSKai Wang case DW_OP_lit15: 10302de3b87aSKai Wang *s = "DW_OP_lit15"; break; 10312de3b87aSKai Wang case DW_OP_lit16: 10322de3b87aSKai Wang *s = "DW_OP_lit16"; break; 10332de3b87aSKai Wang case DW_OP_lit17: 10342de3b87aSKai Wang *s = "DW_OP_lit17"; break; 10352de3b87aSKai Wang case DW_OP_lit18: 10362de3b87aSKai Wang *s = "DW_OP_lit18"; break; 10372de3b87aSKai Wang case DW_OP_lit19: 10382de3b87aSKai Wang *s = "DW_OP_lit19"; break; 10392de3b87aSKai Wang case DW_OP_lit20: 10402de3b87aSKai Wang *s = "DW_OP_lit20"; break; 10412de3b87aSKai Wang case DW_OP_lit21: 10422de3b87aSKai Wang *s = "DW_OP_lit21"; break; 10432de3b87aSKai Wang case DW_OP_lit22: 10442de3b87aSKai Wang *s = "DW_OP_lit22"; break; 10452de3b87aSKai Wang case DW_OP_lit23: 10462de3b87aSKai Wang *s = "DW_OP_lit23"; break; 10472de3b87aSKai Wang case DW_OP_lit24: 10482de3b87aSKai Wang *s = "DW_OP_lit24"; break; 10492de3b87aSKai Wang case DW_OP_lit25: 10502de3b87aSKai Wang *s = "DW_OP_lit25"; break; 10512de3b87aSKai Wang case DW_OP_lit26: 10522de3b87aSKai Wang *s = "DW_OP_lit26"; break; 10532de3b87aSKai Wang case DW_OP_lit27: 10542de3b87aSKai Wang *s = "DW_OP_lit27"; break; 10552de3b87aSKai Wang case DW_OP_lit28: 10562de3b87aSKai Wang *s = "DW_OP_lit28"; break; 10572de3b87aSKai Wang case DW_OP_lit29: 10582de3b87aSKai Wang *s = "DW_OP_lit29"; break; 10592de3b87aSKai Wang case DW_OP_lit30: 10602de3b87aSKai Wang *s = "DW_OP_lit30"; break; 10612de3b87aSKai Wang case DW_OP_lit31: 10622de3b87aSKai Wang *s = "DW_OP_lit31"; break; 10632de3b87aSKai Wang case DW_OP_dup: 10642de3b87aSKai Wang *s = "DW_OP_dup"; break; 10652de3b87aSKai Wang case DW_OP_drop: 10662de3b87aSKai Wang *s = "DW_OP_drop"; break; 10672de3b87aSKai Wang case DW_OP_over: 10682de3b87aSKai Wang *s = "DW_OP_over"; break; 10692de3b87aSKai Wang case DW_OP_swap: 10702de3b87aSKai Wang *s = "DW_OP_swap"; break; 10712de3b87aSKai Wang case DW_OP_rot: 10722de3b87aSKai Wang *s = "DW_OP_rot"; break; 10732de3b87aSKai Wang case DW_OP_xderef: 10742de3b87aSKai Wang *s = "DW_OP_xderef"; break; 10752de3b87aSKai Wang case DW_OP_abs: 10762de3b87aSKai Wang *s = "DW_OP_abs"; break; 10772de3b87aSKai Wang case DW_OP_and: 10782de3b87aSKai Wang *s = "DW_OP_and"; break; 10792de3b87aSKai Wang case DW_OP_div: 10802de3b87aSKai Wang *s = "DW_OP_div"; break; 10812de3b87aSKai Wang case DW_OP_minus: 10822de3b87aSKai Wang *s = "DW_OP_minus"; break; 10832de3b87aSKai Wang case DW_OP_mod: 10842de3b87aSKai Wang *s = "DW_OP_mod"; break; 10852de3b87aSKai Wang case DW_OP_mul: 10862de3b87aSKai Wang *s = "DW_OP_mul"; break; 10872de3b87aSKai Wang case DW_OP_neg: 10882de3b87aSKai Wang *s = "DW_OP_neg"; break; 10892de3b87aSKai Wang case DW_OP_not: 10902de3b87aSKai Wang *s = "DW_OP_not"; break; 10912de3b87aSKai Wang case DW_OP_or: 10922de3b87aSKai Wang *s = "DW_OP_or"; break; 10932de3b87aSKai Wang case DW_OP_plus: 10942de3b87aSKai Wang *s = "DW_OP_plus"; break; 10952de3b87aSKai Wang case DW_OP_shl: 10962de3b87aSKai Wang *s = "DW_OP_shl"; break; 10972de3b87aSKai Wang case DW_OP_shr: 10982de3b87aSKai Wang *s = "DW_OP_shr"; break; 10992de3b87aSKai Wang case DW_OP_shra: 11002de3b87aSKai Wang *s = "DW_OP_shra"; break; 11012de3b87aSKai Wang case DW_OP_xor: 11022de3b87aSKai Wang *s = "DW_OP_xor"; break; 11032de3b87aSKai Wang case DW_OP_eq: 11042de3b87aSKai Wang *s = "DW_OP_eq"; break; 11052de3b87aSKai Wang case DW_OP_ge: 11062de3b87aSKai Wang *s = "DW_OP_ge"; break; 11072de3b87aSKai Wang case DW_OP_gt: 11082de3b87aSKai Wang *s = "DW_OP_gt"; break; 11092de3b87aSKai Wang case DW_OP_le: 11102de3b87aSKai Wang *s = "DW_OP_le"; break; 11112de3b87aSKai Wang case DW_OP_lt: 11122de3b87aSKai Wang *s = "DW_OP_lt"; break; 11132de3b87aSKai Wang case DW_OP_ne: 11142de3b87aSKai Wang *s = "DW_OP_ne"; break; 11152de3b87aSKai Wang case DW_OP_nop: 11162de3b87aSKai Wang *s = "DW_OP_nop"; break; 11172de3b87aSKai Wang case DW_OP_const1u: 11182de3b87aSKai Wang *s = "DW_OP_const1u"; break; 11192de3b87aSKai Wang case DW_OP_const1s: 11202de3b87aSKai Wang *s = "DW_OP_const1s"; break; 11212de3b87aSKai Wang case DW_OP_pick: 11222de3b87aSKai Wang *s = "DW_OP_pick"; break; 11232de3b87aSKai Wang case DW_OP_deref_size: 11242de3b87aSKai Wang *s = "DW_OP_deref_size"; break; 11252de3b87aSKai Wang case DW_OP_xderef_size: 11262de3b87aSKai Wang *s = "DW_OP_xderef_size"; break; 11272de3b87aSKai Wang case DW_OP_const2u: 11282de3b87aSKai Wang *s = "DW_OP_const2u"; break; 11292de3b87aSKai Wang case DW_OP_const2s: 11302de3b87aSKai Wang *s = "DW_OP_const2s"; break; 11312de3b87aSKai Wang case DW_OP_bra: 11322de3b87aSKai Wang *s = "DW_OP_bra"; break; 11332de3b87aSKai Wang case DW_OP_skip: 11342de3b87aSKai Wang *s = "DW_OP_skip"; break; 11352de3b87aSKai Wang case DW_OP_const4u: 11362de3b87aSKai Wang *s = "DW_OP_const4u"; break; 11372de3b87aSKai Wang case DW_OP_const4s: 11382de3b87aSKai Wang *s = "DW_OP_const4s"; break; 11392de3b87aSKai Wang case DW_OP_const8u: 11402de3b87aSKai Wang *s = "DW_OP_const8u"; break; 11412de3b87aSKai Wang case DW_OP_const8s: 11422de3b87aSKai Wang *s = "DW_OP_const8s"; break; 11432de3b87aSKai Wang case DW_OP_constu: 11442de3b87aSKai Wang *s = "DW_OP_constu"; break; 11452de3b87aSKai Wang case DW_OP_plus_uconst: 11462de3b87aSKai Wang *s = "DW_OP_plus_uconst"; break; 11472de3b87aSKai Wang case DW_OP_regx: 11482de3b87aSKai Wang *s = "DW_OP_regx"; break; 11492de3b87aSKai Wang case DW_OP_piece: 11502de3b87aSKai Wang *s = "DW_OP_piece"; break; 11512de3b87aSKai Wang case DW_OP_consts: 11522de3b87aSKai Wang *s = "DW_OP_consts"; break; 11532de3b87aSKai Wang case DW_OP_breg0: 11542de3b87aSKai Wang *s = "DW_OP_breg0"; break; 11552de3b87aSKai Wang case DW_OP_breg1: 11562de3b87aSKai Wang *s = "DW_OP_breg1"; break; 11572de3b87aSKai Wang case DW_OP_breg2: 11582de3b87aSKai Wang *s = "DW_OP_breg2"; break; 11592de3b87aSKai Wang case DW_OP_breg3: 11602de3b87aSKai Wang *s = "DW_OP_breg3"; break; 11612de3b87aSKai Wang case DW_OP_breg4: 11622de3b87aSKai Wang *s = "DW_OP_breg4"; break; 11632de3b87aSKai Wang case DW_OP_breg5: 11642de3b87aSKai Wang *s = "DW_OP_breg5"; break; 11652de3b87aSKai Wang case DW_OP_breg6: 11662de3b87aSKai Wang *s = "DW_OP_breg6"; break; 11672de3b87aSKai Wang case DW_OP_breg7: 11682de3b87aSKai Wang *s = "DW_OP_breg7"; break; 11692de3b87aSKai Wang case DW_OP_breg8: 11702de3b87aSKai Wang *s = "DW_OP_breg8"; break; 11712de3b87aSKai Wang case DW_OP_breg9: 11722de3b87aSKai Wang *s = "DW_OP_breg9"; break; 11732de3b87aSKai Wang case DW_OP_breg10: 11742de3b87aSKai Wang *s = "DW_OP_breg10"; break; 11752de3b87aSKai Wang case DW_OP_breg11: 11762de3b87aSKai Wang *s = "DW_OP_breg11"; break; 11772de3b87aSKai Wang case DW_OP_breg12: 11782de3b87aSKai Wang *s = "DW_OP_breg12"; break; 11792de3b87aSKai Wang case DW_OP_breg13: 11802de3b87aSKai Wang *s = "DW_OP_breg13"; break; 11812de3b87aSKai Wang case DW_OP_breg14: 11822de3b87aSKai Wang *s = "DW_OP_breg14"; break; 11832de3b87aSKai Wang case DW_OP_breg15: 11842de3b87aSKai Wang *s = "DW_OP_breg15"; break; 11852de3b87aSKai Wang case DW_OP_breg16: 11862de3b87aSKai Wang *s = "DW_OP_breg16"; break; 11872de3b87aSKai Wang case DW_OP_breg17: 11882de3b87aSKai Wang *s = "DW_OP_breg17"; break; 11892de3b87aSKai Wang case DW_OP_breg18: 11902de3b87aSKai Wang *s = "DW_OP_breg18"; break; 11912de3b87aSKai Wang case DW_OP_breg19: 11922de3b87aSKai Wang *s = "DW_OP_breg19"; break; 11932de3b87aSKai Wang case DW_OP_breg20: 11942de3b87aSKai Wang *s = "DW_OP_breg20"; break; 11952de3b87aSKai Wang case DW_OP_breg21: 11962de3b87aSKai Wang *s = "DW_OP_breg21"; break; 11972de3b87aSKai Wang case DW_OP_breg22: 11982de3b87aSKai Wang *s = "DW_OP_breg22"; break; 11992de3b87aSKai Wang case DW_OP_breg23: 12002de3b87aSKai Wang *s = "DW_OP_breg23"; break; 12012de3b87aSKai Wang case DW_OP_breg24: 12022de3b87aSKai Wang *s = "DW_OP_breg24"; break; 12032de3b87aSKai Wang case DW_OP_breg25: 12042de3b87aSKai Wang *s = "DW_OP_breg25"; break; 12052de3b87aSKai Wang case DW_OP_breg26: 12062de3b87aSKai Wang *s = "DW_OP_breg26"; break; 12072de3b87aSKai Wang case DW_OP_breg27: 12082de3b87aSKai Wang *s = "DW_OP_breg27"; break; 12092de3b87aSKai Wang case DW_OP_breg28: 12102de3b87aSKai Wang *s = "DW_OP_breg28"; break; 12112de3b87aSKai Wang case DW_OP_breg29: 12122de3b87aSKai Wang *s = "DW_OP_breg29"; break; 12132de3b87aSKai Wang case DW_OP_breg30: 12142de3b87aSKai Wang *s = "DW_OP_breg30"; break; 12152de3b87aSKai Wang case DW_OP_breg31: 12162de3b87aSKai Wang *s = "DW_OP_breg31"; break; 12172de3b87aSKai Wang case DW_OP_fbreg: 12182de3b87aSKai Wang *s = "DW_OP_fbreg"; break; 12192de3b87aSKai Wang case DW_OP_bregx: 12202de3b87aSKai Wang *s = "DW_OP_bregx"; break; 12212de3b87aSKai Wang case DW_OP_addr: 12222de3b87aSKai Wang *s = "DW_OP_addr"; break; 12232de3b87aSKai Wang case DW_OP_push_object_address: 12242de3b87aSKai Wang *s = "DW_OP_push_object_address"; break; 12252de3b87aSKai Wang case DW_OP_call2: 12262de3b87aSKai Wang *s = "DW_OP_call2"; break; 12272de3b87aSKai Wang case DW_OP_call4: 12282de3b87aSKai Wang *s = "DW_OP_call4"; break; 12292de3b87aSKai Wang case DW_OP_call_ref: 12302de3b87aSKai Wang *s = "DW_OP_call_ref"; break; 12312de3b87aSKai Wang case DW_OP_form_tls_address: 12322de3b87aSKai Wang *s = "DW_OP_form_tls_address"; break; 12332de3b87aSKai Wang case DW_OP_call_frame_cfa: 12342de3b87aSKai Wang *s = "DW_OP_call_frame_cfa"; break; 12352de3b87aSKai Wang case DW_OP_bit_piece: 12362de3b87aSKai Wang *s = "DW_OP_bit_piece"; break; 12372de3b87aSKai Wang case DW_OP_implicit_value: 12382de3b87aSKai Wang *s = "DW_OP_implicit_value"; break; 12392de3b87aSKai Wang case DW_OP_stack_value: 12402de3b87aSKai Wang *s = "DW_OP_stack_value"; break; 12412de3b87aSKai Wang case DW_OP_GNU_push_tls_address: 12422de3b87aSKai Wang *s = "DW_OP_GNU_push_tls_address"; break; 1243cf781b2eSEd Maste case DW_OP_GNU_uninit: 1244cf781b2eSEd Maste *s = "DW_OP_GNU_uninit"; break; 1245cf781b2eSEd Maste case DW_OP_GNU_encoded_addr: 1246cf781b2eSEd Maste *s = "DW_OP_GNU_encoded_addr"; break; 1247cf781b2eSEd Maste case DW_OP_GNU_implicit_pointer: 1248cf781b2eSEd Maste *s = "DW_OP_GNU_implicit_pointer"; break; 1249cf781b2eSEd Maste case DW_OP_GNU_entry_value: 1250cf781b2eSEd Maste *s = "DW_OP_GNU_entry_value"; break; 1251cf781b2eSEd Maste case DW_OP_GNU_const_type: 1252cf781b2eSEd Maste *s = "DW_OP_GNU_const_type"; break; 1253cf781b2eSEd Maste case DW_OP_GNU_regval_type: 1254cf781b2eSEd Maste *s = "DW_OP_GNU_regval_type"; break; 1255cf781b2eSEd Maste case DW_OP_GNU_deref_type: 1256cf781b2eSEd Maste *s = "DW_OP_GNU_deref_type"; break; 1257cf781b2eSEd Maste case DW_OP_GNU_convert: 1258cf781b2eSEd Maste *s = "DW_OP_GNU_convert"; break; 1259cf781b2eSEd Maste case DW_OP_GNU_reinterpret: 1260cf781b2eSEd Maste *s = "DW_OP_GNU_reinterpret"; break; 1261cf781b2eSEd Maste case DW_OP_GNU_parameter_ref: 1262cf781b2eSEd Maste *s = "DW_OP_GNU_parameter_ref"; break; 1263cf781b2eSEd Maste case DW_OP_GNU_addr_index: 1264cf781b2eSEd Maste *s = "DW_OP_GNU_addr_index"; break; 1265cf781b2eSEd Maste case DW_OP_GNU_const_index: 1266cf781b2eSEd Maste *s = "DW_OP_GNU_const_index"; break; 12672de3b87aSKai Wang default: 12682de3b87aSKai Wang return (DW_DLV_NO_ENTRY); 12692de3b87aSKai Wang } 12702de3b87aSKai Wang 12712de3b87aSKai Wang return (DW_DLV_OK); 12722de3b87aSKai Wang } 12732de3b87aSKai Wang 12742de3b87aSKai Wang int 12752de3b87aSKai Wang dwarf_get_ORD_name(unsigned ord, const char **s) 12762de3b87aSKai Wang { 12772de3b87aSKai Wang 12782de3b87aSKai Wang assert(s != NULL); 12792de3b87aSKai Wang 12802de3b87aSKai Wang switch (ord) { 12812de3b87aSKai Wang case DW_ORD_row_major: 12822de3b87aSKai Wang *s = "DW_ORD_row_major"; break; 12832de3b87aSKai Wang case DW_ORD_col_major: 12842de3b87aSKai Wang *s = "DW_ORD_col_major"; break; 12852de3b87aSKai Wang default: 12862de3b87aSKai Wang return (DW_DLV_NO_ENTRY); 12872de3b87aSKai Wang } 12882de3b87aSKai Wang 12892de3b87aSKai Wang return (DW_DLV_OK); 12902de3b87aSKai Wang } 12912de3b87aSKai Wang 12922de3b87aSKai Wang int 12932de3b87aSKai Wang dwarf_get_TAG_name(unsigned tag, const char **s) 12942de3b87aSKai Wang { 12952de3b87aSKai Wang 12962de3b87aSKai Wang assert(s != NULL); 12972de3b87aSKai Wang 12982de3b87aSKai Wang switch (tag) { 12992de3b87aSKai Wang case DW_TAG_access_declaration: 13002de3b87aSKai Wang *s = "DW_TAG_access_declaration"; break; 13012de3b87aSKai Wang case DW_TAG_array_type: 13022de3b87aSKai Wang *s = "DW_TAG_array_type"; break; 13032de3b87aSKai Wang case DW_TAG_base_type: 13042de3b87aSKai Wang *s = "DW_TAG_base_type"; break; 13052de3b87aSKai Wang case DW_TAG_catch_block: 13062de3b87aSKai Wang *s = "DW_TAG_catch_block"; break; 13072de3b87aSKai Wang case DW_TAG_class_type: 13082de3b87aSKai Wang *s = "DW_TAG_class_type"; break; 13092de3b87aSKai Wang case DW_TAG_common_block: 13102de3b87aSKai Wang *s = "DW_TAG_common_block"; break; 13112de3b87aSKai Wang case DW_TAG_common_inclusion: 13122de3b87aSKai Wang *s = "DW_TAG_common_inclusion"; break; 13132de3b87aSKai Wang case DW_TAG_compile_unit: 13142de3b87aSKai Wang *s = "DW_TAG_compile_unit"; break; 13152de3b87aSKai Wang case DW_TAG_condition: 13162de3b87aSKai Wang *s = "DW_TAG_condition"; break; 13172de3b87aSKai Wang case DW_TAG_const_type: 13182de3b87aSKai Wang *s = "DW_TAG_const_type"; break; 13192de3b87aSKai Wang case DW_TAG_constant: 13202de3b87aSKai Wang *s = "DW_TAG_constant"; break; 13212de3b87aSKai Wang case DW_TAG_dwarf_procedure: 13222de3b87aSKai Wang *s = "DW_TAG_dwarf_procedure"; break; 13232de3b87aSKai Wang case DW_TAG_entry_point: 13242de3b87aSKai Wang *s = "DW_TAG_entry_point"; break; 13252de3b87aSKai Wang case DW_TAG_enumeration_type: 13262de3b87aSKai Wang *s = "DW_TAG_enumeration_type"; break; 13272de3b87aSKai Wang case DW_TAG_enumerator: 13282de3b87aSKai Wang *s = "DW_TAG_enumerator"; break; 13292de3b87aSKai Wang case DW_TAG_formal_parameter: 13302de3b87aSKai Wang *s = "DW_TAG_formal_parameter"; break; 13312de3b87aSKai Wang case DW_TAG_friend: 13322de3b87aSKai Wang *s = "DW_TAG_friend"; break; 13332de3b87aSKai Wang case DW_TAG_imported_declaration: 13342de3b87aSKai Wang *s = "DW_TAG_imported_declaration"; break; 13352de3b87aSKai Wang case DW_TAG_imported_module: 13362de3b87aSKai Wang *s = "DW_TAG_imported_module"; break; 13372de3b87aSKai Wang case DW_TAG_imported_unit: 13382de3b87aSKai Wang *s = "DW_TAG_imported_unit"; break; 13392de3b87aSKai Wang case DW_TAG_inheritance: 13402de3b87aSKai Wang *s = "DW_TAG_inheritance"; break; 13412de3b87aSKai Wang case DW_TAG_inlined_subroutine: 13422de3b87aSKai Wang *s = "DW_TAG_inlined_subroutine"; break; 13432de3b87aSKai Wang case DW_TAG_interface_type: 13442de3b87aSKai Wang *s = "DW_TAG_interface_type"; break; 13452de3b87aSKai Wang case DW_TAG_label: 13462de3b87aSKai Wang *s = "DW_TAG_label"; break; 13472de3b87aSKai Wang case DW_TAG_lexical_block: 13482de3b87aSKai Wang *s = "DW_TAG_lexical_block"; break; 13492de3b87aSKai Wang case DW_TAG_member: 13502de3b87aSKai Wang *s = "DW_TAG_member"; break; 13512de3b87aSKai Wang case DW_TAG_module: 13522de3b87aSKai Wang *s = "DW_TAG_module"; break; 13532de3b87aSKai Wang case DW_TAG_namelist: 13542de3b87aSKai Wang *s = "DW_TAG_namelist"; break; 13552de3b87aSKai Wang case DW_TAG_namelist_item: 13562de3b87aSKai Wang *s = "DW_TAG_namelist_item"; break; 13572de3b87aSKai Wang case DW_TAG_namespace: 13582de3b87aSKai Wang *s = "DW_TAG_namespace"; break; 13592de3b87aSKai Wang case DW_TAG_packed_type: 13602de3b87aSKai Wang *s = "DW_TAG_packed_type"; break; 13612de3b87aSKai Wang case DW_TAG_partial_unit: 13622de3b87aSKai Wang *s = "DW_TAG_partial_unit"; break; 13632de3b87aSKai Wang case DW_TAG_pointer_type: 13642de3b87aSKai Wang *s = "DW_TAG_pointer_type"; break; 13652de3b87aSKai Wang case DW_TAG_ptr_to_member_type: 13662de3b87aSKai Wang *s = "DW_TAG_ptr_to_member_type"; break; 13672de3b87aSKai Wang case DW_TAG_reference_type: 13682de3b87aSKai Wang *s = "DW_TAG_reference_type"; break; 13692de3b87aSKai Wang case DW_TAG_restrict_type: 13702de3b87aSKai Wang *s = "DW_TAG_restrict_type"; break; 13712de3b87aSKai Wang case DW_TAG_rvalue_reference_type: 13722de3b87aSKai Wang *s = "DW_TAG_rvalue_reference_type"; break; 13732de3b87aSKai Wang case DW_TAG_set_type: 13742de3b87aSKai Wang *s = "DW_TAG_set_type"; break; 13752de3b87aSKai Wang case DW_TAG_shared_type: 13762de3b87aSKai Wang *s = "DW_TAG_shared_type"; break; 13772de3b87aSKai Wang case DW_TAG_string_type: 13782de3b87aSKai Wang *s = "DW_TAG_string_type"; break; 13792de3b87aSKai Wang case DW_TAG_structure_type: 13802de3b87aSKai Wang *s = "DW_TAG_structure_type"; break; 13812de3b87aSKai Wang case DW_TAG_subprogram: 13822de3b87aSKai Wang *s = "DW_TAG_subprogram"; break; 13832de3b87aSKai Wang case DW_TAG_subrange_type: 13842de3b87aSKai Wang *s = "DW_TAG_subrange_type"; break; 13852de3b87aSKai Wang case DW_TAG_subroutine_type: 13862de3b87aSKai Wang *s = "DW_TAG_subroutine_type"; break; 13872de3b87aSKai Wang case DW_TAG_template_alias: 13882de3b87aSKai Wang *s = "DW_TAG_template_alias"; break; 13892de3b87aSKai Wang case DW_TAG_template_type_parameter: 13902de3b87aSKai Wang *s = "DW_TAG_template_type_parameter"; break; 13912de3b87aSKai Wang case DW_TAG_template_value_parameter: 13922de3b87aSKai Wang *s = "DW_TAG_template_value_parameter"; break; 13932de3b87aSKai Wang case DW_TAG_thrown_type: 13942de3b87aSKai Wang *s = "DW_TAG_thrown_type"; break; 13952de3b87aSKai Wang case DW_TAG_try_block: 13962de3b87aSKai Wang *s = "DW_TAG_try_block"; break; 13972de3b87aSKai Wang case DW_TAG_type_unit: 13982de3b87aSKai Wang *s = "DW_TAG_type_unit"; break; 13992de3b87aSKai Wang case DW_TAG_typedef: 14002de3b87aSKai Wang *s = "DW_TAG_typedef"; break; 14012de3b87aSKai Wang case DW_TAG_union_type: 14022de3b87aSKai Wang *s = "DW_TAG_union_type"; break; 14032de3b87aSKai Wang case DW_TAG_unspecified_parameters: 14042de3b87aSKai Wang *s = "DW_TAG_unspecified_parameters"; break; 14052de3b87aSKai Wang case DW_TAG_unspecified_type: 14062de3b87aSKai Wang *s = "DW_TAG_unspecified_type"; break; 14072de3b87aSKai Wang case DW_TAG_variable: 14082de3b87aSKai Wang *s = "DW_TAG_variable"; break; 14092de3b87aSKai Wang case DW_TAG_variant: 14102de3b87aSKai Wang *s = "DW_TAG_variant"; break; 14112de3b87aSKai Wang case DW_TAG_variant_part: 14122de3b87aSKai Wang *s = "DW_TAG_variant_part"; break; 14132de3b87aSKai Wang case DW_TAG_volatile_type: 14142de3b87aSKai Wang *s = "DW_TAG_volatile_type"; break; 14152de3b87aSKai Wang case DW_TAG_with_stmt: 14162de3b87aSKai Wang *s = "DW_TAG_with_stmt"; break; 1417cf781b2eSEd Maste case DW_TAG_format_label: 1418cf781b2eSEd Maste *s = "DW_TAG_format_label"; break; 1419cf781b2eSEd Maste case DW_TAG_function_template: 1420cf781b2eSEd Maste *s = "DW_TAG_function_template"; break; 1421cf781b2eSEd Maste case DW_TAG_class_template: 1422cf781b2eSEd Maste *s = "DW_TAG_class_template"; break; 1423cf781b2eSEd Maste case DW_TAG_GNU_BINCL: 1424cf781b2eSEd Maste *s = "DW_TAG_GNU_BINCL"; break; 1425cf781b2eSEd Maste case DW_TAG_GNU_EINCL: 1426cf781b2eSEd Maste *s = "DW_TAG_GNU_EINCL"; break; 1427cf781b2eSEd Maste case DW_TAG_GNU_template_template_param: 1428cf781b2eSEd Maste *s = "DW_TAG_GNU_template_template_param"; break; 1429cf781b2eSEd Maste case DW_TAG_GNU_template_parameter_pack: 1430cf781b2eSEd Maste *s = "DW_TAG_GNU_template_parameter_pack"; break; 1431cf781b2eSEd Maste case DW_TAG_GNU_formal_parameter_pack: 1432cf781b2eSEd Maste *s = "DW_TAG_GNU_formal_parameter_pack"; break; 1433cf781b2eSEd Maste case DW_TAG_GNU_call_site: 1434cf781b2eSEd Maste *s = "DW_TAG_GNU_call_site"; break; 1435cf781b2eSEd Maste case DW_TAG_GNU_call_site_parameter: 1436cf781b2eSEd Maste *s = "DW_TAG_GNU_call_site_parameter"; break; 14372de3b87aSKai Wang default: 14382de3b87aSKai Wang return (DW_DLV_NO_ENTRY); 14392de3b87aSKai Wang } 14402de3b87aSKai Wang 14412de3b87aSKai Wang return (DW_DLV_OK); 14422de3b87aSKai Wang } 14432de3b87aSKai Wang 14442de3b87aSKai Wang int 14452de3b87aSKai Wang dwarf_get_VIRTUALITY_name(unsigned vir, const char **s) 14462de3b87aSKai Wang { 14472de3b87aSKai Wang 14482de3b87aSKai Wang assert(s != NULL); 14492de3b87aSKai Wang 14502de3b87aSKai Wang switch (vir) { 14512de3b87aSKai Wang case DW_VIRTUALITY_none: 14522de3b87aSKai Wang *s = "DW_VIRTUALITY_none"; break; 14532de3b87aSKai Wang case DW_VIRTUALITY_virtual: 14542de3b87aSKai Wang *s = "DW_VIRTUALITY_virtual"; break; 14552de3b87aSKai Wang case DW_VIRTUALITY_pure_virtual: 14562de3b87aSKai Wang *s = "DW_VIRTUALITY_pure_virtual"; break; 14572de3b87aSKai Wang default: 14582de3b87aSKai Wang return (DW_DLV_NO_ENTRY); 14592de3b87aSKai Wang } 14602de3b87aSKai Wang 14612de3b87aSKai Wang return (DW_DLV_OK); 14622de3b87aSKai Wang } 14632de3b87aSKai Wang 14642de3b87aSKai Wang int 14652de3b87aSKai Wang dwarf_get_VIS_name(unsigned vis, const char **s) 14662de3b87aSKai Wang { 14672de3b87aSKai Wang 14682de3b87aSKai Wang assert(s != NULL); 14692de3b87aSKai Wang 14702de3b87aSKai Wang switch (vis) { 14712de3b87aSKai Wang case DW_VIS_local: 14722de3b87aSKai Wang *s = "DW_VIS_local"; break; 14732de3b87aSKai Wang case DW_VIS_exported: 14742de3b87aSKai Wang *s = "DW_VIS_exported"; break; 14752de3b87aSKai Wang case DW_VIS_qualified: 14762de3b87aSKai Wang *s = "DW_VIS_qualified"; break; 14772de3b87aSKai Wang default: 14782de3b87aSKai Wang return (DW_DLV_NO_ENTRY); 14792de3b87aSKai Wang } 14802de3b87aSKai Wang 14812de3b87aSKai Wang return (DW_DLV_OK); 14822de3b87aSKai Wang } 1483