[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <da196355-50d7-4445-bd4f-451a953fcb97@broadcom.com>
Date: Wed, 4 Oct 2023 16:01:33 -0700
From: Florian Fainelli <florian.fainelli@...adcom.com>
To: Markus Mayer <mmayer@...adcom.com>, netdev@...r.kernel.org,
Michal Kubecek <mkubecek@...e.cz>
Subject: Re: Bug in 6.5 tar-ball
+Michal,
On 10/4/23 14:27, Markus Mayer wrote:
> Hi,
>
> It would seem I discovered an issue with the ethtool-6.5 tar-balls on
> cdn.kernel.org. They are missing the const.h header file. Maybe other
> files too.
>
> Please verify as follows:
>
> $ curl -s -o - https://cdn.kernel.org/pub/software/network/ethtool/ethtool-6.5.tar.xz
> | \
> tar tJf - | grep const
> [no output]
>
> $ curl -s -o - https://cdn.kernel.org/pub/software/network/ethtool/ethtool-6.5.tar.gz
> | \
> tar tzf - | grep const
> [no output]
>
> Meanwhile, this tar-ball seems correct:
>
> $ curl -s -o - https://git.kernel.org/pub/scm/network/ethtool/ethtool.git/snapshot/ethtool-6.5.tar.gz
> | \
> tar tzf - | grep const
> ethtool-6.5/uapi/linux/const.h
>
> So, the tar-ball directly taken from git.kernel.org does have const.h,
> but the two from cdn.kernel.org do not.
The latter is a snapshot of the git directory so that is why it works.
>
> This is currently leading to build problems for me.
>
> /storage/buildroot/output/arm64/host/bin/aarch64-linux-gcc
> -DHAVE_CONFIG_H -I. -I./uapi -D_LARGEFILE_SOURCE
> -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wall -Wextra
> -D_POSIX_C_SOURCE=200809L -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
> -D_FILE_OFFSET_BITS=64 -Os -g0 -D_FORTIFY_SOURCE=2 -std=gnu11 -c -o
> netlink/rings.o netlink/rings.c
> In file included from internal.h:45,
> from common.c:7:
> ./uapi/linux/ethtool.h:1507:19: warning: implicit declaration of
> function '__KERNEL_DIV_ROUND_UP' [-Wimplicit-function-declaration]
> __u32 queue_mask[__KERNEL_DIV_ROUND_UP(MAX_NUM_QUEUE, 32)];
> ^~~~~~~~~~~~~~~~~~~~~
> ./uapi/linux/ethtool.h:1507:8: error: variably modified 'queue_mask'
> at file scope
> __u32 queue_mask[__KERNEL_DIV_ROUND_UP(MAX_NUM_QUEUE, 32)];
> ^~~~~~~~~~
> make[3]: *** [Makefile:1410: common.o] Error 1
> make[3]: *** Waiting for unfinished jobs....
>
> There are, of course, ways to work around it, but the tar-balls should
> be fixed, since I won't be the only one hitting this problem.
Seems like we need to amend Makefile.am with all of the uapi files that
we include, this should do it:
diff --git a/Makefile.am b/Makefile.am
index ae3b667696db..b9e06ad15889 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -6,8 +6,12 @@ man_MANS = ethtool.8
EXTRA_DIST = LICENSE ethtool.8 ethtool.spec.in aclocal.m4 ChangeLog
autogen.sh
sbin_PROGRAMS = ethtool
-ethtool_SOURCES = ethtool.c uapi/linux/ethtool.h internal.h \
+ethtool_SOURCES = ethtool.c uapi/linux/const.h uapi/linux/ethtool.h
internal.h \
uapi/linux/net_tstamp.h uapi/linux/if.h
uapi/linux/hdlc/ioctl.h \
+ uapi/linux/if_addr.h uapi/linux/if_ether.h
uapi/linux/if_link.h \
+ uapi/linux/libc-compat.h uapi/linux/net_tstamp.h
uapi/linux/neighbour.h \
+ uapi/linux/posix_types.h uapi/linux/rtnetlink.h
uapi/linux/socket.h \
+ uapi/linux/stddef.h uapi/linux/types.h \
rxclass.c common.c common.h \
json_writer.c json_writer.h json_print.c json_print.h \
list.h
./autogen.sh
configure
make dist
tar tzf ethtool-6.5.tar.gz | grep const.h
ethtool-6.5/uapi/linux/const.h
--
Florian
Download attachment "smime.p7s" of type "application/pkcs7-signature" (4221 bytes)
Powered by blists - more mailing lists