This is the mail archive of the gdb-patches@sources.redhat.com 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: [PATCH/RFC] Get rid of deprectated_read_register_gen in i387-tdep.c


I checked in the attached patch.  Unfortunately this introduces a
Thanks for flushing these!

   FAIL: gdb.base/default.exp: info float

in the testsuite.  The output now is:

   info float
   No registers.

Which makes sense to me since it's the truth.  However, "info
registers" and "info vector" print a slightly different message:

   info registers
   The program has no registers now.

The reason is that the bit of code that prints this message:

      if (!target_has_registers)
	error ("The program has no registers now.");
      if (selected_frame == NULL)
	error ("No selected frame.");

isn't executed if a print_float_info method exists in the target
vector.  Is there any reason not to move these statements up such that
they're executed even if a target provides the print_float_info
method?
I can't think of a reason not to.

--

PS: My things to do real soon includes add a function:

get_selected_frame (thread_info *)
if (!thread's target_has_registers)
error ("...");
if (thread's selected_frame != NULL)
return thread's selected_frame;
// now for the fun
// selected_frame = find_frame_by_id (thread's selected frame-id);
// if (selected_frame != NULL)
// return selected_frame;
error ("No selected frame");

and then use that instead of the selected_frame global.

The bit that is commented out is more interesting. It would mean differentiating between target_changed() and target_run() events.

The former shouldn't change the selected frame but the latter should set it back to current frame. This will cause a behavioral change in GDB but I think it will really fix a bug.

Andrew


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