[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-bugs-dist
Subject:    [Bug 185801] exp-ptrcheck: evaluate_Dwarf3_Expr: unhandled DW_OP_ 0x93
From:       Tom Tromey <tromey () redhat ! com>
Date:       2012-03-26 16:09:06
Message-ID: bug-185801-17878-so4dvImhVX () http ! bugs ! kde ! org/
[Download RAW message or body]

https://bugs.kde.org/show_bug.cgi?id=185801

--- Comment #9 from Tom Tromey <tromey@redhat.com> ---
I used sed et al to extract lists of DWARF opcodes from GCC's dwarf2.h and from
valgrind.
Then I compared the lists and came up with 3 categories of opcodes that are
currently
not handled by valgrind:

First, opcodes that I believe GCC can actually emit under the right
circumstances:

-DW_OP_bit_piece
-DW_OP_call2
-DW_OP_call4
-DW_OP_call_ref
-DW_OP_form_tls_address
-DW_OP_GNU_const_type
-DW_OP_GNU_convert
-DW_OP_GNU_deref_type
-DW_OP_GNU_encoded_addr
-DW_OP_GNU_entry_value
-DW_OP_GNU_implicit_pointer
-DW_OP_GNU_parameter_ref
-DW_OP_GNU_push_tls_address
-DW_OP_GNU_regval_type
-DW_OP_GNU_reinterpret
-DW_OP_GNU_uninit    
-DW_OP_piece
-DW_OP_push_object_address

It isn't always obvious how to make GCC emit a given opcode; and at least the
two TLS ones seem to be target dependent.

Second, opcodes in the DWARF standard that GCC does not emit:

-DW_OP_xderef
-DW_OP_xderef_size

Finally, extensions that are in GCC's dwarf2.h but which presumably aren't
relevant:

-DW_OP_HP_fltconst4  
-DW_OP_HP_fltconst8  
-DW_OP_HP_is_value   
-DW_OP_HP_mod_range  
-DW_OP_HP_tls        
-DW_OP_HP_unknown    
-DW_OP_HP_unmod_range
-DW_OP_PGI_omp_thread_num

GCC doesn't emit any of these.

-- 
You are receiving this mail because:
You are watching all bug changes.
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic