]> sourceware.org Git - systemtap.git/commit
Don't use dwfl_module bias in either emit_address() and vardie_from_symtable().
authorMark Wielaard <mjw@redhat.com>
Wed, 16 Nov 2011 12:33:26 +0000 (13:33 +0100)
committerMark Wielaard <mjw@redhat.com>
Wed, 16 Nov 2011 13:27:48 +0000 (14:27 +0100)
commit2d7232ca34eee7f244949fa4d05dcf039f558709
tree9937ad951caaa1e7f06e2e0aabb473d83a2e5d63
parent8c6bb2894a95b9035e7469adf339fb6402749b0f
Don't use dwfl_module bias in either emit_address() and vardie_from_symtable().

dwflpp::emit_address() is called by loc2c for emitting DW_OP_addr.
DW_OP_addr could come from the actual dwarf location description or
could be synthetically generated from through vardie_from_symtable().
vardie_from_symtable() would keep the dwfl module bias (if there was one),
but the DW_OP_addr from real dwarf debuginfo would not have it.
Now we are consistently not having the module bias added.

Add some variants of the externalvar.exp testcase, which previously
failed with older GCC versions (where we would pick up the DW_OP_addr
from the dwarf location description), while newer GCCs emit dwarf DIEs
for these variables that only have the external flag set. The new
testcase variants use static vars, which will have DW_OP_addr emitted
in both old and new GCC versions.
dwflpp.cxx
testsuite/systemtap.base/externalvar.c
testsuite/systemtap.base/externalvar.exp
testsuite/systemtap.base/externalvar.stp
testsuite/systemtap.base/externalvar_lib.c
This page took 0.027602 seconds and 5 git commands to generate.