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 --- 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
On Thu, Nov 02, 2023 at 11:35:37AM +0100, 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
Acked-by: Larysa Zaremba larysa.zaremba@intel.com
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
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
Hello:
This patch was applied to bpf/bpf.git (master) by Alexei Starovoitov ast@kernel.org:
On Thu, 2 Nov 2023 11:35:37 +0100 you 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.
[...]
Here is the summary with links: - [bpf] selftests/bpf: Fix broken build where char is unsigned https://git.kernel.org/bpf/bpf/c/d84b139f53e8
You are awesome, thank you!
linux-kselftest-mirror@lists.linaro.org