Subject: bin/14840: kdump does not compile due to __KERNEL_RCSID() on a.out system
To: None <gnats-bugs@gnats.netbsd.org>
From: None <tsutsui@ceres.dti.ne.jp>
List: netbsd-bugs
Date: 12/05/2001 01:01:30
>Number:         14840
>Category:       bin
>Synopsis:       kdump does not compile due to __KERNEL_RCSID() on a.out system
>Confidential:   no
>Severity:       non-critical
>Priority:       high
>Responsible:    bin-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Dec 04 08:02:00 PST 2001
>Closed-Date:
>Last-Modified:
>Originator:     Izumi Tsutsui
>Release:        NetBSD 1.5Z 20011201
>Organization:
Izumi Tsutsui	Himeji City, Japan
>Environment:
System: NetBSD 1.5Z
Architecture: arm32
Machine: cats
>Description:
Recently __KERNEL_RCSID() macro has been added to most kernel sources,
but then some userland sources that include multiple kernel sources
(like kdump/setemul.c) do not compile on a.out system.

>How-To-Repeat:
make dependall in src/usr.bin/kdump:

 :
cc -O2  -Wall -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith \
-Wno-uninitialized  -Werror  -I/usr/src/usr.bin/kdump/../ktrace \
-I/usr/src/usr.bin/kdump/../../sys   -c /usr/src/usr.bin/kdump/setemul.c
In file included from /usr/src/usr.bin/kdump/setemul.c:110:
/usr/src/usr.bin/kdump/../../sys/compat/netbsd32/netbsd32_syscalls.c:11: \
redefinition of `rcsid0'
/usr/src/usr.bin/kdump/../../sys/kern/syscalls.c:11: `rcsid0' previously \
defined here
cc1: warnings being treated as errors
/usr/src/usr.bin/kdump/../../sys/compat/netbsd32/netbsd32_syscalls.c:11: \
warning: initializer-string for array of chars is too long
In file included from /usr/src/usr.bin/kdump/setemul.c:111:
/usr/src/usr.bin/kdump/../../sys/compat/freebsd/freebsd_syscalls.c:11: \
redefinition of `rcsid0'
/usr/src/usr.bin/kdump/../../sys/compat/netbsd32/netbsd32_syscalls.c:11: \
`rcsid0' previously defined here
/usr/src/usr.bin/kdump/../../sys/compat/freebsd/freebsd_syscalls.c:11: \
warning: initializer-string for array of chars is too long
In file included from /usr/src/usr.bin/kdump/setemul.c:112:
/usr/src/usr.bin/kdump/../../sys/compat/hpux/hpux_syscalls.c:11: \
redefinition of `rcsid0'
/usr/src/usr.bin/kdump/../../sys/compat/freebsd/freebsd_syscalls.c:11: \
`rcsid0' previously defined here
/usr/src/usr.bin/kdump/../../sys/compat/hpux/hpux_syscalls.c:11: \
warning: initializer-string for array of chars is too long
In file included from /usr/src/usr.bin/kdump/setemul.c:113:
/usr/src/usr.bin/kdump/../../sys/compat/ibcs2/ibcs2_syscalls.c:11: \
redefinition of `rcsid0'
/usr/src/usr.bin/kdump/../../sys/compat/hpux/hpux_syscalls.c:11: \
`rcsid0' previously defined here
/usr/src/usr.bin/kdump/../../sys/compat/ibcs2/ibcs2_syscalls.c:11: \
warning: initializer-string for array of chars is too long
In file included from /usr/src/usr.bin/kdump/setemul.c:114:
/usr/src/usr.bin/kdump/../../sys/compat/irix/irix_syscalls.c:11: \
redefinition of `rcsid0'
/usr/src/usr.bin/kdump/../../sys/compat/ibcs2/ibcs2_syscalls.c:11: \
`rcsid0' previously defined here
/usr/src/usr.bin/kdump/../../sys/compat/irix/irix_syscalls.c:11: \
warning: initializer-string for array of chars is too long
In file included from /usr/src/usr.bin/kdump/setemul.c:116:
/usr/src/usr.bin/kdump/../../sys/compat/osf1/osf1_syscalls.c:11: \
redefinition of `rcsid0'
/usr/src/usr.bin/kdump/../../sys/compat/irix/irix_syscalls.c:11: \
`rcsid0' previously defined here
/usr/src/usr.bin/kdump/../../sys/compat/osf1/osf1_syscalls.c:11: \
warning: initializer-string for array of chars is too long
In file included from /usr/src/usr.bin/kdump/setemul.c:117:
/usr/src/usr.bin/kdump/../../sys/compat/sunos/sunos_syscalls.c:11: \
redefinition of `rcsid0'
/usr/src/usr.bin/kdump/../../sys/compat/osf1/osf1_syscalls.c:11: \
`rcsid0' previously defined here
/usr/src/usr.bin/kdump/../../sys/compat/sunos/sunos_syscalls.c:11: \
warning: initializer-string for array of chars is too long
In file included from /usr/src/usr.bin/kdump/setemul.c:118:
/usr/src/usr.bin/kdump/../../sys/compat/sunos32/sunos32_syscalls.c:11: \
redefinition of `rcsid0'
/usr/src/usr.bin/kdump/../../sys/compat/sunos/sunos_syscalls.c:11: \
`rcsid0' previously defined here
/usr/src/usr.bin/kdump/../../sys/compat/sunos32/sunos32_syscalls.c:11: \
warning: initializer-string for array of chars is too long
In file included from /usr/src/usr.bin/kdump/setemul.c:119:
/usr/src/usr.bin/kdump/../../sys/compat/svr4/svr4_syscalls.c:11: \
redefinition of `rcsid0'
/usr/src/usr.bin/kdump/../../sys/compat/sunos32/sunos32_syscalls.c:11: \
`rcsid0' previously defined here
/usr/src/usr.bin/kdump/../../sys/compat/svr4/svr4_syscalls.c:11: \
warning: initializer-string for array of chars is too long
In file included from /usr/src/usr.bin/kdump/setemul.c:120:
/usr/src/usr.bin/kdump/../../sys/compat/svr4_32/svr4_32_syscalls.c:11: \
redefinition of `rcsid0'
/usr/src/usr.bin/kdump/../../sys/compat/svr4/svr4_syscalls.c:11: \
`rcsid0' previously defined here
/usr/src/usr.bin/kdump/../../sys/compat/svr4_32/svr4_32_syscalls.c:11: \
warning: initializer-string for array of chars is too long
In file included from /usr/src/usr.bin/kdump/setemul.c:121:
/usr/src/usr.bin/kdump/../../sys/compat/ultrix/ultrix_syscalls.c:11: \
redefinition of `rcsid0'
/usr/src/usr.bin/kdump/../../sys/compat/svr4_32/svr4_32_syscalls.c:11: \
`rcsid0' previously defined here
/usr/src/usr.bin/kdump/../../sys/compat/ultrix/ultrix_syscalls.c:11: \
warning: initializer-string for array of chars is too long
In file included from /usr/src/usr.bin/kdump/setemul.c:123:
/usr/src/usr.bin/kdump/../../sys/compat/hpux/hpux_errno.c:46: \
redefinition of `rcsid0'
/usr/src/usr.bin/kdump/../../sys/compat/ultrix/ultrix_syscalls.c:11: \
`rcsid0' previously defined here
In file included from /usr/src/usr.bin/kdump/setemul.c:124:
/usr/src/usr.bin/kdump/../../sys/compat/svr4/svr4_errno.c:44: \
redefinition of `rcsid0'
/usr/src/usr.bin/kdump/../../sys/compat/hpux/hpux_errno.c:46: \
`rcsid0' previously defined here
In file included from /usr/src/usr.bin/kdump/setemul.c:125:
/usr/src/usr.bin/kdump/../../sys/compat/ibcs2/ibcs2_errno.c:35: \
redefinition of `rcsid0'
/usr/src/usr.bin/kdump/../../sys/compat/svr4/svr4_errno.c:44: \
`rcsid0' previously defined here
In file included from /usr/src/usr.bin/kdump/setemul.c:129:
/usr/src/usr.bin/kdump/../../sys/compat/linux/common/linux_errno.c:40: \
redefinition of `rcsid0'
/usr/src/usr.bin/kdump/../../sys/compat/ibcs2/ibcs2_errno.c:35: \
`rcsid0' previously defined here
/usr/src/usr.bin/kdump/../../sys/compat/linux/common/linux_errno.c:40: \
warning: initializer-string for array of chars is too long
*** Error code 1

Stop.
make: stopped in /usr/src/usr.bin/kdump

>Fix:
Disable __KERNEL_RCSID() even if _KERNEL is not defined?

Index: cdefs_aout.h
===================================================================
RCS file: /cvsroot/syssrc/sys/sys/cdefs_aout.h,v
retrieving revision 1.6
diff -u -r1.6 cdefs_aout.h
--- cdefs_aout.h	2001/11/13 19:52:39	1.6
+++ cdefs_aout.h	2001/12/04 15:50:13
@@ -53,7 +53,7 @@
 #define __SCCSID2(_s)
 #define __COPYRIGHT(_s)	__IDSTRING(copyright,_s)
 
-#if defined(USE_KERNEL_RCSIDS) || !defined(_KERNEL)
+#if defined(USE_KERNEL_RCSIDS)
 #define	__KERNEL_RCSID(_n, _s) __IDSTRING(__CONCAT(rcsid,_n),_s)
 #else
 #define	__KERNEL_RCSID(_n, _s)
>Release-Note:
>Audit-Trail:
>Unformatted: