From owner-freebsd-arm@FreeBSD.ORG Fri Apr 12 21:42:51 2013 Return-Path: Delivered-To: freebsd-arm@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 945209B9 for ; Fri, 12 Apr 2013 21:42:51 +0000 (UTC) (envelope-from gonzo@id.bluezbox.com) Received: from id.bluezbox.com (id.bluezbox.com [88.198.91.248]) by mx1.freebsd.org (Postfix) with ESMTP id 1F8FA1EB5 for ; Fri, 12 Apr 2013 21:42:50 +0000 (UTC) Received: from [88.198.91.248] (helo=[IPv6:::1]) by id.bluezbox.com with esmtpsa (TLSv1:CAMELLIA256-SHA:256) (Exim 4.77 (FreeBSD)) (envelope-from ) id 1UQlk0-0000ii-5P; Fri, 12 Apr 2013 14:42:42 -0700 Message-ID: <51687F65.4020703@bluezbox.com> Date: Fri, 12 Apr 2013 14:40:53 -0700 From: Oleksandr Tymoshenko User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20130328 Thunderbird/17.0.5 MIME-Version: 1.0 To: Alie Tan Subject: Re: Unable to compile VCHIQ References: <51438529.4080604@bluezbox.com> <4FD89AF1-AF9D-4950-8AA4-9CC95FE66D46@kientzle.com> <456661659-1363845801-cardhu_decombobulator_blackberry.rim.net-733146442-@b26.c6.bise3.blackberry> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Sender: gonzo@id.bluezbox.com X-Spam-Level: -- X-Spam-Report: Spam detection software, running on the system "id.bluezbox.com", has identified this incoming email as possible spam. The original message has been attached to this so you can view it (if it isn't spam) or label similar future email. If you have any questions, see The administrator of that system for details. Content preview: On 4/12/2013 12:09 AM, Alie Tan wrote: > On Mon, Mar 25, 2013 at 6:19 AM, Tim Kientzle > wrote: > > > From: Tim Kientzle > > > Sender: owner-freebsd-arm@freebsd.orgDate: Wed, 20 Mar 2013 23:01:26 > > To: Oleksandr Tymoshenko > > > Cc: > > > Subject: Re: Unable to compile VCHIQ > > > > > > On Mar 15, 2013, at 1:31 PM, Oleksandr Tymoshenko wrote: > > > >>> cc -O3 -pipe -DVCOS_VERIFY_BKPTS=1 -DUSE_VCHIQ_ARM > >>> -D__VCCOREVER__=0x04000000 -O3 -fno-strict-aliasing > -funroll-loops -pipe > >>> -ftree-vectorize -D_KERNEL -DKLD_MODULE -nostdinc > >>> -I/usr/src/vc/vchiq-freebsd/interface -I. -I@ -I@/contrib/altq > >>> -finline-limit=8000 --param inline-unit-growth=100 --param > >>> large-function-growth=1000 -fno-common -ffreestanding > -std=iso9899:1999 > >>> -c /usr/src/vc/vchiq-freebsd/interface/vchiq_arm/vchiq_2835_arm.c > >>> In file included from > >>> /usr/src/vc/vchiq-freebsd/interface/vchiq_arm/vchiq_2835_arm.c:65: > >>> @/vm/vm_pager.h: In function 'vm_pager_get_pages': > >>> @/vm/vm_pager.h:127: warning: implicit declaration of function > 'rw_assert' > >>> @/vm/vm_pager.h:127: error: 'RA_WLOCKED' undeclared (first use > in this > >>> function) > >>> @/vm/vm_pager.h:127: error: (Each undeclared identifier is > reported only > >>> once > >>> @/vm/vm_pager.h:127: error: for each function it appears in.) > >>> @/vm/vm_pager.h: In function 'vm_pager_put_pages': > >>> @/vm/vm_pager.h:144: error: 'RA_WLOCKED' undeclared (first use > in this > >>> function) > >>> @/vm/vm_pager.h: In function 'vm_pager_has_page': > >>> @/vm/vm_pager.h:168: error: 'RA_WLOCKED' undeclared (first use > in this > >>> function) > >>> @/vm/vm_pager.h: In function 'vm_pager_page_unswapped': > >>> @/vm/vm_pager.h:191: error: 'RA_WLOCKED' undeclared (first use > in this > >>> function) > >>> *** [vchiq_2835_arm.o] Error code 1 > >>> > >>> Stop in [...] Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] Cc: Tim Kientzle , "freebsd-arm@freebsd.org" X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Porting FreeBSD to the StrongARM Processor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 12 Apr 2013 21:42:51 -0000 On 4/12/2013 12:09 AM, Alie Tan wrote: > On Mon, Mar 25, 2013 at 6:19 AM, Tim Kientzle > wrote: > > > From: Tim Kientzle > > > Sender: owner-freebsd-arm@freebsd.orgDate: Wed, 20 Mar 2013 23:01:26 > > To: Oleksandr Tymoshenko > > > Cc: > > > Subject: Re: Unable to compile VCHIQ > > > > > > On Mar 15, 2013, at 1:31 PM, Oleksandr Tymoshenko wrote: > > > >>> cc -O3 -pipe -DVCOS_VERIFY_BKPTS=1 -DUSE_VCHIQ_ARM > >>> -D__VCCOREVER__=0x04000000 -O3 -fno-strict-aliasing > -funroll-loops -pipe > >>> -ftree-vectorize -D_KERNEL -DKLD_MODULE -nostdinc > >>> -I/usr/src/vc/vchiq-freebsd/interface -I. -I@ -I@/contrib/altq > >>> -finline-limit=8000 --param inline-unit-growth=100 --param > >>> large-function-growth=1000 -fno-common -ffreestanding > -std=iso9899:1999 > >>> -c /usr/src/vc/vchiq-freebsd/interface/vchiq_arm/vchiq_2835_arm.c > >>> In file included from > >>> /usr/src/vc/vchiq-freebsd/interface/vchiq_arm/vchiq_2835_arm.c:65: > >>> @/vm/vm_pager.h: In function 'vm_pager_get_pages': > >>> @/vm/vm_pager.h:127: warning: implicit declaration of function > 'rw_assert' > >>> @/vm/vm_pager.h:127: error: 'RA_WLOCKED' undeclared (first use > in this > >>> function) > >>> @/vm/vm_pager.h:127: error: (Each undeclared identifier is > reported only > >>> once > >>> @/vm/vm_pager.h:127: error: for each function it appears in.) > >>> @/vm/vm_pager.h: In function 'vm_pager_put_pages': > >>> @/vm/vm_pager.h:144: error: 'RA_WLOCKED' undeclared (first use > in this > >>> function) > >>> @/vm/vm_pager.h: In function 'vm_pager_has_page': > >>> @/vm/vm_pager.h:168: error: 'RA_WLOCKED' undeclared (first use > in this > >>> function) > >>> @/vm/vm_pager.h: In function 'vm_pager_page_unswapped': > >>> @/vm/vm_pager.h:191: error: 'RA_WLOCKED' undeclared (first use > in this > >>> function) > >>> *** [vchiq_2835_arm.o] Error code 1 > >>> > >>> Stop in /usr/src/vc/vchiq-freebsd. > >>> > >>> > >>> Anyone got idea how to solve the issue? > >>> > >> > >> It seems you're trying to build vchiq against your host sources > which is wrong. You need > >> to use cross-compilation environment for this. > > > > I'm seeing this now, too, and I've checked carefully: I'm > > definitely building inside the "buildworld" cross environment. > > > > It looks like RA_WLOCKED is only defined if INVARIANTS is > > active (sys/sys/rwlock.h). > > The attached patch to vchiq fixes it for me. > > Cheers, > > Tim > > > i am getting different error now: > In file included from > /usr/src/vc/vchiq-freebsd/interface/vchiq_arm/vchiq_core.c:34: > In file included from > /usr/src/vc/vchiq-freebsd/interface/vchiq_arm/vchiq_core.h:44: > ./interface/compat/vchi_bsd.h:97:33: error: passing 'atomic_t *' (aka > 'volatile int *') to parameter of type 'volatile uint32_t *' > (aka 'volatile unsigned int *') converts between pointers to > integer types with different sign [-Werror,-Wpointer-sign] > return i + atomic_fetchadd_int(v, i); > ^ > ./machine/atomic.h:333:39: note: passing argument to parameter 'p' here > atomic_fetchadd_32(volatile uint32_t *p, uint32_t val) > ^ > In file included from > /usr/src/vc/vchiq-freebsd/interface/vchiq_arm/vchiq_core.c:34: > In file included from > /usr/src/vc/vchiq-freebsd/interface/vchiq_arm/vchiq_core.h:44: > ./interface/compat/vchi_bsd.h:103:29: error: passing 'atomic_t *' (aka > 'volatile int *') to parameter of type 'volatile uint32_t *' > (aka 'volatile unsigned int *') converts between pointers to > integer types with different sign [-Werror,-Wpointer-sign] > return atomic_fetchadd_int(v, -i) - i; > ^ > ./machine/atomic.h:333:39: note: passing argument to parameter 'p' here > atomic_fetchadd_32(volatile uint32_t *p, uint32_t val) > ^ > In file included from > /usr/src/vc/vchiq-freebsd/interface/vchiq_arm/vchiq_core.c:34: > In file included from > /usr/src/vc/vchiq-freebsd/interface/vchiq_arm/vchiq_core.h:44: > ./interface/compat/vchi_bsd.h:109:28: error: passing 'atomic_t *' (aka > 'volatile int *') to parameter of type 'volatile u_int32_t *' > (aka 'volatile unsigned int *') converts between pointers to > integer types with different sign [-Werror,-Wpointer-sign] > if (atomic_cmpset_rel_int(v, oldv, newv)) > ^ > ./machine/atomic.h:248:42: note: passing argument to parameter 'p' here > atomic_cmpset_rel_32(volatile u_int32_t *p, volatile u_int32_t cmpval, > volatile u_int32_t newval) > ^ > In file included from > /usr/src/vc/vchiq-freebsd/interface/vchiq_arm/vchiq_core.c:34: > In file included from > /usr/src/vc/vchiq-freebsd/interface/vchiq_arm/vchiq_core.h:44: > ./interface/compat/vchi_bsd.h:120:34: error: passing 'atomic_t *' (aka > 'volatile int *') to parameter of type 'volatile u_int32_t *' > (aka 'volatile unsigned int *') converts between pointers to > integer types with different sign [-Werror,-Wpointer-sign] > return atomic_readandclear_int(v); > ^ > ./machine/atomic.h:348:44: note: passing argument to parameter 'p' here > atomic_readandclear_32(volatile u_int32_t *p) > ^ > In file included from > /usr/src/vc/vchiq-freebsd/interface/vchiq_arm/vchiq_core.c:34: > In file included from > /usr/src/vc/vchiq-freebsd/interface/vchiq_arm/vchiq_core.h:44: > ./interface/compat/vchi_bsd.h:123:31: error: passing 'atomic_t *' (aka > 'volatile int *') to parameter of type 'volatile uint32_t *' > (aka 'volatile unsigned int *') converts between pointers to > integer types with different sign [-Werror,-Wpointer-sign] > oldv = atomic_load_acq_int(v); > ^ > ./machine/atomic.h:363:39: note: passing argument to parameter 'p' here > atomic_load_acq_32(volatile uint32_t *p) > ^ > In file included from > /usr/src/vc/vchiq-freebsd/interface/vchiq_arm/vchiq_core.c:34: > In file included from > /usr/src/vc/vchiq-freebsd/interface/vchiq_arm/vchiq_core.h:44: > ./interface/compat/vchi_bsd.h:124:35: error: passing 'atomic_t *' (aka > 'volatile int *') to parameter of type 'volatile u_int32_t *' > (aka 'volatile unsigned int *') converts between pointers to > integer types with different sign [-Werror,-Wpointer-sign] > } while (!atomic_cmpset_rel_int(v, oldv, newv)); > ^ > ./machine/atomic.h:248:42: note: passing argument to parameter 'p' here > atomic_cmpset_rel_32(volatile u_int32_t *p, volatile u_int32_t cmpval, > volatile u_int32_t newval) > ^ > 6 errors generated. > *** [vchiq_core.o] Error code 1 > > Stop in /usr/src/vc/vchiq-freebsd. Tim also submitted additional patches via pull requests. Took me some time to get around to merge them but now vchiq-freebsd code should be compilable with clang