diff options
author | Carlos O'Donell <carlos@codesourcery.com> | 2006-11-30 19:25:08 +0000 |
---|---|---|
committer | Carlos O'Donell <carlos@gcc.gnu.org> | 2006-11-30 19:25:08 +0000 |
commit | 11d90e2dd05bfabe45c26271b33b1d55ae4ef207 (patch) | |
tree | 3b09e5754552583423ebe731e5989c8fc7f86f95 /gcc | |
parent | 2a061db501f101bfd33a6897d30431666689ce08 (diff) | |
download | gcc-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/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/config/elfos.h | 13 | ||||
-rw-r--r-- | gcc/doc/tm.texi | 6 |
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}) |