[Bug 66932] Screen corruption on Cayman with dpm enabled

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Wed Jul 17 11:15:07 PDT 2013


https://bugs.freedesktop.org/show_bug.cgi?id=66932

--- Comment #26 from Alex Deucher <agd5f at yahoo.com> ---
(In reply to comment #24)
> (In reply to comment #22)
> > (In reply to comment #18)
> > > Created attachment 82559 [details] [review] [review] [review]
> > > weird fix
> > > 
> > 
> > Hmmm, looks like a compiler bug.  what compiler are you using?
> 
> gcc version 4.8.1 (Ubuntu/Linaro 4.8.1-6ubuntu1) 
> 
> But I think the compiler is right in this case. struct ATOM_INIT_REG_BLOCK
> doesn't represent what radeon_atom_init_mc_reg_table() is doing.
> 
> The struct in the header reads:
> ...
> ATOM_INIT_REG_INDEX_FORMAT asRegIndexBuf[1];
> ATOM_MEMORY_SETTING_DATA_BLOCK	asRegDataBuf[1];
> 
> So reg_block->asRegIndexBuf[i] for i>0 is not defined, its within
> asRegDataBuf or even pass the size of the struct.
> 
> It looks like this gcc is killing the while loop because i can never be
> anything else than zero.

It works on older version of gcc. I'm using 4.6.2 and 4.7.2 on several boxes
and haven't run into any problems.  Also, even if the loop gets skipped, the
"last = " lines should still get printed.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/dri-devel/attachments/20130717/7878e868/attachment.html>


More information about the dri-devel mailing list