This fixes some hard-coded assumptions in the debug crate that the native ELF files being accessed are little-endian; specifically in create_gdbjit_image as well as in emit_dwarf. In addition, data in WebAssembly memory always uses little-endian byte order. Therefore, if the native architecture is big-endian, all references to base types need to be marked as little-endian using the DW_AT_endianity attribute, so that the debugger will be able to correctly access them.
31 lines
847 B
Rust
31 lines
847 B
Rust
#![doc(hidden)]
|
|
|
|
pub mod ir {
|
|
pub use cranelift_codegen::binemit::{Reloc, StackMap};
|
|
pub use cranelift_codegen::ir::{
|
|
types, AbiParam, ArgumentPurpose, Endianness, JumpTableOffsets, LabelValueLoc, LibCall,
|
|
Signature, SourceLoc, StackSlots, TrapCode, Type, ValueLabel, ValueLoc,
|
|
};
|
|
pub use cranelift_codegen::{ValueLabelsRanges, ValueLocRange};
|
|
}
|
|
|
|
pub mod settings {
|
|
pub use cranelift_codegen::settings::{
|
|
builder, Builder, Configurable, Flags, OptLevel, SetError, Setting, SettingKind, Value,
|
|
};
|
|
}
|
|
|
|
pub mod isa {
|
|
pub use cranelift_codegen::isa::{
|
|
unwind, Builder, CallConv, RegUnit, TargetFrontendConfig, TargetIsa,
|
|
};
|
|
}
|
|
|
|
pub mod entity {
|
|
pub use cranelift_entity::{packed_option, BoxedSlice, EntityRef, EntitySet, PrimaryMap};
|
|
}
|
|
|
|
pub mod wasm {
|
|
pub use cranelift_wasm::*;
|
|
}
|