From owner-freebsd-arm@FreeBSD.ORG Mon Apr 15 10:09:30 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 5E2DC78E for ; Mon, 15 Apr 2013 10:09:30 +0000 (UTC) (envelope-from alie@affle.com) Received: from mail-qe0-f53.google.com (mail-qe0-f53.google.com [209.85.128.53]) by mx1.freebsd.org (Postfix) with ESMTP id 20229BC for ; Mon, 15 Apr 2013 10:09:29 +0000 (UTC) Received: by mail-qe0-f53.google.com with SMTP id q19so2555142qeb.40 for ; Mon, 15 Apr 2013 03:09:22 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:x-received:in-reply-to:references:date:message-id :subject:from:to:cc:content-type:x-gm-message-state; bh=b8W55YEZ40RkY94WvkQIFjCz1NkWG3eRssNYv4l7uUg=; b=K9QBfyRpfdU6HgOo6VfmhENuEfUoYkMG03VeYzba0ZwIOkoY9/YC64lM7raniUL9v4 w/+oOqnqN8SNhwSWB/v94OzBfKp/X8/sQbA7Zl8mk3XYI+3jPKS7ed/kVhC/j6rvoq+S uAqvgLjNfuriVpC42MnVDUc8uLH2zUI8OOk+p08nx0Awd9Pcxs/uzFcXB6rQ12vpzMol MyR3A/wh1WKJGaPDf6rGPubXp8cxX+4kz2Ed7cRw7QIT4jSM2uhnodt6CitWzeR744Bs 8kUO/QponmKXLdefrSyw+K5a++EMzHLTrl2hzjI5LE0gk+Rnw4mJVZoUdwo9iFNyn1Pr pcxA== MIME-Version: 1.0 X-Received: by 10.224.178.148 with SMTP id bm20mr21823436qab.30.1366020562717; Mon, 15 Apr 2013 03:09:22 -0700 (PDT) Received: by 10.49.82.75 with HTTP; Mon, 15 Apr 2013 03:09:22 -0700 (PDT) In-Reply-To: <51687F65.4020703@bluezbox.com> References: <51438529.4080604@bluezbox.com> <4FD89AF1-AF9D-4950-8AA4-9CC95FE66D46@kientzle.com> <456661659-1363845801-cardhu_decombobulator_blackberry.rim.net-733146442-@b26.c6.bise3.blackberry> <51687F65.4020703@bluezbox.com> Date: Mon, 15 Apr 2013 18:09:22 +0800 Message-ID: Subject: Re: Unable to compile VCHIQ From: Alie Tan To: Oleksandr Tymoshenko X-Gm-Message-State: ALoCoQmN/PPh+AKu8GOWIO8/i1adQKk3CdpbVGdkYXytKJu+JEaeBF4QgbMJQz7jBgICEwAI/pgj Content-Type: text/plain; charset=ISO-8859-1 X-Content-Filtered-By: Mailman/MimeDel 2.1.14 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: Mon, 15 Apr 2013 10:09:30 -0000 On Sat, Apr 13, 2013 at 5:40 AM, Oleksandr Tymoshenko wrote: > On 4/12/2013 12:09 AM, Alie Tan wrote: > >> On Mon, Mar 25, 2013 at 6:19 AM, Tim Kientzle > tim@kientzle.com>> 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 > Thanks, but now I am getting another error CMake Error at /usr/local/share/cmake/Modules/CMakeTestCCompiler.cmake:52 (MESSAGE): The C compiler "/usr/bin/gcc" is not able to compile a simple test program. It fails with the following output: Change Dir: /usr/src/vc/userland/build/arm-freebsd/release/CMakeFiles/CMakeTmp Run Build Command:/usr/bin/make "cmTryCompileExec2325164285/fast" /usr/bin/make -f CMakeFiles/cmTryCompileExec2325164285.dir/build.make CMakeFiles/cmTryCompileExec2325164285.dir/build /usr/local/bin/cmake -E cmake_progress_report /usr/src/vc/userland/build/arm-freebsd/release/CMakeFiles/CMakeTmp/CMakeFiles 1 Building C object CMakeFiles/cmTryCompileExec2325164285.dir/testCCompiler.c.o /usr/bin/gcc -mcpu=arm1176jzf-s -mfpu=vfp -o CMakeFiles/cmTryCompileExec2325164285.dir/testCCompiler.c.o -c /usr/src/vc/userland/build/arm-freebsd/release/CMakeFiles/CMakeTmp/testCCompiler.c `-mcpu=' is deprecated. Use `-mtune=' or '-march=' instead. cc1: error: unrecognized command line option "-mfpu=vfp" /usr/src/vc/userland/build/arm-freebsd/release/CMakeFiles/CMakeTmp/testCCompiler.c:1: error: bad value (arm1176jzf-s) for -mtune= switch *** [CMakeFiles/cmTryCompileExec2325164285.dir/testCCompiler.c.o] Error code 1 Stop in /usr/src/vc/userland/build/arm-freebsd/release/CMakeFiles/CMakeTmp. *** [cmTryCompileExec2325164285/fast] Error code 1 Stop in /usr/src/vc/userland/build/arm-freebsd/release/CMakeFiles/CMakeTmp. CMake will not be able to correctly generate this project. Call Stack (most recent call first): CMakeLists.txt:3 (project) -- Configuring incomplete, errors occurred!