summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTom Zanussi <tom.zanussi@intel.com>2012-01-11 04:19:30 (GMT)
committerTom Zanussi <tom.zanussi@intel.com>2012-01-11 04:19:30 (GMT)
commit9016be4d8005cfff3fedf4aded4600c6e110263a (patch)
tree870964d946d100a28acb32e7c561456dabdd7c32
parent38f2b670bc37515bcb0fa7f98e338e5242d70386 (diff)
downloadmeta-intel-9016be4d8005cfff3fedf4aded4600c6e110263a.tar.gz
meta-emenlow: fix ptr->int and Werror=address compile errors
A couple of things that had previously been warnings are now errors, so they need to be fixed up. The first problem is the same problem encountered by xserver-kdrive, and has the same fix, namely create a new version of REGION_INIT and have all calls that pass in a pointer to a static struct use it instead. A different fix for this is upstream, which includes an API change; we don't need all that to fix this problem. The second problem is a cast from pointer to integer in fbdevhw.c. This also is fixed upstream by removing the whole section of code which is bogus anyway, which is also done here. Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
-rw-r--r--meta-emenlow/recipes-graphics/xorg-xserver/files/ptr-to-int-cast-fix.patch92
-rw-r--r--meta-emenlow/recipes-graphics/xorg-xserver/files/werror-address-fix.patch515
-rw-r--r--meta-emenlow/recipes-graphics/xorg-xserver/xserver-psb-1.7.99.2.inc6
3 files changed, 611 insertions, 2 deletions
diff --git a/meta-emenlow/recipes-graphics/xorg-xserver/files/ptr-to-int-cast-fix.patch b/meta-emenlow/recipes-graphics/xorg-xserver/files/ptr-to-int-cast-fix.patch
new file mode 100644
index 0000000..19574d0
--- /dev/null
+++ b/meta-emenlow/recipes-graphics/xorg-xserver/files/ptr-to-int-cast-fix.patch
@@ -0,0 +1,92 @@
1Upstream-Status: Inappropriate [already upstream]
2
3It's broken for devices with BARs above 4G, and the sysfs method should
4work everywhere anyway. As a pleasant side effect, this fixes some
5warnings:
6
7fbdevhw.c: In function 'fbdev_open_pci':
8fbdevhw.c:333:4: warning: cast from pointer to integer of different size
9fbdevhw.c:334:4: warning: cast from pointer to integer of different size
10fbdevhw.c:336:4: warning: cast from pointer to integer of different size
11fbdevhw.c:337:4: warning: cast from pointer to integer of different size
12
13Signed-off-by: Adam Jackson <ajax (a] redhat.com>
14Integrated-by: Tom Zanussi <tom.zanussi (a] intel.com>
15
16Index: xorg-server-1.7.99.2/hw/xfree86/fbdevhw/fbdevhw.c
17===================================================================
18--- xorg-server-1.7.99.2.orig/hw/xfree86/fbdevhw/fbdevhw.c 2012-01-10 22:08:26.466693355 -0600
19+++ xorg-server-1.7.99.2/hw/xfree86/fbdevhw/fbdevhw.c 2012-01-10 22:11:36.386936978 -0600
20@@ -291,14 +291,7 @@
21 {
22 struct fb_fix_screeninfo fix;
23 char filename[256];
24- int fd,i,j;
25-
26-
27- /* There are two ways to that we can determine which fb device is
28- * associated with this PCI device. The more modern way is to look in
29- * the sysfs directory for the PCI device for a file named
30- * "graphics/fb*"
31- */
32+ int fd, i;
33
34 for (i = 0; i < 8; i++) {
35 sprintf(filename,
36@@ -331,55 +324,10 @@
37 }
38 }
39
40-
41- /* The other way is to examine the resources associated with each fb
42- * device and see if there is a match with the PCI device. This technique
43- * has some problems on certain mixed 64-bit / 32-bit architectures.
44- * There is a flaw in the fb_fix_screeninfo structure in that it only
45- * returns the low 32-bits of the address of the resources associated with
46- * a device. However, on a mixed architecture the base addresses of PCI
47- * devices, even for 32-bit applications, may be higher than 0x0f0000000.
48- */
49-
50- for (i = 0; i < 8; i++) {
51- sprintf(filename,"/dev/fb%d",i);
52- if (-1 == (fd = open(filename,O_RDWR,0))) {
53- xf86DrvMsg(-1, X_WARNING,
54- "open %s: %s\n", filename, strerror(errno));
55- continue;
56- }
57- if (-1 == ioctl(fd,FBIOGET_FSCREENINFO,(void*)&fix)) {
58- close(fd);
59- continue;
60- }
61- for (j = 0; j < 6; j++) {
62- const pciaddr_t res_start = pPci->regions[j].base_addr;
63- const pciaddr_t res_end = res_start + pPci->regions[j].size;
64-
65- if ((0 != fix.smem_len &&
66- (pciaddr_t) fix.smem_start >= res_start &&
67- (pciaddr_t) fix.smem_start < res_end) ||
68- (0 != fix.mmio_len &&
69- (pciaddr_t) fix.mmio_start >= res_start &&
70- (pciaddr_t) fix.mmio_start < res_end))
71- break;
72- }
73- if (j == 6) {
74- close(fd);
75- continue;
76- }
77- if (namep) {
78- *namep = xnfalloc(16);
79- strncpy(*namep,fix.id,16);
80- }
81- return fd;
82- }
83-
84 if (namep)
85 *namep = NULL;
86
87- xf86DrvMsg(-1, X_ERROR,
88- "Unable to find a valid framebuffer device\n");
89+ xf86DrvMsg(-1, X_ERROR, "Unable to find a valid framebuffer device\n");
90 return -1;
91 }
92
diff --git a/meta-emenlow/recipes-graphics/xorg-xserver/files/werror-address-fix.patch b/meta-emenlow/recipes-graphics/xorg-xserver/files/werror-address-fix.patch
new file mode 100644
index 0000000..9a56a4f
--- /dev/null
+++ b/meta-emenlow/recipes-graphics/xorg-xserver/files/werror-address-fix.patch
@@ -0,0 +1,515 @@
1Upstream-Status: Inappropriate [yocto-specific]
2
3Signed-off-by: Tom Zanussi <tom.zanussi (a] intel.com>
4
5Index: xorg-server-1.7.99.2/Xext/xace.c
6===================================================================
7--- xorg-server-1.7.99.2.orig/Xext/xace.c 2012-01-10 19:18:03.696703936 -0600
8+++ xorg-server-1.7.99.2/Xext/xace.c 2012-01-10 19:18:17.196730688 -0600
9@@ -255,7 +255,7 @@
10 imageBox.y1 = y;
11 imageBox.x2 = x + w;
12 imageBox.y2 = y + h;
13- REGION_INIT(pScreen, &imageRegion, &imageBox, 1);
14+ REGION_INIT2(pScreen, &imageRegion, &imageBox, 1);
15 REGION_NULL(pScreen, &censorRegion);
16
17 /* censorRegion = imageRegion - visibleRegion */
18Index: xorg-server-1.7.99.2/dix/window.c
19===================================================================
20--- xorg-server-1.7.99.2.orig/dix/window.c 2012-01-10 17:55:40.997816709 -0600
21+++ xorg-server-1.7.99.2/dix/window.c 2012-01-10 19:03:09.166733166 -0600
22@@ -418,10 +418,10 @@
23 box.y1 = 0;
24 box.x2 = pScreen->width;
25 box.y2 = pScreen->height;
26- REGION_INIT(pScreen, &pWin->clipList, &box, 1);
27- REGION_INIT(pScreen, &pWin->winSize, &box, 1);
28- REGION_INIT(pScreen, &pWin->borderSize, &box, 1);
29- REGION_INIT(pScreen, &pWin->borderClip, &box, 1);
30+ REGION_INIT2(pScreen, &pWin->clipList, &box, 1);
31+ REGION_INIT2(pScreen, &pWin->winSize, &box, 1);
32+ REGION_INIT2(pScreen, &pWin->borderSize, &box, 1);
33+ REGION_INIT2(pScreen, &pWin->borderClip, &box, 1);
34
35 pWin->drawable.class = InputOutput;
36 pWin->optional->visual = pScreen->rootVisual;
37Index: xorg-server-1.7.99.2/exa/exa.c
38===================================================================
39--- xorg-server-1.7.99.2.orig/exa/exa.c 2012-01-10 19:25:33.417588200 -0600
40+++ xorg-server-1.7.99.2/exa/exa.c 2012-01-10 19:25:40.426941145 -0600
41@@ -161,7 +161,7 @@
42 if (box.x1 >= box.x2 || box.y1 >= box.y2)
43 return;
44
45- REGION_INIT(pScreen, &region, &box, 1);
46+ REGION_INIT2(pScreen, &region, &box, 1);
47 DamageRegionAppend(&pPix->drawable, &region);
48 DamageRegionProcessPending(&pPix->drawable);
49 REGION_UNINIT(pScreen, &region);
50Index: xorg-server-1.7.99.2/exa/exa_accel.c
51===================================================================
52--- xorg-server-1.7.99.2.orig/exa/exa_accel.c 2012-01-10 19:24:57.457521222 -0600
53+++ xorg-server-1.7.99.2/exa/exa_accel.c 2012-01-10 19:26:21.976736053 -0600
54@@ -1275,7 +1275,7 @@
55 Box.x2 = Box.x1 + w;
56 Box.y2 = Box.y1 + h;
57
58- REGION_INIT(pScreen, &Reg, &Box, 1);
59+ REGION_INIT2(pScreen, &Reg, &Box, 1);
60
61 pixmaps[0].as_dst = FALSE;
62 pixmaps[0].as_src = TRUE;
63Index: xorg-server-1.7.99.2/exa/exa_classic.c
64===================================================================
65--- xorg-server-1.7.99.2.orig/exa/exa_classic.c 2012-01-10 19:24:48.047527363 -0600
66+++ xorg-server-1.7.99.2/exa/exa_classic.c 2012-01-10 19:25:29.056935821 -0600
67@@ -131,8 +131,8 @@
68 box.y1 = 0;
69 box.x2 = w;
70 box.y2 = h;
71- REGION_INIT(pScreen, &pExaPixmap->validSys, &box, 0);
72- REGION_INIT(pScreen, &pExaPixmap->validFB, &box, 0);
73+ REGION_INIT2(pScreen, &pExaPixmap->validSys, &box, 0);
74+ REGION_INIT2(pScreen, &pExaPixmap->validFB, &box, 0);
75
76 exaSetAccelBlock(pExaScr, pExaPixmap,
77 w, h, bpp);
78Index: xorg-server-1.7.99.2/exa/exa_migration_classic.c
79===================================================================
80--- xorg-server-1.7.99.2.orig/exa/exa_migration_classic.c 2012-01-10 19:26:48.177818546 -0600
81+++ xorg-server-1.7.99.2/exa/exa_migration_classic.c 2012-01-10 19:26:58.277521329 -0600
82@@ -177,7 +177,7 @@
83 box.x2 = max(pValidExt->x2, pDamageExt->x2);
84 box.y2 = max(pValidExt->y2, pDamageExt->y2);
85
86- REGION_INIT(pScreen, &closure, &box, 0);
87+ REGION_INIT2(pScreen, &closure, &box, 0);
88 REGION_INTERSECT(pScreen, &CopyReg, &CopyReg, &closure);
89 } else
90 REGION_INTERSECT(pScreen, &CopyReg, &CopyReg, pending_damage);
91Index: xorg-server-1.7.99.2/exa/exa_render.c
92===================================================================
93--- xorg-server-1.7.99.2.orig/exa/exa_render.c 2012-01-10 19:27:48.157788532 -0600
94+++ xorg-server-1.7.99.2/exa/exa_render.c 2012-01-10 19:28:02.006706610 -0600
95@@ -576,7 +576,7 @@
96 * (see use of DamagePendingRegion in exaCopyDirty)
97 */
98
99- REGION_INIT(pScreen, &region, &box, 1);
100+ REGION_INIT2(pScreen, &region, &box, 1);
101
102 DamageRegionAppend(pDst->pDrawable, &region);
103
104Index: xorg-server-1.7.99.2/exa/exa_unaccel.c
105===================================================================
106--- xorg-server-1.7.99.2.orig/exa/exa_unaccel.c 2012-01-10 19:27:53.367612350 -0600
107+++ xorg-server-1.7.99.2/exa/exa_unaccel.c 2012-01-10 19:28:09.296923679 -0600
108@@ -344,7 +344,7 @@
109 Box.x2 = Box.x1 + w;
110 Box.y2 = Box.y1 + h;
111
112- REGION_INIT(pScreen, &Reg, &Box, 1);
113+ REGION_INIT2(pScreen, &Reg, &Box, 1);
114
115 pExaScr->prepare_access_reg(pPix, EXA_PREPARE_SRC, &Reg);
116 } else
117Index: xorg-server-1.7.99.2/fb/fboverlay.c
118===================================================================
119--- xorg-server-1.7.99.2.orig/fb/fboverlay.c 2012-01-10 19:11:34.557708404 -0600
120+++ xorg-server-1.7.99.2/fb/fboverlay.c 2012-01-10 19:12:00.927730397 -0600
121@@ -147,7 +147,7 @@
122 pbits))
123 return FALSE;
124 pScrPriv->layer[i].u.run.pixmap = pPixmap;
125- REGION_INIT(pScreen, &pScrPriv->layer[i].u.run.region, &box, 0);
126+ REGION_INIT2(pScreen, &pScrPriv->layer[i].u.run.region, &box, 0);
127 }
128 pScreen->devPrivate = pScrPriv->layer[0].u.run.pixmap;
129 return TRUE;
130Index: xorg-server-1.7.99.2/glx/glxdri2.c
131===================================================================
132--- xorg-server-1.7.99.2.orig/glx/glxdri2.c 2012-01-10 19:22:49.027529676 -0600
133+++ xorg-server-1.7.99.2/glx/glxdri2.c 2012-01-10 19:23:32.686731325 -0600
134@@ -126,7 +126,7 @@
135 box.y1 = private->height - y - h;
136 box.x2 = x + w;
137 box.y2 = private->height - y;
138- REGION_INIT(drawable->pDraw->pScreen, &region, &box, 0);
139+ REGION_INIT2(drawable->pDraw->pScreen, &region, &box, 0);
140
141 DRI2CopyRegion(drawable->pDraw, &region,
142 DRI2BufferFrontLeft, DRI2BufferBackLeft);
143@@ -154,7 +154,7 @@
144 box.y1 = 0;
145 box.x2 = private->width;
146 box.y2 = private->height;
147- REGION_INIT(drawable->pDraw->pScreen, &region, &box, 0);
148+ REGION_INIT2(drawable->pDraw->pScreen, &region, &box, 0);
149
150 DRI2CopyRegion(drawable->pDraw, &region,
151 DRI2BufferFakeFrontLeft, DRI2BufferFrontLeft);
152@@ -171,7 +171,7 @@
153 box.y1 = 0;
154 box.x2 = private->width;
155 box.y2 = private->height;
156- REGION_INIT(drawable->pDraw->pScreen, &region, &box, 0);
157+ REGION_INIT2(drawable->pDraw->pScreen, &region, &box, 0);
158
159 DRI2CopyRegion(drawable->pDraw, &region,
160 DRI2BufferFrontLeft, DRI2BufferFakeFrontLeft);
161Index: xorg-server-1.7.99.2/hw/xfree86/common/xf86Helper.c
162===================================================================
163--- xorg-server-1.7.99.2.orig/hw/xfree86/common/xf86Helper.c 2012-01-10 19:30:12.336705520 -0600
164+++ xorg-server-1.7.99.2/hw/xfree86/common/xf86Helper.c 2012-01-10 19:32:03.116939624 -0600
165@@ -1107,8 +1107,8 @@
166 box.y1 = 0;
167 box.x2 = pScreen->width;
168 box.y2 = pScreen->height;
169- REGION_INIT (pScreen, &pWin->winSize, &box, 1);
170- REGION_INIT (pScreen, &pWin->borderSize, &box, 1);
171+ REGION_INIT2 (pScreen, &pWin->winSize, &box, 1);
172+ REGION_INIT2 (pScreen, &pWin->borderSize, &box, 1);
173 if (WasViewable)
174 REGION_RESET(pScreen, &pWin->borderClip, &box);
175 pWin->drawable.width = pScreen->width;
176Index: xorg-server-1.7.99.2/hw/xfree86/common/xf86fbman.c
177===================================================================
178--- xorg-server-1.7.99.2.orig/hw/xfree86/common/xf86fbman.c 2012-01-10 19:29:29.268021709 -0600
179+++ xorg-server-1.7.99.2/hw/xfree86/common/xf86fbman.c 2012-01-10 19:31:36.426770740 -0600
180@@ -536,7 +536,7 @@
181 (resize->box.x2 == OrigArea.x2))
182 return TRUE;
183
184- REGION_INIT(pScreen, &FreedReg, &OrigArea, 1);
185+ REGION_INIT2(pScreen, &FreedReg, &OrigArea, 1);
186 REGION_INIT(pScreen, &NewReg, &(resize->box), 1);
187 REGION_SUBTRACT(pScreen, &FreedReg, &FreedReg, &NewReg);
188 REGION_UNION(pScreen, offman->FreeBoxes, offman->FreeBoxes, &FreedReg);
189@@ -551,7 +551,7 @@
190
191 /* otherwise we remove the old region */
192
193- REGION_INIT(pScreen, &FreedReg, &OrigArea, 1);
194+ REGION_INIT2(pScreen, &FreedReg, &OrigArea, 1);
195 REGION_UNION(pScreen, offman->FreeBoxes, offman->FreeBoxes, &FreedReg);
196
197 /* remove the old link */
198@@ -1206,7 +1206,7 @@
199 if (FullBox->y2 < FullBox->y1) return FALSE;
200 if (FullBox->x2 < FullBox->x1) return FALSE;
201
202- REGION_INIT(pScreen, &ScreenRegion, &ScreenBox, 1);
203+ REGION_INIT2(pScreen, &ScreenRegion, &ScreenBox, 1);
204 REGION_INIT(pScreen, &FullRegion, FullBox, 1);
205
206 REGION_SUBTRACT(pScreen, &FullRegion, &FullRegion, &ScreenRegion);
207Index: xorg-server-1.7.99.2/hw/xfree86/common/xf86xv.c
208===================================================================
209--- xorg-server-1.7.99.2.orig/hw/xfree86/common/xf86xv.c 2012-01-10 19:32:53.867575211 -0600
210+++ xorg-server-1.7.99.2/hw/xfree86/common/xf86xv.c 2012-01-10 19:34:41.106734114 -0600
211@@ -711,7 +711,7 @@
212 WinBox.y2 = WinBox.y1 + portPriv->drw_h;
213
214 /* clip to the window composite clip */
215- REGION_INIT(pScreen, &WinRegion, &WinBox, 1);
216+ REGION_INIT2(pScreen, &WinRegion, &WinBox, 1);
217 REGION_NULL(pScreen, &ClipRegion);
218 REGION_INTERSECT(pScreen, &ClipRegion, &WinRegion, portPriv->pCompositeClip);
219
220@@ -776,7 +776,7 @@
221 WinBox.y2 = WinBox.y1 + portPriv->drw_h;
222
223 /* clip to the window composite clip */
224- REGION_INIT(pScreen, &WinRegion, &WinBox, 1);
225+ REGION_INIT2(pScreen, &WinRegion, &WinBox, 1);
226 REGION_NULL(pScreen, &ClipRegion);
227 REGION_INTERSECT(pScreen, &ClipRegion, &WinRegion, portPriv->pCompositeClip);
228
229@@ -790,7 +790,7 @@
230 VPBox.x2 = portPriv->pScrn->frameX1 + 1;
231 VPBox.y2 = portPriv->pScrn->frameY1 + 1;
232
233- REGION_INIT(pScreen, &VPReg, &VPBox, 1);
234+ REGION_INIT2(pScreen, &VPReg, &VPBox, 1);
235 REGION_INTERSECT(pScreen, &ClipRegion, &ClipRegion, &VPReg);
236 REGION_UNINIT(pScreen, &VPReg);
237 }
238@@ -866,7 +866,7 @@
239 WinBox.y2 = WinBox.y1 + portPriv->drw_h;
240
241 /* clip to the window composite clip */
242- REGION_INIT(pScreen, &WinRegion, &WinBox, 1);
243+ REGION_INIT2(pScreen, &WinRegion, &WinBox, 1);
244 REGION_NULL(pScreen, &ClipRegion);
245 REGION_INTERSECT(pScreen, &ClipRegion, &WinRegion, portPriv->pCompositeClip);
246
247@@ -880,7 +880,7 @@
248 VPBox.x2 = portPriv->pScrn->frameX1 + 1;
249 VPBox.y2 = portPriv->pScrn->frameY1 + 1;
250
251- REGION_INIT(pScreen, &VPReg, &VPBox, 1);
252+ REGION_INIT2(pScreen, &VPReg, &VPBox, 1);
253 REGION_INTERSECT(pScreen, &ClipRegion, &ClipRegion, &VPReg);
254 REGION_UNINIT(pScreen, &VPReg);
255 }
256@@ -1423,7 +1423,7 @@
257 WinBox.x2 = WinBox.x1 + drw_w;
258 WinBox.y2 = WinBox.y1 + drw_h;
259
260- REGION_INIT(pScreen, &WinRegion, &WinBox, 1);
261+ REGION_INIT2(pScreen, &WinRegion, &WinBox, 1);
262 REGION_NULL(pScreen, &ClipRegion);
263 REGION_INTERSECT(pScreen, &ClipRegion, &WinRegion, pGC->pCompositeClip);
264
265@@ -1436,7 +1436,7 @@
266 VPBox.x2 = portPriv->pScrn->frameX1 + 1;
267 VPBox.y2 = portPriv->pScrn->frameY1 + 1;
268
269- REGION_INIT(pScreen, &VPReg, &VPBox, 1);
270+ REGION_INIT2(pScreen, &VPReg, &VPBox, 1);
271 REGION_INTERSECT(pScreen, &ClipRegion, &ClipRegion, &VPReg);
272 REGION_UNINIT(pScreen, &VPReg);
273 }
274@@ -1575,7 +1575,7 @@
275 WinBox.x2 = WinBox.x1 + drw_w;
276 WinBox.y2 = WinBox.y1 + drw_h;
277
278- REGION_INIT(pScreen, &WinRegion, &WinBox, 1);
279+ REGION_INIT2(pScreen, &WinRegion, &WinBox, 1);
280 REGION_NULL(pScreen, &ClipRegion);
281 REGION_INTERSECT(pScreen, &ClipRegion, &WinRegion, pGC->pCompositeClip);
282
283@@ -1723,7 +1723,7 @@
284 WinBox.x2 = WinBox.x1 + drw_w;
285 WinBox.y2 = WinBox.y1 + drw_h;
286
287- REGION_INIT(pScreen, &WinRegion, &WinBox, 1);
288+ REGION_INIT2(pScreen, &WinRegion, &WinBox, 1);
289 REGION_NULL(pScreen, &ClipRegion);
290 REGION_INTERSECT(pScreen, &ClipRegion, &WinRegion, pGC->pCompositeClip);
291
292@@ -1736,7 +1736,7 @@
293 VPBox.x2 = portPriv->pScrn->frameX1 + 1;
294 VPBox.y2 = portPriv->pScrn->frameY1 + 1;
295
296- REGION_INIT(pScreen, &VPReg, &VPBox, 1);
297+ REGION_INIT2(pScreen, &VPReg, &VPBox, 1);
298 REGION_INTERSECT(pScreen, &ClipRegion, &ClipRegion, &VPReg);
299 REGION_UNINIT(pScreen, &VPReg);
300 }
301Index: xorg-server-1.7.99.2/hw/xfree86/dri2/dri2.c
302===================================================================
303--- xorg-server-1.7.99.2.orig/hw/xfree86/dri2/dri2.c 2012-01-10 21:16:09.657521437 -0600
304+++ xorg-server-1.7.99.2/hw/xfree86/dri2/dri2.c 2012-01-10 21:16:20.876960691 -0600
305@@ -283,7 +283,7 @@
306 box.y1 = 0;
307 box.x2 = pPriv->width;
308 box.y2 = pPriv->height;
309- REGION_INIT(pDraw->pScreen, &region, &box, 0);
310+ REGION_INIT2(pDraw->pScreen, &region, &box, 0);
311
312 DRI2CopyRegion(pDraw, &region, DRI2BufferFakeFrontLeft,
313 DRI2BufferFrontLeft);
314Index: xorg-server-1.7.99.2/hw/xfree86/modes/xf86Crtc.c
315===================================================================
316--- xorg-server-1.7.99.2.orig/hw/xfree86/modes/xf86Crtc.c 2012-01-10 20:06:07.747729534 -0600
317+++ xorg-server-1.7.99.2/hw/xfree86/modes/xf86Crtc.c 2012-01-10 20:06:25.306735060 -0600
318@@ -3123,7 +3123,7 @@
319 &crtc_box);
320
321 if (crtc) {
322- REGION_INIT (pScreen, &crtc_region_local, &crtc_box, 1);
323+ REGION_INIT2 (pScreen, &crtc_region_local, &crtc_box, 1);
324 crtc_region = &crtc_region_local;
325 REGION_INTERSECT (pScreen, crtc_region, crtc_region, reg);
326 }
327Index: xorg-server-1.7.99.2/hw/xfree86/modes/xf86Rotate.c
328===================================================================
329--- xorg-server-1.7.99.2.orig/hw/xfree86/modes/xf86Rotate.c 2012-01-10 20:06:52.906706867 -0600
330+++ xorg-server-1.7.99.2/hw/xfree86/modes/xf86Rotate.c 2012-01-10 20:07:09.076733051 -0600
331@@ -167,7 +167,7 @@
332 if (damage_box.y1 < 0) damage_box.y1 = 0;
333 if (damage_box.x2 > pScreen->width) damage_box.x2 = pScreen->width;
334 if (damage_box.y2 > pScreen->height) damage_box.y2 = pScreen->height;
335- REGION_INIT (pScreen, &damage_region, &damage_box, 1);
336+ REGION_INIT2 (pScreen, &damage_region, &damage_box, 1);
337 DamageRegionAppend (&(*pScreen->GetScreenPixmap)(pScreen)->drawable,
338 &damage_region);
339 REGION_UNINIT (pScreen, &damage_region);
340Index: xorg-server-1.7.99.2/hw/xfree86/xaa/xaaBitBlt.c
341===================================================================
342--- xorg-server-1.7.99.2.orig/hw/xfree86/xaa/xaaBitBlt.c 2012-01-10 20:04:11.086727146 -0600
343+++ xorg-server-1.7.99.2/hw/xfree86/xaa/xaaBitBlt.c 2012-01-10 20:05:00.747564540 -0600
344@@ -118,7 +118,7 @@
345 fastExpose = 0;
346 }
347 } else {
348- REGION_INIT(pGC->pScreen, &rgnDst, &fastBox, 1);
349+ REGION_INIT2(pGC->pScreen, &rgnDst, &fastBox, 1);
350 REGION_INTERSECT(pGC->pScreen, &rgnDst, &rgnDst, prgnSrcClip);
351 }
352
353@@ -165,14 +165,14 @@
354 if (fastBox.x1 >= fastBox.x2 || fastBox.y1 >= fastBox.y2) {
355 REGION_NULL(pGC->pScreen, &rgnDst);
356 } else {
357- REGION_INIT(pGC->pScreen, &rgnDst, &fastBox, 1);
358+ REGION_INIT2(pGC->pScreen, &rgnDst, &fastBox, 1);
359 }
360 } else {
361 /* We must turn off fastClip now, since we must create
362 a full blown region. It is intersected with the
363 composite clip below. */
364 fastClip = 0;
365- REGION_INIT(pGC->pScreen, &rgnDst, &fastBox,1);
366+ REGION_INIT2(pGC->pScreen, &rgnDst, &fastBox,1);
367 }
368 } else {
369 REGION_TRANSLATE(pGC->pScreen, &rgnDst, -dx, -dy);
370Index: xorg-server-1.7.99.2/include/regionstr.h
371===================================================================
372--- xorg-server-1.7.99.2.orig/include/regionstr.h 2012-01-10 19:02:29.548029362 -0600
373+++ xorg-server-1.7.99.2/include/regionstr.h 2012-01-10 19:02:38.466732886 -0600
374@@ -152,6 +152,11 @@
375 } \
376 }
377
378+#define REGION_INIT2(_pScreen, _pReg, _rect, _size) \
379+{ \
380+ (_pReg)->extents = *(_rect); \
381+ (_pReg)->data = (RegDataPtr)NULL; \
382+}
383
384 #define REGION_UNINIT(_pScreen, _pReg) \
385 { \
386Index: xorg-server-1.7.99.2/mi/mibank.c
387===================================================================
388--- xorg-server-1.7.99.2.orig/mi/mibank.c 2012-01-10 19:13:24.187649642 -0600
389+++ xorg-server-1.7.99.2/mi/mibank.c 2012-01-10 19:13:52.156941273 -0600
390@@ -772,7 +772,7 @@
391 }
392 else
393 {
394- REGION_INIT(pScreen, &rgnDst, &fastBox, 1);
395+ REGION_INIT2(pScreen, &rgnDst, &fastBox, 1);
396 REGION_INTERSECT(pScreen, &rgnDst, &rgnDst, prgnSrcClip);
397 pBox = REGION_RECTS(&rgnDst);
398 nBox = REGION_NUM_RECTS(&rgnDst);
399Index: xorg-server-1.7.99.2/mi/micopy.c
400===================================================================
401--- xorg-server-1.7.99.2.orig/mi/micopy.c 2012-01-10 19:12:55.427823858 -0600
402+++ xorg-server-1.7.99.2/mi/micopy.c 2012-01-10 19:13:43.617564166 -0600
403@@ -315,7 +315,7 @@
404 box.y1 = box_y1;
405 box.x2 = box_x2;
406 box.y2 = box_y2;
407- REGION_INIT(pGC->pScreen, &rgnDst, &box, 1);
408+ REGION_INIT2(pGC->pScreen, &rgnDst, &box, 1);
409 }
410
411 /* Clip against complex source if needed */
412Index: xorg-server-1.7.99.2/mi/miexpose.c
413===================================================================
414--- xorg-server-1.7.99.2.orig/mi/miexpose.c 2012-01-10 19:14:32.367860019 -0600
415+++ xorg-server-1.7.99.2/mi/miexpose.c 2012-01-10 19:15:04.996733972 -0600
416@@ -206,7 +206,7 @@
417 box.x2 = pSrcDrawable->width;
418 box.y2 = pSrcDrawable->height;
419 prgnSrcClip = &rgnSrcRec;
420- REGION_INIT(pscr, prgnSrcClip, &box, 1);
421+ REGION_INIT2(pscr, prgnSrcClip, &box, 1);
422 pSrcWin = NULL;
423 }
424
425@@ -239,11 +239,11 @@
426 box.x2 = pDstDrawable->width;
427 box.y2 = pDstDrawable->height;
428 prgnDstClip = &rgnDstRec;
429- REGION_INIT(pscr, prgnDstClip, &box, 1);
430+ REGION_INIT2(pscr, prgnDstClip, &box, 1);
431 }
432
433 /* drawable-relative source region */
434- REGION_INIT(pscr, &rgnExposed, &srcBox, 1);
435+ REGION_INIT2(pscr, &rgnExposed, &srcBox, 1);
436
437 /* now get the hidden parts of the source box*/
438 REGION_SUBTRACT(pscr, &rgnExposed, &rgnExposed, prgnSrcClip);
439@@ -491,7 +491,7 @@
440 box = *REGION_EXTENTS( pWin->drawable.pScreen, exposures);
441 if (exposures == prgn) {
442 exposures = &expRec;
443- REGION_INIT( pWin->drawable.pScreen, exposures, &box, 1);
444+ REGION_INIT2( pWin->drawable.pScreen, exposures, &box, 1);
445 REGION_RESET( pWin->drawable.pScreen, prgn, &box);
446 } else {
447 REGION_RESET( pWin->drawable.pScreen, exposures, &box);
448Index: xorg-server-1.7.99.2/mi/mioverlay.c
449===================================================================
450--- xorg-server-1.7.99.2.orig/mi/mioverlay.c 2012-01-10 19:16:09.686730991 -0600
451+++ xorg-server-1.7.99.2/mi/mioverlay.c 2012-01-10 19:16:32.496733671 -0600
452@@ -209,8 +209,8 @@
453 fullBox.y1 = 0;
454 fullBox.x2 = pScreen->width;
455 fullBox.y2 = pScreen->height;
456- REGION_INIT(pScreen, &(pTree->borderClip), &fullBox, 1);
457- REGION_INIT(pScreen, &(pTree->clipList), &fullBox, 1);
458+ REGION_INIT2(pScreen, &(pTree->borderClip), &fullBox, 1);
459+ REGION_INIT2(pScreen, &(pTree->clipList), &fullBox, 1);
460 }
461 } else xfree(pTree);
462 }
463@@ -1027,7 +1027,7 @@
464 box = *REGION_EXTENTS(pScreen, exposures);
465 if (exposures == prgn) {
466 exposures = &expRec;
467- REGION_INIT(pScreen, exposures, &box, 1);
468+ REGION_INIT2(pScreen, exposures, &box, 1);
469 REGION_RESET(pScreen, prgn, &box);
470 } else {
471 REGION_RESET(pScreen, exposures, &box);
472@@ -1672,7 +1672,7 @@
473 box.x1 = x1; box.x2 = x2;
474 box.y1 = y1; box.y2 = y2;
475
476- REGION_INIT(pScreen, &reg, &box, 1);
477+ REGION_INIT2(pScreen, &reg, &box, 1);
478
479 REGION_INTERSECT(pScreen, &reg, &reg, clipList);
480 if (generateExposures)
481Index: xorg-server-1.7.99.2/mi/miwindow.c
482===================================================================
483--- xorg-server-1.7.99.2.orig/mi/miwindow.c 2012-01-10 19:17:07.617526248 -0600
484+++ xorg-server-1.7.99.2/mi/miwindow.c 2012-01-10 19:17:17.267563248 -0600
485@@ -111,7 +111,7 @@
486 box.y2 = y2;
487
488 pScreen = pWin->drawable.pScreen;
489- REGION_INIT(pScreen, &reg, &box, 1);
490+ REGION_INIT2(pScreen, &reg, &box, 1);
491
492 REGION_INTERSECT(pScreen, &reg, &reg, &pWin->clipList);
493 if (generateExposures)
494Index: xorg-server-1.7.99.2/miext/damage/damage.c
495===================================================================
496--- xorg-server-1.7.99.2.orig/miext/damage/damage.c 2012-01-10 19:19:39.626736500 -0600
497+++ xorg-server-1.7.99.2/miext/damage/damage.c 2012-01-10 19:21:06.396941292 -0600
498@@ -324,7 +324,7 @@
499 box.y1 = draw_y;
500 box.x2 = draw_x + pDamage->pDrawable->width;
501 box.y2 = draw_y + pDamage->pDrawable->height;
502- REGION_INIT(pScreen, &pixClip, &box, 1);
503+ REGION_INIT2(pScreen, &pixClip, &box, 1);
504 REGION_INTERSECT (pScreen, pDamageRegion, pRegion, &pixClip);
505 REGION_UNINIT(pScreen, &pixClip);
506 }
507@@ -2085,7 +2085,7 @@
508 box.y1 = pDrawable->y;
509 box.x2 = pDrawable->x + pDrawable->width;
510 box.y2 = pDrawable->y + pDrawable->height;
511- REGION_INIT (pDrawable->pScreen, &pixmapClip, &box, 1);
512+ REGION_INIT2 (pDrawable->pScreen, &pixmapClip, &box, 1);
513 pClip = &pixmapClip;
514 }
515 REGION_TRANSLATE (pDrawable->pScreen, &pDamage->damage, pDrawable->x, pDrawable->y);
diff --git a/meta-emenlow/recipes-graphics/xorg-xserver/xserver-psb-1.7.99.2.inc b/meta-emenlow/recipes-graphics/xorg-xserver/xserver-psb-1.7.99.2.inc
index 0faee5e..9ee9c97 100644
--- a/meta-emenlow/recipes-graphics/xorg-xserver/xserver-psb-1.7.99.2.inc
+++ b/meta-emenlow/recipes-graphics/xorg-xserver/xserver-psb-1.7.99.2.inc
@@ -1,4 +1,4 @@
1PR = "r4" 1PR = "r5"
2 2
3PROTO_DEPS += "xf86driproto dri2proto" 3PROTO_DEPS += "xf86driproto dri2proto"
4 4
@@ -6,7 +6,9 @@ DEPENDS += "font-util"
6 6
7SRC_URI += "file://nodolt.patch \ 7SRC_URI += "file://nodolt.patch \
8 file://crosscompile.patch \ 8 file://crosscompile.patch \
9 file://libdrm-poulsbo.patch" 9 file://libdrm-poulsbo.patch \
10 file://werror-address-fix.patch \
11 file://ptr-to-int-cast-fix.patch"
10 12
11# Misc build failure for master HEAD 13# Misc build failure for master HEAD
12SRC_URI += "file://fix_open_max_preprocessor_error.patch" 14SRC_URI += "file://fix_open_max_preprocessor_error.patch"