@@ -27,7 +27,7 @@ pub fn read_dylib_info(obj: &object::File<'_>) -> io::Result<RustCInfo> {
27
27
let mut items = ver_str. split_whitespace ( ) ;
28
28
let tag = items. next ( ) . ok_or_else ( || err ! ( "version format error" ) ) ?;
29
29
if tag != "rustc" {
30
- return Err ( err ! ( "version format error (No rustc tag) " ) ) ;
30
+ return Err ( err ! ( "no rustc tag" ) ) ;
31
31
}
32
32
33
33
let version_part = items. next ( ) . ok_or_else ( || err ! ( "no version string" ) ) ?;
@@ -83,7 +83,7 @@ fn read_section<'a>(obj: &object::File<'a>, section_name: &str) -> io::Result<&'
83
83
/// A proc macro crate binary's ".rustc" section has following byte layout:
84
84
/// * [b'r',b'u',b's',b't',0,0,0,5] is the first 8 bytes
85
85
/// * ff060000 734e6150 is followed, it's the snappy format magic bytes,
86
- /// means bytes from here(including this sequence) are compressed in
86
+ /// means bytes from here (including this sequence) are compressed in
87
87
/// snappy compression format. Version info is inside here, so decompress
88
88
/// this.
89
89
///
@@ -110,15 +110,15 @@ pub fn read_version(obj: &object::File<'_>) -> io::Result<String> {
110
110
) ) ;
111
111
}
112
112
let version = u32:: from_be_bytes ( [ dot_rustc[ 4 ] , dot_rustc[ 5 ] , dot_rustc[ 6 ] , dot_rustc[ 7 ] ] ) ;
113
- // Last supported version is:
113
+ // Last version with breaking changes is:
114
114
// https://github.com/rust-lang/rust/commit/b94cfefc860715fb2adf72a6955423d384c69318
115
115
let ( mut metadata_portion, bytes_before_version) = match version {
116
116
8 => {
117
117
let len_bytes = & dot_rustc[ 8 ..12 ] ;
118
118
let data_len = u32:: from_be_bytes ( len_bytes. try_into ( ) . unwrap ( ) ) as usize ;
119
119
( & dot_rustc[ 12 ..data_len + 12 ] , 13 )
120
120
}
121
- 9 => {
121
+ 9 | 10 => {
122
122
let len_bytes = & dot_rustc[ 8 ..16 ] ;
123
123
let data_len = u64:: from_le_bytes ( len_bytes. try_into ( ) . unwrap ( ) ) as usize ;
124
124
( & dot_rustc[ 16 ..data_len + 12 ] , 17 )
0 commit comments