]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
aix: Debugging does not require a stack frame.
authorDavid Edelsohn <dje.gcc@gmail.com>
Sun, 4 Jun 2023 00:27:16 +0000 (20:27 -0400)
committerDavid Edelsohn <dje.gcc@gmail.com>
Mon, 12 Jun 2023 01:28:31 +0000 (21:28 -0400)
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.

gcc/ChangeLog:

* config/rs6000/rs6000-logue.cc (rs6000_stack_info):
Do not require a stack frame when debugging is enabled for AIX.

Signed-off-by: David Edelsohn <dje.gcc@gmail.com>
gcc/config/rs6000/rs6000-logue.cc

index bc6b153b59f486face617b375bc136db57393415..98846f781eccfb01fa8bf6b3da9deb3e3bc3c9f6 100644 (file)
@@ -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);