Date: Mon, 4 Feb 2013 15:20:01 GMT From: Andrey Simonenko <simon@comsys.ntu-kpi.kiev.ua> To: freebsd-bugs@FreeBSD.org Subject: Re: kern/175759: Correct data types for fields of struct qm_trace{} from <sys/queue.h> Message-ID: <201302041520.r14FK1Lq081069@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/175759; it has been noted by GNATS. From: Andrey Simonenko <simon@comsys.ntu-kpi.kiev.ua> To: Gleb Smirnoff <glebius@FreeBSD.org> Cc: FreeBSD-gnats-submit@freebsd.org Subject: Re: kern/175759: Correct data types for fields of struct qm_trace{} from <sys/queue.h> Date: Mon, 4 Feb 2013 17:12:57 +0200 repost: forgot to send to the group. On Mon, Feb 04, 2013 at 06:14:07PM +0400, Gleb Smirnoff wrote: > Andrey, > > any additional comments for the attached patch. Is it ok from your > viewpoint? > > -- > Totus tuus, Glebius. > Index: queue.h > =================================================================== > --- queue.h (revision 245741) > +++ queue.h (working copy) > @@ -105,13 +105,14 @@ > #ifdef QUEUE_MACRO_DEBUG > /* Store the last 2 places the queue element or head was altered */ > struct qm_trace { > - char * lastfile; > - int lastline; > - char * prevfile; > - int prevline; > + const char * lastfile; > + unsigned long lastline; > + const char * prevfile; > + unsigned long prevline; > }; > > #define TRACEBUF struct qm_trace trace; > +#define TRACEBUF_INITIALIZER { __FILE__, __LINE__, NULL, 0 } , > #define TRASHIT(x) do {(x) = (void *)-1;} while (0) > #define QMD_SAVELINK(name, link) void **name = (void *)&(link) > > @@ -134,6 +135,7 @@ > #define QMD_TRACE_HEAD(head) > #define QMD_SAVELINK(name, link) > #define TRACEBUF > +#define TRACEBUF_INITIALIZER > #define TRASHIT(x) > #endif /* QUEUE_MACRO_DEBUG */ > > @@ -461,7 +463,7 @@ > } > > #define TAILQ_HEAD_INITIALIZER(head) \ > - { NULL, &(head).tqh_first } > + { NULL, &(head).tqh_first, TRACEBUF_INITIALIZER } > > #define TAILQ_ENTRY(type) \ > struct { \ Looks correct. What do you think about this idea: http://lists.freebsd.org/pipermail/freebsd-bugs/2013-February/051665.html it has more generic approach for such kind of debugging.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201302041520.r14FK1Lq081069>