- 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 <s...@chromium.org>
Signed-off-by: Tom Rini <tr...@konsulko.com>

---
I've tested this with both test/fs/fs-test.sh (and a quick kludge to
force it to use LLVM) and test/pytest/test.py with a pre-built sandbox
and both pass as much as with gcc does for me.
---
 arch/sandbox/config.mk           |    2 +-
 arch/sandbox/include/asm/cache.h |    6 ++++++
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/arch/sandbox/config.mk b/arch/sandbox/config.mk
index b05a90f..16fd6d5 100644
--- a/arch/sandbox/config.mk
+++ b/arch/sandbox/config.mk
@@ -16,7 +16,7 @@ PLATFORM_CPPFLAGS += $(shell sdl-config --cflags)
 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__ */
-- 
1.7.9.5

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to