qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] configure: Do not ignore malloc value
@ 2020-05-24 22:12 Leonid Bloch
  2020-05-25  4:20 ` Philippe Mathieu-Daudé
  2020-06-04 17:57 ` Paolo Bonzini
  0 siblings, 2 replies; 3+ messages in thread
From: Leonid Bloch @ 2020-05-24 22:12 UTC (permalink / raw)
  To: qemu-devel
  Cc: Leonid Bloch, Philippe Mathieu-Daudé, Richard Henderson,
	Laurent Vivier, Paolo Bonzini, Alex Bennée

From: Leonid Bloch <lbloch@janustech.com>

Not checking the value of malloc will cause a warning with GCC 10.1,
which may result in configuration failure, with the following line in
config.log:

config-temp/qemu-conf.c:2:18: error: ignoring return value of ‘malloc’ declared with attribute ‘warn_unused_result’ [-Werror=unused-result]
    2 | int main(void) { malloc(1); return 0; }
      |                  ^~~~~~~~~

Signed-off-by: Leonid Bloch <lb.workbox@gmail.com>
---
 configure | 20 +++++++++++++++++---
 1 file changed, 17 insertions(+), 3 deletions(-)

diff --git a/configure b/configure
index 2fc05c4465..d0220b2944 100755
--- a/configure
+++ b/configure
@@ -4567,7 +4567,13 @@ fi
 if test "$tcmalloc" = "yes" ; then
   cat > $TMPC << EOF
 #include <stdlib.h>
-int main(void) { malloc(1); return 0; }
+int main(void) {
+    void *tmp = malloc(1);
+    if (tmp != NULL) {
+        return 0;
+    }
+    return 1;
+}
 EOF
 
   if compile_prog "" "-ltcmalloc" ; then
@@ -4583,7 +4589,13 @@ fi
 if test "$jemalloc" = "yes" ; then
   cat > $TMPC << EOF
 #include <stdlib.h>
-int main(void) { malloc(1); return 0; }
+int main(void) {
+    void *tmp = malloc(1);
+    if (tmp != NULL) {
+        return 0;
+    }
+    return 1;
+}
 EOF
 
   if compile_prog "" "-ljemalloc" ; then
@@ -6144,7 +6156,9 @@ if test "$sanitizers" = "yes" ; then
 #include <stdlib.h>
 int main(void) {
     void *tmp = malloc(10);
-    return *(int *)(tmp + 2);
+    if (tmp != NULL) {
+        return *(int *)(tmp + 2);
+    }
 }
 EOF
   if compile_prog "$CPU_CFLAGS -Werror -fsanitize=undefined" ""; then
-- 
2.26.2



^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] configure: Do not ignore malloc value
  2020-05-24 22:12 [PATCH] configure: Do not ignore malloc value Leonid Bloch
@ 2020-05-25  4:20 ` Philippe Mathieu-Daudé
  2020-06-04 17:57 ` Paolo Bonzini
  1 sibling, 0 replies; 3+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-05-25  4:20 UTC (permalink / raw)
  To: Leonid Bloch, qemu-devel
  Cc: Alex Bennée, Richard Henderson, Laurent Vivier,
	Paolo Bonzini

On 5/25/20 12:12 AM, Leonid Bloch wrote:
> From: Leonid Bloch <lbloch@janustech.com>
> 
> Not checking the value of malloc will cause a warning with GCC 10.1,
> which may result in configuration failure, with the following line in
> config.log:
> 
> config-temp/qemu-conf.c:2:18: error: ignoring return value of ‘malloc’ declared with attribute ‘warn_unused_result’ [-Werror=unused-result]
>     2 | int main(void) { malloc(1); return 0; }
>       |                  ^~~~~~~~~

Do we want to add -Wno-unused-result to compile_prog()?

> 
> Signed-off-by: Leonid Bloch <lb.workbox@gmail.com>
> ---
>  configure | 20 +++++++++++++++++---
>  1 file changed, 17 insertions(+), 3 deletions(-)
> 
> diff --git a/configure b/configure
> index 2fc05c4465..d0220b2944 100755
> --- a/configure
> +++ b/configure
> @@ -4567,7 +4567,13 @@ fi
>  if test "$tcmalloc" = "yes" ; then
>    cat > $TMPC << EOF
>  #include <stdlib.h>
> -int main(void) { malloc(1); return 0; }
> +int main(void) {
> +    void *tmp = malloc(1);
> +    if (tmp != NULL) {
> +        return 0;
> +    }
> +    return 1;
> +}
>  EOF
>  
>    if compile_prog "" "-ltcmalloc" ; then
> @@ -4583,7 +4589,13 @@ fi
>  if test "$jemalloc" = "yes" ; then
>    cat > $TMPC << EOF
>  #include <stdlib.h>
> -int main(void) { malloc(1); return 0; }
> +int main(void) {
> +    void *tmp = malloc(1);
> +    if (tmp != NULL) {
> +        return 0;
> +    }
> +    return 1;
> +}
>  EOF
>  
>    if compile_prog "" "-ljemalloc" ; then
> @@ -6144,7 +6156,9 @@ if test "$sanitizers" = "yes" ; then
>  #include <stdlib.h>
>  int main(void) {
>      void *tmp = malloc(10);
> -    return *(int *)(tmp + 2);
> +    if (tmp != NULL) {
> +        return *(int *)(tmp + 2);
> +    }
>  }
>  EOF
>    if compile_prog "$CPU_CFLAGS -Werror -fsanitize=undefined" ""; then
> 



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] configure: Do not ignore malloc value
  2020-05-24 22:12 [PATCH] configure: Do not ignore malloc value Leonid Bloch
  2020-05-25  4:20 ` Philippe Mathieu-Daudé
@ 2020-06-04 17:57 ` Paolo Bonzini
  1 sibling, 0 replies; 3+ messages in thread
From: Paolo Bonzini @ 2020-06-04 17:57 UTC (permalink / raw)
  To: Leonid Bloch, qemu-devel
  Cc: Alex Bennée, Philippe Mathieu-Daudé, Richard Henderson,
	Laurent Vivier

On 25/05/20 00:12, Leonid Bloch wrote:
> From: Leonid Bloch <lbloch@janustech.com>
> 
> Not checking the value of malloc will cause a warning with GCC 10.1,
> which may result in configuration failure, with the following line in
> config.log:
> 
> config-temp/qemu-conf.c:2:18: error: ignoring return value of ‘malloc’ declared with attribute ‘warn_unused_result’ [-Werror=unused-result]
>     2 | int main(void) { malloc(1); return 0; }
>       |                  ^~~~~~~~~
> 
> Signed-off-by: Leonid Bloch <lb.workbox@gmail.com>
> ---
>  configure | 20 +++++++++++++++++---
>  1 file changed, 17 insertions(+), 3 deletions(-)
> 
> diff --git a/configure b/configure
> index 2fc05c4465..d0220b2944 100755
> --- a/configure
> +++ b/configure
> @@ -4567,7 +4567,13 @@ fi
>  if test "$tcmalloc" = "yes" ; then
>    cat > $TMPC << EOF
>  #include <stdlib.h>
> -int main(void) { malloc(1); return 0; }
> +int main(void) {
> +    void *tmp = malloc(1);
> +    if (tmp != NULL) {
> +        return 0;
> +    }
> +    return 1;
> +}
>  EOF
>  
>    if compile_prog "" "-ltcmalloc" ; then
> @@ -4583,7 +4589,13 @@ fi
>  if test "$jemalloc" = "yes" ; then
>    cat > $TMPC << EOF
>  #include <stdlib.h>
> -int main(void) { malloc(1); return 0; }
> +int main(void) {
> +    void *tmp = malloc(1);
> +    if (tmp != NULL) {
> +        return 0;
> +    }
> +    return 1;
> +}
>  EOF
>  
>    if compile_prog "" "-ljemalloc" ; then
> @@ -6144,7 +6156,9 @@ if test "$sanitizers" = "yes" ; then
>  #include <stdlib.h>
>  int main(void) {
>      void *tmp = malloc(10);
> -    return *(int *)(tmp + 2);
> +    if (tmp != NULL) {
> +        return *(int *)(tmp + 2);
> +    }
>  }
>  EOF
>    if compile_prog "$CPU_CFLAGS -Werror -fsanitize=undefined" ""; then
> 

Queued, thanks.

Paolo



^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-06-04 17:58 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-05-24 22:12 [PATCH] configure: Do not ignore malloc value Leonid Bloch
2020-05-25  4:20 ` Philippe Mathieu-Daudé
2020-06-04 17:57 ` Paolo Bonzini

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).