[LTP] [PATCH 2/3] syscalls/pipe*: Fix compiler warnings
jinhui huang
huangjh.jy@cn.fujitsu.com
Tue Mar 6 02:41:33 CET 2018
于 2018/03/05 16:03, Petr Vorel 写道:
> Hi Jinhui,
>
>> Signed-off-by: Jinhui Huang<huangjh.jy@cn.fujitsu.com>
>> ---
>> testcases/kernel/syscalls/pipe/pipe04.c | 2 +-
>> testcases/kernel/syscalls/pipe/pipe05.c | 4 ++--
>> testcases/kernel/syscalls/pipe/pipe07.c | 2 +-
>> testcases/kernel/syscalls/pipe/pipe08.c | 2 ++
>> testcases/kernel/syscalls/pipe/pipe11.c | 6 +++---
>> 5 files changed, 9 insertions(+), 7 deletions(-)
>> diff --git a/testcases/kernel/syscalls/pipe/pipe04.c b/testcases/kernel/syscalls/pipe/pipe04.c
>> index b3d255b..a3c56e3 100644
>> --- a/testcases/kernel/syscalls/pipe/pipe04.c
>> +++ b/testcases/kernel/syscalls/pipe/pipe04.c
>> @@ -235,7 +235,7 @@ void c2func(void)
>> tst_resm(TBROK | TERRNO, "[child 2] pipe write failed");
>> }
>> -void alarmfunc(int sig)
>> +void alarmfunc(int sig LTP_ATTRIBUTE_UNUSED)
>> {
>> /* for some reason tst_brkm doesn't seem to work in a signal handler */
>> tst_brkm(TFAIL, cleanup, "one or more children did't die in 60 second "
>> diff --git a/testcases/kernel/syscalls/pipe/pipe05.c b/testcases/kernel/syscalls/pipe/pipe05.c
>> index fe5ec37..4105988 100644
>> --- a/testcases/kernel/syscalls/pipe/pipe05.c
>> +++ b/testcases/kernel/syscalls/pipe/pipe05.c
>> @@ -59,7 +59,7 @@ void sig11_handler(int sig);
>> int main(int ac, char **av)
>> {
>> - int lc;
>> + volatile int lc;
> Why volatile?
>
Hi Petr,
The compiler warning:
pipe05.c: In function ‘main’:
pipe05.c:62:6: warning: variable ‘lc’ might be clobbered by ‘longjmp’ or
‘vfork’ [-Wclobbered]
int lc;
We may avoid this warning by declaring "lc" as volatile which tells the
optimizer not to optimize it.
>> struct sigaction sa, osa;
>> tst_parse_opts(ac, av, NULL, NULL);
>> @@ -120,7 +120,7 @@ void setup(void)
>> /******************************************************************
>> * sig11_handler() - our segfault recover hack
>> ******************************************************************/
>> -void sig11_handler(int sig)
>> +void sig11_handler(int sig LTP_ATTRIBUTE_UNUSED)
>> {
>> longjmp(sig11_recover, 1);
>> }
>> diff --git a/testcases/kernel/syscalls/pipe/pipe07.c b/testcases/kernel/syscalls/pipe/pipe07.c
>> index b09df71..55bb9f4 100644
>> --- a/testcases/kernel/syscalls/pipe/pipe07.c
>> +++ b/testcases/kernel/syscalls/pipe/pipe07.c
>> @@ -129,7 +129,7 @@ static void record_open_fds(void)
>> if (fd == dir_fd)
>> continue;
>> - if (rec_fds_max>= ARRAY_SIZE(rec_fds)) {
>> + if (rec_fds_max>= (int)ARRAY_SIZE(rec_fds)) {
>> tst_brkm(TBROK, cleanup,
>> "Too much file descriptors open");
>> }
>> diff --git a/testcases/kernel/syscalls/pipe/pipe08.c b/testcases/kernel/syscalls/pipe/pipe08.c
>> index cdb2a4d..9f8d9cc 100644
>> --- a/testcases/kernel/syscalls/pipe/pipe08.c
>> +++ b/testcases/kernel/syscalls/pipe/pipe08.c
>> @@ -98,6 +98,8 @@ int main(int ac, char **av)
>> * sent
>> */
>> written = write(pipefd[1], wrbuf, length);
>> + if (written> 0)
>> + tst_brkm(TBROK, cleanup, "write succeeded expectedly");
> Did you mean "unexpectedly"?
>
Yes.
Best regards,
Jinhui
>> }
>> cleanup();
>> tst_exit();
>> diff --git a/testcases/kernel/syscalls/pipe/pipe11.c b/testcases/kernel/syscalls/pipe/pipe11.c
>> index e11c556..e3b2741 100644
>> --- a/testcases/kernel/syscalls/pipe/pipe11.c
>> +++ b/testcases/kernel/syscalls/pipe/pipe11.c
>> @@ -198,7 +198,8 @@ void do_child_uclinux(void)
>> */
>> void setup(void)
>> {
>> - int i, j;
>> + int i;
>> + unsigned int j;
>> tst_sig(FORK, DEF_HANDLER, cleanup);
>> @@ -230,9 +231,8 @@ void setup(void)
>> j = 0;
>> for (i = 0; i< szcharbuf;) {
>> wrbuf[i++] = rawchars[j++];
>> - if (j>= sizeof(rawchars)) {
>> + if (j>= sizeof(rawchars))
>> j = 0;
>> - }
>> }
>> }
> Otherwise LGTM, thanks!
>
>
> Kind regards,
> Petr
>
>
> .
>
More information about the ltp
mailing list