[Qemu-devel] [PATCH for-3.0 2/3] linux-user: Do not report "syscall not implemented" by default

Philippe Mathieu-Daudé posted 3 patches 7 years, 4 months ago
[Qemu-devel] [PATCH for-3.0 2/3] linux-user: Do not report "syscall not implemented" by default
Posted by Philippe Mathieu-Daudé 7 years, 4 months ago
This can still be reported using the "-d unimp" command line option.

Code change produced with:

  git ls-files linux-user | \
  xargs sed -i -E 's/fprintf\(stderr,\s?(".*not implemented\\n")\);/qemu_log_mask(LOG_UNIMP, \1);/g'

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
 linux-user/cris/signal.c       | 4 ++--
 linux-user/microblaze/signal.c | 4 ++--
 linux-user/nios2/signal.c      | 2 +-
 linux-user/sparc/signal.c      | 4 ++--
 4 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/linux-user/cris/signal.c b/linux-user/cris/signal.c
index 0b405247cf..1e02194377 100644
--- a/linux-user/cris/signal.c
+++ b/linux-user/cris/signal.c
@@ -146,7 +146,7 @@ void setup_rt_frame(int sig, struct target_sigaction *ka,
                     target_siginfo_t *info,
                      target_sigset_t *set, CPUCRISState *env)
 {
-    fprintf(stderr, "CRIS setup_rt_frame: not implemented\n");
+    qemu_log_mask(LOG_UNIMP, "setup_rt_frame: not implemented\n");
 }
 
 long do_sigreturn(CPUCRISState *env)
@@ -183,6 +183,6 @@ badframe:
 long do_rt_sigreturn(CPUCRISState *env)
 {
     trace_user_do_rt_sigreturn(env, 0);
-    fprintf(stderr, "CRIS do_rt_sigreturn: not implemented\n");
+    qemu_log_mask(LOG_UNIMP, "do_rt_sigreturn: not implemented\n");
     return -TARGET_ENOSYS;
 }
diff --git a/linux-user/microblaze/signal.c b/linux-user/microblaze/signal.c
index 712ee522b2..80950c2181 100644
--- a/linux-user/microblaze/signal.c
+++ b/linux-user/microblaze/signal.c
@@ -200,7 +200,7 @@ void setup_rt_frame(int sig, struct target_sigaction *ka,
                     target_siginfo_t *info,
                     target_sigset_t *set, CPUMBState *env)
 {
-    fprintf(stderr, "Microblaze setup_rt_frame: not implemented\n");
+    qemu_log_mask(LOG_UNIMP, "setup_rt_frame: not implemented\n");
 }
 
 long do_sigreturn(CPUMBState *env)
@@ -240,6 +240,6 @@ badframe:
 long do_rt_sigreturn(CPUMBState *env)
 {
     trace_user_do_rt_sigreturn(env, 0);
-    fprintf(stderr, "Microblaze do_rt_sigreturn: not implemented\n");
+    qemu_log_mask(LOG_UNIMP, "do_rt_sigreturn: not implemented\n");
     return -TARGET_ENOSYS;
 }
diff --git a/linux-user/nios2/signal.c b/linux-user/nios2/signal.c
index 4985dc2212..7d535065ed 100644
--- a/linux-user/nios2/signal.c
+++ b/linux-user/nios2/signal.c
@@ -203,7 +203,7 @@ give_sigsegv:
 long do_sigreturn(CPUNios2State *env)
 {
     trace_user_do_sigreturn(env, 0);
-    fprintf(stderr, "do_sigreturn: not implemented\n");
+    qemu_log_mask(LOG_UNIMP, "do_sigreturn: not implemented\n");
     return -TARGET_ENOSYS;
 }
 
diff --git a/linux-user/sparc/signal.c b/linux-user/sparc/signal.c
index 55e9d6f9b2..b4c60aa446 100644
--- a/linux-user/sparc/signal.c
+++ b/linux-user/sparc/signal.c
@@ -278,7 +278,7 @@ void setup_rt_frame(int sig, struct target_sigaction *ka,
                     target_siginfo_t *info,
                     target_sigset_t *set, CPUSPARCState *env)
 {
-    fprintf(stderr, "setup_rt_frame: not implemented\n");
+    qemu_log_mask(LOG_UNIMP, "setup_rt_frame: not implemented\n");
 }
 
 long do_sigreturn(CPUSPARCState *env)
@@ -357,7 +357,7 @@ segv_and_exit:
 long do_rt_sigreturn(CPUSPARCState *env)
 {
     trace_user_do_rt_sigreturn(env, 0);
-    fprintf(stderr, "do_rt_sigreturn: not implemented\n");
+    qemu_log_mask(LOG_UNIMP, "do_rt_sigreturn: not implemented\n");
     return -TARGET_ENOSYS;
 }
 
-- 
2.18.0


Re: [Qemu-devel] [PATCH for-3.0 2/3] linux-user: Do not report "syscall not implemented" by default
Posted by Peter Maydell 7 years, 4 months ago
On 6 July 2018 at 16:51, Philippe Mathieu-Daudé <f4bug@amsat.org> wrote:
> This can still be reported using the "-d unimp" command line option.
>
> Code change produced with:
>
>   git ls-files linux-user | \
>   xargs sed -i -E 's/fprintf\(stderr,\s?(".*not implemented\\n")\);/qemu_log_mask(LOG_UNIMP, \1);/g'
>
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---
>  linux-user/cris/signal.c       | 4 ++--
>  linux-user/microblaze/signal.c | 4 ++--
>  linux-user/nios2/signal.c      | 2 +-
>  linux-user/sparc/signal.c      | 4 ++--
>  4 files changed, 7 insertions(+), 7 deletions(-)
>
> diff --git a/linux-user/cris/signal.c b/linux-user/cris/signal.c
> index 0b405247cf..1e02194377 100644
> --- a/linux-user/cris/signal.c
> +++ b/linux-user/cris/signal.c
> @@ -146,7 +146,7 @@ void setup_rt_frame(int sig, struct target_sigaction *ka,
>                      target_siginfo_t *info,
>                       target_sigset_t *set, CPUCRISState *env)
>  {
> -    fprintf(stderr, "CRIS setup_rt_frame: not implemented\n");
> +    qemu_log_mask(LOG_UNIMP, "setup_rt_frame: not implemented\n");

Your regex seems to have gone a bit awry here, because it's lost
the "CRIS" part of the string (similarly below).

thanks
-- PMM

Re: [Qemu-devel] [PATCH for-3.0 2/3] linux-user: Do not report "syscall not implemented" by default
Posted by Philippe Mathieu-Daudé 7 years, 4 months ago
On 07/06/2018 01:08 PM, Peter Maydell wrote:
> On 6 July 2018 at 16:51, Philippe Mathieu-Daudé <f4bug@amsat.org> wrote:
>> This can still be reported using the "-d unimp" command line option.
>>
>> Code change produced with:
>>
>>   git ls-files linux-user | \
>>   xargs sed -i -E 's/fprintf\(stderr,\s?(".*not implemented\\n")\);/qemu_log_mask(LOG_UNIMP, \1);/g'
>>
>> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
>> ---
>>  linux-user/cris/signal.c       | 4 ++--
>>  linux-user/microblaze/signal.c | 4 ++--
>>  linux-user/nios2/signal.c      | 2 +-
>>  linux-user/sparc/signal.c      | 4 ++--
>>  4 files changed, 7 insertions(+), 7 deletions(-)
>>
>> diff --git a/linux-user/cris/signal.c b/linux-user/cris/signal.c
>> index 0b405247cf..1e02194377 100644
>> --- a/linux-user/cris/signal.c
>> +++ b/linux-user/cris/signal.c
>> @@ -146,7 +146,7 @@ void setup_rt_frame(int sig, struct target_sigaction *ka,
>>                      target_siginfo_t *info,
>>                       target_sigset_t *set, CPUCRISState *env)
>>  {
>> -    fprintf(stderr, "CRIS setup_rt_frame: not implemented\n");
>> +    qemu_log_mask(LOG_UNIMP, "setup_rt_frame: not implemented\n");
> 
> Your regex seems to have gone a bit awry here, because it's lost
> the "CRIS" part of the string (similarly below).

Oh I deliberately dropped it when using 'git add -p' after the regex
because I noticed neither nios2 nor sparc arch were using it, and I
don't think this is a relevant information.

Do you prefer I restore them, I reword the commit message, or even add
similar description for the nios2/sparc?

Thanks,

Phil.