int gold_version = 0;
bool generate_api_file = false;
+ const char *gcc_path = NULL;
+ const char *as_path = NULL;
struct claimed_file {
lto_module_t M;
case LDPT_OPTION:
if (strcmp("generate-api-file", tv->tv_u.tv_string) == 0) {
generate_api_file = true;
+ } else if (strncmp("gcc=", tv->tv_u.tv_string, 4) == 0) {
+ if (gcc_path) {
+ (*message)(LDPL_WARNING, "Path to gcc specified twice. "
+ "Discarding %s", tv->tv_u.tv_string);
+ } else {
+ gcc_path = strdup(tv->tv_u.tv_string + 4);
+ }
+ } else if (strncmp("as=", tv->tv_u.tv_string, 3) == 0) {
+ if (as_path) {
+ (*message)(LDPL_WARNING, "Path to as specified twice. "
+ "Discarding %s", tv->tv_u.tv_string);
+ } else {
+ as_path = strdup(tv->tv_u.tv_string + 3);
+ }
} else {
(*message)(LDPL_WARNING, "Ignoring flag %s", tv->tv_u.tv_string);
}
lto_codegen_set_pic_model(cg, output_type);
lto_codegen_set_debug_model(cg, LTO_DEBUG_MODEL_DWARF);
+ if (gcc_path)
+ lto_codegen_set_gcc_path(cg, gcc_path);
+ if (as_path)
+ lto_codegen_set_assembler_path(cg, as_path);
size_t bufsize = 0;
const char *buffer = static_cast<const char *>(lto_codegen_compile(cg,