summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-libs/wvstreams/files/wvstreams-4.6.1-gcc47.patch')
-rw-r--r--net-libs/wvstreams/files/wvstreams-4.6.1-gcc47.patch50
1 files changed, 50 insertions, 0 deletions
diff --git a/net-libs/wvstreams/files/wvstreams-4.6.1-gcc47.patch b/net-libs/wvstreams/files/wvstreams-4.6.1-gcc47.patch
new file mode 100644
index 000000000000..b284da8f3e79
--- /dev/null
+++ b/net-libs/wvstreams/files/wvstreams-4.6.1-gcc47.patch
@@ -0,0 +1,50 @@
+http://bugs.gentoo.org/419563
+http://bugs.gentoo.org/419971
+
+See -gcc47-patch and -magic.patch in Fedora git:
+
+http://pkgs.fedoraproject.org/gitweb/?p=libwvstreams.git;a=tree
+
+--- include/wvtask.h
++++ include/wvtask.h
+@@ -45,7 +45,8 @@
+ typedef void TaskFunc(void *userdata);
+
+ static int taskcount, numtasks, numrunning;
+- int magic_number, *stack_magic;
++ int volatile magic_number;
++ int *stack_magic;
+ WvString name;
+ int tid;
+
+@@ -84,7 +85,7 @@
+ static WvTaskMan *singleton;
+ static int links;
+
+- static int magic_number;
++ static int volatile magic_number;
+ static WvTaskList all_tasks, free_tasks;
+
+ static void get_stack(WvTask &task, size_t size);
+--- include/wvuid.h
++++ include/wvuid.h
+@@ -7,6 +7,7 @@
+ #ifndef __WVUID_H
+ #define __WVUID_H
+
++#include <unistd.h>
+ #include "wvstring.h"
+
+ #if WIN32
+--- utils/wvtask.cc
++++ utils/wvtask.cc
+@@ -58,7 +58,8 @@
+ int WvTask::taskcount, WvTask::numtasks, WvTask::numrunning;
+
+ WvTaskMan *WvTaskMan::singleton;
+-int WvTaskMan::links, WvTaskMan::magic_number;
++int WvTaskMan::links;
++int volatile WvTaskMan::magic_number;
+ WvTaskList WvTaskMan::all_tasks, WvTaskMan::free_tasks;
+ ucontext_t WvTaskMan::stackmaster_task, WvTaskMan::get_stack_return,
+ WvTaskMan::toplevel;