From: hcg Date: Tue, 29 Jan 2013 15:26:42 +0000 (+0000) Subject: [package] libdirectfb: When volotile keyword is not used, compiler generates code... X-Git-Url: http://207.154.207.93/?a=commitdiff_plain;h=378b211816b04985a90c52d91e1e4a49738ce702;p=packages.git [package] libdirectfb: When volotile keyword is not used, compiler generates code that uses old value of implementations and not the new one set by dlopen() git-svn-id: svn://svn.openwrt.org/openwrt/packages@35386 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- diff --git a/libs/libdirectfb/patches/001-disable-asm.patch b/libs/libdirectfb/patches/001-disable-asm.patch new file mode 100644 index 000000000..c38498a50 --- /dev/null +++ b/libs/libdirectfb/patches/001-disable-asm.patch @@ -0,0 +1,13 @@ +--- 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*) diff --git a/libs/libdirectfb/patches/002-use-volatile-keyword.patch b/libs/libdirectfb/patches/002-use-volatile-keyword.patch new file mode 100644 index 000000000..79041106a --- /dev/null +++ b/libs/libdirectfb/patches/002-use-volatile-keyword.patch @@ -0,0 +1,30 @@ +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; + } diff --git a/libs/libdirectfb/patches/disable-asm.patch b/libs/libdirectfb/patches/disable-asm.patch deleted file mode 100644 index c38498a50..000000000 --- a/libs/libdirectfb/patches/disable-asm.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- 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*)