mirror of
https://github.com/bytecodealliance/wasm-micro-runtime.git
synced 2025-09-05 17:32:26 +00:00
Use --target to pass a triple in wamrc (#4199)
Provide a triple string in the format of <arch>-<vendor>-<os>-<abi> via --target.
This commit is contained in:
parent
5bdbba0dbe
commit
5910e5cd21
|
@ -2742,10 +2742,23 @@ aot_create_comp_context(const AOTCompData *comp_data, aot_comp_option_t option)
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
/* Create LLVM target machine */
|
/* Create LLVM target machine */
|
||||||
arch = option->target_arch;
|
if (!option->target_arch || !strstr(option->target_arch, "-")) {
|
||||||
abi = option->target_abi;
|
/* Retrieve the target triple based on user input */
|
||||||
cpu = option->target_cpu;
|
triple = NULL;
|
||||||
features = option->cpu_features;
|
arch = option->target_arch;
|
||||||
|
abi = option->target_abi;
|
||||||
|
cpu = option->target_cpu;
|
||||||
|
features = option->cpu_features;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
/* Form a target triple */
|
||||||
|
triple = option->target_arch;
|
||||||
|
arch = NULL;
|
||||||
|
abi = NULL;
|
||||||
|
cpu = NULL;
|
||||||
|
features = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
opt_level = option->opt_level;
|
opt_level = option->opt_level;
|
||||||
size_level = option->size_level;
|
size_level = option->size_level;
|
||||||
|
|
||||||
|
@ -2986,6 +2999,7 @@ aot_create_comp_context(const AOTCompData *comp_data, aot_comp_option_t option)
|
||||||
aot_set_last_error(buf);
|
aot_set_last_error(buf);
|
||||||
goto fail;
|
goto fail;
|
||||||
}
|
}
|
||||||
|
LOG_VERBOSE("triple: %s => normailized: %s", triple, triple_norm);
|
||||||
if (!cpu)
|
if (!cpu)
|
||||||
cpu = "";
|
cpu = "";
|
||||||
}
|
}
|
||||||
|
|
|
@ -116,6 +116,9 @@ print_help()
|
||||||
printf(" Default is host arch, e.g. x86_64\n");
|
printf(" Default is host arch, e.g. x86_64\n");
|
||||||
printf(" <sub> = for ex. on arm or thumb: v5, v6m, v7a, v7m, etc.\n");
|
printf(" <sub> = for ex. on arm or thumb: v5, v6m, v7a, v7m, etc.\n");
|
||||||
printf(" Use --target=help to list supported targets\n");
|
printf(" Use --target=help to list supported targets\n");
|
||||||
|
printf(" Or, provide a triple in the format of <arch>-<vendor>-<os>-<abi>.\n");
|
||||||
|
printf(" By doing this, --target-abi, --cpu, and --cpu-features will be ignored.\n");
|
||||||
|
printf(" The triple will only be normalized without any further verification.\n");
|
||||||
printf(" --target-abi=<abi> Set the target ABI, e.g. gnu, eabi, gnueabihf, msvc, etc.\n");
|
printf(" --target-abi=<abi> Set the target ABI, e.g. gnu, eabi, gnueabihf, msvc, etc.\n");
|
||||||
printf(" Default is gnu if target isn't riscv64 or riscv32\n");
|
printf(" Default is gnu if target isn't riscv64 or riscv32\n");
|
||||||
printf(" For target riscv64 and riscv32, default is lp64d and ilp32d\n");
|
printf(" For target riscv64 and riscv32, default is lp64d and ilp32d\n");
|
||||||
|
|
Loading…
Reference in New Issue
Block a user