[parisc-linux] parisc64 kernel and ret1 (gr29) setup

Jeffrey A Law law@redhat.com
Tue, 23 Jan 2001 14:17:48 -0700


  In message <200101231850.KAA26800@adlmail.cup.hp.com>you write:
  > Several years ago we made an attempt to establish a 64-byte stack frame 
  > alignment in the 32-bit conventions, so that the compiler could take 
  > advantage of certain cache hints available on some PA-RISC CPUs. Because 
  > of the complexity of assuring that all stack frames in a program obeyed 
  > this convention, and the growth in average stack use, we abandoned the 
  > idea.
  > 
  > I don't believe, however, that we ever fixed the 32-bit conventions 
  > document to reflect this reversal. Unfortunately, it still says that sp 
  > must be 64-byte aligned. Trust me -- it's wrong. We've never enforced a 
  > 64-byte alignment.
Correct.  I believe it was roughly 1993 when I first saw the 64byte stack
frame alignment in an ABI spec for 32bit PA/HPUX and twiddled GCC
appropriately.

In 1995 GCC's optimizers were made smarter in terms of removing redundant
pointer arithmetic and logical ops which exposed the fact that hpux wasn't
actually providing a 64byte aligned stack :-)  And (of course) I had to
re-adjust the known stack alignment for the PA port to reflect reality.

I haven't looked in any of the newer ABI docs to see if this was ever
corrected.

jeff