This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC 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: [RFC][AArch64] function prologue analyzer in linux kernel


On 01/12/2016 05:22 PM, Andrew Pinski wrote:
On Tue, Jan 12, 2016 at 12:18 AM, Eric Botcazou <ebotcazou@adacore.com> wrote:
-fstack-usage does not work when there are VLAs or alloca's.  So there
is no way to figure that part out without analysis of the actual
assembly code.

No, -fstack-usage always works, i.e. its output can always be relied upon;
when it cannot compute the maximum stack usage, it prints "unbounded".

Yes It works that way but that is not useful enough for what is needed
to do unwinding :).

In my analyzer (and stack tracer), the stack pointer is estimated as
   (stack pointer) = (callee's frame pointer) - (callee's stack usage)
here, (callee's stack usage) means a size of memory which is initially
allocated on a stack in a function prologue.
So, as far as dynamic storage be allocated after a function prologue,
we don't have to care about it.

Then -fstack-usage is still as useful as my own analyzer is.

Thanks,
-Takahiro AKASHI


--
Eric Botcazou


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