diff options
author | Nick Lewycky <nicholas@mxc.ca> | 2009-06-07 00:50:45 +0000 |
---|---|---|
committer | Nick Lewycky <nicholas@mxc.ca> | 2009-06-07 00:50:45 +0000 |
commit | 4c47e350a3ce083f751c725ef57c8f9a2488a429 (patch) | |
tree | b0c5031dbea9780bc309fee8e7657b27541b1151 /tools/gold | |
parent | 6ad29e0c9373882f748e438a0ca0ce91b3417871 (diff) | |
download | external_llvm-4c47e350a3ce083f751c725ef57c8f9a2488a429.zip external_llvm-4c47e350a3ce083f751c725ef57c8f9a2488a429.tar.gz external_llvm-4c47e350a3ce083f751c725ef57c8f9a2488a429.tar.bz2 |
Add option for specifying the path to assembler, "as". This overrides the path
to gcc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73008 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/gold')
-rw-r--r-- | tools/gold/gold-plugin.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/tools/gold/gold-plugin.cpp b/tools/gold/gold-plugin.cpp index 86d3fd3..46b1717 100644 --- a/tools/gold/gold-plugin.cpp +++ b/tools/gold/gold-plugin.cpp @@ -45,6 +45,7 @@ namespace { bool generate_api_file = false; const char *gcc_path = NULL; + const char *as_path = NULL; struct claimed_file { lto_module_t M; @@ -109,6 +110,13 @@ ld_plugin_status onload(ld_plugin_tv *tv) { } 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); } @@ -346,6 +354,8 @@ ld_plugin_status all_symbols_read_hook(void) { 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, |