The rs6000 port has allocated a stack frame when debugging is enabled on AIX since the earliest versions of the port. Apparently the earliest versions of the debuggers for AIX had difficulty with stackless frames.
Both AIX DBX and GDB support stackless frames on AIX, and IBM XLC, OpenXL and LLVM for AIX do not generate an extraneous stack frame when debugging is enabled. This patch updates the rs6000 stack info function to not set the.stack frame flag when debugging is enabled for AIX. Bootstrapped on powerpc-ibm-aix7.2.5.0 Committed. Thanks, David * gcc/config/rs6000/rs6000-logue.cc (rs6000_stack_info): Do not require a stack frame when debugging is enabled for AIX. index bc6b153b59f..98846f781ec 100644 --- a/gcc/config/rs6000/rs6000-logue.cc +++ b/gcc/config/rs6000/rs6000-logue.cc @@ -928,9 +928,6 @@ rs6000_stack_info (void) else if (frame_pointer_needed) info->push_p = 1; - else if (TARGET_XCOFF && write_symbols != NO_DEBUG && !flag_compare_debug) - info->push_p = 1; - else info->push_p = non_fixed_size > (TARGET_32BIT ? 220 : 288);