diff --git a/src/boot/me/dwarf.ml b/src/boot/me/dwarf.ml index a568db417bd..bf974866c4d 100644 --- a/src/boot/me/dwarf.ml +++ b/src/boot/me/dwarf.ml @@ -2724,6 +2724,7 @@ let read_dies | DW_FORM_data1 -> DATA_num (ar.asm_get_u8()) | DW_FORM_data4 -> DATA_num (ar.asm_get_u32()) | DW_FORM_flag -> DATA_num (ar.asm_get_u8()) + | DW_FORM_udata -> DATA_num (ar.asm_get_uleb()) | DW_FORM_block1 -> (adv_block1(); DATA_other) | DW_FORM_block4 -> (adv_block4(); DATA_other) | _ -> diff --git a/src/lib/std.rc b/src/lib/std.rc index 3ddfc04cfc8..80d21fb0ac0 100644 --- a/src/lib/std.rc +++ b/src/lib/std.rc @@ -16,6 +16,10 @@ mod _str; mod _io; mod sys; +// Utility modules. + +mod util; + // Authorize various rule-bendings. auth _io = unsafe; diff --git a/src/rt/rust_crate_reader.cpp b/src/rt/rust_crate_reader.cpp index b9b4497cc72..03d64b4bba9 100644 --- a/src/rt/rust_crate_reader.cpp +++ b/src/rt/rust_crate_reader.cpp @@ -347,6 +347,11 @@ rust_crate_reader::die::step_attr(attr &a) const return rdr->is_ok() || rdr->at_end(); break; + case DW_FORM_udata: + rdr->get_uleb(u32); + return rdr->is_ok() || rdr->at_end(); + break; + default: rdr->mem.dom->log(rust_log::DWARF, " unknown dwarf form: 0x%" PRIxPTR, a.form);