__u32 *label_pc, pc;
int i, cnt, err = 0;
char buf[64];
+ char *cpu, *features;
triple = LLVMGetDefaultTargetTriple();
- ctx = LLVMCreateDisasm(triple, &labels, 0, NULL, lookup_symbol);
- if (!ASSERT_OK_PTR(ctx, "LLVMCreateDisasm")) {
+
+ cpu = LLVMGetHostCPUName();
+ features = LLVMGetHostCPUFeatures();
+
+ ctx = LLVMCreateDisasmCPUFeatures(triple, cpu, features, &labels, 0, NULL, lookup_symbol);
+
+ LLVMDisposeMessage(cpu);
+ LLVMDisposeMessage(features);
+
+ if (!ASSERT_OK_PTR(ctx, "LLVMCreateDisasmCPUFeatures")) {
err = -EINVAL;
goto out;
}