[RFA/RFC] Restore old handling of multi-register variables

Joel Brobecker brobecker@adacore.com
Wed Oct 26 21:44:00 GMT 2011


Here is a new version of the patch that reads values over multiple
registers if needed. You suggested that read_frame_register_value
should be in frame.c, but it seemed more logical to put it in findvar.
I think that the proximity with the ther frame_register routines
made it more natural, whereas I couldn't find a natural place where
the new routine would fit in frame.c.  But I can move it to frame.c
if you think it's a better place.

I have also started looking at converting the register_to_value
gdbarch method to using values instead of buffer and a couple of
parameters. Not very difficult, but not trivial either. That makes
me worried about introducing bugs during the conversion, and
I won't be able to test most configurations.

I'll send a patch as a follow-up email to this one.  It's not complete,
but gives us an idea, and we can decide whether we want to continue
or not (FYI: I will have very little time for this within the next
couple of weeks).

gdb/ChangeLog:

        * value.h (read_frame_register_value): Add declaration.
        * findvar.c (read_frame_register_value): New function.
        (value_from_register): Use read_frame_register_value
        instead of get_frame_register_value + value_contents_copy
        to get value contents.

Tested on AVR using AdaCore's testsuite. Tested on x86_64-linux
using the official testsuite.

OK?

Thanks,
-- 
Joel



More information about the Gdb-patches mailing list