Thanks for the review, Jan. > In general I do not think we can ever fix it all on top of the current > infrastructure. These OFFSETs, EMBEDDED_OFFSETs etc. should be dropped, there > should be support for discontiguos set of memory snapshot associated with > struct value (so that it supports for example even virtual method tables or > slices of multidimensional Fortran arrays). Yeah, I agree. Although, I have been wondering how we could do without offset, but something along those lines will be necessary (my naive questions was: why not add offset to address and be done with it, but of course, address might be a DWARF expression, for instance). I checked in the patch with the missing function comment (see attached). But I have one question: > > @@ -2310,18 +2309,22 @@ ada_value_primitive_packed_val (struct value *obj, const gdb_byte *valaddr, > > > > if (obj != NULL) > > { > > - CORE_ADDR new_addr; > > + long new_offset = offset; > > Nitpick - LONGEST (Siddhesh Poyarekar is working on a more thorough fix). I know you said it's a nitpick, but I don't understand why you think it should be LONGEST. "offset" itself is a long, and the only use of that new_offset is for set_value_offset, which takes an int. Are the changes you are referring to going to make that a LONGEST? I'll fix that as a followup patch if you confirm the above. Thanks! -- Joel