OSDN Git Service

gcc/
authorcarlos <carlos@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 30 Nov 2006 19:25:08 +0000 (19:25 +0000)
committercarlos <carlos@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 30 Nov 2006 19:25:08 +0000 (19:25 +0000)
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119374 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/elfos.h
gcc/doc/tm.texi

index ab6777a..bc615cf 100644 (file)
@@ -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.
index a2bd49f..9aa2497 100644 (file)
@@ -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.  */
index 73c1e5b..2a21a58 100644 (file)
@@ -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})