sys icon indicating copy to clipboard operation
sys copied to clipboard

DecodeException "Unknown subclass id for DINode: MDSubclassID 26"

Open killer933 opened this issue 5 years ago • 4 comments

I tried to use WLLVM to compile a huge program. Then I got a excuteable file , and I used the command 'extract-bc' which was came from WLLVM to get the *.ll file. Finally, I used sys to check bugs, but I got a error "DecodeException "Unknown subclass id for DINode: MDSubclassID 26". I found some clue about the problem in the llvm-hs project.
"Comparing LLVM Specialized Metadata Nodes with llvm-hs supported Metadata subclasses " https://github.com/llvm-hs/llvm-hs/issues/307 Is there anyone knows how to slove the isssue? or, Is there any other way to get the ll file in a huge program? Thanks!

killer933 avatar Jan 06 '21 09:01 killer933

sorry for the delay, my notification set up sucks. I think I fixed a few similar issues in llvm-hs in the past. (You can checkout our llvm-hs fork.) Their support is not complete and with huge files you'll hit edge cases like this once in a while. That's honestly the easiest way to go about it.

deian avatar Feb 08 '21 23:02 deian

I'm happy to hear from the author. I also want to know the commit version of llvm-hs which you had fixed. In that case, I can build the right llvm-hs. Thanks!

killer933 avatar Feb 18 '21 11:02 killer933

https://github.com/PLSysSec/sys/blob/master/stack.yaml#L8

deian avatar Feb 18 '21 17:02 deian

I think the easiest way is to build without the -g flag, otherwise, you need to add DILabel support manually in llvm-hs as specified in the issue that you mentioned. You would also need to cherry-pick this commit https://github.com/llvm-hs/llvm-hs/commit/b518fe11241e8aea40760eee9cd95421ef772646 before add new node.

asesidaa avatar Apr 20 '23 16:04 asesidaa