sandbox: Fix building with LLVM
- The macro __BIGGEST_ALIGNMENT__ is gcc-specific. If it is not defined
we'll just assume 16. This is correct for at least the common cases
and LLVM does not provide an equivalent macro.
- When linking U-Boot we're passing -T to the linker, and while gcc will
just pass this along with LLVM we need to be specific.
Cc: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
diff --git a/arch/sandbox/config.mk b/arch/sandbox/config.mk
index b05a90f..16fd6d50 100644
--- a/arch/sandbox/config.mk
+++ b/arch/sandbox/config.mk
@@ -16,7 +16,7 @@
endif
endif
-cmd_u-boot__ = $(CC) -o $@ -T u-boot.lds \
+cmd_u-boot__ = $(CC) -o $@ -Wl,-T u-boot.lds \
-Wl,--start-group $(u-boot-main) -Wl,--end-group \
$(PLATFORM_LIBS) -Wl,-Map -Wl,u-boot.map
diff --git a/arch/sandbox/include/asm/cache.h b/arch/sandbox/include/asm/cache.h
index d28c385..ffbb984 100644
--- a/arch/sandbox/include/asm/cache.h
+++ b/arch/sandbox/include/asm/cache.h
@@ -12,7 +12,13 @@
* the contents of stack buffers to something reasonable. The
* GCC macro __BIGGEST_ALIGNMENT__ is defined to be the maximum
* required alignment for any basic type. This seems reasonable.
+ * This is however GCC specific so if we don't have that available
+ * assume that 16 is large enough.
*/
+#ifdef __BIGGEST_ALIGNMENT__
#define ARCH_DMA_MINALIGN __BIGGEST_ALIGNMENT__
+#else
+#define ARCH_DMA_MINALIGN 16
+#endif
#endif /* __SANDBOX_CACHE_H__ */