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>
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));