[dpdk-dev] event/octeontx: add event timer adapter driver
Pavan Nikhilesh
pbhagavatula at caviumnetworks.com
Mon Apr 23 10:44:34 CEST 2018
Hi Ali,
Looks like a compiler bug rather than code issue, I have verified this on x86
with gcc 4.8.5 and don't see an issue.
Looking around I found that compiling with -O1 on aarch64 gcc 4.8.5 seems to
fix the compiler bug.
Thanks,
Pavan.
On Sun, Apr 22, 2018 at 04:03:36PM +0000, Ali Alnubani wrote:
> Hi Pavan,
>
> The patchset http://dpdk.org/ml/archives/dev/2018-April/094928.html is causing a compilation error on QUALCOMM ARM with RHEL7.5 and gcc version 4.8.5:
>
> """
> /download/dpdk-next-net-mlx/drivers/event/octeontx/timvf_worker.c: In function 'timvf_timer_arm_burst_sp':
> /download/dpdk-next-net-mlx/drivers/event/octeontx/timvf_worker.c:89:1: error: could not split insn
> }
> ^
> (insn 95 98 99 (parallel [
> (set (reg:DI 0 x0 [orig:98 D.8130 ] [98])
> (mem/v:DI (reg/f:DI 21 x21 [orig:88 D.8136 ] [88]) [-1 S8 A64]))
> (set (mem/v:DI (reg/f:DI 21 x21 [orig:88 D.8136 ] [88]) [-1 S8 A64])
> (unspec_volatile:DI [
> (plus:DI (mem/v:DI (reg/f:DI 21 x21 [orig:88 D.8136 ] [88]) [-1 S8 A64])
> (const_int -281474976710656 [0xffff000000000000]))
> (const_int 0 [0])
> ] UNSPECV_ATOMIC_OP))
> (clobber (reg:CC 66 cc))
> (clobber (reg:DI 1 x1))
> (clobber (reg:SI 2 x2))
> ]) /download/dpdk-next-net-mlx/drivers/event/octeontx/timvf_worker.h:95 1832 {atomic_fetch_adddi}
> (expr_list:REG_UNUSED (reg:CC 66 cc)
> (expr_list:REG_UNUSED (reg:SI 2 x2)
> (expr_list:REG_UNUSED (reg:DI 1 x1)
> (nil)))))
> /download/dpdk-next-net-mlx/drivers/event/octeontx/timvf_worker.c:89:1: internal compiler error: in final_scan_insn, at final.c:2897
> Please submit a full bug report,
> with preprocessed source if appropriate.
> See <http://bugzilla.redhat.com/bugzilla> for instructions.
> PMDINFO opdl_evdev.o.pmd.c
> CC opdl_evdev.o.pmd.o
> LD opdl_evdev.o
> PMDINFO sw_evdev.o.pmd.c
> CC sw_evdev.o.pmd.o
> LD sw_evdev.o
> Preprocessed source stored into /tmp/ccmqxmH7.out file, please attach this to your bugreport.
> make[6]: *** [timvf_worker.o] Error 1
> make[5]: *** [octeontx] Error 2
> make[5]: *** Waiting for unfinished jobs....
> AR librte_pmd_opdl_event.a
> INSTALL-LIB librte_pmd_opdl_event.a
> AR librte_pmd_sw_event.a
> INSTALL-LIB librte_pmd_sw_event.a
> make[4]: *** [event] Error 2
> make[3]: *** [drivers] Error 2
> make[2]: *** [all] Error 2
> make[1]: *** [pre_install] Error 2
> make: *** [install] Error
> """
>
> The compilation only passes with CONFIG_RTE_LIBRTE_OCTEONTX_PMD, CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF and CONFIG_RTE_LIBRTE_OCTEONTX_MEMPOOL set to false.
> It also passes if I upgrade gcc, but can we have a fix for old gcc versions?
>
> Thanks,
> Ali
More information about the dev
mailing list