* [LTP] [PATCH 1/2] rpc/rpc-tirpc: Fix compile error on clang when using clnt_broadcast
@ 2023-04-25 9:12 Yang Xu
2023-04-25 9:12 ` [LTP] [PATCH 2/2] rpc/rpc-tirpc: Fix compile error on clang when using registerrpc Yang Xu
2023-04-25 14:02 ` [LTP] [PATCH 1/2] rpc/rpc-tirpc: Fix compile error on clang when using clnt_broadcast Petr Vorel
0 siblings, 2 replies; 5+ messages in thread
From: Yang Xu @ 2023-04-25 9:12 UTC (permalink / raw)
To: ltp
When clang upgrade to 16.0.0-2.fc38, these case will report
incompatible-function-pointer-types error as below:
rpc_clnt_broadcast_complex.c:81:46: error: incompatible function pointer types passing
'bool_t (char *, struct sockaddr_in *)' (aka 'int (char *, struct sockaddr_in *)') to
parameter of type 'resultproc_t' (aka 'int (*)(char *, ...)') [-Wincompatible-function-pointer-types]
(xdrproc_t) xdr_int, (char *)&varRec, eachResult);
the clnt_broadcase declare as below:
extern enum clnt_stat clnt_broadcast(u_long, u_long, u_long,
xdrproc_t, void *,
xdrproc_t, void *,
resultproc_t);
so we should add resultproc_t cast like tirpc_simple_rpc_broadcast[1] does.
[1]https://github.com/linux-test-project/ltp/blob/master/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/tirpc/tirpc_simple_rpc_broadcast/tirpc_rpc_broadcast_complex.c#L84
Signed-off-by: Yang Xu <xuyang2018.jy@fujitsu.com>
---
.../rpc_clnt_broadcast.c | 3 ++-
.../rpc_clnt_broadcast_complex.c | 3 ++-
.../rpc_clnt_broadcast_dataint.c | 15 ++++++++++-----
.../rpc_clnt_broadcast_performance.c | 2 +-
.../rpc_clnt_broadcast_scalability.c | 2 +-
.../rpc_clnt_broadcast_stress.c | 2 +-
6 files changed, 17 insertions(+), 10 deletions(-)
diff --git a/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_broadc_clnt_broadcast/rpc_clnt_broadcast.c b/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_broadc_clnt_broadcast/rpc_clnt_broadcast.c
index 5f024f113..80d5f045a 100644
--- a/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_broadc_clnt_broadcast/rpc_clnt_broadcast.c
+++ b/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_broadc_clnt_broadcast/rpc_clnt_broadcast.c
@@ -59,7 +59,8 @@ int main(int argn, char *argc[])
//Call broadcast routine
cs = clnt_broadcast(progNum, VERSNUM, PROCNUM,
(xdrproc_t) xdr_int, (char *)&varSnd,
- (xdrproc_t) xdr_int, (char *)&varRec, eachResult);
+ (xdrproc_t) xdr_int, (char *)&varRec,
+ (resultproc_t) eachResult);
test_status = (cs == RPC_SUCCESS) ? 0 : 1;
diff --git a/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_broadc_clnt_broadcast/rpc_clnt_broadcast_complex.c b/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_broadc_clnt_broadcast/rpc_clnt_broadcast_complex.c
index c6e55cd81..e1bb8fcc5 100644
--- a/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_broadc_clnt_broadcast/rpc_clnt_broadcast_complex.c
+++ b/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_broadc_clnt_broadcast/rpc_clnt_broadcast_complex.c
@@ -78,7 +78,8 @@ int main(int argn, char *argc[])
//Call broadcast routine
cs = clnt_broadcast(progNum, VERSNUM, PROCNUM,
(xdrproc_t) xdr_int, (char *)&varSnd,
- (xdrproc_t) xdr_int, (char *)&varRec, eachResult);
+ (xdrproc_t) xdr_int, (char *)&varRec,
+ (resultproc_t) eachResult);
if (currentAnswer == maxAnswer)
test_status = 0;
diff --git a/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_broadc_clnt_broadcast/rpc_clnt_broadcast_dataint.c b/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_broadc_clnt_broadcast/rpc_clnt_broadcast_dataint.c
index fdf1e31a2..e1f7bcb6a 100644
--- a/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_broadc_clnt_broadcast/rpc_clnt_broadcast_dataint.c
+++ b/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_broadc_clnt_broadcast/rpc_clnt_broadcast_dataint.c
@@ -72,7 +72,8 @@ int main(int argn, char *argc[])
clnt_broadcast(progNum, VERSNUM, INTPROCNUM,
(xdrproc_t) xdr_int, (char *)&intSnd,
- (xdrproc_t) xdr_int, (char *)&intRec, eachResult);
+ (xdrproc_t) xdr_int, (char *)&intRec,
+ (resultproc_t) eachResult);
if (intSnd != intRec)
test_status = 1;
@@ -84,7 +85,8 @@ int main(int argn, char *argc[])
clnt_broadcast(progNum, VERSNUM, INTPROCNUM,
(xdrproc_t) xdr_int, (char *)&intSnd,
- (xdrproc_t) xdr_int, (char *)&intRec, eachResult);
+ (xdrproc_t) xdr_int, (char *)&intRec,
+ (resultproc_t) eachResult);
if (intSnd != intRec)
test_status = 1;
@@ -96,7 +98,8 @@ int main(int argn, char *argc[])
clnt_broadcast(progNum, VERSNUM, LNGPROCNUM,
(xdrproc_t) xdr_long, (char *)&lngSnd,
- (xdrproc_t) xdr_long, (char *)&lngRec, eachResult);
+ (xdrproc_t) xdr_long, (char *)&lngRec,
+ (resultproc_t) eachResult);
if (lngSnd != lngRec)
test_status = 1;
@@ -108,7 +111,8 @@ int main(int argn, char *argc[])
clnt_broadcast(progNum, VERSNUM, LNGPROCNUM,
(xdrproc_t) xdr_double, (char *)&dblSnd,
- (xdrproc_t) xdr_double, (char *)&dblRec, eachResult);
+ (xdrproc_t) xdr_double, (char *)&dblRec,
+ (resultproc_t) eachResult);
if (dblSnd != dblRec)
test_status = 1;
@@ -121,7 +125,8 @@ int main(int argn, char *argc[])
clnt_broadcast(progNum, VERSNUM, LNGPROCNUM,
(xdrproc_t) xdr_wrapstring, (char *)&strSnd,
- (xdrproc_t) xdr_wrapstring, (char *)&strRec, eachResult);
+ (xdrproc_t) xdr_wrapstring, (char *)&strRec,
+ (resultproc_t) eachResult);
if (strcmp(strSnd, strRec))
test_status = 1;
diff --git a/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_broadc_clnt_broadcast/rpc_clnt_broadcast_performance.c b/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_broadc_clnt_broadcast/rpc_clnt_broadcast_performance.c
index 11ba64fab..d733e72ef 100644
--- a/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_broadc_clnt_broadcast/rpc_clnt_broadcast_performance.c
+++ b/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_broadc_clnt_broadcast/rpc_clnt_broadcast_performance.c
@@ -114,7 +114,7 @@ int main(int argn, char *argc[])
cs = clnt_broadcast(progNum, VERSNUM, PROCNUM,
(xdrproc_t) xdr_int, (char *)&varSnd,
(xdrproc_t) xdr_int, (char *)&varRec,
- eachResult);
+ (resultproc_t) eachResult);
if (cs != RPC_SUCCESS)
clnt_perrno(cs);
diff --git a/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_broadc_clnt_broadcast/rpc_clnt_broadcast_scalability.c b/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_broadc_clnt_broadcast/rpc_clnt_broadcast_scalability.c
index 57ea25349..4455c1173 100644
--- a/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_broadc_clnt_broadcast/rpc_clnt_broadcast_scalability.c
+++ b/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_broadc_clnt_broadcast/rpc_clnt_broadcast_scalability.c
@@ -114,7 +114,7 @@ int main(int argn, char *argc[])
cs = clnt_broadcast(progNum, VERSNUM, PROCNUM,
(xdrproc_t) xdr_int, (char *)&varSnd,
(xdrproc_t) xdr_int, (char *)&varRec,
- eachResult);
+ (resultproc_t) eachResult);
if (cs != RPC_SUCCESS)
clnt_perrno(cs);
diff --git a/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_broadc_clnt_broadcast/rpc_clnt_broadcast_stress.c b/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_broadc_clnt_broadcast/rpc_clnt_broadcast_stress.c
index d5d7d85d1..933305482 100644
--- a/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_broadc_clnt_broadcast/rpc_clnt_broadcast_stress.c
+++ b/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_broadc_clnt_broadcast/rpc_clnt_broadcast_stress.c
@@ -65,7 +65,7 @@ int main(int argn, char *argc[])
cs = clnt_broadcast(progNum, VERSNUM, PROCNUM,
(xdrproc_t) xdr_int, (char *)&varSnd,
(xdrproc_t) xdr_int, (char *)&varRec,
- eachResult);
+ (resultproc_t) eachResult);
if (cs == RPC_SUCCESS)
nbOk++;
}
--
2.39.1
--
Mailing list info: https://lists.linux.it/listinfo/ltp
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [LTP] [PATCH 2/2] rpc/rpc-tirpc: Fix compile error on clang when using registerrpc
2023-04-25 9:12 [LTP] [PATCH 1/2] rpc/rpc-tirpc: Fix compile error on clang when using clnt_broadcast Yang Xu
@ 2023-04-25 9:12 ` Yang Xu
2023-04-25 14:05 ` Petr Vorel
2023-04-25 14:02 ` [LTP] [PATCH 1/2] rpc/rpc-tirpc: Fix compile error on clang when using clnt_broadcast Petr Vorel
1 sibling, 1 reply; 5+ messages in thread
From: Yang Xu @ 2023-04-25 9:12 UTC (permalink / raw)
To: ltp
When clang upgrade to 16.0.0-2.fc38, these case will report
incompatible-function-pointer-types error as below:
rpc_registerrpc.c:72:4: error: incompatible function pointer types passing
'bool_t (XDR *, int *)' (aka 'int (struct __rpc_xdr *, int *)') to parameter
of type 'xdrproc_t' (aka 'int (*)(struct __rpc_xdr *, ...)') [-Wincompatible-function-pointer-types]
xdr_int);
the registerrpc declare as below:
int registerrpc(int, int, int, char *(*)(char [UDPMSGSIZE]),
xdrproc_t, xdrproc_t);
so we should add xdrproc_t cast to avoid this.
Signed-off-by: Yang Xu <xuyang2018.jy@fujitsu.com>
---
ps: has verified it on my ltp fork.
.../rpc_suite/rpc/rpc_regunreg_registerrpc/rpc_registerrpc.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_regunreg_registerrpc/rpc_registerrpc.c b/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_regunreg_registerrpc/rpc_registerrpc.c
index 3becf4600..c6f76839c 100644
--- a/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_regunreg_registerrpc/rpc_registerrpc.c
+++ b/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_regunreg_registerrpc/rpc_registerrpc.c
@@ -68,8 +68,8 @@ int main(int argn, char *argc[])
//call routine
rslt =
- registerrpc(progNum, VERSNUM, PROCNUM, simplePing, xdr_int,
- xdr_int);
+ registerrpc(progNum, VERSNUM, PROCNUM, simplePing,
+ (xdrproc_t) xdr_int, (xdrproc_t) xdr_int);
if (run_mode) {
printf("SVC : %p\n", svcr);
--
2.39.1
--
Mailing list info: https://lists.linux.it/listinfo/ltp
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [LTP] [PATCH 1/2] rpc/rpc-tirpc: Fix compile error on clang when using clnt_broadcast
2023-04-25 9:12 [LTP] [PATCH 1/2] rpc/rpc-tirpc: Fix compile error on clang when using clnt_broadcast Yang Xu
2023-04-25 9:12 ` [LTP] [PATCH 2/2] rpc/rpc-tirpc: Fix compile error on clang when using registerrpc Yang Xu
@ 2023-04-25 14:02 ` Petr Vorel
1 sibling, 0 replies; 5+ messages in thread
From: Petr Vorel @ 2023-04-25 14:02 UTC (permalink / raw)
To: Yang Xu; +Cc: ltp
Hi Xu,
> When clang upgrade to 16.0.0-2.fc38, these case will report
> incompatible-function-pointer-types error as below:
> rpc_clnt_broadcast_complex.c:81:46: error: incompatible function pointer types passing
> 'bool_t (char *, struct sockaddr_in *)' (aka 'int (char *, struct sockaddr_in *)') to
> parameter of type 'resultproc_t' (aka 'int (*)(char *, ...)') [-Wincompatible-function-pointer-types]
> (xdrproc_t) xdr_int, (char *)&varRec, eachResult);
> the clnt_broadcase declare as below:
> extern enum clnt_stat clnt_broadcast(u_long, u_long, u_long,
> xdrproc_t, void *,
> xdrproc_t, void *,
> resultproc_t);
> so we should add resultproc_t cast like tirpc_simple_rpc_broadcast[1] does.
> [1]https://github.com/linux-test-project/ltp/blob/master/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/tirpc/tirpc_simple_rpc_broadcast/tirpc_rpc_broadcast_complex.c#L84
Thank you for fixing this!
nit: I'd just mention tirpc_rpc_broadcast_complex.c in rpc_broadcast() call
does. (there is only single file, link will sooner or later point to the
different place, ...)
Reviewed-by: Petr Vorel <pvorel@suse.cz>
Kind regards,
Petr
--
Mailing list info: https://lists.linux.it/listinfo/ltp
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [LTP] [PATCH 2/2] rpc/rpc-tirpc: Fix compile error on clang when using registerrpc
2023-04-25 9:12 ` [LTP] [PATCH 2/2] rpc/rpc-tirpc: Fix compile error on clang when using registerrpc Yang Xu
@ 2023-04-25 14:05 ` Petr Vorel
2023-04-26 1:59 ` Yang Xu (Fujitsu)
0 siblings, 1 reply; 5+ messages in thread
From: Petr Vorel @ 2023-04-25 14:05 UTC (permalink / raw)
To: Yang Xu; +Cc: ltp
Hi Xu,
> +++ b/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_regunreg_registerrpc/rpc_registerrpc.c
> @@ -68,8 +68,8 @@ int main(int argn, char *argc[])
Reviewed-by: Petr Vorel <pvorel@suse.cz>
> //call routine
> rslt =
> - registerrpc(progNum, VERSNUM, PROCNUM, simplePing, xdr_int,
> - xdr_int);
> + registerrpc(progNum, VERSNUM, PROCNUM, simplePing,
> + (xdrproc_t) xdr_int, (xdrproc_t) xdr_int);
Maybe just put rslt = on the same line (to fix often broken style a bit?)
rslt = registerrpc(progNum, VERSNUM, PROCNUM, simplePing,
(xdrproc_t) xdr_int, (xdrproc_t) xdr_int);
Kind regards,
Petr
--
Mailing list info: https://lists.linux.it/listinfo/ltp
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [LTP] [PATCH 2/2] rpc/rpc-tirpc: Fix compile error on clang when using registerrpc
2023-04-25 14:05 ` Petr Vorel
@ 2023-04-26 1:59 ` Yang Xu (Fujitsu)
0 siblings, 0 replies; 5+ messages in thread
From: Yang Xu (Fujitsu) @ 2023-04-26 1:59 UTC (permalink / raw)
To: Petr Vorel; +Cc: ltp@lists.linux.it
Hi Petr
> Hi Xu,
>
>> +++ b/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_regunreg_registerrpc/rpc_registerrpc.c
>> @@ -68,8 +68,8 @@ int main(int argn, char *argc[])
>
> Reviewed-by: Petr Vorel <pvorel@suse.cz>
>
>> //call routine
>> rslt =
>> - registerrpc(progNum, VERSNUM, PROCNUM, simplePing, xdr_int,
>> - xdr_int);
>> + registerrpc(progNum, VERSNUM, PROCNUM, simplePing,
>> + (xdrproc_t) xdr_int, (xdrproc_t) xdr_int);
>
> Maybe just put rslt = on the same line (to fix often broken style a bit?)
>
> rslt = registerrpc(progNum, VERSNUM, PROCNUM, simplePing,
> (xdrproc_t) xdr_int, (xdrproc_t) xdr_int);
I have changed 1/2 patch commit message as you sugguested, also for this
patch, I put them to the single line, thanks for your review, merged.
Best Regards
Yang Xu
> Kind regards,
> Petr
--
Mailing list info: https://lists.linux.it/listinfo/ltp
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2023-04-26 2:00 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-04-25 9:12 [LTP] [PATCH 1/2] rpc/rpc-tirpc: Fix compile error on clang when using clnt_broadcast Yang Xu
2023-04-25 9:12 ` [LTP] [PATCH 2/2] rpc/rpc-tirpc: Fix compile error on clang when using registerrpc Yang Xu
2023-04-25 14:05 ` Petr Vorel
2023-04-26 1:59 ` Yang Xu (Fujitsu)
2023-04-25 14:02 ` [LTP] [PATCH 1/2] rpc/rpc-tirpc: Fix compile error on clang when using clnt_broadcast Petr Vorel
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.