diff options
Diffstat (limited to 'mk')
-rw-r--r-- | mk/exec-env/linuxapp/rte.vars.mk | 6 | ||||
-rw-r--r-- | mk/rte.app.mk | 3 | ||||
-rw-r--r-- | mk/rte.lib.mk | 2 | ||||
-rw-r--r-- | mk/toolchain/gcc/rte.toolchain-compat.mk | 11 | ||||
-rw-r--r-- | mk/toolchain/gcc/rte.vars.mk | 3 |
5 files changed, 21 insertions, 4 deletions
diff --git a/mk/exec-env/linuxapp/rte.vars.mk b/mk/exec-env/linuxapp/rte.vars.mk index 3129edc8..57ee8215 100644 --- a/mk/exec-env/linuxapp/rte.vars.mk +++ b/mk/exec-env/linuxapp/rte.vars.mk @@ -24,6 +24,8 @@ ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y) EXECENV_LDLIBS += -lgcc_s endif +EXECENV_LDLIBS-$(CONFIG_RTE_USE_LIBBSD) += -lbsd + # force applications to link with gcc/icc instead of using ld LINK_USING_CC := 1 @@ -32,4 +34,8 @@ EXECENV_LDFLAGS += -export-dynamic # Add library to the group to resolve symbols EXECENV_LDLIBS += -ldl +# EXECENV_LDLIBS-y applies to lib.so and app linking +# while EXECENV_LDLIBS applies only to app linking. +EXECENV_LDLIBS += $(EXECENV_LDLIBS-y) + export EXECENV_CFLAGS EXECENV_LDFLAGS EXECENV_ASFLAGS EXECENV_LDLIBS diff --git a/mk/rte.app.mk b/mk/rte.app.mk index 5699d979..c539bb9c 100644 --- a/mk/rte.app.mk +++ b/mk/rte.app.mk @@ -303,9 +303,6 @@ _LDLIBS-$(CONFIG_RTE_LIBRTE_EAL) += -lrt ifeq ($(CONFIG_RTE_EXEC_ENV_LINUXAPP)$(CONFIG_RTE_EAL_NUMA_AWARE_HUGEPAGES),yy) _LDLIBS-$(CONFIG_RTE_LIBRTE_EAL) += -lnuma endif -ifeq ($(CONFIG_RTE_EXEC_ENV_LINUXAPP)$(CONFIG_RTE_USE_LIBBSD),yy) -_LDLIBS-$(CONFIG_RTE_LIBRTE_EAL) += -lbsd -endif _LDLIBS-$(CONFIG_RTE_LIBRTE_SCHED) += -lm _LDLIBS-$(CONFIG_RTE_LIBRTE_SCHED) += -lrt _LDLIBS-$(CONFIG_RTE_LIBRTE_MEMBER) += -lm diff --git a/mk/rte.lib.mk b/mk/rte.lib.mk index c696a217..4df8849a 100644 --- a/mk/rte.lib.mk +++ b/mk/rte.lib.mk @@ -35,6 +35,8 @@ PREINSTALL = $(SYMLINK-FILES-y) _INSTALL = $(INSTALL-FILES-y) $(RTE_OUTPUT)/lib/$(LIB) _CLEAN = doclean +LDLIBS += $(EXECENV_LDLIBS-y) + .PHONY: all all: install diff --git a/mk/toolchain/gcc/rte.toolchain-compat.mk b/mk/toolchain/gcc/rte.toolchain-compat.mk index dbddc986..ea40a11c 100644 --- a/mk/toolchain/gcc/rte.toolchain-compat.mk +++ b/mk/toolchain/gcc/rte.toolchain-compat.mk @@ -22,11 +22,20 @@ HOST_GCC_VERSION = $(HOST_GCC_MAJOR)$(HOST_GCC_MINOR) LD_VERSION = $(shell $(LD) -v) # disable AVX512F support for GCC & binutils 2.30 as a workaround for Bug 97 +ifeq ($(CONFIG_RTE_ARCH_X86), y) ifneq ($(filter 2.30%,$(LD_VERSION)),) FORCE_DISABLE_AVX512 := y # print warning only once for librte_eal ifneq ($(filter %librte_eal,$(CURDIR)),) -$(warning AVX512 support disabled because of ld 2.30. See Bug 97) +$(warning AVX512 support disabled because of binutils 2.30. See Bug 97) +endif +endif +ifneq ($(filter 2.31%,$(LD_VERSION)),) +FORCE_DISABLE_AVX512 := y +# print warning only once for librte_eal +ifneq ($(filter %librte_eal,$(CURDIR)),) +$(warning AVX512 support disabled because of binutils 2.31. See Bug 249) +endif endif endif diff --git a/mk/toolchain/gcc/rte.vars.mk b/mk/toolchain/gcc/rte.vars.mk index d8b99faf..b852fcfd 100644 --- a/mk/toolchain/gcc/rte.vars.mk +++ b/mk/toolchain/gcc/rte.vars.mk @@ -87,5 +87,8 @@ WERROR_FLAGS += -Wimplicit-fallthrough=2 WERROR_FLAGS += -Wno-format-truncation endif +# disable packed member unalign warnings +WERROR_FLAGS += -Wno-address-of-packed-member + export CC AS AR LD OBJCOPY OBJDUMP STRIP READELF export TOOLCHAIN_CFLAGS TOOLCHAIN_LDFLAGS TOOLCHAIN_ASFLAGS |