This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] x86: Don't make 2 calls to dlerror () in a row
- From: "H.J. Lu" <hjl dot tools at gmail dot com>
- To: Florian Weimer <fweimer at redhat dot com>
- Cc: GNU C Library <libc-alpha at sourceware dot org>
- Date: Sat, 1 Feb 2020 05:42:45 -0800
- Subject: Re: [PATCH] x86: Don't make 2 calls to dlerror () in a row
- References: <CAMe9rOrh3EiT4xGxDq48rPkVGjT9W97fQkK01N0t3C5JFQ+uzQ@mail.gmail.com> <87tv4t21ii.fsf@oldenburg2.str.redhat.com>
On Fri, Jan 17, 2020 at 1:53 PM Florian Weimer <fweimer@redhat.com> wrote:
>
> * H. J. Lu:
>
> > We shouldn't make 2 calls to dlerror () in a row since the first call
> > will clear the error. We should just use the return value from the
> > first call.
> >
> > Tested on Linux/x86-64.
> >
> > --
> > H.J.
> >
> > From 7fe7a18b7bed14bc2da616281d72b2bdbe26b41c Mon Sep 17 00:00:00 2001
> > From: "H.J. Lu" <hjl.tools@gmail.com>
> > Date: Fri, 17 Jan 2020 10:13:43 -0800
> > Subject: [PATCH] x86: Don't make 2 calls to dlerror () in a row
> >
> > We shouldn't make 2 calls to dlerror () in a row since the first call
> > will clear the error. We should just use the return value from the
> > first call.
> >
> > Tested on Linux/x86-64.
> > ---
> > sysdeps/x86/tst-cet-legacy-5.c | 2 +-
> > sysdeps/x86/tst-cet-legacy-6.c | 2 +-
> > 2 files changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/sysdeps/x86/tst-cet-legacy-5.c b/sysdeps/x86/tst-cet-legacy-5.c
> > index b97e03d634..6c9bba06f5 100644
> > --- a/sysdeps/x86/tst-cet-legacy-5.c
> > +++ b/sysdeps/x86/tst-cet-legacy-5.c
> > @@ -38,7 +38,7 @@ do_test_1 (const char *modname, bool fail)
> > if (strstr (err, "shadow stack isn't enabled") == NULL)
> > {
> > printf ("incorrect dlopen '%s' error: %s\n", modname,
> > - dlerror ());
> > + err);
> > exit (1);
> > }
> >
> > diff --git a/sysdeps/x86/tst-cet-legacy-6.c b/sysdeps/x86/tst-cet-legacy-6.c
> > index 3c4a47f2db..877e77747d 100644
> > --- a/sysdeps/x86/tst-cet-legacy-6.c
> > +++ b/sysdeps/x86/tst-cet-legacy-6.c
> > @@ -38,7 +38,7 @@ do_test_1 (const char *modname, bool fail)
> > if (strstr (err, "shadow stack isn't enabled") == NULL)
> > {
> > printf ("incorrect dlopen '%s' error: %s\n", modname,
> > - dlerror ());
> > + err);
> > exit (1);
> > }
>
> You could FAIL_EXIT1 for this. But the change looks good to me as is.
>
I am checking my patch in as is.
Thanks.
--
H.J.