On 25/10/2017 09:36, Ferruh Yigit wrote:
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")
Cc: sergio.gonzalez.mon...@intel.com

Signed-off-by: Ferruh Yigit <ferruh.yi...@intel.com>
---
  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 965da6e30..edfb8ff03 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

Acked-by: Sergio Gonzalez Monroy <sergio.gonzalez.mon...@intel.com>

Reply via email to