sys-apps/ethtool: fix build w/ musl

Closes: https://bugs.gentoo.org/889402
Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
Sam James 2023-02-15 05:30:52 +00:00
parent a1eb2f90d6
commit debd0a8b50
No known key found for this signature in database
GPG Key ID: 738409F520DF9190
2 changed files with 69 additions and 1 deletions

View File

@ -1,4 +1,4 @@
# Copyright 1999-2022 Gentoo Authors
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@ -16,6 +16,10 @@ RDEPEND="netlink? ( net-libs/libmnl )"
DEPEND="${RDEPEND}"
BDEPEND="app-arch/xz-utils"
PATCHES=(
"${FILESDIR}"/${P}-musl.patch
)
src_configure() {
econf $(use_enable netlink)
}

View File

@ -0,0 +1,64 @@
https://bugs.gentoo.org/889402
https://git.kernel.org/pub/scm/network/ethtool/ethtool.git/commit/?id=41be533331fc3c6b711dbe532405782d3b8be5d1
From 41be533331fc3c6b711dbe532405782d3b8be5d1 Mon Sep 17 00:00:00 2001
From: Florian Fainelli <f.fainelli@gmail.com>
Date: Sat, 14 Jan 2023 08:34:11 -0800
Subject: marvell.c: Fix build with musl-libc
After commit 1fa60003a8b8 ("misc: header includes cleanup") we stopped
including net/if.h which resolved the proper defines to pull in
sys/types.h and provide a definition for u_int32_t. With musl-libc we
would need to define _GNU_SOURCE to ensure that sys/types.h does provide a
definition for u_int32_t.
Rather, just replace u_uint{16,32}_t with the more standard
uint{16,32}_t types from stdint.h
Fixes: 1fa60003a8b8 ("misc: header includes cleanup")
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
--- a/marvell.c
+++ b/marvell.c
@@ -31,23 +31,23 @@ static void dump_timer(const char *name, const void *p)
static void dump_queue(const char *name, const void *a, int rx)
{
struct desc {
- u_int32_t ctl;
- u_int32_t next;
- u_int32_t data_lo;
- u_int32_t data_hi;
- u_int32_t status;
- u_int32_t timestamp;
- u_int16_t csum2;
- u_int16_t csum1;
- u_int16_t csum2_start;
- u_int16_t csum1_start;
- u_int32_t addr_lo;
- u_int32_t addr_hi;
- u_int32_t count_lo;
- u_int32_t count_hi;
- u_int32_t byte_count;
- u_int32_t csr;
- u_int32_t flag;
+ uint32_t ctl;
+ uint32_t next;
+ uint32_t data_lo;
+ uint32_t data_hi;
+ uint32_t status;
+ uint32_t timestamp;
+ uint16_t csum2;
+ uint16_t csum1;
+ uint16_t csum2_start;
+ uint16_t csum1_start;
+ uint32_t addr_lo;
+ uint32_t addr_hi;
+ uint32_t count_lo;
+ uint32_t count_hi;
+ uint32_t byte_count;
+ uint32_t csr;
+ uint32_t flag;
};
const struct desc *d = a;
--
cgit