void-packages/srcpkgs/wvstreams/patches/wvstreams-4.6.1-gcc47.patch

51 lines
1.3 KiB
Diff

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
--- a/include/wvtask.h
+++ b/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);
--- a/include/wvuid.h
+++ b/include/wvuid.h
@@ -7,6 +7,7 @@
#ifndef __WVUID_H
#define __WVUID_H
+#include <unistd.h>
#include "wvstring.h"
#if WIN32
--- a/utils/wvtask.cc
+++ b/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;