aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorCarlos O'Donell <carlos@codesourcery.com>2006-11-30 19:25:08 +0000
committerCarlos O'Donell <carlos@gcc.gnu.org>2006-11-30 19:25:08 +0000
commit11d90e2dd05bfabe45c26271b33b1d55ae4ef207 (patch)
tree3b09e5754552583423ebe731e5989c8fc7f86f95 /gcc
parent2a061db501f101bfd33a6897d30431666689ce08 (diff)
downloadgcc-11d90e2dd05bfabe45c26271b33b1d55ae4ef207.zip
gcc-11d90e2dd05bfabe45c26271b33b1d55ae4ef207.tar.gz
gcc-11d90e2dd05bfabe45c26271b33b1d55ae4ef207.tar.bz2
tm.texi (MAX_OFILE_ALIGNMENT): Document default.
gcc/ 2006-11-30 Carlos O'Donell <carlos@codesourcery.com> * doc/tm.texi (MAX_OFILE_ALIGNMENT): Document default. * config/elfos.h [!MAX_OFILE_ALIGNMENT] (MAX_OFILE_ALIGNMENT): Default is the largest alignment supported for 32-bit ELF and representable on a 32-bit host. From-SVN: r119374
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/config/elfos.h13
-rw-r--r--gcc/doc/tm.texi6
3 files changed, 21 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index ab6777a..bc615cf 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2006-11-30 Carlos O'Donell <carlos@codesourcery.com>
+
+ * doc/tm.texi (MAX_OFILE_ALIGNMENT): Document default.
+ * config/elfos.h [!MAX_OFILE_ALIGNMENT] (MAX_OFILE_ALIGNMENT):
+ Default is the largest alignment supported for 32-bit ELF and
+ representable on a 32-bit host.
+
2006-11-30 Janis Johnson <janis187@us.ibm.com>
* config/dfp-bit.c (DFP_TO_INT): Use wider precision.
diff --git a/gcc/config/elfos.h b/gcc/config/elfos.h
index a2bd49f..9aa2497 100644
--- a/gcc/config/elfos.h
+++ b/gcc/config/elfos.h
@@ -40,12 +40,15 @@ 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'. */
+/* The biggest alignment supported by ELF in bits. 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 and representable on a 32-bit host. Use this
+ macro to limit the alignment which can be specified using
+ the `__attribute__ ((aligned (N)))' construct. */
#ifndef MAX_OFILE_ALIGNMENT
-#define MAX_OFILE_ALIGNMENT (32768 * 8)
+#define MAX_OFILE_ALIGNMENT (((unsigned int) 1 << 28) * 8)
#endif
/* Use periods rather than dollar signs in special g++ assembler names. */
diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi
index 73c1e5b..2a21a58 100644
--- a/gcc/doc/tm.texi
+++ b/gcc/doc/tm.texi
@@ -1078,6 +1078,12 @@ Biggest alignment supported by the object file format of this machine.
Use this macro to limit the alignment which can be specified using the
@code{__attribute__ ((aligned (@var{n})))} construct. If not defined,
the default value is @code{BIGGEST_ALIGNMENT}.
+
+On systems that use ELF, the default (in @file{config/elfos.h}) is
+the largest supported 32-bit ELF section alignment representable on
+a 32-bit host e.g. @samp{(((unsigned HOST_WIDEST_INT) 1 << 28) * 8)}.
+On 32-bit ELF the largest supported section alignment in bits is
+@samp{(0x80000000 * 8)}, but this is not representable on 32-bit hosts.
@end defmac
@defmac DATA_ALIGNMENT (@var{type}, @var{basic-align})