[dpdk-dev] net/failsafe: fix build error on BSD 10 / GCC 4.8

Message ID c74e5301361f6d326e5f2eac32e5d12732168ed6.1500553652.git.gaetan.rivet@6wind.com (mailing list archive)
State Accepted, archived
Headers

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK

Commit Message

Gaëtan Rivet July 20, 2017, 12:27 p.m. UTC
  ctype.h is not compilable in BSD 10 on GCC 4.8 in C11 mode.

== Build drivers/net/failsafe
  CC failsafe.o
In file included from /usr/include/_ctype.h:94:0,
                 from /usr/include/ctype.h:46,
                 from /root/dpdk.org/build/include/rte_common.h:50,
                 from /root/dpdk.org/build/include/rte_memory.h:57,
                 from /root/dpdk.org/build/include/rte_malloc.h:45,
                 from /root/dpdk.org/drivers/net/failsafe/failsafe.c:35:
/usr/include/runetype.h:92:22: error: expected '=', ',', ';', 'asm' or
'__attribute__' before 'const'
 extern _Thread_local const _RuneLocale *_ThreadRuneLocale;
                      ^
/usr/include/runetype.h: In function '__getCurrentRuneLocale':
/usr/include/runetype.h:96:6: error: '_ThreadRuneLocale' undeclareds
(first use in this function)
  if (_ThreadRuneLocale)
      ^
/usr/include/runetype.h:96:6: note: each undeclared identifier is reported
only once for each function it appears in
/root/dpdk.org/mk/internal/rte.compile-pre.mk:138: recipe for target
'failsafe.o' failed

The fix is to put GCC in gnu99 mode instead.

Fixes: a46f8d584eb8 ("net/failsafe: add fail-safe PMD")

Signed-off-by: Gaetan Rivet <gaetan.rivet@6wind.com>
---
 drivers/net/failsafe/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Comments

Thomas Monjalon July 20, 2017, 3:32 p.m. UTC | #1
20/07/2017 15:27, Gaetan Rivet:
> ctype.h is not compilable in BSD 10 on GCC 4.8 in C11 mode.
> 
> == Build drivers/net/failsafe
>   CC failsafe.o
> In file included from /usr/include/_ctype.h:94:0,
>                  from /usr/include/ctype.h:46,
>                  from /root/dpdk.org/build/include/rte_common.h:50,
>                  from /root/dpdk.org/build/include/rte_memory.h:57,
>                  from /root/dpdk.org/build/include/rte_malloc.h:45,
>                  from /root/dpdk.org/drivers/net/failsafe/failsafe.c:35:
> /usr/include/runetype.h:92:22: error: expected '=', ',', ';', 'asm' or
> '__attribute__' before 'const'
>  extern _Thread_local const _RuneLocale *_ThreadRuneLocale;
>                       ^
> /usr/include/runetype.h: In function '__getCurrentRuneLocale':
> /usr/include/runetype.h:96:6: error: '_ThreadRuneLocale' undeclareds
> (first use in this function)
>   if (_ThreadRuneLocale)
>       ^
> /usr/include/runetype.h:96:6: note: each undeclared identifier is reported
> only once for each function it appears in
> /root/dpdk.org/mk/internal/rte.compile-pre.mk:138: recipe for target
> 'failsafe.o' failed
> 
> The fix is to put GCC in gnu99 mode instead.
> 
> Fixes: a46f8d584eb8 ("net/failsafe: add fail-safe PMD")
> 
> Signed-off-by: Gaetan Rivet <gaetan.rivet@6wind.com>

Applied, thanks
  

Patch

diff --git a/drivers/net/failsafe/Makefile b/drivers/net/failsafe/Makefile
index 32aaaa2..d516d36 100644
--- a/drivers/net/failsafe/Makefile
+++ b/drivers/net/failsafe/Makefile
@@ -50,7 +50,7 @@  SRCS-$(CONFIG_RTE_LIBRTE_PMD_FAILSAFE) += failsafe_flow.c
 # No exported include files
 
 # Basic CFLAGS:
-CFLAGS += -std=c11 -Wextra
+CFLAGS += -std=gnu99 -Wextra
 CFLAGS += -O3
 CFLAGS += -I.
 CFLAGS += -D_DEFAULT_SOURCE