[PATCH 1/4] modesetting: Fix 32bit breakage
michel at daenzer.net
Mon Feb 16 22:32:57 PST 2015
On 17.02.2015 15:13, Takashi Iwai wrote:
> At Tue, 17 Feb 2015 12:15:04 +0900,
> Michel Dänzer wrote:
>> On 17.02.2015 01:00, Takashi Iwai wrote:
>>> The current modesetting driver fails with cirrus KMS and others on
>>> 32bit architecture. It aborts at mmap() call failure in dumb_bo.c,
>>> and it's because the offset is passed as 32bit off_t; this truncates
>>> DRM_FILE_PAGE_OFFSET bit and the KMS driver refuses the value.
>>> This is an ad hoc fix just to let 64bit off_t being used for mmap() by
>>> adding _FILE_OFFSET_BITS=64.
>>> Signed-off-by: Takashi Iwai <tiwai at suse.de>
>>> hw/xfree86/drivers/modesetting/dumb_bo.c | 2 ++
>>> 1 file changed, 2 insertions(+)
>>> diff --git a/hw/xfree86/drivers/modesetting/dumb_bo.c b/hw/xfree86/drivers/modesetting/dumb_bo.c
>>> index 58d420e07568..29948d453a1a 100644
>>> --- a/hw/xfree86/drivers/modesetting/dumb_bo.c
>>> +++ b/hw/xfree86/drivers/modesetting/dumb_bo.c
>>> @@ -25,6 +25,8 @@
>>> +#define _FILE_OFFSET_BITS 64
>> This is what AC_SYS_LARGEFILE is for in configure.ac. Does this work
> I guess it would work, too, but this touches all over the code, so I'm
> afraid of a possible regression somewhere. That's why I took a
> band-aid fix at this time.
I think the risk is pretty low, and since we're at the start of the
merge window, it's a good time to make the change and deal with any fallout.
Earthling Michel Dänzer | http://www.amd.com
Libre software enthusiast | Mesa and X developer
More information about the xorg-devel