c910f96
diff --git a/device/include/aligned_alloc.h b/device/include/aligned_alloc.h
c910f96
new file mode 100644
c910f96
index 0000000..2cd5e3a
c910f96
--- /dev/null
c910f96
+++ b/device/include/aligned_alloc.h
c910f96
@@ -0,0 +1,11 @@
c910f96
+#ifndef __SDCC_ALIGNED_ALLOC_H
c910f96
+#define __SDCC_ALIGNED_ALLOC_H 1
c910f96
+
c910f96
+#if __STDC_VERSION__ >= 201112L
c910f96
+inline void *aligned_alloc(size_t alignment, size_t size)
c910f96
+{
c910f96
+  (void)alignment;
c910f96
+  return malloc(size);
c910f96
+}
c910f96
+#endif
c910f96
+#endif
c910f96
diff --git a/device/include/stdlib.h b/device/include/stdlib.h
c910f96
index 5abede0..cce0686 100644
c910f96
--- a/device/include/stdlib.h
c910f96
+++ b/device/include/stdlib.h
c910f96
@@ -82,6 +82,7 @@ void *calloc (size_t nmemb, size_t size);
c910f96
 void *malloc (size_t size);
c910f96
 void *realloc (void *ptr, size_t size);
c910f96
 #endif
c910f96
+#ifdef RRR
c910f96
 #if __STDC_VERSION__ >= 201112L
c910f96
 inline void *aligned_alloc(size_t alignment, size_t size)
c910f96
 {
c910f96
@@ -89,6 +90,7 @@ inline void *aligned_alloc(size_t alignment, size_t size)
c910f96
   return malloc(size);
c910f96
 }
c910f96
 #endif
c910f96
+#endif
c910f96
 extern void free (void * ptr);
c910f96
 
c910f96
 /* Searching and sorting utilities (ISO C11 7.22.5) */
c910f96
diff --git a/device/lib/aligned_alloc.c b/device/lib/aligned_alloc.c
c910f96
index 92f3259..552459b 100644
c910f96
--- a/device/lib/aligned_alloc.c
c910f96
+++ b/device/lib/aligned_alloc.c
c910f96
@@ -37,5 +37,5 @@
c910f96
 
c910f96
 extern void *aligned_alloc(size_t alignment, size_t size);
c910f96
 
c910f96
-#include <stdlib.h>
c910f96
+#include <aligned_alloc.h>
c910f96