Redefine STACK_BOUNDARY/PREFERRED_STACK_BOUNDARY for Darwin/x86.
gcc/ 2010-09-07 H.J. Lu <hjl.tools@gmail.com> Jack Howarth <howarth@bromo.med.uc.edu> PR target/36502 PR target/42313 PR target/44651 * gcc/config/i386/darwin.h (STACK_BOUNDARY): Redefine as 128 for profiling or 64-bit MS_ABI and as BITS_PER_WORD otherwise. (PREFERRED_STACK_BOUNDARY): Replace STACK_BOUNDARY with 128 in MAX macro. gcc/testsuite/ 2010-09-07 Jack Howarth <howarth@bromo.med.uc.edu> PR target/36502 * gcc.target/i386/pr36502.c: New test. PR target/42313 PR target/44651 * gcc.target/i386/builtin-unreachable.c: Don't skip on darwin. * gcc/testsuite/gcc.dg/stack-usage-1.c: Use default on i386/Darwin. From-SVN: r163971
This commit is contained in:
parent
4e75177267
commit
a0766cdbb9
6 changed files with 34 additions and 8 deletions
|
@ -1,3 +1,14 @@
|
|||
2010-09-07 H.J. Lu <hjl.tools@gmail.com>
|
||||
Jack Howarth <howarth@bromo.med.uc.edu>
|
||||
|
||||
PR target/36502
|
||||
PR target/42313
|
||||
PR target/44651
|
||||
* gcc/config/i386/darwin.h (STACK_BOUNDARY): Redefine as 128 for
|
||||
profiling or 64-bit MS_ABI and as BITS_PER_WORD otherwise.
|
||||
(PREFERRED_STACK_BOUNDARY): Replace STACK_BOUNDARY with 128 in
|
||||
MAX macro.
|
||||
|
||||
2010-09-07 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
* unwind-dw2-fde-glibc.c: Include <elf.h> for DT_CONFIG.
|
||||
|
|
|
@ -79,7 +79,9 @@ extern int darwin_emit_branch_islands;
|
|||
Failure to ensure this will lead to a crash in the system libraries
|
||||
or dynamic loader. */
|
||||
#undef STACK_BOUNDARY
|
||||
#define STACK_BOUNDARY 128
|
||||
#define STACK_BOUNDARY \
|
||||
((profile_flag || (TARGET_64BIT && ix86_abi == MS_ABI)) \
|
||||
? 128 : BITS_PER_WORD)
|
||||
|
||||
#undef MAIN_STACK_BOUNDARY
|
||||
#define MAIN_STACK_BOUNDARY 128
|
||||
|
@ -91,7 +93,7 @@ extern int darwin_emit_branch_islands;
|
|||
it's below the minimum. */
|
||||
#undef PREFERRED_STACK_BOUNDARY
|
||||
#define PREFERRED_STACK_BOUNDARY \
|
||||
MAX (STACK_BOUNDARY, ix86_preferred_stack_boundary)
|
||||
MAX (128, ix86_preferred_stack_boundary)
|
||||
|
||||
/* We want -fPIC by default, unless we're using -static to compile for
|
||||
the kernel or some such. */
|
||||
|
|
|
@ -1,3 +1,13 @@
|
|||
2010-09-07 Jack Howarth <howarth@bromo.med.uc.edu>
|
||||
|
||||
PR target/36502
|
||||
* gcc.target/i386/pr36502.c: New test.
|
||||
|
||||
PR target/42313
|
||||
PR target/44651
|
||||
* gcc.target/i386/builtin-unreachable.c: Don't skip on darwin.
|
||||
* gcc/testsuite/gcc.dg/stack-usage-1.c: Use default on i386/Darwin.
|
||||
|
||||
2010-09-07 Mikael Morin <mikael@gcc.gnu.org>
|
||||
|
||||
* gfortran.dg/achar_4.f90: Enable bounds checking.
|
||||
|
|
|
@ -8,11 +8,7 @@
|
|||
Then check that this is the actual stack usage in the assembly file. */
|
||||
|
||||
#if defined(__i386__)
|
||||
# if defined (__MACH__)
|
||||
# define SIZE 232
|
||||
# else
|
||||
# define SIZE 248
|
||||
# endif
|
||||
# define SIZE 248
|
||||
#elif defined(__x86_64__)
|
||||
# define SIZE 356
|
||||
#elif defined (__sparc__)
|
||||
|
|
|
@ -9,5 +9,5 @@ int h (char *p)
|
|||
__builtin_unreachable ();
|
||||
return p ? 1 : 0;
|
||||
}
|
||||
/* { dg-final { scan-assembler-not "%e\[bs\]p" { target { ! *-*-darwin* } } } } */
|
||||
/* { dg-final { scan-assembler-not "%e\[bs\]p" } } */
|
||||
/* { dg-final { scan-assembler-not "\[\\t \]+j" } } */
|
||||
|
|
7
gcc/testsuite/gcc.target/i386/pr36502.c
Normal file
7
gcc/testsuite/gcc.target/i386/pr36502.c
Normal file
|
@ -0,0 +1,7 @@
|
|||
/* PR target/36502 */
|
||||
/* { dg-do compile { target { *-*-darwin* && ilp32 } } } */
|
||||
/* { dg-options "-O -fomit-frame-pointer -fno-pic -S" } */
|
||||
int a;
|
||||
void f() {a++;}
|
||||
/* { dg-final { scan-assembler-not "esp" } } */
|
||||
|
Loading…
Add table
Reference in a new issue