This is the mail archive of the gdb@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: check for valid location of zero length dwarf block forms?


On Sun, 22 Nov 2009 21:21:48 +0100, Jack Howarth wrote:
>    Is this being done in the following code from dwarf2out.c?

Forwarded it to Dodji:

On Mon, 23 Nov 2009 10:57:55 +0100, Dodji Seketeli wrote:
# My understanding is that the code of resolve_addr makes sure that a
# DW_OP_addr or a DW_AT_const_value does _NOT_ point to a "junk" address.
# I.E. the function makes sure that if the address does not point to either a
# const string in .rodata or an address in the current CU (for SYMBOL_REFs),
# then:
# - the location list containing the DW_OP_addr is removed
#   or
# - the DW_AT_const_value is replaced by a DW_AT_location pointing to an
#   empty location expression.


> The problem we have on darwin is that, while Apple will likely fix dsymutils
> for Xcode 3.2 (Snow Leopard), it probably will remain broken for Tiger and
> Leopard's devtools. So it would be helpful to find some way to suppress this
> offending dwarf code on darwin in the cases were the variable has a valid location
> but is zero length or doesn't have a location.

I think you can put some workaround
to dwarf2out.c (output_die <dw_val_class_loc>) but I did not try it.


Regards,
Jan


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]