From mboxrd@z Thu Jan 1 00:00:00 1970
From: bugzilla-daemon@freedesktop.org
Subject: [Bug 93447] [r600g] llvm crash because of use of uninitialized stack
Date: Sat, 19 Dec 2015 16:33:50 +0000
Message-ID:
Bug ID
93447
Summary
[r600g] llvm crash because of use of uninitialized stack
Product
Mesa
Version
git
Hardware
x86-64 (AMD64)
OS
Linux (All)
Status
NEW
Severity
normal
Priority
medium
Component
Drivers/Gallium/r600
Assignee
dri-devel@lists.freedesktop.org
Reporter
notasas@gmail.com
QA Contact
dri-devel@lists.freedesktop.org
Created attachment 120595 [details]
hack patch
When replaying traces from Bug 92229 with R600_DEBUG=llvm specified a crash
will occur (on my system) in LLVMBuildInsertElement() because uninitialized
value in Index argument is passed. That value originates from
radeon_llvm_emit_prepare_cube_coords() function's coords[3] stack variable. At
that time,
opcode = TGSI_OPCODE_TEX
target = TGSI_TEXTURE_CUBE
so nothing ever sets coords[3], which is copied to the caller and eventually
finds it way to llvm.
Unfortunately I don't have any knowledge about that code, I hope somebody who
knows more can take a look. A hack patch is attached but it's most likely
wrong.