elfos.h (MAX_OFILE_ALIGNMENT): Default to largest alignment supported by 32-bit ELF.
authorCarlos O'Donell <carlos@codesourcery.com>
Fri, 13 Oct 2006 16:01:38 +0000 (16:01 +0000)
committerCarlos O'Donell <carlos@gcc.gnu.org>
Fri, 13 Oct 2006 16:01:38 +0000 (16:01 +0000)
gcc/

2006-10-13  Carlos O'Donell  <carlos@codesourcery.com>

* config/elfos.h (MAX_OFILE_ALIGNMENT): Default to largest
alignment supported by 32-bit ELF.

From-SVN: r117697

gcc/ChangeLog
gcc/config/elfos.h

index d62801bdbba5d072300479f6366164c4978cdd78..ff9a8412e5a5467b6833af323727c01e8326f186 100644 (file)
@@ -1,3 +1,8 @@
+2006-10-13  Carlos O'Donell  <carlos@codesourcery.com>
+
+       * config/elfos.h (MAX_OFILE_ALIGNMENT): Default to largest
+       alignment supported by 32-bit ELF.
+
 2006-10-13  Paolo Bonzini  <bonzini@gnu.org>
 
        PR c/29092
index a2bd49f909ad7d32f9249d951681fd3984f30dc6..f685293cd9be918d469761ff954f2c797ed37178 100644 (file)
@@ -40,12 +40,17 @@ Boston, MA 02110-1301, USA.  */
 #undef  USER_LABEL_PREFIX
 #define USER_LABEL_PREFIX ""
 
-/* Biggest alignment supported by the object file format of this
-   machine.  Use this macro to limit the alignment which can be
-   specified using the `__attribute__ ((aligned (N)))' construct.  If
-   not defined, the default value is `BIGGEST_ALIGNMENT'.  */
-#ifndef MAX_OFILE_ALIGNMENT
-#define MAX_OFILE_ALIGNMENT (32768 * 8)
+/* The biggest alignment supported by ELF. 32-bit ELF supports 
+   section alignment up to (0x80000000 * 8), while 64-bit ELF
+   supports (0x8000000000000000 * 8). If this macro is not
+   defined, the default is the largest alignment supported by
+   32-bit ELF. Use this macro to limit the alignment which can 
+   be specified using the `__attribute__ ((aligned (N)))' 
+   construct.  */
+#if (HOST_BITS_PER_WIDEST_INT >= 64)
+#define MAX_OFILE_ALIGNMENT (((unsigned HOST_WIDEST_INT) 1 << 31) * 8)
+#else
+#define MAX_OFILE_ALIGNMENT (((unsigned HOST_WIDEST_INT) 1 << 28) * 8)
 #endif
 
 /* Use periods rather than dollar signs in special g++ assembler names.  */