Hi,
I encountered the following build error on Mellanox BlueField ARMv8 CPU
(Cortex-A72).
It is CentOS 7.4
$ cat /etc/redhat-release
CentOS Linux release 7.4.1708 (AltArch)
And gcc is 4.8.5
$ gcc --version
gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28)
FYI,
$ uname -a
Linux dragon61-bf 4.11.0-22.el7a.aarch64 #1 SMP Sun Sep 3 13:39:10 CDT 2017
aarch64 aarch64 aarch64 GNU/Linux
Is it a known issue or am I missing something?
> $ ninja-build -C build
> ninja: Entering directory `build'
> [1116/1378] Compiling C object
> 'drivers/drivers@@tmp_rte_pmd_octeontx_event@sta/event_octeontx_timvf_worker.c.o'.
> FAILED:
> drivers/drivers@@tmp_rte_pmd_octeontx_event@sta/event_octeontx_timvf_worker.c.o
> cc -Idrivers/drivers@@tmp_rte_pmd_octeontx_event@sta -Idrivers -I../drivers
> -Idrivers/event/octeontx -I../drivers/event/octeontx -Ilib/librte_eventdev
> -I../lib/librte_eventdev -I. -I../ -Iconfig -I../config
> -Ilib/librte_eal/common -I../lib/librte_eal/common
> -Ilib/librte_eal/common/include -I../lib/librte_eal/common/include
> -Ilib/librte_eal/common/include/arch/arm
> -I../lib/librte_eal/common/include/arch/arm -I../lib/librte$
> eal/linuxapp/eal/include -Ilib/librte_eal/linuxapp/eal/../../../librte_compat
> -I../lib/librte_eal/linuxapp/eal/../../../librte_compat -Ilib/librte_eal
> -I../lib/librte_eal -Ilib/librte_kvargs/../librte_eal/common/include
> -I../lib/librte_kvargs/../librte_eal/common/include -Ilib/librte_kvargs
> -I../lib/librte_kvargs -Ilib/librte_compat -I../lib/librte_compat
> -Ilib/librte_ring -I../lib/librte_ring -Ilib/librte_ethdev -I../lib$
> librte_ethdev -Ilib/librte_net -I../lib/librte_net -Ilib/librte_mbuf
> -I../lib/librte_mbuf -Ilib/librte_mempool
> -I../lib/librte_mempool-Ilib/librte_cmdline/../librte_eal/common/include
> -I../lib/librte_cmdline/../librte_eal/common/include -Ilib/librte_cmdline
> -I../lib/librte_cmdline -Ilib/librte_hash -I../lib/librte_hash
> -Ilib/librte_timer -I../lib/librte_timer -Ilib/librte_cryptodev
> -I../lib/librte_cryptodev -Idrivers/comm$
> n/octeontx -I../drivers/common/octeontx -Idrivers/mempool/octeontx
> -I../drivers/mempool/octeontx -Idrivers/bus/pci -I../drivers/bus/pci
> -I../drivers/bus/pci/linux -Ilib/librte_pci -I../lib/librte_pci
> -Idrivers/bus/vdev -I../drivers/bus/vdev -Idrivers/net/octeontx
> -I../drivers/net/octeontx -Idrivers/net/octeontx/base
> -I../drivers/net/octeontx/base -pipe -D_FILE_OFFSET_BITS=64 -Wall
> -Winvalid-pch -O3 -include rte_config.h -$
> sign-compare -Wcast-qual -fPIC -march=armv8-a+crc+crypto -D_GNU_SOURCE
> -DALLOW_EXPERIMENTAL_API -MD -MQ
> 'drivers/drivers@@tmp_rte_pmd_octeontx_event@sta/event_octeontx_timvf_worker.c.o'
> -MF
> 'drivers/drivers@@tmp_rte_pmd_octeontx_event@sta/event_octeontx_timvf_worker.c.o.d'
> -o
> 'drivers/drivers@@tmp_rte_pmd_octeontx_event@sta/event_octeontx_timvf_worker.c.o'
> -c ../drivers/event/octeontx/timvf_worker.c
> ../drivers/event/octeontx/timvf_worker.c: In function
> ‘timvf_timer_arm_burst_sp’:
> ../drivers/event/octeontx/timvf_worker.c:88:1: error: could not split insn
> }
> ^
> (insn 95 98 99 (parallel [
> (set (reg:DI 3 x3 [orig:98 D.8603 ] [98])
> (mem/v:DI (reg/f:DI 21 x21 [orig:88 D.8609 ] [88]) [-1 S8
> A64]))
> (set (mem/v:DI (reg/f:DI 21 x21 [orig:88 D.8609 ] [88]) [-1 S8
> A64])
> (unspec_volatile:DI [
> (plus:DI (mem/v:DI (reg/f:DI 21 x21 [orig:88 D.8609 ]
> [88]) [-1 S8 A64])
> (const_int -281474976710656 [0xffff000000000000]))
> (const_int 0 [0])
> ] UNSPECV_ATOMIC_OP))
> (clobber (reg:CC 66 cc))
> (clobber (reg:DI 0 x0))
> (clobber (reg:SI 1 x1))
> ]) ../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 1 x1)
> (expr_list:REG_UNUSED (reg:DI 0 x0)
> (nil)))))
> ../drivers/event/octeontx/timvf_worker.c:88: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.
> {standard input}: Assembler messages:
> {standard input}: Error: open CFI at the end of file; missing .cfi_endproc
> directive
> Preprocessed source stored into /tmp/ccy4Lo54.out file, please attach this to
> your bugreport.
> [1133/1378] Compiling C object
> 'drivers/drivers@@tmp_rte_pmd_dpaa2_sec@sta/crypto_dpaa2_sec_dpaa2_sec_dpseci.c.o'.
> ninja: build stopped: subcommand failed.
Thanks,
Yongseok