This is the mail archive of the gdb@sources.redhat.com mailing list for the GDB 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: ARM stack alignment on hand called functions


----- Original Message -----
From: "Andrew Cagney" <ac131313@redhat.com>
To: "Kris Warkentin" <kewarken@qnx.com>
Cc: <Richard.Earnshaw@arm.com>; <gdb@sources.redhat.com>
Sent: Wednesday, November 20, 2002 12:18 PM
Subject: Re: ARM stack alignment on hand called functions


> > The problem arises only with functions which return structures whose
size is
> > not evenly divisible by 4.  Below is what I did to solve it.
>
> Kris, FYI,
> It's very important to always reproduce problems using the current GDB
> sources.  That way, any confusion arrising from either local
> modifications (does QNX 6 ship an un-modified GDB 5.2.1?) or out-of-date
> sources (has the problem been fixed?).

We had to pick a snapshot for our current release so we chose 5.2.1 which is
the current, stable gdb release.  Our modifications mostly lie in the procfs
interface and the remote communications ends of things.

> For the problem at hand, I suspect the post 5.3 architecture method -
> gdbarch_frame_align() - is needed.  That method is used to align each
> element's stack address (e.g., struct return) and not the size of each
> element.

So perhaps this is a FIXME for us for later.  The thing is, there isn't any
QNX specific code down this path so I suspect this alignment issue is a
generic gdb problem.  Once we finish up with this release, the plan is to
port our QNX modifications to the gdb head branch for eventual inclusion in
the generic release.

> (I think I might add a few more juicy comments to valops.c so its
> clearer what the fix to your problem is :-).

Thanks Andrew.

Kris


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