]> code.ossystems Code Review - bsp/u-boot.git/commitdiff
arm: mxs: make inline function compatible for GCC 5
authorJörg Krause <joerg.krause@embedded.rocks>
Wed, 5 Aug 2015 15:06:38 +0000 (17:06 +0200)
committerOtavio Salvador <otavio@ossystems.com.br>
Wed, 5 Aug 2015 16:26:45 +0000 (13:26 -0300)
GCC 5 uses C99 inline semantics. To generate external visibility in C99 for
the lowlevel_init() function must be declared with extern inline [1].

The GNU89 inline semantic is the same as C99 extern inline.

Use the __GNUC_STDC_INLINE__ macro to detect if C99 inline semantic will be
used by GCC.

Fixes the build error "undefined reference to `lowlevel_init'" for mx28 based
targets.

[1] "Different semantics for inline functions"
https://gcc.gnu.org/gcc-5/porting_to.html

Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
arch/arm/cpu/arm926ejs/mxs/mxs.c

index ef130aea426975babb926a48d0da0e863ec65638..439396b26af616130c6fde3ae9737781dd5b0b1f 100644 (file)
@@ -24,6 +24,9 @@
 DECLARE_GLOBAL_DATA_PTR;
 
 /* Lowlevel init isn't used on i.MX28, so just have a dummy here */
+#if defined(__GNUC_STDC_INLINE__)  /* e.g. GCC 5.x default */
+extern
+#endif
 inline void lowlevel_init(void) {}
 
 void reset_cpu(ulong ignored) __attribute__((noreturn));