[LLVMdev] Dropping the DW_ prefix from names in dwarfdump (original) (raw)
Adrian Prantl aprantl at apple.com
Mon Jan 19 10:26:06 PST 2015
- Previous message: [LLVMdev] Dropping the DW_ prefix from names in dwarfdump
- Next message: [LLVMdev] Dropping the DW_ prefix from names in dwarfdump
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Jan 19, 2015, at 10:08 AM, David Blaikie <dblaikie at gmail.com> wrote:
Hey guys, Frederic is introducing the expression dumping support and in the interests of tersity is skipping the "DW" in every "DWOP" (heck, we could even skip the "OP" given the context - nothing else textual can appear there, right?) Any thoughts on skipping the "DW" (maybe even the AT/TAG/FORM too) in the rest of dwarfdump? (skipping the AT/TAG (FORM would be relatively easy I think) would be a bit trickier, but still identifiable/solvable) I haven't tried it to see how it looks/reads.
I think we should have a switchable level of verbosity. I think that the Darwin dwarfdump utility could serve as an example (at least to fuel the discussion): Here is Darwin's dwarfdump output with the default settings
File: out.o (x86_64)
.debug_info contents:
0x00000000: Compile Unit: length = 0x0000005b version = 0x0004 abbr_offset = 0x00000000 addr_size = 0x08 (next CU at 0x0000005f)
0x0000000b: TAG_compile_unit [1] * AT_producer( "clang version 3.5.0 (209308)" ) AT_language( DW_LANG_C_plus_plus ) AT_name( "test.cc" ) AT_stmt_list( 0x00000000 ) AT_comp_dir( "/llvm_cmake" ) AT_low_pc( 0x0000000000000000 ) AT_high_pc( 0x00000184 )
0x0000002a: TAG_subprogram [2] * AT_low_pc( 0x0000000000000000 ) AT_high_pc( 0x00000184 ) AT_frame_base( rbp ) AT_MIPS_linkage_name( "_Z3bari" ) AT_name( "bar" ) AT_decl_file( "/llvm_cmake/test.cc" ) AT_decl_line( 1 ) AT_type( {0x00000057} ( int ) ) AT_external( true )
0x00000047: TAG_formal_parameter [3]
AT_location( 0x00000000
0x0000000000000000 - 0x00000000000000b9: rdi+0
0x00000000000000b9 - 0x0000000000000184: rsp+16, deref )
AT_name( "y" )
AT_decl_file( "/llvm_cmake/test.cc" )
AT_decl_line( 1 )
AT_type( {0x00000057} ( int ) )
0x00000056: NULL
0x00000057: TAG_base_type [4]
AT_name( "int" )
AT_encoding( DW_ATE_signed )
AT_byte_size( 0x04 )
0x0000005e: NULL
and here is the same file with -v:
File: out.o {mach64-x86_64-MH_OBJECT} (x86_64)
.debug_info contents:
0x00000000: Compile Unit: length = 0x0000005b version = 0x0004 abbr_offset = 0x00000000 addr_size = 0x08 (next CU at 0x0000005f)
0x0000000b: TAG_compile_unit [1] * 0x0000000c: AT_producer( .debug_str[0x00000000] = "clang version 3.5.0 (209308)" ) 0x00000010: AT_language( 0x0004 ( DW_LANG_C_plus_plus ) ) 0x00000012: AT_name( .debug_str[0x0000001d] = "test.cc" ) 0x00000016: AT_stmt_list( 0x00000000 ( 0x00000000 ) ) 0x0000001a: AT_comp_dir( .debug_str[0x00000025] = "/llvm_cmake" ) 0x0000001e: AT_low_pc( 0x0000000000000000 ) 0x00000026: AT_high_pc( 0x00000184 )
0x0000002a: TAG_subprogram [2] * 0x0000002b: AT_low_pc( 0x0000000000000000 ) 0x00000033: AT_high_pc( 0x00000184 ) 0x00000037: AT_frame_base( <0x0000000000000001> 56 ( reg6 ) ) 0x00000039: AT_MIPS_linkage_name( .debug_str[0x00000039] = "_Z3bari" ) 0x0000003d: AT_name( .debug_str[0x00000035] = "bar" ) 0x00000041: AT_decl_file( 0x01 ( "/llvm_cmake/test.cc" ) ) 0x00000042: AT_decl_line( 0x01 ( 1 ) ) 0x00000043: AT_type( cu + 0x00000057 => {0x00000057} ( int ) ) 0x00000047: AT_external( true )
0x00000047: TAG_formal_parameter [3]
0x00000048: AT_location( 0x00000000
0x0000000000000000 - 0x00000000000000b9: breg5 +0
0x00000000000000b9 - 0x0000000000000184: breg7 +16, deref )
0x0000004c: AT_name( .debug_str[0x00000045] = "y" )
0x00000050: AT_decl_file( 0x01 ( "/llvm_cmake/test.cc" ) )
0x00000051: AT_decl_line( 0x01 ( 1 ) )
0x00000052: AT_type( cu + 0x00000057 => {0x00000057} ( int ) )
0x00000056: NULL
0x00000057: TAG_base_type [4]
0x00000058: AT_name( .debug_str[0x00000041] = "int" )
0x0000005c: AT_encoding( 0x05 ( DW_ATE_signed ) )
0x0000005d: AT_byte_size( 0x04 )
0x0000005e: NULL
I particularly like the inline location expressions.
-- adrian
-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150119/95d46a9d/attachment.html>
- Previous message: [LLVMdev] Dropping the DW_ prefix from names in dwarfdump
- Next message: [LLVMdev] Dropping the DW_ prefix from names in dwarfdump
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]