diff options
| author | Graydon Hoare <graydon@mozilla.com> | 2010-07-20 17:42:17 -0700 |
|---|---|---|
| committer | Graydon Hoare <graydon@mozilla.com> | 2010-07-20 17:42:49 -0700 |
| commit | bf3528342a932dd0d523d259ca71b94431703ba9 (patch) | |
| tree | 207f1179555f62ce80e3f6ae6cdc730743d3cfc7 /src/rt/rust_crate.cpp | |
| parent | 34016d323c4268de5f34301021627f4a23ddd20e (diff) | |
| download | rust-bf3528342a932dd0d523d259ca71b94431703ba9.tar.gz rust-bf3528342a932dd0d523d259ca71b94431703ba9.zip | |
Be a little more careful before assuming we have crate debuginfo and abbrevs to read.
Diffstat (limited to 'src/rt/rust_crate.cpp')
| -rw-r--r-- | src/rt/rust_crate.cpp | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/src/rt/rust_crate.cpp b/src/rt/rust_crate.cpp index 369782708df..ced6aaf46a7 100644 --- a/src/rt/rust_crate.cpp +++ b/src/rt/rust_crate.cpp @@ -47,14 +47,22 @@ rust_crate::mem_area::mem_area(rust_dom *dom, uintptr_t pos, size_t sz) rust_crate::mem_area rust_crate::get_debug_info(rust_dom *dom) const { - return mem_area(dom, ((uintptr_t)this + debug_info_off), - debug_info_sz); + if (debug_info_off) + return mem_area(dom, + ((uintptr_t)this + debug_info_off), + debug_info_sz); + else + return mem_area(dom, 0, 0); } rust_crate::mem_area rust_crate::get_debug_abbrev(rust_dom *dom) const { - return mem_area(dom, ((uintptr_t)this + debug_abbrev_off), - debug_abbrev_sz); + if (debug_abbrev_off) + return mem_area(dom, + ((uintptr_t)this + debug_abbrev_off), + debug_abbrev_sz); + else + return mem_area(dom, 0, 0); } // |
