opkg

statically linked package installer
git clone anongit@rnpnr.xyz:opkg.git
Log | Files | Refs | Feed | Submodules | README | LICENSE

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