This is the mail archive of the gdb-patches@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: [RFA/RFC] Restore old handling of multi-register variables


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


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