From: Carlos O'Donell Date: Thu, 30 Nov 2006 19:25:08 +0000 (+0000) Subject: tm.texi (MAX_OFILE_ALIGNMENT): Document default. X-Git-Tag: releases/gcc-4.3.0~8205 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=11d90e2dd05bfabe45c26271b33b1d55ae4ef207;p=thirdparty%2Fgcc.git tm.texi (MAX_OFILE_ALIGNMENT): Document default. gcc/ 2006-11-30 Carlos O'Donell * 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ab6777a97b01..bc615cfcc0d9 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2006-11-30 Carlos O'Donell + + * 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 * config/dfp-bit.c (DFP_TO_INT): Use wider precision. diff --git a/gcc/config/elfos.h b/gcc/config/elfos.h index a2bd49f909ad..9aa24975ca4a 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 73c1e5b2c30a..2a21a5890efb 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})