Replace symbolic link "/usr/include/varargs.h" (pointing to

"/usr/include/machine/varargs.h") by a stub include file which will
emit an error if GCC 3.3 or newer is used and include "machine/varargs.h"
otherwise.

Based on a suggestion by Richard Earnshaw. This fixes PR toolchain/22888
by myself.
This commit is contained in:
tron 2003-10-14 12:46:44 +00:00
parent d6dfcb09dd
commit 162ada1c8b
3 changed files with 54 additions and 5 deletions

View File

@ -1,4 +1,4 @@
# $NetBSD: Makefile,v 1.114 2003/10/01 01:35:39 christos Exp $ # $NetBSD: Makefile,v 1.115 2003/10/14 12:46:44 tron Exp $
# @(#)Makefile 8.2 (Berkeley) 1/4/94 # @(#)Makefile 8.2 (Berkeley) 1/4/94
# Doing a make includes builds /usr/include # Doing a make includes builds /usr/include
@ -20,7 +20,7 @@ INCS= a.out.h ar.h assert.h bitstring.h bm.h cpio.h ctype.h db.h dirent.h \
sgtty.h signal.h stab.h stddef.h stdio.h stdlib.h string.h \ sgtty.h signal.h stab.h stddef.h stdio.h stdlib.h string.h \
strings.h stringlist.h struct.h sysexits.h tar.h threadlib.h time.h \ strings.h stringlist.h struct.h sysexits.h tar.h threadlib.h time.h \
ttyent.h tzfile.h ucontext.h ulimit.h unistd.h util.h utime.h utmp.h \ ttyent.h tzfile.h ucontext.h ulimit.h unistd.h util.h utime.h utmp.h \
utmpx.h vis.h wchar.h wctype.h utmpx.h varargs.h vis.h wchar.h wctype.h
INCS+= arpa/ftp.h arpa/inet.h arpa/nameser.h arpa/telnet.h arpa/tftp.h INCS+= arpa/ftp.h arpa/inet.h arpa/nameser.h arpa/telnet.h arpa/tftp.h
INCS+= protocols/dumprestore.h protocols/routed.h protocols/rwhod.h \ INCS+= protocols/dumprestore.h protocols/routed.h protocols/rwhod.h \
protocols/talkd.h protocols/timed.h protocols/talkd.h protocols/timed.h

50
include/varargs.h Normal file
View File

@ -0,0 +1,50 @@
/*-
* Copyright (c) 2003 The NetBSD Foundation, Inc.
* All rights reserved.
*
* This code is derived from software contributed to The NetBSD Foundation
* by Matthias Scheler.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by the NetBSD
* Foundation, Inc. and its contributors.
* 4. Neither the name of The NetBSD Foundation nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*/
#ifndef _VARARGS_H_
#define _VARARGS_H_
#include <sys/cdefs.h>
#if __GNUC_PREREQ__(3, 3)
#error "GCC 3.3 and newer no longer implements <varargs.h>."
#error "Revise your code to use <stdarg.h>."
#else
#include <machine/varargs.h>
#endif
#endif /* !_VARARGS_H_ */

View File

@ -1,4 +1,4 @@
# $NetBSD: Makefile,v 1.24 2003/08/03 09:23:16 lukem Exp $ # $NetBSD: Makefile,v 1.25 2003/10/14 12:46:44 tron Exp $
# For now, we install the machine and arch includes, and symlink 'machine' # For now, we install the machine and arch includes, and symlink 'machine'
# to the location of the machine includes (usually). # to the location of the machine includes (usually).
@ -45,7 +45,6 @@ INCSYMLINKS= ${MACHINE} /usr/include/machine
INCSYMLINKS+= machine/float.h /usr/include/float.h \ INCSYMLINKS+= machine/float.h /usr/include/float.h \
machine/frame.h /usr/include/frame.h \ machine/frame.h /usr/include/frame.h \
machine/stdarg.h /usr/include/stdarg.h \ machine/stdarg.h /usr/include/stdarg.h
machine/varargs.h /usr/include/varargs.h
.include <bsd.kinc.mk> .include <bsd.kinc.mk>