* config/i386/i386.c (ix86_data_alignment): Don't specify an
authordj <dj@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 23 Feb 2007 23:16:47 +0000 (23:16 +0000)
committerdj <dj@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 23 Feb 2007 23:16:47 +0000 (23:16 +0000)
alignment bigger than the object file can handle.

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

gcc/ChangeLog
gcc/config/i386/i386.c

index 4cccd20..3fdbf78 100644 (file)
@@ -1,3 +1,8 @@
+2007-02-23  DJ Delorie  <dj@redhat.com>
+
+       * config/i386/i386.c (ix86_data_alignment): Don't specify an
+       alignment bigger than the object file can handle.
+
 2007-02-23  Uros Bizjak  <ubizjak@gmail.com>
 
        PR target/30825
index e0da85a..a88c615 100644 (file)
@@ -15417,7 +15417,7 @@ ix86_constant_alignment (tree exp, int align)
 int
 ix86_data_alignment (tree type, int align)
 {
-  int max_align = optimize_size ? BITS_PER_WORD : 256;
+  int max_align = optimize_size ? BITS_PER_WORD : MIN (256, MAX_OFILE_ALIGNMENT);
 
   if (AGGREGATE_TYPE_P (type)
       && TYPE_SIZE (type)