diff options
author | Chris Johns <chrisj@rtems.org> | 2014-09-09 08:40:13 +1000 |
---|---|---|
committer | Chris Johns <chrisj@rtems.org> | 2014-09-09 08:40:13 +1000 |
commit | b7ad4a2431429ad262f93efea693a480ad0c9ea6 (patch) | |
tree | 21dbc1abe61f094e2b4c4a37dc6d8c9688bb1279 /linkers/rtems-ld.cpp | |
parent | 6fb14092151645e40a207161f1b0a89b5a848a97 (diff) |
linkers: If no RTEMS path is provied see if the prefix can be used.
Diffstat (limited to 'linkers/rtems-ld.cpp')
-rw-r--r-- | linkers/rtems-ld.cpp | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/linkers/rtems-ld.cpp b/linkers/rtems-ld.cpp index f678cde..6177e99 100644 --- a/linkers/rtems-ld.cpp +++ b/linkers/rtems-ld.cpp @@ -198,6 +198,8 @@ main (int argc, char* argv[]) bool warnings = false; bool one_file = false; + rld::set_cmdline (argc, argv); + libpaths.push_back ("."); while (true) @@ -329,11 +331,19 @@ main (int argc, char* argv[]) } } + /* + * Set the program name. + */ + rld::set_progname (argv[0]); + argc -= optind; argv += optind; if (rld::verbose () || map) + { std::cout << "RTEMS Linker " << rld::version () << std::endl; + std::cout << " " << rld::get_cmdline () << std::endl; + } /* * If there are no object files there is nothing to link. @@ -355,9 +365,13 @@ main (int argc, char* argv[]) */ if (!rtems_arch_bsp.empty ()) { - if (rtems_path.empty ()) + const std::string& prefix = rld::get_prefix (); + if (rtems_path.empty () && prefix.empty ()) throw rld::error ("No RTEMS path provide with arch/bsp", "options"); - rld::rtems::set_path (rtems_path); + if (!rtems_path.empty ()) + rld::rtems::set_path (rtems_path); + else + rld::rtems::set_path (prefix); rld::rtems::set_arch_bsp (rtems_arch_bsp); } |