Skip to content

Commit 106d01a

Browse files
committed
Addressed review comments.
1 parent 7a0e66c commit 106d01a

File tree

3 files changed

+6
-5
lines changed

3 files changed

+6
-5
lines changed

src/librustc/back/link.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1032,6 +1032,7 @@ fn link_args(sess: Session,
10321032
if sess.targ_cfg.os == abi::OsWin32 {
10331033
// Make sure that we link to the dynamic libgcc, otherwise cross-module
10341034
// DWARF stack unwinding will not work.
1035+
// This behavior may be overriden by --link-args "-static-libgcc"
10351036
args.push(~"-shared-libgcc");
10361037
}
10371038

src/librustc/lib/llvm.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -319,7 +319,6 @@ pub mod llvm {
319319
// automatically updated whenever LLVM is updated to include an up-to-date
320320
// set of the libraries we need to link to LLVM for.
321321
#[link(name = "rustllvm", kind = "static")]
322-
#[link(name = "stdc++")]
323322
extern {
324323
/* Create and destroy contexts. */
325324
pub fn LLVMContextCreate() -> ContextRef;

src/libstd/rt/unwind.rs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@
2222
// Exception handling happens in two phases: a search phase and a cleanup phase.
2323
//
2424
// In both phases the unwinder walks stack frames from top to bottom using information from
25-
// the stack frame unwind sections of the current process's modules.
25+
// the stack frame unwind sections of the current process's modules ("module" here refers to
26+
// an OS module, i.e. an executable or a dynamic library).
2627
//
2728
// For each stack frame, it invokes the associated "personality routine", whose address is also
2829
// stored in the unwind info section.
@@ -37,15 +38,15 @@
3738
//
3839
// ~~~ Frame unwind info registration ~~~
3940
// Each module has its' own frame unwind info section (usually ".eh_frame"), and unwinder needs
40-
// to know about all of them in order for unwinding to be able to to cross module boundaries.
41+
// to know about all of them in order for unwinding to be able to cross module boundaries.
4142
//
4243
// On some platforms, like Linux, this is achieved by dynamically enumerating currently loaded
4344
// modules via the dl_iterate_phdr() API and finding all .eh_frame sections.
4445
//
4546
// Others, like Windows, require modules to actively register their unwind info sections by calling
4647
// __register_frame_info() API at startup.
4748
// In the latter case it is essential that there is only one copy of the unwinder runtime
48-
// in the process. This is usually achieved by linking to the dynamice version of the unwind
49+
// in the process. This is usually achieved by linking to the dynamic version of the unwind
4950
// runtime.
5051
//
5152
// Currently Rust uses unwind runtime provided by libgcc.
@@ -200,7 +201,7 @@ fn rust_exception_class() -> _Unwind_Exception_Class {
200201

201202
// We could implement our personality routine in pure Rust, however exception info decoding
202203
// is tedious. More importantly, personality routines have to handle various platform
203-
// quirks, which are not fun to maintain. For this reason, we attampt to reuse personality
204+
// quirks, which are not fun to maintain. For this reason, we attempt to reuse personality
204205
// routine of the C language: __gcc_personality_v0.
205206
//
206207
// Since C does not support exception catching, __gcc_personality_v0 simply always

0 commit comments

Comments
 (0)