--- /dev/null
+--- DirectFB-1.4.2/configure.in.orig 2009-10-14 17:19:38.000000000 +0200
++++ DirectFB-1.4.2/configure.in 2009-10-14 17:19:55.000000000 +0200
+@@ -221,8 +221,8 @@
+ have_kos=no
+ need_libc_r=no
+ need_libdl=yes
++want_ppcasm=no
++want_armasm=no
+-want_ppcasm=yes
+-want_armasm=yes
+
+ case "$target_or_host" in
+ *-linux*)
--- /dev/null
+diff -burN DirectFB-1.4.2.orig/lib/direct/interface.c DirectFB-1.4.2/lib/direct/interface.c
+--- DirectFB-1.4.2.orig/lib/direct/interface.c 2013-01-29 13:57:25.000000000 +0100
++++ DirectFB-1.4.2/lib/direct/interface.c 2013-01-29 13:59:37.000000000 +0100
+@@ -74,7 +74,7 @@
+ } DirectInterfaceImplementation;
+
+ static pthread_mutex_t implementations_mutex = PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP;
+-static DirectLink *implementations = NULL;
++static DirectLink * volatile implementations = NULL;
+
+ /**************************************************************************************************/
+
+@@ -96,7 +96,7 @@
+ D_DEBUG_AT( Direct_Interface, " -> %s | %s\n", impl->type, impl->implementation );
+
+ pthread_mutex_lock( &implementations_mutex );
+- direct_list_prepend( &implementations, &impl->link );
++ direct_list_prepend( (DirectLink**)&implementations, &impl->link );
+ pthread_mutex_unlock( &implementations_mutex );
+ }
+
+@@ -111,7 +111,7 @@
+ D_MAGIC_ASSERT( impl, DirectInterfaceImplementation );
+
+ if (impl->funcs == funcs) {
+- direct_list_remove( &implementations, &impl->link );
++ direct_list_remove( (DirectLink**)&implementations, &impl->link );
+
+ break;
+ }
+++ /dev/null
---- DirectFB-1.4.2/configure.in.orig 2009-10-14 17:19:38.000000000 +0200
-+++ DirectFB-1.4.2/configure.in 2009-10-14 17:19:55.000000000 +0200
-@@ -221,8 +221,8 @@
- have_kos=no
- need_libc_r=no
- need_libdl=yes
-+want_ppcasm=no
-+want_armasm=no
--want_ppcasm=yes
--want_armasm=yes
-
- case "$target_or_host" in
- *-linux*)