From 65d3ba32641fb5ac4e4f0361d73be343e7c6d173 Mon Sep 17 00:00:00 2001 From: Ferruh Yigit Date: Wed, 25 Oct 2017 09:36:45 +0100 Subject: [PATCH] eal: fix build with glibc < 2.12 MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit build error: CC rte_cycles.o cc1: warnings being treated as errors ...dpdk/lib/librte_eal/common/arch/x86/rte_cycles.c: In function ‘rdmsr’: ...dpdk/lib/librte_eal/common/arch/x86/rte_cycles.c:67:2: error: implicit declaration of function ‘pread’ ...dpdk/lib/librte_eal/common/arch/x86/rte_cycles.c:67:2: error: nested extern declaration of ‘pread’ from pread man page: pread(), pwrite(): _XOPEN_SOURCE >= 500 || /* Since glibc 2.12: */ _POSIX_C_SOURCE >= 200809L For glibc < 2.12 _XOPEN_SOURCE >= 500 is required. Adding _GNU_SOURCE define to the file which implies _XOPEN_SOURCE=700 Fixes: ad3516bb4ae1 ("eal/x86: implement arch-specific TSC freq query") Signed-off-by: Ferruh Yigit Acked-by: Sergio Gonzalez Monroy --- lib/librte_eal/linuxapp/eal/Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/librte_eal/linuxapp/eal/Makefile b/lib/librte_eal/linuxapp/eal/Makefile index 965da6e306..edfb8ff03d 100644 --- a/lib/librte_eal/linuxapp/eal/Makefile +++ b/lib/librte_eal/linuxapp/eal/Makefile @@ -139,6 +139,7 @@ CFLAGS_eal_common_whitelist.o := -D_GNU_SOURCE CFLAGS_eal_common_options.o := -D_GNU_SOURCE CFLAGS_eal_common_thread.o := -D_GNU_SOURCE CFLAGS_eal_common_lcore.o := -D_GNU_SOURCE +CFLAGS_rte_cycles.o := -D_GNU_SOURCE # workaround for a gcc bug with noreturn attribute # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12603 -- 2.20.1