This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/37012] numerous stackalign related testsuite failures on i686-apple-darwin9
- From: "Joey dot ye at intel dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 4 Aug 2008 07:24:54 -0000
- Subject: [Bug c++/37012] numerous stackalign related testsuite failures on i686-apple-darwin9
- References: <bug-37012-11113@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #18 from Joey dot ye at intel dot com 2008-08-04 07:24 -------
(In reply to comment #9)
> Joey, I think the problem is the usage of STACK_BOUNDARY / BITS_PER_UNIT
> for stack alignment. On MacOS, STACK_BOUNDARY 128 on ia32. Shouldn't
> we use UNITS_PER_WORD in some cases? Please double check all usages of
> STACK_BOUNDARY / BITS_PER_UNIT in our stack alignment codes.
That's exactly what I worried about 128 bits STACK_BOUNDARY. For example
following code won't work on Darwin:
int param_ptr_offset = (call_used_regs[REGNO (crtl->drap_reg)]
? 0 : STACK_BOUNDARY / BITS_PER_UNIT);
UNITS_PER_WORD should be used instead. Working on the patch.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37012