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]

Re: continuing egcs-1.1 problems



  In message <36488C05.C15F8FA1@mediaone.net>you write:
  > > SECOND PATCH (trampoline size tweaking)
  > > =======================================
  > > 
  > > I don't have an opinion on this, as I don't know the SVR4 ABI for PPC.
  > > (Is it online somewhere?)
  > > 
  > > As it turns out, I never applied to second patch to my egcs 1.1b
  > > build-- only the first one.  That seemed to work fine on some small
  > > test programs that invoked the glibc functions that used nested
  > > functions, but I haven't tried it on anything substantial.
  > > 
  > 
  > When I got home this evening, I dug out my copy of the SysV ABI PowerPC
  > Processor Supplement (July 25, 1994).  According to this document, page
  > 3-15:
  > 
  > "The following requirements apply to the stack frame:
  >     * The stack pointer shall maintain a 16-byte alignment.
  >     * The stack pointer shall point to the first word..."
  > 
  > Well, the rest is immaterial.  So a 40 byte stack frame would be
  > incorrect, but if another portion of egcs is rounding the stack frame
  > size to the next largest 16-byte multiple, then I see no problem with
  > omitting the second patch.  But only if the proper alignment is being
  > maintained elsewhere.
sysv4.h:

/* Alignment in bits of the stack boundary.  Note, in order to allow building
   one set of libraries with -mno-eabi instead of eabi libraries and non-eabi
   versions, just use 64 as the stack boundary.  */
#undef  STACK_BOUNDARY
#define STACK_BOUNDARY  64

/* Real stack boundary as mandated by the appropriate ABI */
#define ABI_STACK_BOUNDARY ((TARGET_EABI) ? 64 : 128)


The code to generate the prologue for the ppc is supposed to be rounding the
stack to ABI_STACK_BOUNDARY.  You should verify that it is working properly.

jeff


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