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:
(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.