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>
index | next in thread | raw e-mail
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.
help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201302041520.r14FK1Lq081069>
