NetBSD Problem Report #11843
Received: (qmail 2382 invoked from network); 30 Dec 2000 02:11:54 -0000
Message-Id: <200012300211.SAA06951@nbwww.isc.org>
Date: Fri, 29 Dec 2000 18:11:53 -0800 (PST)
From: cgd@netbsd.org
Reply-To: cgd@netbsd.org
To: gnats-bugs@gnats.netbsd.org
Subject: most uses of -idirafter in NetBSD sources are 'iffy'.
X-Send-Pr-Version: www-1.0
>Number: 11843
>Category: bin
>Synopsis: most uses of -idirafter in NetBSD sources are 'iffy'.
>Confidential: no
>Severity: serious
>Priority: high
>Responsible: mrg
>State: closed
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sat Dec 30 02:12:00 +0000 2000
>Closed-Date: Mon Mar 22 01:33:25 +0000 2010
>Last-Modified: Mon Mar 22 01:35:02 +0000 2010
>Originator: Chris Demetriou
>Release: NetBSD-current as of 2000-12-29
>Organization:
>Environment:
NetBSD sources as above (some slightly older), with a GCC from
development sources as of a month or two ago (but source
compiler source code eyeball-compared in a few relevant
places against the current source).
>Description:
Most uses of -idirafter in the NetBSD sources are 'iffy'.
-idirafter is used to indicate the system include path, in
various places where DESTDIR builds are used.
-idirafter is inconsistently documented. The manual page (never
canonical for gcc! 8-) says one thing, 'gcc -v -help' says
another, but the info files (the canonical gcc documentation)
simply says that '-idirafter' adds to the 'second' include path.
-isystem is used to add directories to the system include path.
It would appear that in the version of gcc that we supply, the second
include path is treated as a system include path, i.e. warnings
are suppressed if generated by those includes. This does not
appear to be the case with the current GCC development sources, and
therefore warnings are produced and -Werror causes death.
>How-To-Repeat:
DESTDIR compile NetBSD sources with current-ish GCC bits.
>Fix:
replace broken uses of -idirafter, and add mention of -isystem where
appropriate. A quick grep of almost-current sources makes me think
that the uses in the following files (relative to src) need to have
-idirafter changed to -isystem:
./lib/libc/sys/Makefile.inc
./lib/libc/Makefile
./lib/libcompat/Makefile
./lib/libposix/Makefile
./usr.bin/kdump/mkioctls
./usr.bin/xlint/xlint/xlint.c
./share/mk/bsd.sys.mk
./sys/arch/x68k/stand/libiocs/Makefile
and the following file to have -isystem added where -idirafter is supported:
./gnu/usr.bin/egcs/cpp/usr.bin.cpp.sh
>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: bin-bug-people->mrg
Responsible-Changed-By: mrg@NetBSD.org
Responsible-Changed-When: Sat, 20 Mar 2010 06:30:27 +0000
Responsible-Changed-Why:
this seems still relevant; i'll take a look
State-Changed-From-To: open->closed
State-Changed-By: mrg@NetBSD.org
State-Changed-When: Mon, 22 Mar 2010 01:33:25 +0000
State-Changed-Why:
all fixed now.
From: matthew green <mrg@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/11843 CVS commit: src
Date: Mon, 22 Mar 2010 01:29:30 +0000
Module Name: src
Committed By: mrg
Date: Mon Mar 22 01:29:30 UTC 2010
Modified Files:
src/lib/libc: Makefile.inc
src/lib/libcompat: Makefile
src/usr.bin/kdump: mkioctls
src/usr.bin/xlint/xlint: xlint.c
Log Message:
convert -idirafter to -isystem, as recommended by cgd in PR 11843.
most of the list in that PR were already done.
To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 src/lib/libc/Makefile.inc
cvs rdiff -u -r1.29 -r1.30 src/lib/libcompat/Makefile
cvs rdiff -u -r1.38 -r1.39 src/usr.bin/kdump/mkioctls
cvs rdiff -u -r1.42 -r1.43 src/usr.bin/xlint/xlint/xlint.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
>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.