about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/librustc/metadata/loader.rs13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/librustc/metadata/loader.rs b/src/librustc/metadata/loader.rs
index 9c612056677..cfe9c8cd40a 100644
--- a/src/librustc/metadata/loader.rs
+++ b/src/librustc/metadata/loader.rs
@@ -206,7 +206,8 @@ fn get_metadata_section(os: os,
         while llvm::LLVMIsSectionIteratorAtEnd(of.llof, si.llsi) == False {
             let name_buf = llvm::LLVMGetSectionName(si.llsi);
             let name = unsafe { str::raw::from_c_str(name_buf) };
-            if name == meta_section_name(os) {
+            debug!("get_matadata_section: name %s", name);
+            if name == read_meta_section_name(os) {
                 let cbuf = llvm::LLVMGetSectionContents(si.llsi);
                 let csz = llvm::LLVMGetSectionSize(si.llsi) as uint;
                 let mut found = None;
@@ -251,6 +252,16 @@ pub fn meta_section_name(os: os) -> ~str {
     }
 }
 
+pub fn read_meta_section_name(os: os) -> ~str {
+    match os {
+      os_macos => ~"__note.rustc",
+      os_win32 => ~".note.rustc",
+      os_linux => ~".note.rustc",
+      os_android => ~".note.rustc",
+      os_freebsd => ~".note.rustc"
+    }
+}
+
 // A diagnostic function for dumping crate metadata to an output stream
 pub fn list_file_metadata(intr: @ident_interner,
                           os: os,