Module: Mesa
Branch: master
Commit: d9a32b84e38fda935032338a0a4ae9438d48108d
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=d9a32b84e38fda935032338a0a4ae9438d48108d

Author: Tom Stellard <[email protected]>
Date:   Tue Apr 23 08:08:30 2013 -0700

radeon/llvm: Fix segfault with a specifc libelf implementation

The libelf implementation that is distributed here:
http://www.mr511.de/software/english.html
requires calling elf_version() prior to calling elf_memory()

Tested-by: Michel Dänzer <[email protected]>

---

 src/gallium/drivers/radeon/radeon_llvm_emit.cpp |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/src/gallium/drivers/radeon/radeon_llvm_emit.cpp 
b/src/gallium/drivers/radeon/radeon_llvm_emit.cpp
index 5b770d0..55dad9b 100644
--- a/src/gallium/drivers/radeon/radeon_llvm_emit.cpp
+++ b/src/gallium/drivers/radeon/radeon_llvm_emit.cpp
@@ -159,6 +159,10 @@ radeon_llvm_compile(LLVMModuleRef M, struct 
radeon_llvm_binary *binary,
 
    char *elf_buffer;
 
+   /* One of the libelf implementations 
(http://www.mr511.de/software/english.htm)
+    * requires calling elf_version() before elf_memory().
+    */
+   elf_version(EV_CURRENT);
    elf_buffer = (char*)malloc(data.length());
    memcpy(elf_buffer, data.c_str(), data.length());
 

_______________________________________________
mesa-commit mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to