NetBSD Problem Report #42176
From kre@munnari.OZ.AU Tue Oct 13 10:01:52 2009
Return-Path: <kre@munnari.OZ.AU>
Received: from mail.netbsd.org (mail.netbsd.org [204.152.190.11])
by www.NetBSD.org (Postfix) with ESMTP id A33B663B877
for <gnats-bugs@gnats.NetBSD.org>; Tue, 13 Oct 2009 10:01:52 +0000 (UTC)
Message-Id: <200910131001.n9DA1AsY011543@jade.coe.psu.ac.th>
Date: Tue, 13 Oct 2009 17:01:10 +0700 (ICT)
From: kre@munnari.OZ.AU
To: gnats-bugs@gnats.NetBSD.org
Subject: emulators/qemu fails to compile on NetBSD 4.0 (i386 .. or probably any)
X-Send-Pr-Version: 3.95
>Number: 42176
>Category: pkg
>Synopsis: emulators/qemu fails to compile on NetBSD 4.0 (i386 .. or probably any)
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: pkg-manager
>State: closed
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Tue Oct 13 10:05:00 +0000 2009
>Closed-Date: Fri Apr 09 08:01:48 +0000 2010
>Last-Modified: Sat Mar 05 14:55:04 +0000 2011
>Originator: Robert Elz
>Release: NetBSD 4.0 / i386 (pkgsrc -current 2009-10-13)
>Organization:
Prince of Songkla University
>Environment:
System: NetBSD jade.coe.psu.ac.th 4.0_STABLE NetBSD 4.0_STABLE (JADE-1.696-20080517) #9: Fri May 23 18:55:13 ICT 2008 kre@jade.coe.psu.ac.th:/usr/obj/4/kernels/JADE i386
Architecture: i386
Machine: i386
>Description:
The latest version of qemu (qemu-0.11.0) doesn't compile on
NetBSD 4.0 as it expects to use TAILQ_FOREACH_SAFE() which
doesn't exist in NetBSD 4
>How-To-Repeat:
I use pkg_comp with NetBSD 4.0 release sets installed, amd
libkver to similate a fairly pure NetBSD 4.0 release environment.
(I use pkgsrc modular xorg instead of the x* sets, but that's
not relevant here).
In that environment expect to see ...
===> Building for qemu-0.11.0
GEN qemu-img-cmds.h
[....]
CC net.o
net.c: In function 'qemu_purge_queued_packets':
net.c:470: warning: implicit declaration of function 'TAILQ_FOREACH_SAFE'
net.c:470: error: 'entry' undeclared (first use in this function)
net.c:470: error: (Each undeclared identifier is reported only once
net.c:470: error: for each function it appears in.)
net.c:470: error: expected ';' before '{' token
gmake: *** [net.o] Error 1
*** Error code 2
Stop.
make: stopped in /usr/pkgsrc/emulators/qemu
*** Error code 1
Stop.
>Fix:
Either just use TAILQ_FOREACH() (and a bunch of hackery),
or provide a version of TAILQ_FOREACH_SAFE() just for NetBSD-4
(and other systems that might not have it) or relpace the use
of the TAILQ macro with hand rolled code, or ....
>Release-Note:
>Audit-Trail:
From: Robert Elz <kre@munnari.OZ.AU>
To: gnats-bugs@NetBSD.org
Cc:
Subject: Re: pkg/42176: emulators/qemu fails to compile on NetBSD 4.0 (i386 .. or probably any)
Date: Fri, 09 Apr 2010 10:49:57 +0700
I believe this problem might have been fixed upstream - it appears as if
they have replaced all uses of the XXXQ_WHATEVER() macros (from sys/queue.h)
with their own (well, taken from NetBSD it says) versions QXXXQ_WHATEVER().
That means that the _SAFE() versions of the XXXQ_FOREACH() macros are present
now, and the problem that generated this PR should be gone.
I say "should be" as I discovered this entirely from reading a diff of
the relevant distfiles - the same pkgsrc upgrade that seems to have
corrected this problem introduced PR 42899. so qemu remains uncompilable on
NetBSD 4, so there's no good way to verify that this problem is in
fact gone.
Until we know for sure, I'd suggest changing this PR to be "suspended"
(rather than closed) - once qemu compiles again, or when NetBSD 4 support
is no longer relevant to pkgsrc, this PR can be reopened in the unlikely
event that it hasn't been fixed, or finally closed.
kre
State-Changed-From-To: open->suspended
State-Changed-By: dholland@NetBSD.org
State-Changed-When: Fri, 09 Apr 2010 06:26:33 +0000
State-Changed-Why:
Believed fixed, can't be tested just yet owing to other lossage
From: Robert Elz <kre@munnari.OZ.AU>
To: gnats-bugs@NetBSD.org
Cc:
Subject: Re: pkg/42176 (emulators/qemu fails to compile on NetBSD 4.0 (i386 .. or probably any))
Date: Fri, 09 Apr 2010 14:34:59 +0700
Date: Fri, 9 Apr 2010 06:26:34 +0000 (UTC)
From: dholland@NetBSD.org
Message-ID: <20100409062634.36A5463BA59@www.NetBSD.org>
| State-Changed-From-To: open->suspended
Thanks for that, now you can close it, I have now been able to
verify that this problem is indeed fixed upstream in the latest
qemu distfile, and no pkgsrc changes are needed to handle it.
kre
State-Changed-From-To: suspended->closed
State-Changed-By: wiz@NetBSD.org
State-Changed-When: Fri, 09 Apr 2010 08:01:48 +0000
State-Changed-Why:
Confirmed fixed, thanks for the feedback!
From: "Matt Thomas" <matt@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/42176 CVS commit: src/sys/arch/algor/algor
Date: Sat, 5 Mar 2011 14:04:03 +0000
Module Name: src
Committed By: matt
Date: Sat Mar 5 14:04:03 UTC 2011
Modified Files:
src/sys/arch/algor/algor: algor_p6032_intr.c algor_p6032var.h
Log Message:
Fix prototype of algor_p6032_iointr.
Fix buffer overrun ( PR algor/42176 ).
Constify a few things.
To generate a diff of this commit:
cvs rdiff -u -r1.17 -r1.18 src/sys/arch/algor/algor/algor_p6032_intr.c
cvs rdiff -u -r1.2 -r1.3 src/sys/arch/algor/algor/algor_p6032var.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
From: Robert Elz <kre@munnari.OZ.AU>
To: gnats-bugs@NetBSD.org
Cc:
Subject: Re: PR/42176 CVS commit: src/sys/arch/algor/algor
Date: Sat, 05 Mar 2011 21:50:44 +0700
Date: Sat, 5 Mar 2011 14:05:03 +0000 (UTC)
From: "Matt Thomas" <matt@NetBSD.org>
Message-ID: <20110305140503.E013263B92A@www.NetBSD.org>
| Fix buffer overrun ( PR algor/42176 ).
That should have been 42716
kre
>Unformatted:
(Contact us)
$NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2007
The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.