aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/gcc-interface/misc.c
diff options
context:
space:
mode:
authorPeter Bergner <bergner@linux.ibm.com>2020-11-06 17:00:49 -0600
committerPeter Bergner <bergner@linux.ibm.com>2020-11-06 17:01:18 -0600
commita37b5bcf15a682f22ac10d8b7069aa8d115caaef (patch)
tree1cd51135243b153c9e24ad2600f41c995c728f75 /gcc/ada/gcc-interface/misc.c
parent659ba632e440280e8d61e1ae870e917765db5ae5 (diff)
downloadgcc-a37b5bcf15a682f22ac10d8b7069aa8d115caaef.zip
gcc-a37b5bcf15a682f22ac10d8b7069aa8d115caaef.tar.gz
gcc-a37b5bcf15a682f22ac10d8b7069aa8d115caaef.tar.bz2
rs6000: Fix default alignment ABI break caused by MMA base support
As part of the MMA base support, we incremented BIGGEST_ALIGNMENT in order to align the __vector_pair and __vector_quad types to 256 and 512 bytes respectively. This had the unintended effect of changing the default alignment used by __attribute__ ((__aligned__)) which causes an ABI break because of some dodgy code in GLIBC's struct pthread. The fix is to revert the BIGGEST_ALIGNMENT change and to force the alignment on the type itself rather than the mode used by the type. 2020-11-06 Peter Bergner <bergner@linux.ibm.com> gcc/ * config/rs6000/rs6000.h (BIGGEST_ALIGNMENT): Revert previous commit so as not to break the ABI. * config/rs6000/rs6000-call.c (rs6000_init_builtins): Set the ABI mandated alignment for __vector_pair and __vector_quad types. gcc/testsuite/ * gcc.target/powerpc/mma-alignment.c: New test.
Diffstat (limited to 'gcc/ada/gcc-interface/misc.c')
0 files changed, 0 insertions, 0 deletions