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

Reply via email to