Re: [rfa:rs6000] Framefy rs6000 (and GNU/Linux PPC)

Andrew Cagney
2004-03-03T15:36:23Z

This will leave AIX. At present it is handled with the blatant hack:

+ default:
+ set_gdbarch_deprecated_save_dummy_frame_tos (gdbarch,
generic_save_dummy_frame_tos);
+ set_gdbarch_believe_pcc_promotion (gdbarch, 1);
+ set_gdbarch_deprecated_pop_frame (gdbarch, rs6000_pop_frame);
+ set_gdbarch_deprecated_frame_args_address (gdbarch,
rs6000_frame_args_address);
+ set_gdbarch_deprecated_frame_locals_address (gdbarch,
rs6000_frame_args_address);
+ set_gdbarch_deprecated_saved_pc_after_call (gdbarch,
rs6000_saved_pc_after_call);
+ set_gdbarch_deprecated_frameless_function_invocation (gdbarch,
rs6000_frameless_function_invocation);
+ set_gdbarch_deprecated_frame_chain (gdbarch, rs6000_frame_chain);
+ set_gdbarch_deprecated_frame_saved_pc (gdbarch,
rs6000_frame_saved_pc);
+ set_gdbarch_deprecated_frame_init_saved_regs (gdbarch,
rs6000_frame_init_saved_regs);
+ set_gdbarch_deprecated_init_extra_frame_info (gdbarch,
rs6000_init_extra_frame_info);
+ set_gdbarch_deprecated_init_frame_pc_first (gdbarch,
rs6000_init_frame_pc_first);

while that might be ok for the 6.1 branch, I don't think it is ok for
the mainline. We've already waited too long for someone to frameify the
PPC :-( Do you or Peter have timely plans for fixing that part of the code?

>>> static void
>>> ppc_linux_init_abi (struct gdbarch_info info,
>>> struct gdbarch *gdbarch)
>>> @@ -1051,6 +1157,7 @@
>>> PowerOpen struct convention. */
>>> set_gdbarch_return_value (gdbarch, ppc_linux_return_value);
>>>
>>> +#if 0
>>> /* Note: kevinb/2002-04-12: See note in rs6000_gdbarch_init regarding
>>> *_push_arguments(). The same remarks hold for the methods below. */
>>> set_gdbarch_deprecated_frameless_function_invocation (gdbarch, ppc_linux_frameless_function_invocation);
>>> @@ -1061,9 +1168,11 @@
>>> ppc_linux_frame_init_saved_regs);
>>> set_gdbarch_deprecated_init_extra_frame_info (gdbarch,
>>> ppc_linux_init_extra_frame_info);
>>> +#endif
>
>
> Is there any reason to retain this #if 0'd code?

With this patch approved, deleting the #if0 and removing the unused
functions becomes an "obvious" cleanups.

Andrew