71f5fb7e8f12a38e1233da2af7b181233f2a936a
SWDEV-79309 - [ROCm][OCLonLC][AMDGPU asm] OclElf: Correctly skip symbols which have special section indexes. [Issues] Kernels which contain absolute symbols can't be run. Error message looks like: "OclElf::getSymbolInfo() failed in gelf_getshdr() - Invalid argument." [Reason] Symbols which have special section indexes (e.g. absolute symbols) are incorrectly handled by the compiler library. [Solution] Correctly skip symbols which have special section indexes in the loader. Promote the fix into compiler/legacy-lib at once. [Remarks/Misc] Absolute symbols do not normally produced by OpenCL compiler, but may come from kernels written in assembly language. AMDGPU asm exports all symbols, even ABSOLUTE LOCAL HIDDEN INTERNAL etc. Impossibility to disable export of useless symbols is known issue of llvm-mc core, see https://llvm.org/bugs/show_bug.cgi?id=27201. Note that presence of useless symbols does not make ELF invalid. [Review] http://ocltc.amd.com/reviews/r/11921/ Evgeny Mankov (OK) [Tests] Tested that issue with asm kernels has gone. PASS TeamCity - Pre-checkin for CL1347161 timestamped:2016-11-29 21:54:40 Rev:0063 Affected files ... ... //depot/stg/opencl/drivers/opencl/compiler/legacy-lib/loaders/elf/elf.cpp#3 edit ... //depot/stg/opencl/drivers/opencl/compiler/lib/loaders/elf/elf.cpp#36 edit
Опис
Немає опису
Мови
C++
67.5%
C
20.6%
Python
6.6%
CMake
3.4%
Shell
0.6%
Інші
1.1%