llvm seems fine, it seems to be libelf that is broken. I've noticed UE4 exports it's own libelf symbols but I haven't determined that is the problem yet.