NetBSD Problem Report #52206

From www@NetBSD.org  Mon May  1 06:15:57 2017
Return-Path: <www@NetBSD.org>
Received: from mail.netbsd.org (mail.netbsd.org [199.233.217.200])
	(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
	(Client CN "mail.netbsd.org", Issuer "Postmaster NetBSD.org" (verified OK))
	by mollari.NetBSD.org (Postfix) with ESMTPS id BFD797A272
	for <gnats-bugs@gnats.NetBSD.org>; Mon,  1 May 2017 06:15:57 +0000 (UTC)
Message-Id: <20170501061556.9A1F47A2A6@mollari.NetBSD.org>
Date: Mon,  1 May 2017 06:15:56 +0000 (UTC)
From: venture37@geeklan.co.uk
Reply-To: venture37@geeklan.co.uk
To: gnats-bugs@NetBSD.org
Subject: conflicting types for register_t between system headers & rump
X-Send-Pr-Version: www-1.0

>Number:         52206
>Category:       kern
>Synopsis:       conflicting types for register_t between system headers & rump
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    kern-bug-people
>State:          closed
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon May 01 06:20:00 +0000 2017
>Closed-Date:    Wed May 10 01:18:21 +0000 2017
>Last-Modified:  Thu May 11 04:35:00 +0000 2017
>Originator:     Sevan Janiyan
>Release:        NetBSD-head
>Organization:
>Environment:
NetBSD 7.99.70 (GENERIC) #0: Sat Apr 22 21:50:49 UTC 2017  mkrepro@mkrepro.NetBSD.org:/usr/src/sys/arch/i386/compile/GENERIC i386
>Description:
Running ./buildrump.sh -s /usr/src build to build a rump kernel using the latest src obtained from anoncvs fails with 

--- rumpuser_dl.pico ---
#   compile  librumpuser/rumpuser_dl.pico
/home/sme/rumprun/buildrump.sh/obj/tooldir/bin/i486--netbsdelf-gcc -O2 -g    -std=gnu99    -Wall -Wstrict-proto
types -Wmissing-prototypes -Wpointer-arith -Wno-sign-compare  -Wsystem-headers   -Wno-traditional   -Wa,--fatal-w
arnings  -Wreturn-type -Wswitch -Wshadow -Wcast-qual -Wwrite-strings -Wextra -Wno-unused-parameter -Wno-sign-comp
are -Wold-style-definition -Wsign-compare -Wformat=2  -Wno-format-zero-length  -Werror -Wno-format     -DRUMPUSER
_CONFIG=yes -I/home/sme/rumprun/buildrump.sh/obj/tooldir/autoconf -I/home/sme/rumprun/buildrump.sh/obj/tooldi
r/compat/include -I/home/sme/rumprun/buildrump.sh/obj/dest.stage/usr/include  -DLIBRUMPUSER -D_KERNTYPES -D_REE
NTRANT  -c    -fPIC -g /usr/src/lib/librumpuser/rumpuser_dl.c -o rumpuser_dl.pico
In file included from /usr/src/lib/librumpuser/rumpuser_dl.c:40:0:
/usr/src/lib/librumpuser/rumpuser_port.h:303:25: error: conflicting types for 'register_t'
 typedef RUMP_REGISTER_T register_t;
                         ^
In file included from /usr/include/sys/types.h:45:0,
                 from /usr/include/sys/param.h:105,
                 from /usr/src/lib/librumpuser/rumpuser_port.h:87,
                 from /usr/src/lib/librumpuser/rumpuser_dl.c:40:
/usr/include/i386/types.h:93:22: note: previous declaration of 'register_t' was here
 typedef __register_t register_t;
                      ^
*** [rumpuser_dl.pico] Error code 1

nbmake[2]: stopped in /usr/src/lib/librumpuser
--- rumpuser_daemonize.pico ---
 typedef RUMP_REGISTER_T register_t;
                         ^
In file included from /usr/include/sys/types.h:45:0,
                 from /usr/include/sys/param.h:105,
                 from /usr/src/lib/librumpuser/rumpuser_port.h:87,
                 from /usr/src/lib/librumpuser/rumpuser_daemonize.c:28:
/usr/include/i386/types.h:93:22: note: previous declaration of 'register_t' was here
 typedef __register_t register_t;
                      ^
*** [rumpuser_daemonize.pico] Error code 1

nbmake[2]: stopped in /usr/src/lib/librumpuser
--- rumpuser.pico ---
In file included from /usr/src/lib/librumpuser/rumpuser.c:28:0:
/usr/src/lib/librumpuser/rumpuser_port.h:303:25: error: conflicting types for 'register_t'
 typedef RUMP_REGISTER_T register_t;
                         ^
In file included from /usr/include/sys/types.h:45:0,
                 from /usr/include/sys/param.h:105,
                 from /usr/src/lib/librumpuser/rumpuser_port.h:87,
                 from /usr/src/lib/librumpuser/rumpuser.c:28:
/usr/include/i386/types.h:93:22: note: previous declaration of 'register_t' was here
 typedef __register_t register_t;
                      ^
*** [rumpuser.pico] Error code 1

typedef __register_t register_t; appeared in r1.86 of src/sys/arch/i386/include/types.h 

http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/arch/i386/include/types.h?rev=1.86&content-type=text/x-cvsweb-markup&only_with_tag=MAIN


Commenting out this lines allows the build to complete successfully.
>How-To-Repeat:
1) Clone buildrump repo
2) checkout src from anoncvs
3) run ./buildrump.sh -s /usr/src build
>Fix:

>Release-Note:

>Audit-Trail:
From: Sevan Janiyan <venture37@geeklan.co.uk>
To: gnats-bugs@NetBSD.org
Cc: 
Subject: Re: kern/52206: conflicting types for register_t between system
 headers & rump
Date: Fri, 5 May 2017 17:24:05 +0100

 To buildrump repo is https://github.com/rumpkernel/buildrump.sh

 Sevan

From: "Sevan Janiyan" <sevan@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/52206 CVS commit: src
Date: Wed, 10 May 2017 01:11:52 +0000

 Module Name:	src
 Committed By:	sevan
 Date:		Wed May 10 01:11:52 UTC 2017

 Modified Files:
 	src/lib/librumpclient: Makefile
 	src/lib/librumphijack: Makefile
 	src/lib/librumpuser: Makefile
 	src/usr.bin/rump_allserver: Makefile
 	src/usr.bin/rump_server: Makefile

 Log Message:
 Do not define _KERNTYPES as this breaks build with buildrump.sh due to
 conflicting types for register_t.
 Closes PR kern/52206
 Steered in the right direction by christos.


 To generate a diff of this commit:
 cvs rdiff -u -r1.11 -r1.12 src/lib/librumpclient/Makefile
 cvs rdiff -u -r1.17 -r1.18 src/lib/librumphijack/Makefile
 cvs rdiff -u -r1.24 -r1.25 src/lib/librumpuser/Makefile
 cvs rdiff -u -r1.8 -r1.9 src/usr.bin/rump_allserver/Makefile
 cvs rdiff -u -r1.9 -r1.10 src/usr.bin/rump_server/Makefile

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

State-Changed-From-To: open->closed
State-Changed-By: sevan@NetBSD.org
State-Changed-When: Wed, 10 May 2017 01:18:21 +0000
State-Changed-Why:
fixed.


From: "Sevan Janiyan" <sevan@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/52206 CVS commit: src
Date: Thu, 11 May 2017 04:33:14 +0000

 Module Name:	src
 Committed By:	sevan
 Date:		Thu May 11 04:33:14 UTC 2017

 Modified Files:
 	src/lib/librumpclient: Makefile
 	src/lib/librumphijack: Makefile
 	src/lib/librumpuser: Makefile
 	src/usr.bin/rump_allserver: Makefile
 	src/usr.bin/rump_server: Makefile

 Log Message:
 With the removal of HAVE_REGISTER_T from rumpuser_port.h, _KERNTYPES does not
 need to be defined. This allows register_t to be typedef'd to RUMP_REGISTER_T
 without conflict, as highlighted in PR kern/52206.


 To generate a diff of this commit:
 cvs rdiff -u -r1.13 -r1.14 src/lib/librumpclient/Makefile
 cvs rdiff -u -r1.19 -r1.20 src/lib/librumphijack/Makefile
 cvs rdiff -u -r1.26 -r1.27 src/lib/librumpuser/Makefile
 cvs rdiff -u -r1.10 -r1.11 src/usr.bin/rump_allserver/Makefile
 cvs rdiff -u -r1.11 -r1.12 src/usr.bin/rump_server/Makefile

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

>Unformatted:

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.43 2018/01/16 07:36:43 maya Exp $
$NetBSD: gnats_config.sh,v 1.9 2014/08/02 14:16:04 spz Exp $
Copyright © 1994-2017 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.