This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
[RFA] more fixes to testsuite (was RE: GDB 6.8.92 available for testing)
- From: "Pierre Muller" <muller at ics dot u-strasbg dot fr>
- To: "'Joel Brobecker'" <brobecker at adacore dot com>
- Cc: <gdb at sourceware dot org>, <gdb-patches at sourceware dot org>
- Date: Thu, 1 Oct 2009 23:22:13 +0200
- Subject: [RFA] more fixes to testsuite (was RE: GDB 6.8.92 available for testing)
- References: <20090930204828.GB31446@adacore.com> <004701ca428e$fa377c50$eea674f0$@u-strasbg.fr> <20091001172928.GE6532@adacore.com>
I here request approval
for changes to the testsuite related to
problems on a configuration where
gcc emits format warnings by default.
> -----Message d'origine-----
> De : gdb-owner@sourceware.org [mailto:gdb-owner@sourceware.org] De la
> part de Joel Brobecker
> Envoyé : Thursday, October 01, 2009 7:29 PM
> À : Pierre Muller
> Cc : gdb@sourceware.org
> Objet : Re: GDB 6.8.92 available for testing
>
> > 3) gdb.base/shr1.c (wrong format arg type)
> > 3) is about an address, but "%p" does not seem to be supported by all
> > C lib format implementation, so I don't know if this can be fixed
> correctly.
>
> We already use %p in a couple of testcase, so let's use it again here.
> Best to avoid printing stuff on stdout/stderr when writing a testcase,
> as we don't always have access to the inferior output (for instance,
> when doing remote debugging), so matching the inferior output in the
> testcase won't work in those case. But we'd have to dig deeper in
> the history of this testcase to determine whether removing the printf
> would not impact the effectiveness of the testcase.
I used "%p" as suggested.
> For now, I vote for a group hug and the use of %p.
>
> > 4) gdb.base/unload.c (format arg not literal)
> > 5) gdb.base/watchpoint-solib.c (format arg not literal)
> > 4) and 5) seem more difficult ...
>
> Is that the source of the problem?
>
> fprintf (stderr, dlerror ());
>
> The following should take care of it:
>
> fprintf (stderr, "%s", dlerror ())
>
> --
> Joel
This was a bit more tricky, because
dlerror is a macro if __WIN32__
is defined,
I removed the macro and
separated the fprintf.
Is this OK?
Tested on gcc16, no changes in the results of these tests.
PS: the #ifdef __WIN32__
should probably be replaced by
something that is also defined for
64-bit windows, no?
2009-10-01 Pierre Muller <muller@ics.u-strasbg.fr>
* src/gdb/testsuite/gdb.base/shr1.c: Use %p in format string.
* src/gdb/testsuite/gdb.base/unload.c: Avoid warning in fprintf.
* src/gdb/testsuite/gdb.base/watchpoint-solib.c: Idem.
Index: src/gdb/testsuite/gdb.base/shr1.c
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.base/shr1.c,v
retrieving revision 1.1.1.2
diff -u -p -r1.1.1.2 shr1.c
--- src/gdb/testsuite/gdb.base/shr1.c 28 Jun 1999 16:04:00 -0000
1.1.1.2
+++ src/gdb/testsuite/gdb.base/shr1.c 1 Oct 2009 20:58:06 -0000
@@ -25,7 +25,7 @@ int x;
sg = 6.6;
sgi++;
sgs = 8;
- printf("address of sgs is 0x%x\n", &sgs);
+ printf("address of sgs is %p\n", &sgs);
return 2*x;
}
Index: src/gdb/testsuite/gdb.base/unload.c
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.base/unload.c,v
retrieving revision 1.9
diff -u -p -r1.9 unload.c
--- src/gdb/testsuite/gdb.base/unload.c 3 Jan 2009 05:58:03 -0000 1.9
+++ src/gdb/testsuite/gdb.base/unload.c 1 Oct 2009 20:58:06 -0000
@@ -27,7 +27,6 @@
# define dlsym(handle, func) GetProcAddress (handle, func)
#endif
#define dlclose(handle) FreeLibrary (handle)
-#define dlerror() "error %d occurred", GetLastError ()
#else
#include <dlfcn.h>
#endif
@@ -53,7 +52,11 @@ int main()
if (!unloadshr)
{
- fprintf (stderr, dlerror ());
+#ifdef __WIN32__
+ fprintf (stderr, "error %d occurred", GetLastError ());
+#else
+ fprintf (stderr, "%s", dlerror ());
+#endif
exit (1);
}
Index: src/gdb/testsuite/gdb.base/watchpoint-solib.c
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.base/watchpoint-solib.c,v
retrieving revision 1.2
diff -u -p -r1.2 watchpoint-solib.c
--- src/gdb/testsuite/gdb.base/watchpoint-solib.c 3 Jan 2009 05:58:03
-0000 1.2
+++ src/gdb/testsuite/gdb.base/watchpoint-solib.c 1 Oct 2009 20:58:06
-0000
@@ -27,7 +27,6 @@
# define dlsym(handle, func) GetProcAddress (handle, func)
#endif
#define dlclose(handle) FreeLibrary (handle)
-#define dlerror() "error %d occurred", GetLastError ()
#else
#include <dlfcn.h>
#endif
@@ -42,7 +41,11 @@ void open_shlib ()
if (!handle)
{
- fprintf (stderr, dlerror ());
+#ifdef __WIN32__
+ fprintf (stderr, "error %d occurred", GetLastError ());
+#else
+ fprintf (stderr, "%s", dlerror ());
+#endif
exit (1);
}