Re: [PATCH bpf] selftests/bpf: Fix broken build where char is unsigned

From: Larysa Zaremba
Date: Thu Nov 02 2023 - 06:49:39 EST


On Thu, Nov 02, 2023 at 11:35:37AM +0100, Björn Töpel wrote:
> From: Björn Töpel <bjorn@xxxxxxxxxxxx>
>
> There are architectures where char is not signed. If so, the following
> error is triggered:
>
> | xdp_hw_metadata.c:435:42: error: result of comparison of constant -1 \
> | with expression of type 'char' is always true \
> | [-Werror,-Wtautological-constant-out-of-range-compare]
> | 435 | while ((opt = getopt(argc, argv, "mh")) != -1) {
> | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~
> | 1 error generated.
>
> Correct by changing the char to int.
>
> Fixes: bb6a88885fde ("selftests/bpf: Add options and frags to xdp_hw_metadata")
> Signed-off-by: Björn Töpel <bjorn@xxxxxxxxxxxx>

Acked-by: Larysa Zaremba <larysa.zaremba@xxxxxxxxx>

> ---
> tools/testing/selftests/bpf/xdp_hw_metadata.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tools/testing/selftests/bpf/xdp_hw_metadata.c b/tools/testing/selftests/bpf/xdp_hw_metadata.c
> index 17c0f92ff160..c3ba40d0b9de 100644
> --- a/tools/testing/selftests/bpf/xdp_hw_metadata.c
> +++ b/tools/testing/selftests/bpf/xdp_hw_metadata.c
> @@ -430,7 +430,7 @@ static void print_usage(void)
>
> static void read_args(int argc, char *argv[])
> {
> - char opt;
> + int opt;
>
> while ((opt = getopt(argc, argv, "mh")) != -1) {
> switch (opt) {
>
> base-commit: cb3c6a58be50c65014296aa3455cae0fa1e82eac
> --
> 2.40.1
>
>