0009-Use-ISO-C-alignment-and-attribute-syntax.patch (2237B)
1 From 8fbfd70d38e4dbff3c4ec6c9362ad7c765e5089f Mon Sep 17 00:00:00 2001 2 From: Michael Forney <mforney@mforney.org> 3 Date: Wed, 1 Apr 2026 23:28:49 -0700 4 Subject: [PATCH] Use ISO C alignment and attribute syntax 5 6 --- 7 src/gcc_compat.h | 4 ++-- 8 src/quota.c | 4 ++-- 9 src/rtnl_link.c | 4 ++-- 10 src/sockaddr.c | 4 ++-- 11 4 files changed, 8 insertions(+), 8 deletions(-) 12 13 diff --git a/src/gcc_compat.h b/src/gcc_compat.h 14 index 35291b747..7e576d35c 100644 15 --- a/src/gcc_compat.h 16 +++ b/src/gcc_compat.h 17 @@ -54,8 +54,8 @@ 18 # define ATTRIBUTE_PACKED __attribute__((__packed__)) 19 # else 20 # define ATTRIBUTE_FORMAT(args) /* empty */ 21 -# define ATTRIBUTE_ALIGNED(arg) /* empty */ 22 -# define ATTRIBUTE_PACKED /* empty */ 23 +# define ATTRIBUTE_ALIGNED(arg) _Alignas(arg) 24 +# define ATTRIBUTE_PACKED [[gnu::packed]] 25 # endif 26 27 /* 28 diff --git a/src/quota.c b/src/quota.c 29 index c3aeda229..bf6ca186c 100644 30 --- a/src/quota.c 31 +++ b/src/quota.c 32 @@ -36,7 +36,7 @@ 33 * leads to problems when it is used on 32-bit tracee which does not have such 34 * padding. 35 */ 36 -struct if_dqblk { 37 +struct ATTRIBUTE_PACKED if_dqblk { 38 uint64_t dqb_bhardlimit; 39 uint64_t dqb_bsoftlimit; 40 uint64_t dqb_curspace; 41 @@ -46,7 +46,7 @@ struct if_dqblk { 42 uint64_t dqb_btime; 43 uint64_t dqb_itime; 44 uint32_t dqb_valid; 45 -} ATTRIBUTE_PACKED; 46 +}; 47 48 struct if_nextdqblk { 49 uint64_t dqb_bhardlimit; 50 diff --git a/src/rtnl_link.c b/src/rtnl_link.c 51 index acc244560..e345e87d3 100644 52 --- a/src/rtnl_link.c 53 +++ b/src/rtnl_link.c 54 @@ -926,10 +926,10 @@ decode_ifla_vf_guid(struct tcb *const tcp, 55 * aligned; trying to handle both possible attribute sizes. 56 */ 57 union { 58 - struct { 59 + struct ATTRIBUTE_PACKED { 60 uint32_t vf; 61 uint64_t guid; 62 - } ATTRIBUTE_PACKED ivg_32; 63 + } ivg_32; 64 struct { 65 uint32_t vf; 66 uint64_t ATTRIBUTE_ALIGNED(8) guid; 67 diff --git a/src/sockaddr.c b/src/sockaddr.c 68 index 98220288d..afa2fd6a8 100644 69 --- a/src/sockaddr.c 70 +++ b/src/sockaddr.c 71 @@ -757,9 +757,9 @@ print_sockaddr_data_bt(struct tcb *tcp, const void *const buf, 72 uint16_t hci_channel; 73 }; 74 75 - struct bdaddr { 76 + struct ATTRIBUTE_PACKED bdaddr { 77 uint8_t b[6]; 78 - } ATTRIBUTE_PACKED; 79 + }; 80 81 struct sockaddr_sco { 82 /* sa_family_t */ uint16_t sco_family; 83 -- 84 2.49.0 85