From a1a1410d25c3e4ff87e33344b416b7a827cdb1c2 Mon Sep 17 00:00:00 2001
From: William Todd Stinson <stinson@lindenlab.com>
Date: Mon, 27 Aug 2012 18:16:47 -0700
Subject: [PATCH] Skipping the realloc alignment test on Linux as the
 ll_aligned_malloc_16() function is not implemented to ensure alignment on
 Linux.

---
 indra/llcommon/llmemory.h             | 2 ++
 indra/llmath/tests/alignment_test.cpp | 4 ++++
 2 files changed, 6 insertions(+)

diff --git a/indra/llcommon/llmemory.h b/indra/llcommon/llmemory.h
index 9dd776ff579..08e2a2caa6e 100644
--- a/indra/llcommon/llmemory.h
+++ b/indra/llcommon/llmemory.h
@@ -65,6 +65,8 @@ inline void* ll_aligned_realloc_16(void* ptr, size_t size) // returned hunk MUST
 #elif defined(LL_DARWIN)
 	return realloc(ptr,size); // default osx malloc is 16 byte aligned.
 #else
+	// The realloc alignment test is skipped on Linux because the ll_aligned_realloc_16()
+	// function is not implemented to ensure alignment (see alignment_test.cpp)
 	return realloc(ptr,size); // FIXME not guaranteed to be aligned.
 #endif
 }
diff --git a/indra/llmath/tests/alignment_test.cpp b/indra/llmath/tests/alignment_test.cpp
index ac0c45ae6f8..49c668d7372 100644
--- a/indra/llmath/tests/alignment_test.cpp
+++ b/indra/llmath/tests/alignment_test.cpp
@@ -78,8 +78,12 @@ void alignment_test_object_t::test<1>()
 		align_ptr = ll_aligned_malloc_16(sizeof(MyVector4a));
 		ensure("ll_aligned_malloc_16 failed", is_aligned(align_ptr,16));
 
+#if !LL_LINUX
+		// Skipping realloc alignment test on Linux because the ll_aligned_realloc_16()
+		// function is not implemented to ensure alignment on Linux (see llmemory.h)
 		align_ptr = ll_aligned_realloc_16(align_ptr,2*sizeof(MyVector4a));
 		ensure("ll_aligned_realloc_16 failed", is_aligned(align_ptr,16));
+#endif // LL_LINUX
 
 		ll_aligned_free_16(align_ptr);
 
-- 
GitLab