1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-11 02:50:24 +00:00

audio/jack: Fix alignas() on non-packed architectures

Unbreak the build with Clang on architectures where JACK uses non-packed
data structures, like arm64 or powerpc. The alignment errors are exposed
there because:
 * The non-packed data structures require 8 byte alignment.
 * alignas() is not allowed to weaken alignment requirements to 4 bytes.
 * Clang enforces this according to standard, GCC ignores it.

Use an additional alignas() specifier to let the compiler choose between
minimum alignment (packed) and "natural" alignment (non-packed). This is
both standard c++11 and compatible with older GCC, which does not
propagate alignment requirements of packed substructures properly.

PR:		261508
Submitted by:	Florian Walpen <dev@submerge.ch>
This commit is contained in:
Mikael Urankar 2022-02-09 15:49:45 +01:00
parent 55d4a9f74d
commit 22c0c4f2a6
2 changed files with 6 additions and 1 deletions

View File

@ -3,6 +3,9 @@ DISTVERSIONPREFIX= v
DISTVERSION= 1.9.20
CATEGORIES= audio
PATCH_SITES= https://github.com/jackaudio/jack2/commit/
PATCHFILES+= 21b293dbc37d42446141a08922cdec0d2550c6a0.patch:-p1
MAINTAINER= dev@submerge.ch
COMMENT= Low latency audio server

View File

@ -1,3 +1,5 @@
TIMESTAMP = 1642267444
TIMESTAMP = 1644418071
SHA256 (jackaudio-jack2-v1.9.20_GH0.tar.gz) = 915ad2900992159bdb729b9fc4ea134b962ce32b2df0b384fee40a2c5808835d
SIZE (jackaudio-jack2-v1.9.20_GH0.tar.gz) = 1005000
SHA256 (21b293dbc37d42446141a08922cdec0d2550c6a0.patch) = 19722d6f2e991006c6f1e470e7bc986ee3ca18ad0f9eb74b01332231c807554f
SIZE (21b293dbc37d42446141a08922cdec0d2550c6a0.patch) = 3952