> > > > I like the "min (256, MAX_OFILE_ALIGNMENT)" fix... > > > > So do I. > > Ok to apply then? Tested via djgpp cross-compile and cross-host.
Yes, this is OK. (to be very pedantic, we can assert that MAX_OFILE_ALIGNMENT>=256 on x86-64 targets, but well). I fully agree with Richard's interpretation concerning BIGGEST_ALIGNMENT meaning - ie in special cases for perofrmance it definitly makes sense to use higher alignments than BIGGEST_ALIGNMENT (such as cache line or page alignments), BIGGEST_ALIGNMENT is what CPU require and runtime must provide when asked for. Honza > > * config/i386/i386.c (ix86_data_alignment): Don't specify an > alignment bigger than the object file can handle. > > Index: i386.c > =================================================================== > --- i386.c (revision 122271) > +++ i386.c (working copy) > @@ -15417,7 +15417,7 @@ > 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)