From: John David Anglin Date: Sat, 29 Oct 2016 15:47:41 +0000 (+0000) Subject: pa.h (BIGGEST_ALIGNMENT): Adjust comment. X-Git-Tag: releases/gcc-5.5.0~735 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e3e4c86298e0c5579bf0f6133a543ec4a884c89c;p=thirdparty%2Fgcc.git pa.h (BIGGEST_ALIGNMENT): Adjust comment. * config/pa/pa.h (BIGGEST_ALIGNMENT): Adjust comment. (MALLOC_ABI_ALIGNMENT): Define. From-SVN: r241678 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3260d52317fe..7fdec07efde3 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2016-10-29 John David Anglin + + * config/pa/pa.h (BIGGEST_ALIGNMENT): Adjust comment. + (MALLOC_ABI_ALIGNMENT): Define. + 2016-10-23 Bill Schmidt Backport from mainline diff --git a/gcc/config/pa/pa.h b/gcc/config/pa/pa.h index 8314ba39e4ca..818a7a6e0fd4 100644 --- a/gcc/config/pa/pa.h +++ b/gcc/config/pa/pa.h @@ -298,9 +298,23 @@ typedef struct GTY(()) machine_function /* A bit-field declared as `int' forces `int' alignment for the struct. */ #define PCC_BITFIELD_TYPE_MATTERS 1 -/* No data type wants to be aligned rounder than this. */ +/* No data type wants to be aligned rounder than this. The long double + type has 16-byte alignment on the 64-bit target even though it was never + implemented in hardware. The software implementation only needs 8-byte + alignment. This matches the biggest alignment of the HP compilers. */ #define BIGGEST_ALIGNMENT (2 * BITS_PER_WORD) +/* Alignment, in bits, a C conformant malloc implementation has to provide. + The HP-UX malloc implementation provides a default alignment of 8 bytes. + It should be 16 bytes on the 64-bit target since long double has 16-byte + alignment. It can be increased with mallopt but it's non critical since + long double was never implemented in hardware. The glibc implementation + currently provides 8-byte alignment. It should be 16 bytes since various + POSIX types such as pthread_mutex_t require 16-byte alignment. Again, + this is non critical since 16-byte alignment is no longer needed for + atomic operations. */ +#define MALLOC_ABI_ALIGNMENT (TARGET_SOM ? 64 : 128) + /* Get around hp-ux assembler bug, and make strcpy of constants fast. */ #define CONSTANT_ALIGNMENT(EXP, ALIGN) \ (TREE_CODE (EXP) == STRING_CST \