Fix alignment for darwin with -Dusemorebits.
authorAndy Dougherty <doughera@lafayete.edu>
Mon, 10 Sep 2012 11:45:26 +0000 (07:45 -0400)
committerAndy Dougherty <doughera@lafayete.edu>
Mon, 10 Sep 2012 11:45:26 +0000 (07:45 -0400)
commit8eccc332dd3ed9af591200708f8e8529affda472
tree031fd69b95b2aba44f94e689aaab7b097df591db
parent97a316c09bad04091f8720bf581c728debd1ca28
Fix alignment for darwin with -Dusemorebits.

By default, the darwin build assumes a "multiarchitecture" build.
Configure has a hardwired default of '8' for alignbytes (and then
proceeds to ignore it with another hard-wired '8' in config.h).
That '8' was supposed to be a safe value, in case perl was built
on one architecture but run on another with a stricter constraint.
With darwin and -Dusemorebits, however, the alignment should be on
16-byte boundaries.  We don't want to penalize all darwin builds for
this unlikely configuration, but we do want to allow it.

This patch causes Configure to compute alignbytes even for multiarch
builds, but if the result is less than 8, it sets it to 8 (which
preserves the previous behavior).  If, however, alignbytes is 16,
Configure won't decrease it.  Then, this patch also fixes the bits that
end up in config_h.SH so that it uses the value determined by Configure
instead of the previous hardwired value.
U/compline/alignbytes.U