2002-09-19 Andrew Cagney <ac131313@redhat.com>
authorAndrew Cagney <cagney@redhat.com>
Thu, 19 Sep 2002 15:43:49 +0000 (15:43 +0000)
committerAndrew Cagney <cagney@redhat.com>
Thu, 19 Sep 2002 15:43:49 +0000 (15:43 +0000)
* gdbint.texinfo (Target Architecture Definition): Revise
description of STACK_ALIGN.  Add description of FRAME_ALIGN.

gdb/doc/ChangeLog
gdb/doc/gdbint.texinfo

index 2047963f1d7b54c5a9647cd620003f2ab41a39c3..44bf42056750c6c771edaf6c7ab32ef2415edba1 100644 (file)
@@ -1,3 +1,8 @@
+2002-09-19  Andrew Cagney  <ac131313@redhat.com>
+
+       * gdbint.texinfo (Target Architecture Definition): Revise
+       description of STACK_ALIGN.  Add description of FRAME_ALIGN.
+
 2002-09-19  Joel Brobecker  <brobecker@gnat.com>
 
        * gdbint.texinfo (Target Conditionals): Document the new
index b2e81a52b8f19e85d819c1bc2cb0a48ed5613e97..1c3743bd08cab24759d78d4edf86b7673f85e81d 100644 (file)
@@ -3175,6 +3175,23 @@ Define this to an expression that returns 1 if the function invocation
 represented by @var{fi} does not have a stack frame associated with it.
 Otherwise return 0.
 
+@item frame_align (@var{address})
+@anchor{frame_align}
+@findex frame_align
+Define this to adjust @var{address} so that it meets the alignment
+requirements for the start of a new stack frame.  A stack frame's
+alignment requirements are typically stronger than a target processors
+stack alignment requirements (@pxref{STACK_ALIGN}).
+
+This function is used to ensure that, when creating a dummy frame, both
+the initial stack pointer and (if needed) the address of the return
+value are correctly aligned.
+
+Unlike @code{STACK_ALIGN}, this function always adjusts the address in
+the direction of stack growth.
+
+By default, no frame based stack alignment is performed.
+
 @item FRAME_ARGS_ADDRESS_CORRECT
 @findex FRAME_ARGS_ADDRESS_CORRECT
 See @file{stack.c}.
@@ -3690,9 +3707,15 @@ declarations) into @value{GDBN} regnums.  If not defined, no conversion will be
 done.
 
 @item STACK_ALIGN (@var{addr})
+@anchor{STACK_ALIGN}
 @findex STACK_ALIGN
-Define this to adjust the address to the alignment required for the
-processor's stack.
+Define this to increase @var{addr} so that it meets the alignment
+requirements for the processor's stack.
+
+Unlike @ref{frame_align}, this function always adjusts @var{addr}
+upwards.
+
+By default, no stack alignment is performed.
 
 @item STEP_SKIPS_DELAY (@var{addr})
 @findex STEP_SKIPS_DELAY