On Thu, 2009-11-19 at 18:20 +0000, Andrew Haley wrote: > OK, I found it. There is a struct defined as > > struct entry { > ... > } __attribute__((__aligned__((1 << (4))))); > > and then in timer_stats_update_stats you have a local variable of type > struct entry: > > void timer_stats_update_stats() > { > spinlock_t *lock; > struct entry *entry, input; > > So, gcc has to 16-align the stack pointer to satisfy the alignment > for struct entry.
It has to align the entire stack? Why not just the variable within the stack? -- Steve