From owner-svn-src-head@freebsd.org Sun Nov 20 02:48:37 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C69C6C471DF for ; Sun, 20 Nov 2016 02:48:37 +0000 (UTC) (envelope-from markmi@dsl-only.net) Received: from asp.reflexion.net (outbound-mail-210-36.reflexion.net [208.70.210.36]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 755E21E20 for ; Sun, 20 Nov 2016 02:48:37 +0000 (UTC) (envelope-from markmi@dsl-only.net) Received: (qmail 14656 invoked from network); 20 Nov 2016 02:48:21 -0000 Received: from unknown (HELO mail-cs-01.app.dca.reflexion.local) (10.81.19.1) by 0 (rfx-qmail) with SMTP; 20 Nov 2016 02:48:21 -0000 Received: by mail-cs-01.app.dca.reflexion.local (Reflexion email security v8.20.0) with SMTP; Sat, 19 Nov 2016 21:48:46 -0500 (EST) Received: (qmail 18135 invoked from network); 20 Nov 2016 02:48:45 -0000 Received: from unknown (HELO iron2.pdx.net) (69.64.224.71) by 0 (rfx-qmail) with (AES256-SHA encrypted) SMTP; 20 Nov 2016 02:48:45 -0000 Received: from [192.168.1.106] (c-76-115-7-162.hsd1.or.comcast.net [76.115.7.162]) by iron2.pdx.net (Postfix) with ESMTPSA id 2760DEC903D; Sat, 19 Nov 2016 18:48:35 -0800 (PST) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 10.1 \(3251\)) Subject: Re: svn commit: r308817 - head/sys/powerpc/include [Still have pmap_t and struct pmap ppowerpc64 problems as of -r308860] From: Mark Millard In-Reply-To: <20161119203128.2ac46708@zhabar.knownspace> Date: Sat, 19 Nov 2016 18:48:34 -0800 Cc: svn-src-head@freebsd.org, FreeBSD Current Content-Transfer-Encoding: 7bit Message-Id: References: <39962D4C-29BA-4AA4-B77D-2344A68FDB54@dsl-only.net> <20161119203128.2ac46708@zhabar.knownspace> To: Justin Hibbits , Alan Cox X-Mailer: Apple Mail (2.3251) X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 20 Nov 2016 02:48:37 -0000 On 2016-Nov-19, at 6:31 PM, Justin Hibbits wrote: > On Sat, 19 Nov 2016 18:19:37 -0800 > Mark Millard wrote: > >>> Author: jhibbits >>> Date: Fri Nov 18 22:59:33 2016 >>> New Revision: 308817 >>> URL: https://svnweb.freebsd.org/changeset/base/308817 >>> >>> Log: >>> Fix buildworld >>> >>> Change the pv_tracked flag to an int, just in case userspace >>> decides to include this file and defines BOOKE. >>> >>> Guard this block from unintentional inclusion with ifdef BOOKE. >>> >>> Reported by: emaste >> . . . >> >> (Later quotes are not from the list or from E-mail but from files.) >> >> I'm not targeting BOOKE but GENERIC64 (via include, with AIM but not >> ps3). I'm at head -r308860 yet for TARGET_ARCH=powerpc64 I get the >> following that did not happen with my older -r308247 builds: >> >>> --- kinfo_getallproc.o --- >> . . . >>> In file included from /usr/src/sys/sys/user.h:53:0, >>> from q:34: >>> /usr/src/sys/vm/vm_map.h:190:2: error: unknown type name 'pmap_t' >>> pmap_t pmap; /* (c) Physical map */ >>> ^ >>> /usr/src/sys/vm/vm_map.h:250:14: error: field 'vm_pmap' has >>> incomplete type struct pmap vm_pmap; /* private physical map */ >>> ^ >>> --- kinfo_getfile.o --- >>> In file included from /usr/src/sys/sys/user.h:53:0, >>> from /usr/src/lib/libutil/kinfo_getfile.c:5: >>> /usr/src/sys/vm/vm_map.h:190:2: error: unknown type name 'pmap_t' >>> pmap_t pmap; /* (c) Physical map */ >>> ^ >>> /usr/src/sys/vm/vm_map.h:250:14: error: field 'vm_pmap' has >>> incomplete type struct pmap vm_pmap; /* private physical map */ >> >> >> It is almost like a machine/pmap.h include is missing now so that the >> types are not defined. But I've not yet found where the relevant >> difference(s) are from -r308247. >> >> Showing a compile command (with -v) with its failure. . . >> > > The change is the "#elif defined(BOOKE)". Since userspace doesn't > define either AIM nor BOOKE, struct pmap no longer exists. > > Alan, do you know if vmspace *needs* struct pmap to exist when read > from userspace (in libprocstat and libkvm, from what I grepped)? If > not, I can add a simple '#else struct pmap {};' to quiet the build. > > - Justin pmap_t (the pointer type) would also be needed. So far as I can tell when . . . . . . #if defined(AIM) . . . (definitions here) #elif defined(BOOKE) . . . (definitions here) #endif . . . was instead the older: . . . #if defined(AIM) . . . (definitions here) #else . . . (definitions here) #endif . . . kinfo_getallproc.c and kinfo_getfile.c and the like got a pmap definition, just not necessarily the right one (when AIM was defined for build kernel). In my context AIM is defined for buildkernel (PowerMac G5 via GENERIC64 use, although I turn off ps3 and have both vt and sc). (I've still not tracked down where kinfo_getallproc.c and kinfo_getfile.c end up with a machine/pmap.h include happening.)