summaryrefslogtreecommitdiff
path: root/gcc/config/elfos.h
diff options
context:
space:
mode:
authorCarlos O'Donell <carlos@codesourcery.com>2006-10-13 16:01:38 +0000
committerCarlos O'Donell <carlos@gcc.gnu.org>2006-10-13 16:01:38 +0000
commitd407b27dc1d160b62421b4fd3c94d8d822c97c42 (patch)
tree4e0c3f16c89da09e083f7850ea0d24ede7a30464 /gcc/config/elfos.h
parentca58211b7de19f4fc94944836891f6e275e74412 (diff)
downloadgcc-d407b27dc1d160b62421b4fd3c94d8d822c97c42.tar.gz
elfos.h (MAX_OFILE_ALIGNMENT): Default to largest alignment supported by 32-bit ELF.
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
Diffstat (limited to 'gcc/config/elfos.h')
-rw-r--r--gcc/config/elfos.h17
1 files changed, 11 insertions, 6 deletions
diff --git a/gcc/config/elfos.h b/gcc/config/elfos.h
index a2bd49f909a..f685293cd9b 100644
--- a/gcc/config/elfos.h
+++ b/gcc/config/elfos.h
@@ -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. */