Hi Eric, Seeing similar ICEs with GCC 5.3.1. Can you try GCC 5.4.0+? That might require a newer Ubuntu filesystem than the one described on the MACCHIATObin wiki. I will be setting up a MACCHIATObin shortly.
Brian On 08/26 02:59:33, Eric Chen wrote: > HI Brian, > > Yes, I upgrading to Ubuntu 16.04, > > Succedd to Nativly build fd.io_odp4vpp (w / odp-linux), > However when buidl fd.io_vpp (w/ dpdk), it reported below error, > > Anyone met before? Seem a bug of gcc. > > In file included from > /home/ericxh/work/git_work/fd.io_vpp/build-data/../src/vlib/error_funcs.h:43:0, > from > /home/ericxh/work/git_work/fd.io_vpp/build-data/../src/vlib/vlib.h:70, > from > /home/ericxh/work/git_work/fd.io_vpp/build-data/../src/vnet/l2/l2_fib.c:19: > /home/ericxh/work/git_work/fd.io_vpp/build-data/../src/vlib/node_funcs.h: In > function ‘vlib_process_suspend_time_is_zero’: > /home/ericxh/work/git_work/fd.io_vpp/build-data/../src/vlib/node_funcs.h:442:1: > error: unable to generate reloads for: > } > ^ > (insn 11 37 12 2 (set (reg:CCFPE 66 cc) > (compare:CCFPE (reg:DF 79) > (reg:DF 80))) > /home/ericxh/work/git_work/fd.io_vpp/build-data/../src/vlib/node_funcs.h:441 > 395 {*cmpedf} > (expr_list:REG_DEAD (reg:DF 80) > (expr_list:REG_DEAD (reg:DF 79) > (nil)))) > /home/ericxh/work/git_work/fd.io_vpp/build-data/../src/vlib/node_funcs.h:442:1: > internal compiler error: in curr_insn_transform, at lra-constraints.c:3509 > Please submit a full bug report, > with preprocessed source if appropriate. > See <file:///usr/share/doc/gcc-5/README.Bugs> for instructions. > Makefile:6111: recipe for target 'vnet/l2/l2_fib.lo' failed > make[4]: *** [vnet/l2/l2_fib.lo] Error 1 > make[4]: *** Waiting for unfinished jobs.... > > > > ericxh@linaro-developer:~/work/git_work/fd.io_vpp$ gcc -v > Using built-in specs. > COLLECT_GCC=gcc > COLLECT_LTO_WRAPPER=/usr/lib/gcc/aarch64-linux-gnu/5/lto-wrapper > Target: aarch64-linux-gnu > Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro > 5.3.1-14ubuntu2' --with-bugurl=file:///usr/share/doc/gcc-5/README.Bugs > --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr > --program-suffix=-5 --enable-shared --enable-linker-build-id > --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix > --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu > --enable-libstdcxx-debug --enable-libstdcxx-time=yes > --with-default-libstdcxx-abi=new --enable-gnu-unique-object > --disable-libquadmath --enable-plugin --with-system-zlib > --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo > --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-5-arm64/jre --enable-java-home > --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-5-arm64 > --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-5-arm64 > --with-arch-directory=aarch64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar > --enable-multiarch --enable-fix-cortex-a53-843419 --disable-werror > --enable-checking=release --build=aarch64-linux-gnu --host=aarch64-linux-gnu > --target=aarch64-linux-gnu > Thread model: posix > gcc version 5.3.1 20160413 (Ubuntu/Linaro 5.3.1-14ubuntu2) > > > -----Original Message----- > From: Brian Brooks [mailto:brian.bro...@arm.com] > Sent: 2017年8月26日 2:00 > To: Eric Chen <eri...@marvell.com> > Cc: George Zhao <george.y.z...@huawei.com>; discuss <disc...@lists.fd.io>; > csit-dev <csit-...@lists.fd.io>; Damjan Marion (damarion) > <damar...@cisco.com>; vpp-dev <vpp-dev@lists.fd.io> > Subject: Re: [EXT] Re: [vpp-dev] [discuss] Question about VPP support for ARM > 64 > > Hi Eric, > > On 08/23 06:23:07, Eric Chen wrote: > > Hi Brian, > > > > I am trying to natively build vpp in aarch64 box as well, > > > > However when I "make install-dep", it report error -- "unable to > > locate package default-jdk-headless", > > > > If you are using Ubuntu as well, could you share with me your apt-get > > source list? > > Are you natively building on a MACCHIATObin with the Ubuntu filesystem? > > > Thanks > > Eric > > > > -----Original Message----- > > From: vpp-dev-boun...@lists.fd.io [mailto:vpp-dev-boun...@lists.fd.io] > > On Behalf Of Brian Brooks > > Sent: 2017年8月23日 12:31 > > To: George Zhao <george.y.z...@huawei.com> > > Cc: discuss <disc...@lists.fd.io>; csit-dev <csit-...@lists.fd.io>; > > Damjan Marion (damarion) <damar...@cisco.com>; vpp-dev > > <vpp-dev@lists.fd.io> > > Subject: [EXT] Re: [vpp-dev] [discuss] Question about VPP support for > > ARM 64 > > > > External Email > > > > ---------------------------------------------------------------------- > > Hi Damjan, George, > > > > I just pulled lastest source and tried native build (platforms/vpp.mk) on > > ARMv8: > > > > cat: '/sys/bus/pci/devices/0000:00:01.0/uevent': No such file or > > directory > > > > From dpdk/Makefile, > > > > > > ############################################################################## > > # Intel x86 > > > > ############################################################################## > > ifeq ($(MACHINE),$(filter $(MACHINE),x86_64 i686)) > > DPDK_TARGET ?= $(MACHINE)-native-linuxapp-$(DPDK_CC) > > DPDK_MACHINE ?= nhm > > DPDK_TUNE ?= core-avx2 > > > > ############################################################################## > > # Cavium ThunderX > > > > ############################################################################## > > else ifneq (,$(findstring thunder,$(shell cat > > /sys/bus/pci/devices/0000:00:01.0/uevent | grep cavium))) > > export CROSS="" > > DPDK_TARGET ?= arm64-thunderx-linuxapp-$(DPDK_CC) > > DPDK_MACHINE ?= thunderx > > DPDK_TUNE ?= generic > > > > So, I am thinking we need to modify this to support MACHINE=aarch64 and > > possibly rework thunder detection to not fail hard on non-thunder machines. > > > > Regards, > > Brian > > > > On 08/22 17:55:20, George Zhao wrote: > > > Thanks Demjan, > > > > > > Confirmed that your patches worked on our system as well. > > > > > > George > > > > > > From: Damjan Marion (damarion) [mailto:damar...@cisco.com] > > > Sent: Tuesday, August 22, 2017 5:03 AM > > > To: George Zhao > > > Cc: Dave Barach (dbarach); discuss; csit-dev; vpp-dev > > > Subject: Re: [vpp-dev] [discuss] Question about VPP support for ARM > > > 64 > > > > > > Dear George, > > > > > > I tried on my Cavium ThunderX system with latest Ubuntu and after fixing > > > few minor issues (all patches submitted to master) I got VPP running. > > > I use latest Ubuntu devel (17.10, mainly as I upgraded to new kernel > > > in my attempts to get system working) > > > > > > For me it is hard to help you with your particular system, as I don’t > > > have access to similar one, but my guess is that it shouldn’’t be too > > > hard to get it working. > > > > > > Thanks, > > > > > > Damjan > > > > > > On 20 Aug 2017, at 23:12, George Zhao > > > <george.y.z...@huawei.com<mailto:george.y.z...@huawei.com>> wrote: > > > > > > Hi Damian, > > > > > > IT is Applied Micro overdrive 1000, here are the uname -a output: > > > > > > $>> uname -a > > > Linux OD1K 4.4.0-92-generic #115-Ubuntu SMP Thu Aug 10 09:10:33 UTC > > > 2017 aarch64 aarch64 aarch64 GNU/Linux > > > > > > thanks > > > George > > > 发件人:Damjan Marion (damarion) > > > 收件人:George Zhao > > > 抄送:dbarach,discuss,csit-dev,vpp-dev > > > 时间:2017-08-20 10:03:27 > > > 主题:Re: [vpp-dev] [discuss] Question about VPP support for ARM 64 > > > > > > > > > > > > George, are you using ThunderX platform? > > > > > > I spent few hours today trying to install latest ubuntu on my ThunderX > > > system but no luck, kernel hangs at some point, both ubuntu provided and > > > manually compiled. > > > > > > Can you share about more details about your system? > > > > > > Thanks, > > > > > > Damjan > > > > > > > > > > > > > On 19 Aug 2017, at 22:48, George Zhao > > > > <george.y.z...@huawei.com<mailto:george.y.z...@huawei.com>> wrote: > > > > > > > > If a bug is filed, may I have the bug number, I would be love to trace > > > > this patch. > > > > > > > > BTW, how do I file a bug for VPP, I did a quick wiki search with no > > > > luck. > > > > > > > > Thanks, > > > > George > > > > > > > > -----Original Message----- > > > > From: Dave Barach (dbarach) [mailto:dbar...@cisco.com] > > > > Sent: Saturday, August 19, 2017 7:42 AM > > > > To: George Zhao > > > > <george.y.z...@huawei.com<mailto:george.y.z...@huawei.com>> > > > > Cc: vpp-dev@lists.fd.io<mailto:vpp-dev@lists.fd.io>; > > > > disc...@lists.fd.io<mailto:disc...@lists.fd.io>; > > > > csit-...@lists.fd.io<mailto:csit-...@lists.fd.io>; Damjan Marion > > > > (damarion) <damar...@cisco.com<mailto:damar...@cisco.com>> > > > > Subject: RE: [discuss] Question about VPP support for ARM 64 > > > > > > > > +1, pls add the typedef... > > > > > > > > Thanks… Dave > > > > > > > > -----Original Message----- > > > > From: Damjan Marion (damarion) > > > > Sent: Saturday, August 19, 2017 9:09 AM > > > > To: Dave Barach (dbarach) > > > > <dbar...@cisco.com<mailto:dbar...@cisco.com>> > > > > Cc: George Zhao > > > > <george.y.z...@huawei.com<mailto:george.y.z...@huawei.com>>; > > > > vpp-dev@lists.fd.io<mailto:vpp-dev@lists.fd.io>; > > > > disc...@lists.fd.io<mailto:disc...@lists.fd.io>; > > > > csit-...@lists.fd.io<mailto:csit-...@lists.fd.io> > > > > Subject: Re: [discuss] Question about VPP support for ARM 64 > > > > > > > > > > > > GCC is able to compile ARM64 code with 256-bit vectors even if target > > > > platform have only 128-bit registers. > > > > > > > > I.e. for the u8x32 version of that function it generates: > > > > > > > > ARM64: > > > > dpdk_buffer_init_from_template(void*, void*, void*, void*, void*): > > > > ld1 {v0.16b - v1.16b}, [x4], 32 > > > > st1 {v0.16b - v1.16b}, [x3], 32 > > > > st1 {v0.16b - v1.16b}, [x2], 32 > > > > st1 {v0.16b - v1.16b}, [x1], 32 > > > > st1 {v0.16b - v1.16b}, [x0], 32 > > > > ld1 {v0.16b - v1.16b}, [x4] > > > > st1 {v0.16b - v1.16b}, [x3] > > > > st1 {v0.16b - v1.16b}, [x2] > > > > st1 {v0.16b - v1.16b}, [x1] > > > > st1 {v0.16b - v1.16b}, [x0] > > > > ret > > > > > > > > intel x86-64 without AVX2: > > > > > > > > dpdk_buffer_init_from_template(void*, void*, void*, void*, void*): > > > > push %rbp > > > > mov %rsp,%rbp > > > > and $0xffffffffffffffe0,%rsp > > > > lea 0x10(%rsp),%rsp > > > > movdqa (%r8),%xmm1 > > > > movdqa 0x10(%r8),%xmm0 > > > > movdqa %xmm0,0x10(%rcx) > > > > movdqa %xmm1,(%rcx) > > > > movdqa %xmm1,(%rdx) > > > > movdqa %xmm0,0x10(%rdx) > > > > movdqa %xmm1,(%rsi) > > > > movdqa %xmm0,0x10(%rsi) > > > > movdqa %xmm1,(%rdi) > > > > movdqa %xmm0,0x10(%rdi) > > > > movdqa 0x20(%r8),%xmm1 > > > > movdqa 0x30(%r8),%xmm0 > > > > movdqa %xmm0,0x30(%rcx) > > > > movdqa %xmm1,0x20(%rcx) > > > > movdqa %xmm1,0x20(%rdx) > > > > movdqa %xmm0,0x30(%rdx) > > > > movdqa %xmm1,0x20(%rsi) > > > > movdqa %xmm0,0x30(%rsi) > > > > movdqa %xmm1,0x20(%rdi) > > > > movdqa %xmm0,0x30(%rdi) > > > > leaveq > > > > retq > > > > > > > > > > > > So i think here it is only about missing typedef…. > > > > > > > > > > > >> On 19 Aug 2017, at 14:51, Dave Barach (dbarach) > > > >> <dbar...@cisco.com<mailto:dbar...@cisco.com>> wrote: > > > >> > > > >> Dear George, > > > >> > > > >> This specific issue isn’t anywhere near as bad as you might think. As > > > >> given, the code confuses 128-bit vectors with 256-bit vectors, and > > > >> 64-bit vectors with 128-bit vectors. > > > >> > > > >> Question: does the hardware involved support 256-bit vectors? Probably > > > >> not... It almost certainly does support 128-bit vectors. > > > >> > > > >> To make progress, use the known-good u8x16 / 128-bit vector code: > > > >> > > > >> static_always_inline void > > > >> dpdk_buffer_init_from_template (void *d0, void *d1, void *d2, void *d3, > > > >> void *s) > > > >> { > > > >> #if defined(CLIB_HAVE_VEC128) > > > >> int i; > > > >> for (i = 0; i < 4; i++) > > > >> { > > > >> *(u8x16 *) (((u8 *) d0) + i * 16) = > > > >> *(u8x16 *) (((u8 *) d1) + i * 16) = > > > >> *(u8x16 *) (((u8 *) d2) + i * 16) = > > > >> *(u8x16 *) (((u8 *) d3) + i * 16) = *(u8x16 *) (((u8 *) s) + i * > > > >> 16); > > > >> } > > > >> #else > > > >> #error "CLIB_HAVE_VEC128 has to be defined" > > > >> #endif > > > >> } > > > >> > > > >> Responsible parties - they know who they are - will be back from PTO > > > >> shortly. We need to clean up / create CLIB_HAVE_VEC_256 and move the > > > >> 256-bit vector engine code... > > > >> > > > >> You could also try adding “typedef u8 u8x32 _vector_size(32)” but I > > > >> somehow doubt that will produce anything other than a compiler error. > > > >> > > > >> HTH… Dave > > > >> > > > >> From: > > > >> vpp-dev-boun...@lists.fd.io<mailto:vpp-dev-boun...@lists.fd.io> > > > >> [mailto:vpp-dev-boun...@lists.fd.io] On Behalf Of George Zhao > > > >> Sent: Friday, August 18, 2017 7:32 PM > > > >> To: 'vpp-dev@lists.fd.io<mailto:vpp-dev@lists.fd.io>' > > > >> <vpp-dev@lists.fd.io<mailto:vpp-dev@lists.fd.io>>; > > > >> 'disc...@lists.fd.io<mailto:disc...@lists.fd.io>' > > > >> <disc...@lists.fd.io<mailto:disc...@lists.fd.io>>; > > > >> 'csit-...@lists.fd.io<mailto:csit-...@lists.fd.io>' > > > >> <csit-...@lists.fd.io<mailto:csit-...@lists.fd.io>> > > > >> Subject: [vpp-dev] Question about VPP support for ARM 64 > > > >> > > > >> We encounter following issues while trying to build VPP over ARM 64. > > > >> It seems right now only ARM32 are supported in the code. I list the > > > >> steps we tried and hope VPP folks can help us work around this issue. > > > >> > > > >> Steps: > > > >> 1. install Ubuntu 16.04 on OD1K > > > >> $>> uname -a > > > >> Linux OD1K 4.4.0-92-generic #115-Ubuntu SMP Thu Aug 10 09:10:33 > > > >> UTC > > > >> 2017 aarch64 aarch64 aarch64 GNU/Linux > > > >> > > > >> 2. git clone VPP 17.04 and build VPP ## Error: > > > >> make[2]: Entering directory '/home/huawei/GIT/vpp.1704/dpdk' > > > >> cat: '/sys/bus/pci/devices/0000:00:01.0/uevent': No such file or > > > >> directory > > > >> > > > >> **Work around to bypass MakeFile: > > > >> ################################################################# > > > >> ## > > > >> ########### > > > >> # Cavium ThunderX > > > >> ################################################################# > > > >> ## ########### #else ifneq (,$(findstring thunder,$(shell cat > > > >> /sys/bus/pci/devices/0000:00:01.0/uevent | grep cavium))) else > > > >> export CROSS="" > > > >> DPDK_TARGET ?= arm64-thunderx-linuxapp-$(DPDK_CC) > > > >> DPDK_MACHINE ?= thunderx > > > >> DPDK_TUNE ?= generic > > > >> > > > >> 3. Then, make build and failed following: > > > >> /home/huawei/GIT/vpp.1704/build-data/../src/plugins/dpdk/device/node.c:276:9: > > > >> error: `u8x32' undeclared (first use in this function) > > > >> *(u8x32 *) (((u8 *) d0) + i * 32) = > > > >> > > > >> ** Check vppinfra/vppinfra/vector.h and don’t find u8x32 with > > > >> “aarch64” > > > >> #if defined (__aarch64__) || defined (__arm__) typedef unsigned > > > >> int > > > >> u32x4 _vector_size (16); typedef u8 u8x16 _vector_size (16); > > > >> typedef u16 u16x8 _vector_size (16); typedef u32 u32x4 > > > >> _vector_size (16); typedef u64 u64x2 _vector_size (16); #endif > > > >> > > > >> 4. According https://wiki.fd.io/view/VPP/Alternative_builds > > > >> The VPP seems to support arm32 only . > > > >> export PLATFORM=arm32 > > > >> > > > >> > > > >> *Questions: > > > >> Did I miss some steps or should include other header files that > > > >> defines u8x32? > > > >> > > > >> > > > >> Thanks, > > > >> George > > > >> > > > >> _______________________________________________ > > > >> discuss mailing list > > > >> disc...@lists.fd.io<mailto:disc...@lists.fd.io> > > > >> https://lists.fd.io/mailman/listinfo/discuss > > > > > > > > _______________________________________________ > > > > vpp-dev mailing list > > > > vpp-dev@lists.fd.io<mailto:vpp-dev@lists.fd.io> > > > > https://lists.fd.io/mailman/listinfo/vpp-dev > > > > > > > > _______________________________________________ > > > vpp-dev mailing list > > > vpp-dev@lists.fd.io > > > https://lists.fd.io/mailman/listinfo/vpp-dev > > > > _______________________________________________ > > vpp-dev mailing list > > vpp-dev@lists.fd.io > > https://lists.fd.io/mailman/listinfo/vpp-dev _______________________________________________ vpp-dev mailing list vpp-dev@lists.fd.io https://lists.fd.io/mailman/listinfo/vpp-dev