[PATCH] malloc: obscure calloc use in tst-calloc
Andreas K. Huettel
andreas.huettel@ur.de
Fri Jan 10 12:30:40 GMT 2025
Am Freitag, 10. Januar 2025, 04:40:31 Mitteleuropäische Normalzeit schrieb H.J. Lu:
> On Fri, Jan 10, 2025, 11:12 AM Sam James <sam@gentoo.org> wrote:
>
> > Similar to a9944a52c967ce76a5894c30d0274b824df43c7a and
> > f9493a15ea9cfb63a815c00c23142369ec09d8ce, we need to hide calloc use from
> > the compiler to accommodate GCC's r15-6566-g804e9d55d9e54c change.
> >
> > First, include tst-malloc-aux.h, but then use `volatile` variables
> > for size.
> >
> > The test passes without the tst-malloc-aux.h change but IMO we want
> > it there for consistency and to avoid future problems (possibly silent).
OK for 2.41 (test improvement)
> > ---
> > malloc/tst-calloc.c | 12 ++++++++----
> > 1 file changed, 8 insertions(+), 4 deletions(-)
> >
> > diff --git a/malloc/tst-calloc.c b/malloc/tst-calloc.c
> > index 77a32f8052..122b2cbeaf 100644
> > --- a/malloc/tst-calloc.c
> > +++ b/malloc/tst-calloc.c
> > @@ -23,6 +23,7 @@
> > #include <stdio.h>
> > #include <libc-diag.h>
> >
> > +#include "tst-malloc-aux.h"
> >
> > /* Number of samples per size. */
> > #define N 50000
> > @@ -94,16 +95,19 @@ random_test (void)
> > static void
> > null_test (void)
> > {
> > + /* Obscure allocation size from the compiler. */
> > + volatile size_t max_size = UINT_MAX;
> > + volatile size_t zero_size = 0;
> > /* If the size is 0 the result is implementation defined. Just make
> > sure the program doesn't crash. The result of calloc is
> > deliberately ignored, so do not warn about that. */
> > DIAG_PUSH_NEEDS_COMMENT;
> > DIAG_IGNORE_NEEDS_COMMENT (10, "-Wunused-result");
> > calloc (0, 0);
> > - calloc (0, UINT_MAX);
> > - calloc (UINT_MAX, 0);
> > - calloc (0, ~((size_t) 0));
> > - calloc (~((size_t) 0), 0);
> > + calloc (0, max_size);
> > + calloc (max_size, 0);
> > + calloc (0, ~((size_t) zero_size));
> > + calloc (~((size_t) zero_size), 0);
> > DIAG_POP_NEEDS_COMMENT;
> > }
> >
> >
> > base-commit: dad44389f2f96523080e3b105eee1b1ab8b19722
> > prerequisite-patch-id: 6bc066b9be8e3c65fae35848708646513d151266
> > --
> > 2.48.0.rc2
> >
>
> LGTM.
>
> Thanks.
>
>
> >
> >
>
--
PD Dr. Andreas K. Huettel
Institute for Experimental and Applied Physics
University of Regensburg
93040 Regensburg
Germany
tel. +49 151 241 67748 (mobile)
tel. +49 941 943 1618 (office)
e-mail andreas.huettel@ur.de
https://www.akhuettel.de/
https://www.akhuettel.de/group/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 981 bytes
Desc: This is a digitally signed message part.
URL: <https://sourceware.org/pipermail/libc-alpha/attachments/20250110/9208f98f/attachment-0001.sig>
More information about the Libc-alpha
mailing list