Projects
Eulaceura:Factory
gazelle
_service:obs_scm:0008-add-loongarch64-and-sw64-...
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File _service:obs_scm:0008-add-loongarch64-and-sw64-arch-support.patch of Package gazelle
From 7b2803bfe36e6ca19d4389d28c5d9f15dcbe95e8 Mon Sep 17 00:00:00 2001 From: herengui <herengui@kylinsec.com.cn> Date: Wed, 30 Aug 2023 15:41:03 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E9=BE=99=E8=8A=AF=E5=92=8C?= =?UTF-8?q?=E7=94=B3=E5=A8=81=E6=9E=B6=E6=9E=84=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: herengui <herengui@kylinsec.com.cn> --- src/lstack/Makefile | 9 +++++++-- src/ltran/CMakeLists.txt | 17 +++++++++++++---- test/unitest/ltran/CMakeLists.txt | 5 ++++- 3 files changed, 24 insertions(+), 7 deletions(-) diff --git a/src/lstack/Makefile b/src/lstack/Makefile index 3550244..8f684ba 100644 --- a/src/lstack/Makefile +++ b/src/lstack/Makefile @@ -26,6 +26,7 @@ CC ?= gcc OPTIMIZATION = -O2 -g RM = rm -f LDFLAGS = -shared -ldl -lm -lpthread -lrt -lnuma -lconfig -lboundscheck +ARCH := $(shell uname -m) ifneq ($(CC),clang) SEC_FLAGS = -fstack-protector-strong -Werror -Wall -Wl,-z,relro, -Wl,-z,now -Wl,-z,noexecstack -Wtrampolines -fPIC -D_FORTIFY_SOURCE=2 @@ -88,18 +89,22 @@ ifeq ($(DPDK_VERSION_1911), 1) LIBRTE_LIB += $(LIB_PATH)/librte_pmd_pcap.so \ $(LIB_PATH)/librte_pmd_bond.so \ $(LIB_PATH)/librte_pmd_hinic.so \ - $(LIB_PATH)/librte_pmd_i40e.so \ $(LIB_PATH)/librte_pmd_ixgbe.so \ $(LIB_PATH)/librte_pmd_virtio.so + ifneq ($(ARCH), loongarch64) + LIBRTE_LIB += $(LIB_PATH)/librte_pmd_i40e.so + endif else LIBRTE_LIB += $(LIB_PATH)/librte_net_pcap.so \ $(LIB_PATH)/librte_net_bond.so \ $(LIB_PATH)/librte_net_hinic.so \ - $(LIB_PATH)/librte_net_i40e.so \ $(LIB_PATH)/librte_net_ixgbe.so \ $(LIB_PATH)/librte_net_virtio.so \ $(LIB_PATH)/librte_telemetry.so \ $(LIB_PATH)/librte_pcapng.so + ifneq ($(ARCH), loongarch64) + LIBRTE_LIB += $(LIB_PATH)/librte_net_i40e.so + endif endif DEP_LIBS = $(LWIP_LIB) $(LIBRTE_LIB) diff --git a/src/ltran/CMakeLists.txt b/src/ltran/CMakeLists.txt index b8d92b7..e098a77 100644 --- a/src/ltran/CMakeLists.txt +++ b/src/ltran/CMakeLists.txt @@ -30,12 +30,18 @@ endif($ENV{GAZELLE_COVERAGE_ENABLE}) if($ENV{DPDK_VERSION_1911}) set(DPDK_DIR /usr/include/dpdk) set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DDPDK_VERSION_1911=1") - set(DPDK_LINK_FLAGS "-Wl,-lrte_pmd_bond -Wl,-lrte_pmd_i40e -Wl,-lrte_pmd_hinic -Wl,-lrte_pmd_ixgbe \ + set(DPDK_LINK_FLAGS "-Wl,-lrte_pmd_bond -Wl,-lrte_pmd_hinic -Wl,-lrte_pmd_ixgbe \ -Wl,-lrte_pmd_pcap -Wl,-lrte_pmd_virtio") + if(NOT CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "loongarch64") + set(DPDK_LINK_FLAGS "${DPDK_LINK_FLAGS} -Wl,-lrte_pmd_i40e") + endif() else() set(DPDK_DIR /usr/local/include/) - set(DPDK_LINK_FLAGS "-Wl,-lrte_net_bond -Wl,-lrte_net_i40e -Wl,-lrte_net_hinic -Wl,-lrte_net_ixgbe \ + set(DPDK_LINK_FLAGS "-Wl,-lrte_net_bond -Wl,-lrte_net_hinic -Wl,-lrte_net_ixgbe \ -Wl,-lpcap -Wl,-lrte_net_pcap -Wl,-lrte_net_virtio -Wl,-lrte_pcapng -Wl,-lrte_telemetry") + if(NOT CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "loongarch64") + set(DPDK_LINK_FLAGS "${DPDK_LINK_FLAGS} -Wl,-lrte_net_i40e") + endif() endif($ENV{DPDK_VERSION_1911}) add_executable(ltran main.c ltran_param.c ltran_config.c ltran_ethdev.c ltran_stat.c ltran_errno.c @@ -44,12 +50,15 @@ add_executable(ltran main.c ltran_param.c ltran_config.c ltran_ethdev.c ltran_st ${COMMON_DIR}/gazelle_parse_config.c) target_include_directories(ltran PRIVATE ${COMMON_DIR} ${PROJECT_SOURCE_DIR} ${LWIP_DIR} ${DPDK_DIR}) -target_compile_options(ltran PRIVATE -march=native -fno-strict-aliasing -D__ARM_FEATURE_CRC32=1 -DRTE_MACHINE_CPUFLAG_NEON +target_compile_options(ltran PRIVATE -fno-strict-aliasing -D__ARM_FEATURE_CRC32=1 -DRTE_MACHINE_CPUFLAG_NEON -DRTE_MACHINE_CPUFLAG_CRC32 -DRTE_MACHINE_CPUFLAG_PMULL -DRTE_MACHINE_CPUFLAG_AES -DRTE_MACHINE_CPUFLAG_SHA1 -DRTE_MACHINE_CPUFLAG_SHA2 -include rte_config.h -D_GNU_SOURCE -W -Wall -Wstrict-prototypes -Wmissing-declarations -Wmissing-prototypes -Wold-style-definition - -Wpointer-arith -Wcast-align -Wcast-qual -Wnested-externs -Wformat-nonliteral -Wformat-security -Wundef + -Wpointer-arith -Wcast-qual -Wnested-externs -Wformat-nonliteral -Wformat-security -Wundef -Wdeprecated -Wwrite-strings -Wno-implicit-fallthrough -D_FORTIFY_SOURCE=2) +if(NOT CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "sw_64") + target_compile_options(ltran PRIVATE -march=native -Wcast-align) +endif() target_link_libraries(ltran PRIVATE config boundscheck rte_pdump -Wl,-z,relro -Wl,-z,now -Wl,-z,noexecstack -Wtrampolines) set_target_properties(ltran PROPERTIES LINK_FLAGS "-L$ENV{DPDK_LIB_PATH} -Wl,--no-whole-archive \ diff --git a/test/unitest/ltran/CMakeLists.txt b/test/unitest/ltran/CMakeLists.txt index 9496053..60bda83 100644 --- a/test/unitest/ltran/CMakeLists.txt +++ b/test/unitest/ltran/CMakeLists.txt @@ -47,12 +47,15 @@ set_target_properties(ltran_test PROPERTIES LINK_FLAGS "-L$ENV{DPDK_LIB_PATH} -W -Wl,-lrte_bus_dpaa -Wl,-lrte_bus_vdev -Wl,-lrte_bus_fslmc -Wl,-lrte_mempool_bucket -Wl,-lrte_mempool_stack -Wl,-lrte_mempool_dpaa \ -Wl,-lrte_mempool_dpaa2 -Wl,-lrte_net_af_packet -Wl,-lrte_net_ark -Wl,-lrte_net_atlantic -Wl,-lrte_net_axgbe \ -Wl,-lrte_net_bnxt -Wl,-lrte_net_bond -Wl,-lrte_net_cxgbe -Wl,-lrte_net_dpaa -Wl,-lrte_net_dpaa2 -Wl,-lrte_net_e1000 -Wl,-lrte_net_ena \ - -Wl,-lrte_net_enetc -Wl,-lrte_net_enic -Wl,-lrte_net_failsafe -Wl,-lrte_net_i40e -Wl,-lrte_net_hinic -Wl,-lrte_net_ixgbe -Wl,-lrte_net_kni \ + -Wl,-lrte_net_enetc -Wl,-lrte_net_enic -Wl,-lrte_net_failsafe -Wl,-lrte_net_hinic -Wl,-lrte_net_ixgbe -Wl,-lrte_net_kni \ -Wl,-lrte_net_nfp -Wl,-lrte_net_null -Wl,-lpcap -Wl,-lrte_net_qede -Wl,-lrte_net_ring -Wl,-lrte_net_softnic \ -Wl,-lrte_net_tap -Wl,-lrte_net_vdev_netvsc -Wl,-lrte_net_virtio -Wl,-lrte_net_vhost \ -Wl,-lrte_bus_vmbus -Wl,-lrte_net_netvsc -Wl,-lrte_mempool_octeontx -Wl,-lrte_net_octeontx \ -Wl,-lrte_bus_ifpga -Wl,-lrte_stack -Wl,-lrte_telemetry\ -Wl,--no-whole-archive -Wl,-lm -Wl,-lrt -Wl,-lnuma -Wl,-ldl -Wl,-export-dynamic -Wl,-export-dynamic \ -Wl,--as-needed -Wl,-export-dynamic -Wl,-Map=ltran.map -Wl,--cref") +if(NOT CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "loongarch64") + set_target_properties(ltran_test PROPERTIES LINK_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-lrte_net_i40e") +endif() target_include_directories(ltran_test PRIVATE ${LIB_PATH}) target_link_libraries(ltran_test PRIVATE config boundscheck cunit pthread) -- 2.27.0
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.
浙ICP备2022010568号-2