[Buildroot] [PATCH 1/2] host-tar: fix build when -std=gnu99 and inline functions are used

Lada Trimasova Lada.Trimasova at synopsys.com
Thu Feb 25 11:37:09 UTC 2016


A lot of the glibc header files use extern inline, which causes
GCC to emit a symbol for each extern inline functions and it causes
functions multiple definition error when "-std=gnu99" is used.
To fix this problem it's necessary to use "-fgnu89-inline" option, which
tells GCC to use the traditional GNU semantics for inline functions when
in C99 mode.

Signed-off-by: Lada Trimasova <ltrimas at synopsys.com>
Cc: Alexey Brodkin <abrodkin at synopsys.com>
Cc: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
Cc: Peter Korsgaard <peter at korsgaard.com>
---
 package/tar/tar.mk | 1 +
 1 file changed, 1 insertion(+)

diff --git a/package/tar/tar.mk b/package/tar/tar.mk
index 2b47e33..e59aedb 100644
--- a/package/tar/tar.mk
+++ b/package/tar/tar.mk
@@ -38,6 +38,7 @@ $(eval $(autotools-package))
 # host-tar: use cpio.gz instead of tar.gz to prevent chicken-egg problem
 # of needing tar to build tar.
 HOST_TAR_SOURCE = tar-$(TAR_VERSION).cpio.gz
+HOST_TAR_MAKE_OPTS = CFLAGS="-fgnu89-inline"
 define HOST_TAR_EXTRACT_CMDS
 	mkdir -p $(@D)
 	cd $(@D) && \
-- 
2.5.0




More information about the buildroot mailing list