| Submitter | Gary Thomas |
|---|---|
| Date | Jan. 4, 2012, 9:25 p.m. |
| Message ID | <4F04C3C6.3070006@mlbassoc.com> |
| Download | mbox | patch |
| Permalink | /patch/18313/ |
| State | New |
| Headers | show |
Comments
On 01/04/2012 01:25 PM, Gary Thomas wrote: > A number of calls to REGION_INIT() use a static box which is flagged > as an error with -Werror=address. This patch works around the problem, > but should not be considered a final solution. > > Upstream-Status: Inappropriate > > Signed-off-by: Gary Thomas <gary@mlbassoc.com> > --- > .../error-address-work-around.patch | 362 ++++++++++++++++++++ > .../xorg-xserver/xserver-kdrive_1.7.99.2.bb | 3 +- > 2 files changed, 364 insertions(+), 1 deletions(-) > create mode 100644 > meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/error-address-work-around.patch > > Merged into OE-Core Thanks for this, was working on it when yours came in! Sau! > diff --git > a/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/error-address-work-around.patch > b/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/error-address-work-around.patch > > new file mode 100644 > index 0000000..3052372 > --- /dev/null > +++ > b/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/error-address-work-around.patch > > @@ -0,0 +1,362 @@ > +diff -ur --exclude='*.lo' --exclude='config*' --exclude='Make*' > --exclude='ac*' xorg-server-1.7.99.2.ORIG/dix/window.c > xorg-server-1.7.99.2/dix/window.c > +--- xorg-server-1.7.99.2.ORIG/dix/window.c 2012-01-04 > 13:12:40.417640130 -0700 > ++++ xorg-server-1.7.99.2/dix/window.c 2012-01-04 12:13:20.678605493 -0700 > +@@ -559,10 +559,10 @@ > + box.y1 = 0; > + box.x2 = pScreen->width; > + box.y2 = pScreen->height; > +- REGION_INIT(pScreen, &pWin->clipList, &box, 1); > +- REGION_INIT(pScreen, &pWin->winSize, &box, 1); > +- REGION_INIT(pScreen, &pWin->borderSize, &box, 1); > +- REGION_INIT(pScreen, &pWin->borderClip, &box, 1); > ++ REGION_INIT2(pScreen, &pWin->clipList, &box, 1); > ++ REGION_INIT2(pScreen, &pWin->winSize, &box, 1); > ++ REGION_INIT2(pScreen, &pWin->borderSize, &box, 1); > ++ REGION_INIT2(pScreen, &pWin->borderClip, &box, 1); > + + pWin->drawable.class = InputOutput; > + pWin->optional->visual = pScreen->rootVisual; > +diff -ur --exclude='*.lo' --exclude='config*' --exclude='Make*' > --exclude='ac*' xorg-server-1.7.99.2.ORIG/exa/exa_accel.c > xorg-server-1.7.99.2/exa/exa_accel.c > +--- xorg-server-1.7.99.2.ORIG/exa/exa_accel.c 2009-12-11 > 11:20:48.000000000 -0700 > ++++ xorg-server-1.7.99.2/exa/exa_accel.c 2012-01-04 12:58:11.218616328 > -0700 > +@@ -1275,7 +1275,7 @@ > + Box.x2 = Box.x1 + w; > + Box.y2 = Box.y1 + h; > + +- REGION_INIT(pScreen, &Reg, &Box, 1); > ++ REGION_INIT2(pScreen, &Reg, &Box, 1); > + + pixmaps[0].as_dst = FALSE; > + pixmaps[0].as_src = TRUE; > +diff -ur --exclude='*.lo' --exclude='config*' --exclude='Make*' > --exclude='ac*' xorg-server-1.7.99.2.ORIG/exa/exa.c > xorg-server-1.7.99.2/exa/exa.c > +--- xorg-server-1.7.99.2.ORIG/exa/exa.c 2009-12-11 11:20:48.000000000 > -0700 > ++++ xorg-server-1.7.99.2/exa/exa.c 2012-01-04 12:56:30.592593427 -0700 > +@@ -161,7 +161,7 @@ > + if (box.x1 >= box.x2 || box.y1 >= box.y2) > + return; > + +- REGION_INIT(pScreen, ®ion, &box, 1); > ++ REGION_INIT2(pScreen, ®ion, &box, 1); > + DamageRegionAppend(&pPix->drawable, ®ion); > + DamageRegionProcessPending(&pPix->drawable); > + REGION_UNINIT(pScreen, ®ion); > +diff -ur --exclude='*.lo' --exclude='config*' --exclude='Make*' > --exclude='ac*' xorg-server-1.7.99.2.ORIG/exa/exa_classic.c > xorg-server-1.7.99.2/exa/exa_classic.c > +--- xorg-server-1.7.99.2.ORIG/exa/exa_classic.c 2009-11-28 > 13:44:58.000000000 -0700 > ++++ xorg-server-1.7.99.2/exa/exa_classic.c 2012-01-04 > 12:54:50.586576675 -0700 > +@@ -131,8 +131,8 @@ > + box.y1 = 0; > + box.x2 = w; > + box.y2 = h; > +- REGION_INIT(pScreen, &pExaPixmap->validSys, &box, 0); > +- REGION_INIT(pScreen, &pExaPixmap->validFB, &box, 0); > ++ REGION_INIT2(pScreen, &pExaPixmap->validSys, &box, 0); > ++ REGION_INIT2(pScreen, &pExaPixmap->validFB, &box, 0); > + + exaSetAccelBlock(pExaScr, pExaPixmap, > + w, h, bpp); > +diff -ur --exclude='*.lo' --exclude='config*' --exclude='Make*' > --exclude='ac*' xorg-server-1.7.99.2.ORIG/exa/exa_migration_classic.c > xorg-server-1.7.99.2/exa/exa_migration_classic.c > +--- xorg-server-1.7.99.2.ORIG/exa/exa_migration_classic.c 2009-11-28 > 13:44:58.000000000 -0700 > ++++ xorg-server-1.7.99.2/exa/exa_migration_classic.c 2012-01-04 > 12:54:43.077500333 -0700 > +@@ -177,7 +177,7 @@ > + box.x2 = max(pValidExt->x2, pDamageExt->x2); > + box.y2 = max(pValidExt->y2, pDamageExt->y2); > + +- REGION_INIT(pScreen, &closure, &box, 0); > ++ REGION_INIT2(pScreen, &closure, &box, 0); > + REGION_INTERSECT(pScreen, &CopyReg, &CopyReg, &closure); > + } else > + REGION_INTERSECT(pScreen, &CopyReg, &CopyReg, pending_damage); > +diff -ur --exclude='*.lo' --exclude='config*' --exclude='Make*' > --exclude='ac*' xorg-server-1.7.99.2.ORIG/exa/exa_render.c > xorg-server-1.7.99.2/exa/exa_render.c > +--- xorg-server-1.7.99.2.ORIG/exa/exa_render.c 2009-11-28 > 13:44:58.000000000 -0700 > ++++ xorg-server-1.7.99.2/exa/exa_render.c 2012-01-04 12:59:18.234297490 > -0700 > +@@ -576,7 +576,7 @@ > + * (see use of DamagePendingRegion in exaCopyDirty) > + */ > + +- REGION_INIT(pScreen, ®ion, &box, 1); > ++ REGION_INIT2(pScreen, ®ion, &box, 1); > + + DamageRegionAppend(pDst->pDrawable, ®ion); > + +diff -ur --exclude='*.lo' --exclude='config*' --exclude='Make*' > --exclude='ac*' xorg-server-1.7.99.2.ORIG/exa/exa_unaccel.c > xorg-server-1.7.99.2/exa/exa_unaccel.c > +--- xorg-server-1.7.99.2.ORIG/exa/exa_unaccel.c 2009-12-11 > 11:20:48.000000000 -0700 > ++++ xorg-server-1.7.99.2/exa/exa_unaccel.c 2012-01-04 > 12:59:25.915375559 -0700 > +@@ -344,7 +344,7 @@ > + Box.x2 = Box.x1 + w; > + Box.y2 = Box.y1 + h; > + +- REGION_INIT(pScreen, &Reg, &Box, 1); > ++ REGION_INIT2(pScreen, &Reg, &Box, 1); > + + pExaScr->prepare_access_reg(pPix, EXA_PREPARE_SRC, &Reg); > + } else > +diff -ur --exclude='*.lo' --exclude='config*' --exclude='Make*' > --exclude='ac*' xorg-server-1.7.99.2.ORIG/fb/fboverlay.c > xorg-server-1.7.99.2/fb/fboverlay.c > +--- xorg-server-1.7.99.2.ORIG/fb/fboverlay.c 2009-11-04 > 09:25:50.000000000 -0700 > ++++ xorg-server-1.7.99.2/fb/fboverlay.c 2012-01-04 12:24:43.855400893 > -0700 > +@@ -147,7 +147,7 @@ > + pbits)) > + return FALSE; > + pScrPriv->layer[i].u.run.pixmap = pPixmap; > +- REGION_INIT(pScreen, &pScrPriv->layer[i].u.run.region, &box, 0); > ++ REGION_INIT2(pScreen, &pScrPriv->layer[i].u.run.region, &box, 0); > + } > + pScreen->devPrivate = pScrPriv->layer[0].u.run.pixmap; > + return TRUE; > +diff -ur --exclude='*.lo' --exclude='config*' --exclude='Make*' > --exclude='ac*' xorg-server-1.7.99.2.ORIG/hw/kdrive/src/kdrive.c > xorg-server-1.7.99.2/hw/kdrive/src/kdrive.c > +--- xorg-server-1.7.99.2.ORIG/hw/kdrive/src/kdrive.c 2012-01-04 > 13:12:40.418640141 -0700 > ++++ xorg-server-1.7.99.2/hw/kdrive/src/kdrive.c 2012-01-04 > 13:05:08.771897914 -0700 > +@@ -144,8 +144,8 @@ > + box.y2 = pScreen->height; > + pWin->drawable.width = pScreen->width; > + pWin->drawable.height = pScreen->height; > +- REGION_INIT (pScreen, &pWin->winSize, &box, 1); > +- REGION_INIT (pScreen, &pWin->borderSize, &box, 1); > ++ REGION_INIT2 (pScreen, &pWin->winSize, &box, 1); > ++ REGION_INIT2 (pScreen, &pWin->borderSize, &box, 1); > + REGION_RESET(pScreen, &pWin->borderClip, &box); > + REGION_BREAK (pWin->drawable.pScreen, &pWin->clipList); > + } > +diff -ur --exclude='*.lo' --exclude='config*' --exclude='Make*' > --exclude='ac*' xorg-server-1.7.99.2.ORIG/hw/kdrive/src/kxv.c > xorg-server-1.7.99.2/hw/kdrive/src/kxv.c > +--- xorg-server-1.7.99.2.ORIG/hw/kdrive/src/kxv.c 2008-11-14 > 14:27:05.000000000 -0700 > ++++ xorg-server-1.7.99.2/hw/kdrive/src/kxv.c 2012-01-04 > 13:07:32.625411023 -0700 > +@@ -674,7 +674,7 @@ > + WinBox.y2 = WinBox.y1 + portPriv->drw_h; > + + /* clip to the window composite clip */ > +- REGION_INIT(portPriv->pDraw->pScreen, &WinRegion, &WinBox, 1); > ++ REGION_INIT2(portPriv->pDraw->pScreen, &WinRegion, &WinBox, 1); > + REGION_INIT(portPriv->pDraw->pScreen, &ClipRegion, NullBox, 1); > + REGION_INTERSECT(portPriv->pDraw->pScreen, &ClipRegion, &WinRegion, > portPriv->pCompositeClip); + +@@ -738,7 +738,7 @@ > + WinBox.y2 = WinBox.y1 + portPriv->drw_h; > + + /* clip to the window composite clip */ > +- REGION_INIT(pScreen, &WinRegion, &WinBox, 1); > ++ REGION_INIT2(pScreen, &WinRegion, &WinBox, 1); > + REGION_INIT(pScreen, &ClipRegion, NullBox, 1); > + REGION_INTERSECT(Screen, &ClipRegion, &WinRegion, > portPriv->pCompositeClip); + +@@ -752,7 +752,7 @@ > + VPBox.x2 = screen->width; > + VPBox.y2 = screen->height; > + +- REGION_INIT(pScreen, &VPReg, &VPBox, 1); > ++ REGION_INIT2(pScreen, &VPReg, &VPBox, 1); > + REGION_INTERSECT(Screen, &ClipRegion, &ClipRegion, &VPReg); + > REGION_UNINIT(pScreen, &VPReg); > + } > +@@ -827,7 +827,7 @@ > + WinBox.y2 = WinBox.y1 + portPriv->drw_h; > + + /* clip to the window composite clip */ > +- REGION_INIT(pScreen, &WinRegion, &WinBox, 1); > ++ REGION_INIT2(pScreen, &WinRegion, &WinBox, 1); > + REGION_INIT(pScreen, &ClipRegion, NullBox, 1); > + REGION_INTERSECT(Screen, &ClipRegion, &WinRegion, > portPriv->pCompositeClip); + +@@ -841,7 +841,7 @@ > + VPBox.x2 = screen->width; > + VPBox.y2 = screen->height; > + +- REGION_INIT(pScreen, &VPReg, &VPBox, 1); > ++ REGION_INIT2(pScreen, &VPReg, &VPBox, 1); > + REGION_INTERSECT(Screen, &ClipRegion, &ClipRegion, &VPReg); + > REGION_UNINIT(pScreen, &VPReg); > + } > +@@ -1337,7 +1337,7 @@ > + WinBox.x2 = WinBox.x1 + drw_w; > + WinBox.y2 = WinBox.y1 + drw_h; > + +- REGION_INIT(pScreen, &WinRegion, &WinBox, 1); > ++ REGION_INIT2(pScreen, &WinRegion, &WinBox, 1); > + REGION_INIT(pScreen, &ClipRegion, NullBox, 1); > + REGION_INTERSECT(pScreen, &ClipRegion, &WinRegion, > pGC->pCompositeClip); + +@@ -1350,7 +1350,7 @@ > + VPBox.x2 = screen->width; > + VPBox.y2 = screen->height; > + +- REGION_INIT(pScreen, &VPReg, &VPBox, 1); > ++ REGION_INIT2(pScreen, &VPReg, &VPBox, 1); > + REGION_INTERSECT(Screen, &ClipRegion, &ClipRegion, &VPReg); + > REGION_UNINIT(pScreen, &VPReg); > + } > +@@ -1490,7 +1490,7 @@ > + WinBox.x2 = WinBox.x1 + drw_w; > + WinBox.y2 = WinBox.y1 + drw_h; > + +- REGION_INIT(pScreen, &WinRegion, &WinBox, 1); > ++ REGION_INIT2(pScreen, &WinRegion, &WinBox, 1); > + REGION_INIT(pScreen, &ClipRegion, NullBox, 1); > + REGION_INTERSECT(pScreen, &ClipRegion, &WinRegion, > pGC->pCompositeClip); + +@@ -1637,7 +1637,7 @@ > + WinBox.x2 = WinBox.x1 + drw_w; > + WinBox.y2 = WinBox.y1 + drw_h; > + +- REGION_INIT(pScreen, &WinRegion, &WinBox, 1); > ++ REGION_INIT2(pScreen, &WinRegion, &WinBox, 1); > + REGION_INIT(pScreen, &ClipRegion, NullBox, 1); > + REGION_INTERSECT(pScreen, &ClipRegion, &WinRegion, > pGC->pCompositeClip); + +@@ -1650,7 +1650,7 @@ > + VPBox.x2 = pScreen->width; > + VPBox.y2 = pScreen->height; > + +- REGION_INIT(pScreen, &VPReg, &VPBox, 1); > ++ REGION_INIT2(pScreen, &VPReg, &VPBox, 1); > + REGION_INTERSECT(Screen, &ClipRegion, &ClipRegion, &VPReg); + > REGION_UNINIT(pScreen, &VPReg); > + } > +diff -ur --exclude='*.lo' --exclude='config*' --exclude='Make*' > --exclude='ac*' xorg-server-1.7.99.2.ORIG/include/regionstr.h > xorg-server-1.7.99.2/include/regionstr.h > +--- xorg-server-1.7.99.2.ORIG/include/regionstr.h 2009-11-04 > 09:25:50.000000000 -0700 > ++++ xorg-server-1.7.99.2/include/regionstr.h 2012-01-04 > 12:13:06.174461574 -0700 > +@@ -152,6 +152,12 @@ > + } \ > + } > + ++#define REGION_INIT2(_pScreen, _pReg, _rect, _size) \ > ++{ \ > ++ (_pReg)->extents = *(_rect); \ > ++ (_pReg)->data = (RegDataPtr)NULL; \ > ++ } > ++ > + + #define REGION_UNINIT(_pScreen, _pReg) \ > + { \ > +diff -ur --exclude='*.lo' --exclude='config*' --exclude='Make*' > --exclude='ac*' xorg-server-1.7.99.2.ORIG/mi/micopy.c > xorg-server-1.7.99.2/mi/micopy.c > +--- xorg-server-1.7.99.2.ORIG/mi/micopy.c 2009-11-04 09:25:50.000000000 > -0700 > ++++ xorg-server-1.7.99.2/mi/micopy.c 2012-01-04 12:44:17.003144611 -0700 > +@@ -315,7 +315,7 @@ > + box.y1 = box_y1; > + box.x2 = box_x2; > + box.y2 = box_y2; > +- REGION_INIT(pGC->pScreen, &rgnDst, &box, 1); > ++ REGION_INIT2(pGC->pScreen, &rgnDst, &box, 1); > + } > + + /* Clip against complex source if needed */ > +diff -ur --exclude='*.lo' --exclude='config*' --exclude='Make*' > --exclude='ac*' xorg-server-1.7.99.2.ORIG/mi/miexpose.c > xorg-server-1.7.99.2/mi/miexpose.c > +--- xorg-server-1.7.99.2.ORIG/mi/miexpose.c 2009-11-04 > 09:25:50.000000000 -0700 > ++++ xorg-server-1.7.99.2/mi/miexpose.c 2012-01-04 12:46:29.400478668 -0700 > +@@ -206,7 +206,7 @@ > + box.x2 = pSrcDrawable->width; > + box.y2 = pSrcDrawable->height; > + prgnSrcClip = &rgnSrcRec; > +- REGION_INIT(pscr, prgnSrcClip, &box, 1); > ++ REGION_INIT2(pscr, prgnSrcClip, &box, 1); > + pSrcWin = NULL; > + } > + +@@ -239,11 +239,11 @@ > + box.x2 = pDstDrawable->width; > + box.y2 = pDstDrawable->height; > + prgnDstClip = &rgnDstRec; > +- REGION_INIT(pscr, prgnDstClip, &box, 1); > ++ REGION_INIT2(pscr, prgnDstClip, &box, 1); > + } > + + /* drawable-relative source region */ > +- REGION_INIT(pscr, &rgnExposed, &srcBox, 1); > ++ REGION_INIT2(pscr, &rgnExposed, &srcBox, 1); > + + /* now get the hidden parts of the source box*/ > + REGION_SUBTRACT(pscr, &rgnExposed, &rgnExposed, prgnSrcClip); > +@@ -491,7 +491,7 @@ > + box = *REGION_EXTENTS( pWin->drawable.pScreen, exposures); > + if (exposures == prgn) { > + exposures = &expRec; > +- REGION_INIT( pWin->drawable.pScreen, exposures, &box, 1); > ++ REGION_INIT2( pWin->drawable.pScreen, exposures, &box, 1); > + REGION_RESET( pWin->drawable.pScreen, prgn, &box); > + } else { > + REGION_RESET( pWin->drawable.pScreen, exposures, &box); > +diff -ur --exclude='*.lo' --exclude='config*' --exclude='Make*' > --exclude='ac*' xorg-server-1.7.99.2.ORIG/mi/mioverlay.c > xorg-server-1.7.99.2/mi/mioverlay.c > +--- xorg-server-1.7.99.2.ORIG/mi/mioverlay.c 2009-11-04 > 09:25:50.000000000 -0700 > ++++ xorg-server-1.7.99.2/mi/mioverlay.c 2012-01-04 12:47:50.114300224 > -0700 > +@@ -209,8 +209,8 @@ > + fullBox.y1 = 0; > + fullBox.x2 = pScreen->width; > + fullBox.y2 = pScreen->height; > +- REGION_INIT(pScreen, &(pTree->borderClip), &fullBox, 1); > +- REGION_INIT(pScreen, &(pTree->clipList), &fullBox, 1); > ++ REGION_INIT2(pScreen, &(pTree->borderClip), &fullBox, 1); > ++ REGION_INIT2(pScreen, &(pTree->clipList), &fullBox, 1); > + } > + } else xfree(pTree); > + } > +@@ -1027,7 +1027,7 @@ > + box = *REGION_EXTENTS(pScreen, exposures); > + if (exposures == prgn) { > + exposures = &expRec; > +- REGION_INIT(pScreen, exposures, &box, 1); > ++ REGION_INIT2(pScreen, exposures, &box, 1); > + REGION_RESET(pScreen, prgn, &box); > + } else { > + REGION_RESET(pScreen, exposures, &box); > +@@ -1672,7 +1672,7 @@ > + box.x1 = x1; box.x2 = x2; > + box.y1 = y1; box.y2 = y2; > + +- REGION_INIT(pScreen, ®, &box, 1); > ++ REGION_INIT2(pScreen, ®, &box, 1); > + + REGION_INTERSECT(pScreen, ®, ®, clipList); > + if (generateExposures) > +diff -ur --exclude='*.lo' --exclude='config*' --exclude='Make*' > --exclude='ac*' xorg-server-1.7.99.2.ORIG/mi/miwindow.c > xorg-server-1.7.99.2/mi/miwindow.c > +--- xorg-server-1.7.99.2.ORIG/mi/miwindow.c 2009-11-04 > 09:25:50.000000000 -0700 > ++++ xorg-server-1.7.99.2/mi/miwindow.c 2012-01-04 12:48:38.055787835 -0700 > +@@ -111,7 +111,7 @@ > + box.y2 = y2; > + + pScreen = pWin->drawable.pScreen; > +- REGION_INIT(pScreen, ®, &box, 1); > ++ REGION_INIT2(pScreen, ®, &box, 1); > + + REGION_INTERSECT(pScreen, ®, ®, &pWin->clipList); > + if (generateExposures) > +diff -ur --exclude='*.lo' --exclude='config*' --exclude='Make*' > --exclude='ac*' xorg-server-1.7.99.2.ORIG/miext/damage/damage.c > xorg-server-1.7.99.2/miext/damage/damage.c > +--- xorg-server-1.7.99.2.ORIG/miext/damage/damage.c 2009-11-04 > 09:25:50.000000000 -0700 > ++++ xorg-server-1.7.99.2/miext/damage/damage.c 2012-01-04 > 12:51:04.883281430 -0700 > +@@ -324,7 +324,7 @@ > + box.y1 = draw_y; > + box.x2 = draw_x + pDamage->pDrawable->width; > + box.y2 = draw_y + pDamage->pDrawable->height; > +- REGION_INIT(pScreen, &pixClip, &box, 1); > ++ REGION_INIT2(pScreen, &pixClip, &box, 1); > + REGION_INTERSECT (pScreen, pDamageRegion, pRegion, &pixClip); > + REGION_UNINIT(pScreen, &pixClip); > + } > +@@ -2085,7 +2085,7 @@ > + box.y1 = pDrawable->y; > + box.x2 = pDrawable->x + pDrawable->width; > + box.y2 = pDrawable->y + pDrawable->height; > +- REGION_INIT (pDrawable->pScreen, &pixmapClip, &box, 1); > ++ REGION_INIT2 (pDrawable->pScreen, &pixmapClip, &box, 1); > + pClip = &pixmapClip; > + } > + REGION_TRANSLATE (pDrawable->pScreen, &pDamage->damage, pDrawable->x, > pDrawable->y); > +diff -ur --exclude='*.lo' --exclude='config*' --exclude='Make*' > --exclude='ac*' xorg-server-1.7.99.2.ORIG/Xext/xace.c > xorg-server-1.7.99.2/Xext/xace.c > +--- xorg-server-1.7.99.2.ORIG/Xext/xace.c 2009-11-04 09:25:50.000000000 > -0700 > ++++ xorg-server-1.7.99.2/Xext/xace.c 2012-01-04 12:49:36.850385965 -0700 > +@@ -255,7 +255,7 @@ > + imageBox.y1 = y; > + imageBox.x2 = x + w; > + imageBox.y2 = y + h; > +- REGION_INIT(pScreen, &imageRegion, &imageBox, 1); > ++ REGION_INIT2(pScreen, &imageRegion, &imageBox, 1); > + REGION_NULL(pScreen, &censorRegion); > + + /* censorRegion = imageRegion - visibleRegion */ > +--- xorg-server-1.7.99.2.ORIG/mi/mibank.c 2009-11-04 09:25:50.000000000 > -0700 > ++++ xorg-server-1.7.99.2/mi/mibank.c 2012-01-04 12:37:42.251184747 -0700 > +@@ -772,7 +772,7 @@ > + } > + else > + { > +- REGION_INIT(pScreen, &rgnDst, &fastBox, 1); > ++ REGION_INIT2(pScreen, &rgnDst, &fastBox, 1); > + REGION_INTERSECT(pScreen, &rgnDst, &rgnDst, prgnSrcClip); > + pBox = REGION_RECTS(&rgnDst); > + nBox = REGION_NUM_RECTS(&rgnDst); > diff --git > a/meta/recipes-graphics/xorg-xserver/xserver-kdrive_1.7.99.2.bb > b/meta/recipes-graphics/xorg-xserver/xserver-kdrive_1.7.99.2.bb > index c810e1b..3b3a004 100644 > --- a/meta/recipes-graphics/xorg-xserver/xserver-kdrive_1.7.99.2.bb > +++ b/meta/recipes-graphics/xorg-xserver/xserver-kdrive_1.7.99.2.bb > @@ -7,7 +7,7 @@ RDEPENDS_${PN} += "xkeyboard-config" > EXTRA_OECONF += "--disable-glx" > PE = "1" > -PR = "r27" > +PR = "r28" > SRC_URI = "${XORG_MIRROR}/individual/xserver/xorg-server-${PV}.tar.bz2 \ > file://extra-kmodes.patch \ > @@ -19,6 +19,7 @@ SRC_URI = > "${XORG_MIRROR}/individual/xserver/xorg-server-${PV}.tar.bz2 \ > file://fbdev_xrandr_ioctl.patch \ > file://fix-newer-xorg-headers.patch \ > file://crosscompile.patch \ > + file://error-address-work-around.patch \ > file://nodolt.patch" > # file://kdrive-evdev.patch > # file://kdrive-use-evdev.patch > > > _______________________________________________ > Openembedded-core mailing list > Openembedded-core@lists.openembedded.org > http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Patch
diff --git a/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/error-address-work-around.patch b/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/error-address-work-around.patch new file mode 100644 index 0000000..3052372 --- /dev/null +++ b/meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/error-address-work-around.patch @@ -0,0 +1,362 @@ +diff -ur --exclude='*.lo' --exclude='config*' --exclude='Make*' --exclude='ac*' xorg-server-1.7.99.2.ORIG/dix/window.c xorg-server-1.7.99.2/dix/window.c +--- xorg-server-1.7.99.2.ORIG/dix/window.c 2012-01-04 13:12:40.417640130 -0700 ++++ xorg-server-1.7.99.2/dix/window.c 2012-01-04 12:13:20.678605493 -0700 +@@ -559,10 +559,10 @@ + box.y1 = 0; + box.x2 = pScreen->width; + box.y2 = pScreen->height; +- REGION_INIT(pScreen, &pWin->clipList, &box, 1); +- REGION_INIT(pScreen, &pWin->winSize, &box, 1); +- REGION_INIT(pScreen, &pWin->borderSize, &box, 1); +- REGION_INIT(pScreen, &pWin->borderClip, &box, 1); ++ REGION_INIT2(pScreen, &pWin->clipList, &box, 1); ++ REGION_INIT2(pScreen, &pWin->winSize, &box, 1); ++ REGION_INIT2(pScreen, &pWin->borderSize, &box, 1); ++ REGION_INIT2(pScreen, &pWin->borderClip, &box, 1); + + pWin->drawable.class = InputOutput; + pWin->optional->visual = pScreen->rootVisual; +diff -ur --exclude='*.lo' --exclude='config*' --exclude='Make*' --exclude='ac*' xorg-server-1.7.99.2.ORIG/exa/exa_accel.c xorg-server-1.7.99.2/exa/exa_accel.c +--- xorg-server-1.7.99.2.ORIG/exa/exa_accel.c 2009-12-11 11:20:48.000000000 -0700 ++++ xorg-server-1.7.99.2/exa/exa_accel.c 2012-01-04 12:58:11.218616328 -0700 +@@ -1275,7 +1275,7 @@ + Box.x2 = Box.x1 + w; + Box.y2 = Box.y1 + h; + +- REGION_INIT(pScreen, &Reg, &Box, 1); ++ REGION_INIT2(pScreen, &Reg, &Box, 1); + + pixmaps[0].as_dst = FALSE; + pixmaps[0].as_src = TRUE; +diff -ur --exclude='*.lo' --exclude='config*' --exclude='Make*' --exclude='ac*' xorg-server-1.7.99.2.ORIG/exa/exa.c xorg-server-1.7.99.2/exa/exa.c +--- xorg-server-1.7.99.2.ORIG/exa/exa.c 2009-12-11 11:20:48.000000000 -0700 ++++ xorg-server-1.7.99.2/exa/exa.c 2012-01-04 12:56:30.592593427 -0700 +@@ -161,7 +161,7 @@ + if (box.x1 >= box.x2 || box.y1 >= box.y2) + return; + +- REGION_INIT(pScreen, ®ion, &box, 1); ++ REGION_INIT2(pScreen, ®ion, &box, 1); + DamageRegionAppend(&pPix->drawable, ®ion); + DamageRegionProcessPending(&pPix->drawable); + REGION_UNINIT(pScreen, ®ion); +diff -ur --exclude='*.lo' --exclude='config*' --exclude='Make*' --exclude='ac*' xorg-server-1.7.99.2.ORIG/exa/exa_classic.c xorg-server-1.7.99.2/exa/exa_classic.c +--- xorg-server-1.7.99.2.ORIG/exa/exa_classic.c 2009-11-28 13:44:58.000000000 -0700 ++++ xorg-server-1.7.99.2/exa/exa_classic.c 2012-01-04 12:54:50.586576675 -0700 +@@ -131,8 +131,8 @@ + box.y1 = 0; + box.x2 = w; + box.y2 = h; +- REGION_INIT(pScreen, &pExaPixmap->validSys, &box, 0); +- REGION_INIT(pScreen, &pExaPixmap->validFB, &box, 0); ++ REGION_INIT2(pScreen, &pExaPixmap->validSys, &box, 0); ++ REGION_INIT2(pScreen, &pExaPixmap->validFB, &box, 0); + + exaSetAccelBlock(pExaScr, pExaPixmap, + w, h, bpp); +diff -ur --exclude='*.lo' --exclude='config*' --exclude='Make*' --exclude='ac*' xorg-server-1.7.99.2.ORIG/exa/exa_migration_classic.c xorg-server-1.7.99.2/exa/exa_migration_classic.c +--- xorg-server-1.7.99.2.ORIG/exa/exa_migration_classic.c 2009-11-28 13:44:58.000000000 -0700 ++++ xorg-server-1.7.99.2/exa/exa_migration_classic.c 2012-01-04 12:54:43.077500333 -0700 +@@ -177,7 +177,7 @@ + box.x2 = max(pValidExt->x2, pDamageExt->x2); + box.y2 = max(pValidExt->y2, pDamageExt->y2); + +- REGION_INIT(pScreen, &closure, &box, 0); ++ REGION_INIT2(pScreen, &closure, &box, 0); + REGION_INTERSECT(pScreen, &CopyReg, &CopyReg, &closure); + } else + REGION_INTERSECT(pScreen, &CopyReg, &CopyReg, pending_damage); +diff -ur --exclude='*.lo' --exclude='config*' --exclude='Make*' --exclude='ac*' xorg-server-1.7.99.2.ORIG/exa/exa_render.c xorg-server-1.7.99.2/exa/exa_render.c +--- xorg-server-1.7.99.2.ORIG/exa/exa_render.c 2009-11-28 13:44:58.000000000 -0700 ++++ xorg-server-1.7.99.2/exa/exa_render.c 2012-01-04 12:59:18.234297490 -0700 +@@ -576,7 +576,7 @@ + * (see use of DamagePendingRegion in exaCopyDirty) + */ + +- REGION_INIT(pScreen, ®ion, &box, 1); ++ REGION_INIT2(pScreen, ®ion, &box, 1); + + DamageRegionAppend(pDst->pDrawable, ®ion); + +diff -ur --exclude='*.lo' --exclude='config*' --exclude='Make*' --exclude='ac*' xorg-server-1.7.99.2.ORIG/exa/exa_unaccel.c xorg-server-1.7.99.2/exa/exa_unaccel.c +--- xorg-server-1.7.99.2.ORIG/exa/exa_unaccel.c 2009-12-11 11:20:48.000000000 -0700 ++++ xorg-server-1.7.99.2/exa/exa_unaccel.c 2012-01-04 12:59:25.915375559 -0700 +@@ -344,7 +344,7 @@ + Box.x2 = Box.x1 + w; + Box.y2 = Box.y1 + h; + +- REGION_INIT(pScreen, &Reg, &Box, 1); ++ REGION_INIT2(pScreen, &Reg, &Box, 1); + + pExaScr->prepare_access_reg(pPix, EXA_PREPARE_SRC, &Reg); + } else +diff -ur --exclude='*.lo' --exclude='config*' --exclude='Make*' --exclude='ac*' xorg-server-1.7.99.2.ORIG/fb/fboverlay.c xorg-server-1.7.99.2/fb/fboverlay.c +--- xorg-server-1.7.99.2.ORIG/fb/fboverlay.c 2009-11-04 09:25:50.000000000 -0700 ++++ xorg-server-1.7.99.2/fb/fboverlay.c 2012-01-04 12:24:43.855400893 -0700 +@@ -147,7 +147,7 @@ + pbits)) + return FALSE; + pScrPriv->layer[i].u.run.pixmap = pPixmap; +- REGION_INIT(pScreen, &pScrPriv->layer[i].u.run.region, &box, 0); ++ REGION_INIT2(pScreen, &pScrPriv->layer[i].u.run.region, &box, 0); + } + pScreen->devPrivate = pScrPriv->layer[0].u.run.pixmap; + return TRUE; +diff -ur --exclude='*.lo' --exclude='config*' --exclude='Make*' --exclude='ac*' xorg-server-1.7.99.2.ORIG/hw/kdrive/src/kdrive.c xorg-server-1.7.99.2/hw/kdrive/src/kdrive.c +--- xorg-server-1.7.99.2.ORIG/hw/kdrive/src/kdrive.c 2012-01-04 13:12:40.418640141 -0700 ++++ xorg-server-1.7.99.2/hw/kdrive/src/kdrive.c 2012-01-04 13:05:08.771897914 -0700 +@@ -144,8 +144,8 @@ + box.y2 = pScreen->height; + pWin->drawable.width = pScreen->width; + pWin->drawable.height = pScreen->height; +- REGION_INIT (pScreen, &pWin->winSize, &box, 1); +- REGION_INIT (pScreen, &pWin->borderSize, &box, 1); ++ REGION_INIT2 (pScreen, &pWin->winSize, &box, 1); ++ REGION_INIT2 (pScreen, &pWin->borderSize, &box, 1); + REGION_RESET(pScreen, &pWin->borderClip, &box); + REGION_BREAK (pWin->drawable.pScreen, &pWin->clipList); + } +diff -ur --exclude='*.lo' --exclude='config*' --exclude='Make*' --exclude='ac*' xorg-server-1.7.99.2.ORIG/hw/kdrive/src/kxv.c xorg-server-1.7.99.2/hw/kdrive/src/kxv.c +--- xorg-server-1.7.99.2.ORIG/hw/kdrive/src/kxv.c 2008-11-14 14:27:05.000000000 -0700 ++++ xorg-server-1.7.99.2/hw/kdrive/src/kxv.c 2012-01-04 13:07:32.625411023 -0700 +@@ -674,7 +674,7 @@ + WinBox.y2 = WinBox.y1 + portPriv->drw_h; + + /* clip to the window composite clip */ +- REGION_INIT(portPriv->pDraw->pScreen, &WinRegion, &WinBox, 1); ++ REGION_INIT2(portPriv->pDraw->pScreen, &WinRegion, &WinBox, 1); + REGION_INIT(portPriv->pDraw->pScreen, &ClipRegion, NullBox, 1); + REGION_INTERSECT(portPriv->pDraw->pScreen, &ClipRegion, &WinRegion, portPriv->pCompositeClip); + +@@ -738,7 +738,7 @@ + WinBox.y2 = WinBox.y1 + portPriv->drw_h; + + /* clip to the window composite clip */ +- REGION_INIT(pScreen, &WinRegion, &WinBox, 1); ++ REGION_INIT2(pScreen, &WinRegion, &WinBox, 1); + REGION_INIT(pScreen, &ClipRegion, NullBox, 1); + REGION_INTERSECT(Screen, &ClipRegion, &WinRegion, portPriv->pCompositeClip); + +@@ -752,7 +752,7 @@ + VPBox.x2 = screen->width; + VPBox.y2 = screen->height; + +- REGION_INIT(pScreen, &VPReg, &VPBox, 1); ++ REGION_INIT2(pScreen, &VPReg, &VPBox, 1); + REGION_INTERSECT(Screen, &ClipRegion, &ClipRegion, &VPReg); + REGION_UNINIT(pScreen, &VPReg); + } +@@ -827,7 +827,7 @@ + WinBox.y2 = WinBox.y1 + portPriv->drw_h; + + /* clip to the window composite clip */ +- REGION_INIT(pScreen, &WinRegion, &WinBox, 1); ++ REGION_INIT2(pScreen, &WinRegion, &WinBox, 1); + REGION_INIT(pScreen, &ClipRegion, NullBox, 1); + REGION_INTERSECT(Screen, &ClipRegion, &WinRegion, portPriv->pCompositeClip); + +@@ -841,7 +841,7 @@ + VPBox.x2 = screen->width; + VPBox.y2 = screen->height; + +- REGION_INIT(pScreen, &VPReg, &VPBox, 1); ++ REGION_INIT2(pScreen, &VPReg, &VPBox, 1); + REGION_INTERSECT(Screen, &ClipRegion, &ClipRegion, &VPReg); + REGION_UNINIT(pScreen, &VPReg); + } +@@ -1337,7 +1337,7 @@ + WinBox.x2 = WinBox.x1 + drw_w; + WinBox.y2 = WinBox.y1 + drw_h; + +- REGION_INIT(pScreen, &WinRegion, &WinBox, 1); ++ REGION_INIT2(pScreen, &WinRegion, &WinBox, 1); + REGION_INIT(pScreen, &ClipRegion, NullBox, 1); + REGION_INTERSECT(pScreen, &ClipRegion, &WinRegion, pGC->pCompositeClip); + +@@ -1350,7 +1350,7 @@ + VPBox.x2 = screen->width; + VPBox.y2 = screen->height; + +- REGION_INIT(pScreen, &VPReg, &VPBox, 1); ++ REGION_INIT2(pScreen, &VPReg, &VPBox, 1); + REGION_INTERSECT(Screen, &ClipRegion, &ClipRegion, &VPReg); + REGION_UNINIT(pScreen, &VPReg); + } +@@ -1490,7 +1490,7 @@ + WinBox.x2 = WinBox.x1 + drw_w; + WinBox.y2 = WinBox.y1 + drw_h; + +- REGION_INIT(pScreen, &WinRegion, &WinBox, 1); ++ REGION_INIT2(pScreen, &WinRegion, &WinBox, 1); + REGION_INIT(pScreen, &ClipRegion, NullBox, 1); + REGION_INTERSECT(pScreen, &ClipRegion, &WinRegion, pGC->pCompositeClip); + +@@ -1637,7 +1637,7 @@ + WinBox.x2 = WinBox.x1 + drw_w; + WinBox.y2 = WinBox.y1 + drw_h; + +- REGION_INIT(pScreen, &WinRegion, &WinBox, 1); ++ REGION_INIT2(pScreen, &WinRegion, &WinBox, 1); + REGION_INIT(pScreen, &ClipRegion, NullBox, 1); + REGION_INTERSECT(pScreen, &ClipRegion, &WinRegion, pGC->pCompositeClip); + +@@ -1650,7 +1650,7 @@ + VPBox.x2 = pScreen->width; + VPBox.y2 = pScreen->height; + +- REGION_INIT(pScreen, &VPReg, &VPBox, 1); ++ REGION_INIT2(pScreen, &VPReg, &VPBox, 1); + REGION_INTERSECT(Screen, &ClipRegion, &ClipRegion, &VPReg); + REGION_UNINIT(pScreen, &VPReg); + } +diff -ur --exclude='*.lo' --exclude='config*' --exclude='Make*' --exclude='ac*' xorg-server-1.7.99.2.ORIG/include/regionstr.h xorg-server-1.7.99.2/include/regionstr.h +--- xorg-server-1.7.99.2.ORIG/include/regionstr.h 2009-11-04 09:25:50.000000000 -0700 ++++ xorg-server-1.7.99.2/include/regionstr.h 2012-01-04 12:13:06.174461574 -0700 +@@ -152,6 +152,12 @@ + } \ + } + ++#define REGION_INIT2(_pScreen, _pReg, _rect, _size) \ ++{ \ ++ (_pReg)->extents = *(_rect); \ ++ (_pReg)->data = (RegDataPtr)NULL; \ ++ } ++ + + #define REGION_UNINIT(_pScreen, _pReg) \ + { \ +diff -ur --exclude='*.lo' --exclude='config*' --exclude='Make*' --exclude='ac*' xorg-server-1.7.99.2.ORIG/mi/micopy.c xorg-server-1.7.99.2/mi/micopy.c +--- xorg-server-1.7.99.2.ORIG/mi/micopy.c 2009-11-04 09:25:50.000000000 -0700 ++++ xorg-server-1.7.99.2/mi/micopy.c 2012-01-04 12:44:17.003144611 -0700 +@@ -315,7 +315,7 @@ + box.y1 = box_y1; + box.x2 = box_x2; + box.y2 = box_y2; +- REGION_INIT(pGC->pScreen, &rgnDst, &box, 1); ++ REGION_INIT2(pGC->pScreen, &rgnDst, &box, 1); + } + + /* Clip against complex source if needed */ +diff -ur --exclude='*.lo' --exclude='config*' --exclude='Make*' --exclude='ac*' xorg-server-1.7.99.2.ORIG/mi/miexpose.c xorg-server-1.7.99.2/mi/miexpose.c +--- xorg-server-1.7.99.2.ORIG/mi/miexpose.c 2009-11-04 09:25:50.000000000 -0700 ++++ xorg-server-1.7.99.2/mi/miexpose.c 2012-01-04 12:46:29.400478668 -0700 +@@ -206,7 +206,7 @@ + box.x2 = pSrcDrawable->width; + box.y2 = pSrcDrawable->height; + prgnSrcClip = &rgnSrcRec; +- REGION_INIT(pscr, prgnSrcClip, &box, 1); ++ REGION_INIT2(pscr, prgnSrcClip, &box, 1); + pSrcWin = NULL; + } + +@@ -239,11 +239,11 @@ + box.x2 = pDstDrawable->width; + box.y2 = pDstDrawable->height; + prgnDstClip = &rgnDstRec; +- REGION_INIT(pscr, prgnDstClip, &box, 1); ++ REGION_INIT2(pscr, prgnDstClip, &box, 1); + } + + /* drawable-relative source region */ +- REGION_INIT(pscr, &rgnExposed, &srcBox, 1); ++ REGION_INIT2(pscr, &rgnExposed, &srcBox, 1); + + /* now get the hidden parts of the source box*/ + REGION_SUBTRACT(pscr, &rgnExposed, &rgnExposed, prgnSrcClip); +@@ -491,7 +491,7 @@ + box = *REGION_EXTENTS( pWin->drawable.pScreen, exposures); + if (exposures == prgn) { + exposures = &expRec; +- REGION_INIT( pWin->drawable.pScreen, exposures, &box, 1); ++ REGION_INIT2( pWin->drawable.pScreen, exposures, &box, 1); + REGION_RESET( pWin->drawable.pScreen, prgn, &box); + } else { + REGION_RESET( pWin->drawable.pScreen, exposures, &box); +diff -ur --exclude='*.lo' --exclude='config*' --exclude='Make*' --exclude='ac*' xorg-server-1.7.99.2.ORIG/mi/mioverlay.c xorg-server-1.7.99.2/mi/mioverlay.c +--- xorg-server-1.7.99.2.ORIG/mi/mioverlay.c 2009-11-04 09:25:50.000000000 -0700 ++++ xorg-server-1.7.99.2/mi/mioverlay.c 2012-01-04 12:47:50.114300224 -0700 +@@ -209,8 +209,8 @@ + fullBox.y1 = 0; + fullBox.x2 = pScreen->width; + fullBox.y2 = pScreen->height; +- REGION_INIT(pScreen, &(pTree->borderClip), &fullBox, 1); +- REGION_INIT(pScreen, &(pTree->clipList), &fullBox, 1); ++ REGION_INIT2(pScreen, &(pTree->borderClip), &fullBox, 1); ++ REGION_INIT2(pScreen, &(pTree->clipList), &fullBox, 1); + } + } else xfree(pTree); + } +@@ -1027,7 +1027,7 @@ + box = *REGION_EXTENTS(pScreen, exposures); + if (exposures == prgn) { + exposures = &expRec; +- REGION_INIT(pScreen, exposures, &box, 1); ++ REGION_INIT2(pScreen, exposures, &box, 1); + REGION_RESET(pScreen, prgn, &box); + } else { + REGION_RESET(pScreen, exposures, &box); +@@ -1672,7 +1672,7 @@ + box.x1 = x1; box.x2 = x2; + box.y1 = y1; box.y2 = y2; + +- REGION_INIT(pScreen, ®, &box, 1); ++ REGION_INIT2(pScreen, ®, &box, 1); + + REGION_INTERSECT(pScreen, ®, ®, clipList); + if (generateExposures) +diff -ur --exclude='*.lo' --exclude='config*' --exclude='Make*' --exclude='ac*' xorg-server-1.7.99.2.ORIG/mi/miwindow.c xorg-server-1.7.99.2/mi/miwindow.c +--- xorg-server-1.7.99.2.ORIG/mi/miwindow.c 2009-11-04 09:25:50.000000000 -0700 ++++ xorg-server-1.7.99.2/mi/miwindow.c 2012-01-04 12:48:38.055787835 -0700 +@@ -111,7 +111,7 @@ + box.y2 = y2; + + pScreen = pWin->drawable.pScreen; +- REGION_INIT(pScreen, ®, &box, 1); ++ REGION_INIT2(pScreen, ®, &box, 1); + + REGION_INTERSECT(pScreen, ®, ®, &pWin->clipList); + if (generateExposures) +diff -ur --exclude='*.lo' --exclude='config*' --exclude='Make*' --exclude='ac*' xorg-server-1.7.99.2.ORIG/miext/damage/damage.c xorg-server-1.7.99.2/miext/damage/damage.c +--- xorg-server-1.7.99.2.ORIG/miext/damage/damage.c 2009-11-04 09:25:50.000000000 -0700 ++++ xorg-server-1.7.99.2/miext/damage/damage.c 2012-01-04 12:51:04.883281430 -0700 +@@ -324,7 +324,7 @@ + box.y1 = draw_y; + box.x2 = draw_x + pDamage->pDrawable->width; + box.y2 = draw_y + pDamage->pDrawable->height; +- REGION_INIT(pScreen, &pixClip, &box, 1); ++ REGION_INIT2(pScreen, &pixClip, &box, 1); + REGION_INTERSECT (pScreen, pDamageRegion, pRegion, &pixClip); + REGION_UNINIT(pScreen, &pixClip); + } +@@ -2085,7 +2085,7 @@ + box.y1 = pDrawable->y; + box.x2 = pDrawable->x + pDrawable->width; + box.y2 = pDrawable->y + pDrawable->height; +- REGION_INIT (pDrawable->pScreen, &pixmapClip, &box, 1); ++ REGION_INIT2 (pDrawable->pScreen, &pixmapClip, &box, 1); + pClip = &pixmapClip; + } + REGION_TRANSLATE (pDrawable->pScreen, &pDamage->damage, pDrawable->x, pDrawable->y); +diff -ur --exclude='*.lo' --exclude='config*' --exclude='Make*' --exclude='ac*' xorg-server-1.7.99.2.ORIG/Xext/xace.c xorg-server-1.7.99.2/Xext/xace.c +--- xorg-server-1.7.99.2.ORIG/Xext/xace.c 2009-11-04 09:25:50.000000000 -0700 ++++ xorg-server-1.7.99.2/Xext/xace.c 2012-01-04 12:49:36.850385965 -0700 +@@ -255,7 +255,7 @@ + imageBox.y1 = y; + imageBox.x2 = x + w; + imageBox.y2 = y + h; +- REGION_INIT(pScreen, &imageRegion, &imageBox, 1); ++ REGION_INIT2(pScreen, &imageRegion, &imageBox, 1); + REGION_NULL(pScreen, &censorRegion); + + /* censorRegion = imageRegion - visibleRegion */ +--- xorg-server-1.7.99.2.ORIG/mi/mibank.c 2009-11-04 09:25:50.000000000 -0700 ++++ xorg-server-1.7.99.2/mi/mibank.c 2012-01-04 12:37:42.251184747 -0700 +@@ -772,7 +772,7 @@ + } + else + { +- REGION_INIT(pScreen, &rgnDst, &fastBox, 1); ++ REGION_INIT2(pScreen, &rgnDst, &fastBox, 1); + REGION_INTERSECT(pScreen, &rgnDst, &rgnDst, prgnSrcClip); + pBox = REGION_RECTS(&rgnDst); + nBox = REGION_NUM_RECTS(&rgnDst); diff --git a/meta/recipes-graphics/xorg-xserver/xserver-kdrive_1.7.99.2.bb b/meta/recipes-graphics/xorg-xserver/xserver-kdrive_1.7.99.2.bb index c810e1b..3b3a004 100644 --- a/meta/recipes-graphics/xorg-xserver/xserver-kdrive_1.7.99.2.bb +++ b/meta/recipes-graphics/xorg-xserver/xserver-kdrive_1.7.99.2.bb @@ -7,7 +7,7 @@ RDEPENDS_${PN} += "xkeyboard-config" EXTRA_OECONF += "--disable-glx" PE = "1" -PR = "r27" +PR = "r28" SRC_URI = "${XORG_MIRROR}/individual/xserver/xorg-server-${PV}.tar.bz2 \ file://extra-kmodes.patch \ @@ -19,6 +19,7 @@ SRC_URI = "${XORG_MIRROR}/individual/xserver/xorg-server-${PV}.tar.bz2 \ file://fbdev_xrandr_ioctl.patch \ file://fix-newer-xorg-headers.patch \ file://crosscompile.patch \ + file://error-address-work-around.patch \ file://nodolt.patch" # file://kdrive-evdev.patch # file://kdrive-use-evdev.patch -- 1.7.7.5
A number of calls to REGION_INIT() use a static box which is flagged as an error with -Werror=address. This patch works around the problem, but should not be considered a final solution. Upstream-Status: Inappropriate Signed-off-by: Gary Thomas <gary@mlbassoc.com> --- .../error-address-work-around.patch | 362 ++++++++++++++++++++ .../xorg-xserver/xserver-kdrive_1.7.99.2.bb | 3 +- 2 files changed, 364 insertions(+), 1 deletions(-) create mode 100644 meta/recipes-graphics/xorg-xserver/xserver-kdrive-1.7.99.2/error-address-work-around.patch