1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
| | Surround the libraries with --start-group and --end-group to work
around <https://github.com/thepowersgang/mrustc/issues/138>.
diff --git a/src/trans/codegen_c.cpp b/src/trans/codegen_c.cpp
--- a/src/trans/codegen_c.cpp
+++ b/src/trans/codegen_c.cpp
@@ -960,6 +960,7 @@ namespace {
{
args.push_back("-L"); args.push_back(path);
}
+ args.push_back("-Wl,--start-group");
for(const auto& lib : m_crate.m_ext_libs) {
ASSERT_BUG(Span(), lib.name != "", "");
args.push_back("-l"); args.push_back(lib.name.c_str());
@@ -975,6 +976,7 @@ namespace {
{
args.push_back("-l"); args.push_back(path.c_str());
}
+ args.push_back("-Wl,--end-group");
for( const auto& a : Target_GetCurSpec().m_backend_c.m_linker_opts )
{
args.push_back( a.c_str() );
|