about summary refs log tree commit diff
diff options
context:
space:
mode:
authorBrian Anderson <banderson@mozilla.com>2011-11-28 18:15:54 -0800
committerBrian Anderson <banderson@mozilla.com>2011-11-28 18:15:54 -0800
commit4dcb0ee0ce0c48fa2328c9c88dbbe19614cdc545 (patch)
treed3bbf54fd0c9740a6a309a1fa0544451fd95e5de
parent8d7863fad045edff9d9c825b48e72dd022c6fad5 (diff)
rustc: Link in libmorestack.a when --stack-growth
-rw-r--r--src/comp/back/link.rs5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/comp/back/link.rs b/src/comp/back/link.rs
index c941869556a..29f35c44d0f 100644
--- a/src/comp/back/link.rs
+++ b/src/comp/back/link.rs
@@ -633,6 +633,11 @@ fn link_binary(sess: session::session,
         gcc_args += ["-lrt", "-ldl"];
     }
 
+    // Stack growth requires statically linking a __morestack function
+    if sess.get_opts().stack_growth {
+        gcc_args += ["-lmorestack"];
+    }
+
     gcc_args += rpath::get_rpath_flags(sess, out_filename);
 
     log #fmt("gcc link args: %s", str::connect(gcc_args, " "));