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

Anders Roxell
2023-11-02T11:14:44Z

On 2023-11-02 11:35, Björn Töpel wrote:
> From: Björn Töpel <bjorn@rivosinc.com>
>
> 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@rivosinc.com>

Thank you for the patch.
I saw the same failure when I built selftests/bpf for arm64.

With this patch ontop of today's next-20231102, fixes that build issue.

Tested-by: Anders Roxell <anders.roxell@linaro.org>

Cheers,
Anders

> ---
> 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
>