summaryrefslogtreecommitdiff
path: root/linkers/rtems-ld.cpp
diff options
context:
space:
mode:
authorChris Johns <chrisj@rtems.org>2014-09-09 08:40:13 +1000
committerChris Johns <chrisj@rtems.org>2014-09-09 08:40:13 +1000
commitb7ad4a2431429ad262f93efea693a480ad0c9ea6 (patch)
tree21dbc1abe61f094e2b4c4a37dc6d8c9688bb1279 /linkers/rtems-ld.cpp
parent6fb14092151645e40a207161f1b0a89b5a848a97 (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.cpp18
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);
}