From 4beb5c4bd1e60a4bd7549795b39aa7ea16302b3d Mon Sep 17 00:00:00 2001 From: Mike Stump Date: Thu, 29 Mar 2007 01:44:26 +0000 Subject: [PATCH] darwin9.h (ASM_OUTPUT_ALIGNED_COMMON): Add. * config/darwin9.h (ASM_OUTPUT_ALIGNED_COMMON): Add. * config/darwin.h (MAX_OFILE_ALIGNMENT): Fix. testsuite: * gcc.dg/darwin-comm.c: Add. From-SVN: r123321 --- gcc/ChangeLog | 5 +++++ gcc/config/darwin.h | 6 +++--- gcc/config/darwin9.h | 11 +++++++++++ gcc/testsuite/ChangeLog | 4 ++++ gcc/testsuite/gcc.dg/darwin-comm.c | 4 ++++ 5 files changed, 27 insertions(+), 3 deletions(-) create mode 100644 gcc/testsuite/gcc.dg/darwin-comm.c diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 1df143557aa..380c5339219 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2007-03-28 Mike Stump + + * config/darwin9.h (ASM_OUTPUT_ALIGNED_COMMON): Add. + * config/darwin.h (MAX_OFILE_ALIGNMENT): Fix. + 2007-03-28 Dwarakanath Rajagopal * config.gcc: Accept barcelona as a variant of amdfam10. diff --git a/gcc/config/darwin.h b/gcc/config/darwin.h index 07cc7767a65..6512a0f5aed 100644 --- a/gcc/config/darwin.h +++ b/gcc/config/darwin.h @@ -674,11 +674,11 @@ extern GTY(()) int darwin_ms_struct; } \ } while (0) -/* The maximum alignment which the object file format can support. - For Mach-O, this is 2^15. */ +/* The maximum alignment which the object file format can support in + bits. For Mach-O, this is 2^15 bytes. */ #undef MAX_OFILE_ALIGNMENT -#define MAX_OFILE_ALIGNMENT 0x8000 +#define MAX_OFILE_ALIGNMENT (0x8000 * 8) /* Declare the section variables. */ #ifndef USED_FOR_TARGET diff --git a/gcc/config/darwin9.h b/gcc/config/darwin9.h index 7431cfb1ed7..522bbcdeb82 100644 --- a/gcc/config/darwin9.h +++ b/gcc/config/darwin9.h @@ -20,3 +20,14 @@ /* The linker can generate branch islands. */ #define DARWIN_LINKER_GENERATES_ISLANDS 1 + +#undef ASM_OUTPUT_ALIGNED_COMMON +#define ASM_OUTPUT_ALIGNED_COMMON(FILE, NAME, SIZE, ALIGN) \ + do { \ + unsigned HOST_WIDE_INT _new_size = SIZE; \ + fprintf ((FILE), ".comm "); \ + assemble_name ((FILE), (NAME)); \ + if (_new_size == 0) _new_size = 1; \ + fprintf ((FILE), ","HOST_WIDE_INT_PRINT_UNSIGNED",%u\n", \ + (SIZE), floor_log2 ((ALIGN) / BITS_PER_UNIT)); \ + } while (0) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index a869fb60fbe..91b8a601955 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2007-03-28 Mike Stump + + * gcc.dg/darwin-comm.c: Add. + 2007-03-28 Eric Christopher * lib/target-supports.exp (check_effective_target_fstack_protector): New. diff --git a/gcc/testsuite/gcc.dg/darwin-comm.c b/gcc/testsuite/gcc.dg/darwin-comm.c new file mode 100644 index 00000000000..74d50867c7f --- /dev/null +++ b/gcc/testsuite/gcc.dg/darwin-comm.c @@ -0,0 +1,4 @@ +/* { dg-do compile { target *-*-darwin9* } } */ +/* { dg-final { scan-assembler ".comm _foo,1,15" } } */ + +char foo __attribute__ ((aligned(32768))); -- 2.30.2