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
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 >
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
© 2016 - 2024 Red Hat, Inc.