1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
|
diff -ur wine971130-jp.orig/configure wine971130-jp/configure
--- wine971130-jp.orig/configure Sun Jan 11 08:21:04 1998
+++ wine971130-jp/configure Sun Jan 11 07:39:27 1998
@@ -2479,6 +2479,8 @@
trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
+LDLIBS="$LDLIBS -lxpg4"
+
DEFS=-DHAVE_CONFIG_H
# Without the "./", some shells look in PATH for config.status.
diff -ur wine971130-jp.orig/debugger/memory.c wine971130-jp/debugger/memory.c
--- wine971130-jp.orig/debugger/memory.c Mon Feb 3 03:57:44 1997
+++ wine971130-jp/debugger/memory.c Sun Jan 11 07:38:04 1998
@@ -19,7 +19,7 @@
* write (rwflag == 0)
************************************************************/
-#ifdef linux
+#if defined(linux) || defined(__FreeBSD__)
BOOL32 DEBUG_checkmap_bad( const char *addr, size_t size, int rwflag)
{
FILE *fp;
@@ -28,6 +28,7 @@
char *start, *end;
int ret = TRUE;
+#ifdef linux
/*
The entries in /proc/self/maps are of the form:
08000000-08002000 r-xp 00000000 03:41 2361
@@ -41,12 +42,34 @@
Only permissions start and end are used here
*/
+#else
+/*
+ % cat /proc/curproc/map
+ start end resident private perm type
+ 0x1000 0xe000 12 0 r-x COW vnode
+ 0xe000 0x10000 2 2 rwx COW vnode
+ 0x10000 0x27000 4 4 rwx default
+ 0x800e000 0x800f000 1 1 rw- default
+ 0xefbde000 0xefbfe000 1 1 rwx default
+
+ COW = "copy on write"
+*/
+#endif
+
+#ifdef linux
if (!(fp = fopen("/proc/self/maps", "r")))
+#else
+ if (!(fp = fopen("/proc/curproc/map", "r")))
+#endif
return FALSE;
while (fgets( buf, 79, fp)) {
+#ifdef linux
sscanf(buf, "%x-%x %3s", (int *) &start, (int *) &end, prot);
+#else
+ sscanf(buf, "%x %x %*d %*d %3s", (int *) &start, (int *) &end, prot);
+#endif
if ( end < addr)
continue;
if (start <= addr && addr+size < end) {
diff -ur wine971130-jp.orig/memory/selector.c wine971130-jp/memory/selector.c
--- wine971130-jp.orig/memory/selector.c Sun Jan 11 08:18:57 1998
+++ wine971130-jp/memory/selector.c Sun Jan 11 07:30:51 1998
@@ -14,7 +14,16 @@
#include "debug.h"
+#ifdef __FreeBSD__
+#include <osreldate.h>
+#if __FreeBSD_version < 220000
#define FIRST_LDT_ENTRY_TO_ALLOC 17
+#else
+#define FIRST_LDT_ENTRY_TO_ALLOC 17
+#endif
+#else
+#define FIRST_LDT_ENTRY_TO_ALLOC 6
+#endif
/***********************************************************************
diff -ur wine971130-jp.orig/memory/virtual.c wine971130-jp/memory/virtual.c
--- wine971130-jp.orig/memory/virtual.c Sun Jan 11 08:20:07 1998
+++ wine971130-jp/memory/virtual.c Sun Jan 11 09:10:28 1998
@@ -1097,6 +1097,9 @@
return FALSE;
}
if (!cbFlush) cbFlush = view->size;
+#ifndef MS_SYNC
+#define MS_SYNC 0
+#endif MS_SYNC
if (!msync( addr, cbFlush, MS_SYNC )) return TRUE;
SetLastError( ERROR_INVALID_PARAMETER );
return FALSE;
diff -ur wine971130-jp.orig/multimedia/midi.c wine971130-jp/multimedia/midi.c
--- wine971130-jp.orig/multimedia/midi.c Sun Jan 11 08:17:54 1998
+++ wine971130-jp/multimedia/midi.c Sun Jan 11 07:29:49 1998
@@ -11,6 +11,10 @@
#include <string.h>
#include <unistd.h>
#include <fcntl.h>
+#ifdef __FreeBSD__
+#include <string.h>
+#include <sys/errno.h>
+#endif
#include <sys/ioctl.h>
#include "windows.h"
#include "ldt.h"
diff -ur wine971130-jp.orig/windows/dialog.c wine971130-jp/windows/dialog.c
--- wine971130-jp.orig/windows/dialog.c Sun Jan 11 08:21:30 1998
+++ wine971130-jp/windows/dialog.c Sun Jan 11 07:28:52 1998
@@ -10,6 +10,9 @@
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
+#ifdef __FreeBSD__
+#include <sys/errno.h>
+#endif
#include <errno.h>
#include "windows.h"
#include "dialog.h"
diff -ur wine971130-jp.orig/wine.ini wine971130-jp/wine.ini
--- wine971130-jp.orig/wine.ini Mon Aug 25 00:49:15 1997
+++ wine971130-jp/wine.ini Sun Jan 11 07:27:07 1998
@@ -42,7 +42,7 @@
System=c:\windows\system
Temp=e:\
Path=c:\windows;c:\windows\system;e:\;e:\test;f:\
-SymbolTableFile=./wine.sym
+SymbolTableFile=/usr/local/etc/wine.sym
[options]
AllocSystemColors=100
@@ -53,13 +53,13 @@
Default = -adobe-times-
[serialports]
-Com1=/dev/cua0
-Com2=/dev/cua1
+Com1=/dev/ttyd0
+Com2=/dev/ttyd1
Com3=/dev/modem,38400
Com4=/dev/modem
[parallelports]
-Lpt1=/dev/lp0
+Lpt1=/dev/lpt0
[spooler]
LPT1:=|lpr
|