[PATCH] scripts/compiler.h: inline functions in headers must be static

Michael Olbrich m.olbrich at pengutronix.de
Tue Feb 6 02:43:24 PST 2018


Without this building bareboxenv-target with gcc 7.3 fails with:

  CC      scripts/bareboxenv-target
/tmp/cc9G2oOY.o: In function `file_action':
bareboxenv.c:(.text+0x14): undefined reference to `xzalloc'
/tmp/cc9G2oOY.o: In function `concat_path_file':
bareboxenv.c:(.text+0xf4): undefined reference to `xmalloc'
/tmp/cc9G2oOY.o: In function `envfs_save':
bareboxenv.c:(.text+0x5b4): undefined reference to `xzalloc'
/tmp/cc9G2oOY.o: In function `envfs_load':
bareboxenv.c:(.text+0x7d8): undefined reference to `xmalloc'
collect2: error: ld returned 1 exit status

Signed-off-by: Michael Olbrich <m.olbrich at pengutronix.de>
---
 scripts/compiler.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/scripts/compiler.h b/scripts/compiler.h
index 0891c3bfa6fa..4cf179bb9b13 100644
--- a/scripts/compiler.h
+++ b/scripts/compiler.h
@@ -113,7 +113,7 @@ typedef uint32_t __u32;
 	(void) (&_min1 == &_min2);              \
 	_min1 < _min2 ? _min1 : _min2; })
 
-inline void *xmalloc(size_t size)
+static inline void *xmalloc(size_t size)
 {
 	void *p = NULL;
 
@@ -125,7 +125,7 @@ inline void *xmalloc(size_t size)
 	return p;
 }
 
-inline void *xzalloc(size_t size)
+static inline void *xzalloc(size_t size)
 {
 	void *p = xmalloc(size);
 	memset(p, 0, size);
-- 
2.16.1




More information about the barebox mailing list