diff --git a/objdiff-core/src/arch/arm.rs b/objdiff-core/src/arch/arm.rs index 0760187..fffc9cb 100644 --- a/objdiff-core/src/arch/arm.rs +++ b/objdiff-core/src/arch/arm.rs @@ -363,10 +363,10 @@ impl Arch for ArchArm { address: u64, _relocation: &object::Relocation, flags: RelocationFlags, - ) -> Result { + ) -> Result> { let section_data = section.data()?; let address = address as usize; - Ok(match flags { + Ok(Some(match flags { // ARM calls RelocationFlags::Elf(elf::R_ARM_PC24) | RelocationFlags::Elf(elf::R_ARM_XPC25) @@ -396,7 +396,7 @@ impl Arch for ArchArm { } flags => bail!("Unsupported ARM implicit relocation {flags:?}"), - } as i64) + } as i64)) } fn demangle(&self, name: &str) -> Option { diff --git a/objdiff-core/src/arch/arm64.rs b/objdiff-core/src/arch/arm64.rs index 2308bfc..5c4d972 100644 --- a/objdiff-core/src/arch/arm64.rs +++ b/objdiff-core/src/arch/arm64.rs @@ -115,7 +115,7 @@ impl Arch for ArchArm64 { address: u64, _relocation: &object::Relocation, flags: RelocationFlags, - ) -> Result { + ) -> Result> { bail!("Unsupported ARM64 implicit relocation {:#x}:{:?}", address, flags) } diff --git a/objdiff-core/src/arch/mips.rs b/objdiff-core/src/arch/mips.rs index 2608de6..fa6404b 100644 --- a/objdiff-core/src/arch/mips.rs +++ b/objdiff-core/src/arch/mips.rs @@ -232,7 +232,7 @@ impl Arch for ArchMips { address: u64, reloc: &object::Relocation, flags: RelocationFlags, - ) -> Result { + ) -> Result> { // Check for paired R_MIPS_HI16 and R_MIPS_LO16 relocations. if let RelocationFlags::Elf(elf::R_MIPS_HI16 | elf::R_MIPS_LO16) = flags { if let Some(addend) = self @@ -240,14 +240,14 @@ impl Arch for ArchMips { .get(section.index().0) .and_then(|m| m.get(&address).copied()) { - return Ok(addend); + return Ok(Some(addend)); } } let data = section.data()?; let code = data[address as usize..address as usize + 4].try_into()?; let addend = self.endianness.read_u32_bytes(code); - Ok(match flags { + Ok(Some(match flags { RelocationFlags::Elf(elf::R_MIPS_32) => addend as i64, RelocationFlags::Elf(elf::R_MIPS_26) => ((addend & 0x03FFFFFF) << 2) as i64, RelocationFlags::Elf(elf::R_MIPS_HI16) => ((addend & 0x0000FFFF) << 16) as i32 as i64, @@ -271,7 +271,7 @@ impl Arch for ArchMips { RelocationFlags::Elf(elf::R_MIPS_PC16) => 0, // PC-relative relocation RelocationFlags::Elf(R_MIPS15_S3) => ((addend & 0x001FFFC0) >> 3) as i64, flags => bail!("Unsupported MIPS implicit relocation {flags:?}"), - }) + })) } fn demangle(&self, name: &str) -> Option { diff --git a/objdiff-core/src/arch/mod.rs b/objdiff-core/src/arch/mod.rs index 6b5408a..6cd0c4f 100644 --- a/objdiff-core/src/arch/mod.rs +++ b/objdiff-core/src/arch/mod.rs @@ -364,7 +364,7 @@ pub trait Arch: Send + Sync + Debug { address: u64, relocation: &object::Relocation, flags: RelocationFlags, - ) -> Result; + ) -> Result>; fn demangle(&self, _name: &str) -> Option { None } @@ -463,8 +463,8 @@ impl Arch for ArchDummy { _address: u64, _relocation: &object::Relocation, _flags: RelocationFlags, - ) -> Result { - Ok(0) + ) -> Result> { + Ok(Some(0)) } fn data_reloc_size(&self, _flags: RelocationFlags) -> usize { 0 } diff --git a/objdiff-core/src/arch/ppc/mod.rs b/objdiff-core/src/arch/ppc/mod.rs index 48a71e7..83730c0 100644 --- a/objdiff-core/src/arch/ppc/mod.rs +++ b/objdiff-core/src/arch/ppc/mod.rs @@ -6,10 +6,10 @@ use alloc::{ vec::Vec, }; -use anyhow::{Result, bail, ensure}; +use anyhow::{Result, anyhow, bail, ensure}; use cwextab::{ExceptionTableData, decode_extab}; use flagset::Flags; -use object::{Endian as _, Object as _, ObjectSection as _, ObjectSymbol as _, elf, pe}; +use object::{Object as _, ObjectSection as _, ObjectSymbol as _, elf, pe}; use crate::{ arch::{Arch, DataType}, @@ -210,32 +210,35 @@ impl Arch for ArchPpc { fn implcit_addend( &self, - file: &object::File<'_>, + _file: &object::File<'_>, section: &object::Section, address: u64, _relocation: &object::Relocation, flags: RelocationFlags, - ) -> Result { - let section_data = section.data()?; - let address = address as usize; - let data = section_data - .get(address..address + 4) - .ok_or_else(|| anyhow::anyhow!("Invalid address {address} for section data"))? - .try_into()?; - let code = file.endianness().read_u32_bytes(data); - Ok(match flags { + ) -> Result> { + match flags { + // IMAGE_REL_PPC_PAIR contains the REF{HI,LO} displacement instead of a symbol index RelocationFlags::Coff(pe::IMAGE_REL_PPC_REFHI) - | RelocationFlags::Coff(pe::IMAGE_REL_PPC_REFLO) => (code & 0xffff) as i16 as i32, - RelocationFlags::Coff(pe::IMAGE_REL_PPC_REL24) => { - // let addend = (((code & 0x3fffffc) << 6) as i32) >> 6; - // println!("PPC_REL24 addend: {data:?} => {addend}"); - // addend - 0 - } - RelocationFlags::Coff(pe::IMAGE_REL_PPC_ADDR32) => code as i32, - RelocationFlags::Coff(pe::IMAGE_REL_PPC_PAIR) => 0, - flags => bail!("Unsupported PPC implicit relocation {flags:?}"), - } as i64) + | RelocationFlags::Coff(pe::IMAGE_REL_PPC_REFLO) => section + .relocations() + .skip_while(|&(a, _)| a < address) + .take_while(|&(a, _)| a == address) + .find(|(_, reloc)| { + matches!(reloc.flags(), object::RelocationFlags::Coff { + typ: pe::IMAGE_REL_PPC_PAIR + }) + }) + .map_or(Ok(Some(0)), |(_, reloc)| match reloc.target() { + object::RelocationTarget::Symbol(index) => { + Ok(Some(index.0 as u16 as i16 as i64)) + } + target => Err(anyhow!("Unsupported IMAGE_REL_PPC_PAIR target {target:?}")), + }), + // Skip PAIR relocations as they are handled by the previous case + RelocationFlags::Coff(pe::IMAGE_REL_PPC_PAIR) => Ok(None), + RelocationFlags::Coff(_) => Ok(Some(0)), + flags => Err(anyhow!("Unsupported PPC implicit relocation {flags:?}")), + } } fn demangle(&self, name: &str) -> Option { @@ -263,7 +266,15 @@ impl Arch for ArchPpc { elf::R_PPC_REL14 => Some("R_PPC_REL14"), _ => None, }, - _ => None, + RelocationFlags::Coff(r_type) => match r_type { + pe::IMAGE_REL_PPC_ADDR32 => Some("IMAGE_REL_PPC_ADDR32"), + pe::IMAGE_REL_PPC_REFHI => Some("IMAGE_REL_PPC_REFHI"), + pe::IMAGE_REL_PPC_REFLO => Some("IMAGE_REL_PPC_REFLO"), + pe::IMAGE_REL_PPC_REL24 => Some("IMAGE_REL_PPC_REL24"), + pe::IMAGE_REL_PPC_REL14 => Some("IMAGE_REL_PPC_REL14"), + pe::IMAGE_REL_PPC_PAIR => Some("IMAGE_REL_PPC_PAIR"), + _ => None, + }, } } diff --git a/objdiff-core/src/arch/superh/mod.rs b/objdiff-core/src/arch/superh/mod.rs index 0b98725..8c48953 100644 --- a/objdiff-core/src/arch/superh/mod.rs +++ b/objdiff-core/src/arch/superh/mod.rs @@ -139,7 +139,7 @@ impl Arch for ArchSuperH { address: u64, _relocation: &object::Relocation, flags: RelocationFlags, - ) -> Result { + ) -> Result> { bail!("Unsupported SuperH implicit relocation {:#x}:{:?}", address, flags) } diff --git a/objdiff-core/src/arch/x86.rs b/objdiff-core/src/arch/x86.rs index d89674e..6e3de36 100644 --- a/objdiff-core/src/arch/x86.rs +++ b/objdiff-core/src/arch/x86.rs @@ -232,14 +232,14 @@ impl Arch for ArchX86 { address: u64, _relocation: &object::Relocation, flags: RelocationFlags, - ) -> Result { + ) -> Result> { match self.arch { Architecture::X86 => match flags { RelocationFlags::Coff(pe::IMAGE_REL_I386_DIR32 | pe::IMAGE_REL_I386_REL32) | RelocationFlags::Elf(elf::R_386_32 | elf::R_386_PC32) => { let data = section.data()?[address as usize..address as usize + 4].try_into()?; - Ok(self.endianness.read_i32_bytes(data) as i64) + Ok(Some(self.endianness.read_i32_bytes(data) as i64)) } flags => bail!("Unsupported x86 implicit relocation {flags:?}"), }, @@ -248,13 +248,13 @@ impl Arch for ArchX86 { | RelocationFlags::Elf(elf::R_X86_64_32 | elf::R_X86_64_PC32) => { let data = section.data()?[address as usize..address as usize + 4].try_into()?; - Ok(self.endianness.read_i32_bytes(data) as i64) + Ok(Some(self.endianness.read_i32_bytes(data) as i64)) } RelocationFlags::Coff(pe::IMAGE_REL_AMD64_ADDR64) | RelocationFlags::Elf(elf::R_X86_64_64) => { let data = section.data()?[address as usize..address as usize + 8].try_into()?; - Ok(self.endianness.read_i64_bytes(data)) + Ok(Some(self.endianness.read_i64_bytes(data))) } flags => bail!("Unsupported x86-64 implicit relocation {flags:?}"), }, diff --git a/objdiff-core/src/obj/read.rs b/objdiff-core/src/obj/read.rs index 8196e37..51b863f 100644 --- a/objdiff-core/src/obj/read.rs +++ b/objdiff-core/src/obj/read.rs @@ -338,7 +338,10 @@ fn map_section_relocations( }; // TODO validate reloc here? let mut addend = if reloc.has_implicit_addend() { - arch.implcit_addend(obj_file, obj_section, address, &reloc, flags)? + match arch.implcit_addend(obj_file, obj_section, address, &reloc, flags)? { + Some(addend) => addend, + None => continue, // Skip relocation (e.g. COFF PAIR relocations) + } } else { reloc.addend() }; diff --git a/objdiff-core/tests/arch_ppc.rs b/objdiff-core/tests/arch_ppc.rs index 40e9d83..8086f14 100644 --- a/objdiff-core/tests/arch_ppc.rs +++ b/objdiff-core/tests/arch_ppc.rs @@ -85,3 +85,31 @@ fn diff_ppc() { assert_eq!(base_symbol_diff.target_symbol, Some(target_symbol_idx)); insta::assert_debug_snapshot!((target_symbol_diff, base_symbol_diff)); } + +#[test] +#[cfg(feature = "ppc")] +fn read_vmx128_coff() { + let diff_config = diff::DiffObjConfig { combine_data_sections: true, ..Default::default() }; + let obj = obj::read::parse(include_object!("data/ppc/vmx128.obj"), &diff_config).unwrap(); + insta::assert_debug_snapshot!(obj); + let symbol_idx = + obj.symbols.iter().position(|s| s.name == "?FloatingPointExample@@YAXXZ").unwrap(); + let diff = diff::code::no_diff_code(&obj, symbol_idx, &diff_config).unwrap(); + insta::assert_debug_snapshot!(diff.instruction_rows); + let output = common::display_diff(&obj, &diff, symbol_idx, &diff_config); + insta::assert_snapshot!(output); +} + +#[test] +#[cfg(feature = "ppc")] +fn read_dummy() { + let diff_config = diff::DiffObjConfig { combine_data_sections: true, ..Default::default() }; + let obj = obj::read::parse(include_object!("data/ppc/dummy.obj"), &diff_config).unwrap(); + insta::assert_debug_snapshot!(obj); + let symbol_idx = + obj.symbols.iter().position(|s| s.name == "?FloatingPointExample@@YAXXZ").unwrap(); + let diff = diff::code::no_diff_code(&obj, symbol_idx, &diff_config).unwrap(); + insta::assert_debug_snapshot!(diff.instruction_rows); + let output = common::display_diff(&obj, &diff, symbol_idx, &diff_config); + insta::assert_snapshot!(output); +} diff --git a/objdiff-core/tests/data/ppc/vmx128.obj b/objdiff-core/tests/data/ppc/vmx128.obj new file mode 100644 index 0000000..a049410 Binary files /dev/null and b/objdiff-core/tests/data/ppc/vmx128.obj differ diff --git a/objdiff-core/tests/snapshots/arch_ppc__read_vmx128_coff-2.snap b/objdiff-core/tests/snapshots/arch_ppc__read_vmx128_coff-2.snap new file mode 100644 index 0000000..95e93a6 --- /dev/null +++ b/objdiff-core/tests/snapshots/arch_ppc__read_vmx128_coff-2.snap @@ -0,0 +1,1826 @@ +--- +source: objdiff-core/tests/arch_ppc.rs +expression: diff.instruction_rows +--- +[ + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 120, + size: 4, + opcode: 342, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 124, + size: 4, + opcode: 443, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 128, + size: 4, + opcode: 444, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 132, + size: 4, + opcode: 264, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 136, + size: 4, + opcode: 455, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 140, + size: 4, + opcode: 459, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 144, + size: 4, + opcode: 264, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 148, + size: 4, + opcode: 455, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 152, + size: 4, + opcode: 459, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 156, + size: 4, + opcode: 264, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 160, + size: 4, + opcode: 455, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 164, + size: 4, + opcode: 459, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 168, + size: 4, + opcode: 264, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 172, + size: 4, + opcode: 455, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 176, + size: 4, + opcode: 459, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 180, + size: 4, + opcode: 264, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 184, + size: 4, + opcode: 455, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 188, + size: 4, + opcode: 459, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 192, + size: 4, + opcode: 264, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 196, + size: 4, + opcode: 455, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 200, + size: 4, + opcode: 459, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 204, + size: 4, + opcode: 264, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 208, + size: 4, + opcode: 455, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 212, + size: 4, + opcode: 459, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 216, + size: 4, + opcode: 264, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 220, + size: 4, + opcode: 455, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 224, + size: 4, + opcode: 459, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 228, + size: 4, + opcode: 264, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 232, + size: 4, + opcode: 455, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 236, + size: 4, + opcode: 459, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 240, + size: 4, + opcode: 264, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 244, + size: 4, + opcode: 455, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 248, + size: 4, + opcode: 459, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 252, + size: 4, + opcode: 264, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 256, + size: 4, + opcode: 455, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 260, + size: 4, + opcode: 459, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 264, + size: 4, + opcode: 264, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 268, + size: 4, + opcode: 455, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 272, + size: 4, + opcode: 459, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 276, + size: 4, + opcode: 263, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 280, + size: 4, + opcode: 263, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 284, + size: 4, + opcode: 267, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 288, + size: 4, + opcode: 263, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 292, + size: 4, + opcode: 194, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 296, + size: 4, + opcode: 263, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 300, + size: 4, + opcode: 187, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 304, + size: 4, + opcode: 263, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 308, + size: 4, + opcode: 194, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 312, + size: 4, + opcode: 263, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 316, + size: 4, + opcode: 263, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 320, + size: 4, + opcode: 267, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 324, + size: 4, + opcode: 263, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 328, + size: 4, + opcode: 194, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 332, + size: 4, + opcode: 263, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 336, + size: 4, + opcode: 187, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 340, + size: 4, + opcode: 263, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 344, + size: 4, + opcode: 194, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 348, + size: 4, + opcode: 263, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 352, + size: 4, + opcode: 263, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 356, + size: 4, + opcode: 267, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 360, + size: 4, + opcode: 263, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 364, + size: 4, + opcode: 194, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 368, + size: 4, + opcode: 263, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 372, + size: 4, + opcode: 187, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 376, + size: 4, + opcode: 263, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 380, + size: 4, + opcode: 194, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 384, + size: 4, + opcode: 263, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 388, + size: 4, + opcode: 187, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 392, + size: 4, + opcode: 263, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 396, + size: 4, + opcode: 187, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 400, + size: 4, + opcode: 263, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 404, + size: 4, + opcode: 187, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 408, + size: 4, + opcode: 76, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 412, + size: 4, + opcode: 263, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 416, + size: 4, + opcode: 194, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 420, + size: 4, + opcode: 263, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 424, + size: 4, + opcode: 187, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 428, + size: 4, + opcode: 263, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 432, + size: 4, + opcode: 194, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 436, + size: 4, + opcode: 263, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 440, + size: 4, + opcode: 187, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 444, + size: 4, + opcode: 263, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 448, + size: 4, + opcode: 187, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 452, + size: 4, + opcode: 203, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 456, + size: 4, + opcode: 263, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 460, + size: 4, + opcode: 194, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 464, + size: 4, + opcode: 263, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 468, + size: 4, + opcode: 187, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 472, + size: 4, + opcode: 263, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 476, + size: 4, + opcode: 194, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 480, + size: 4, + opcode: 263, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 484, + size: 4, + opcode: 263, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 488, + size: 4, + opcode: 263, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 492, + size: 4, + opcode: 187, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 496, + size: 4, + opcode: 267, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 500, + size: 4, + opcode: 263, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 504, + size: 4, + opcode: 263, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 508, + size: 4, + opcode: 263, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 512, + size: 4, + opcode: 187, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 516, + size: 4, + opcode: 267, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 520, + size: 4, + opcode: 264, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 524, + size: 4, + opcode: 263, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 528, + size: 4, + opcode: 267, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 532, + size: 4, + opcode: 263, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 536, + size: 4, + opcode: 187, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 540, + size: 4, + opcode: 264, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 544, + size: 4, + opcode: 263, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 548, + size: 4, + opcode: 267, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 552, + size: 4, + opcode: 263, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 556, + size: 4, + opcode: 187, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 560, + size: 4, + opcode: 264, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 564, + size: 4, + opcode: 263, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 568, + size: 4, + opcode: 267, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 572, + size: 4, + opcode: 263, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 576, + size: 4, + opcode: 187, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 580, + size: 4, + opcode: 264, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 584, + size: 4, + opcode: 263, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 588, + size: 4, + opcode: 267, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 592, + size: 4, + opcode: 263, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 596, + size: 4, + opcode: 187, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 600, + size: 4, + opcode: 264, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 604, + size: 4, + opcode: 263, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 608, + size: 4, + opcode: 267, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 612, + size: 4, + opcode: 264, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 616, + size: 4, + opcode: 263, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 620, + size: 4, + opcode: 267, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 624, + size: 4, + opcode: 263, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 628, + size: 4, + opcode: 439, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 632, + size: 4, + opcode: 348, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, + InstructionDiffRow { + ins_ref: Some( + InstructionRef { + address: 636, + size: 4, + opcode: 269, + branch_dest: None, + }, + ), + kind: None, + branch_from: None, + branch_to: None, + arg_diff: [], + }, +] diff --git a/objdiff-core/tests/snapshots/arch_ppc__read_vmx128_coff-3.snap b/objdiff-core/tests/snapshots/arch_ppc__read_vmx128_coff-3.snap new file mode 100644 index 0000000..822c759 --- /dev/null +++ b/objdiff-core/tests/snapshots/arch_ppc__read_vmx128_coff-3.snap @@ -0,0 +1,134 @@ +--- +source: objdiff-core/tests/arch_ppc.rs +expression: output +--- +[(Address(0), Normal, 5), (Spacing(4), Normal, 0), (Opcode("mflr", 342), Normal, 10), (Argument(Opaque("r12")), Normal, 0), (Eol, Normal, 0)] +[(Address(4), Normal, 5), (Spacing(4), Normal, 0), (Opcode("stw", 443), Normal, 10), (Argument(Opaque("r12")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Signed(-8)), Normal, 0), (Basic("("), Normal, 0), (Argument(Opaque("r1")), Normal, 0), (Basic(")"), Normal, 0), (Eol, Normal, 0)] +[(Address(8), Normal, 5), (Spacing(4), Normal, 0), (Opcode("stwu", 444), Normal, 10), (Argument(Opaque("r1")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Signed(-336)), Normal, 0), (Basic("("), Normal, 0), (Argument(Opaque("r1")), Normal, 0), (Basic(")"), Normal, 0), (Eol, Normal, 0)] +[(Address(12), Normal, 5), (Spacing(4), Normal, 0), (Opcode("lis", 264), Normal, 10), (Argument(Opaque("r11")), Normal, 0), (Basic(", "), Normal, 0), (Symbol(Symbol { name: "__real@3f800000", demangled_name: None, address: 388, size: 4, kind: Object, section: Some(4), flags: FlagSet(Global | SizeInferred), align: None, virtual_address: None }), Bright, 0), (Basic("@h"), Normal, 0), (Eol, Normal, 0)] +[(Address(16), Normal, 5), (Spacing(4), Normal, 0), (Opcode("lfs", 455), Normal, 10), (Argument(Opaque("f0")), Normal, 0), (Basic(", "), Normal, 0), (Symbol(Symbol { name: "__real@3f800000", demangled_name: None, address: 388, size: 4, kind: Object, section: Some(4), flags: FlagSet(Global | SizeInferred), align: None, virtual_address: None }), Bright, 0), (Basic("@l"), Normal, 0), (Basic("("), Normal, 0), (Argument(Opaque("r11")), Normal, 0), (Basic(")"), Normal, 0), (Eol, Normal, 0)] +[(Address(20), Normal, 5), (Spacing(4), Normal, 0), (Opcode("stfs", 459), Normal, 10), (Argument(Opaque("f0")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Signed(272)), Normal, 0), (Basic("("), Normal, 0), (Argument(Opaque("r1")), Normal, 0), (Basic(")"), Normal, 0), (Eol, Normal, 0)] +[(Address(24), Normal, 5), (Spacing(4), Normal, 0), (Opcode("lis", 264), Normal, 10), (Argument(Opaque("r10")), Normal, 0), (Basic(", "), Normal, 0), (Symbol(Symbol { name: "__real@40000000", demangled_name: None, address: 384, size: 4, kind: Object, section: Some(4), flags: FlagSet(Global | SizeInferred), align: None, virtual_address: None }), Bright, 0), (Basic("@h"), Normal, 0), (Eol, Normal, 0)] +[(Address(28), Normal, 5), (Spacing(4), Normal, 0), (Opcode("lfs", 455), Normal, 10), (Argument(Opaque("f13")), Normal, 0), (Basic(", "), Normal, 0), (Symbol(Symbol { name: "__real@40000000", demangled_name: None, address: 384, size: 4, kind: Object, section: Some(4), flags: FlagSet(Global | SizeInferred), align: None, virtual_address: None }), Bright, 0), (Basic("@l"), Normal, 0), (Basic("("), Normal, 0), (Argument(Opaque("r10")), Normal, 0), (Basic(")"), Normal, 0), (Eol, Normal, 0)] +[(Address(32), Normal, 5), (Spacing(4), Normal, 0), (Opcode("stfs", 459), Normal, 10), (Argument(Opaque("f13")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Signed(276)), Normal, 0), (Basic("("), Normal, 0), (Argument(Opaque("r1")), Normal, 0), (Basic(")"), Normal, 0), (Eol, Normal, 0)] +[(Address(36), Normal, 5), (Spacing(4), Normal, 0), (Opcode("lis", 264), Normal, 10), (Argument(Opaque("r9")), Normal, 0), (Basic(", "), Normal, 0), (Symbol(Symbol { name: "__real@40400000", demangled_name: None, address: 380, size: 4, kind: Object, section: Some(4), flags: FlagSet(Global | SizeInferred), align: None, virtual_address: None }), Bright, 0), (Basic("@h"), Normal, 0), (Eol, Normal, 0)] +[(Address(40), Normal, 5), (Spacing(4), Normal, 0), (Opcode("lfs", 455), Normal, 10), (Argument(Opaque("f12")), Normal, 0), (Basic(", "), Normal, 0), (Symbol(Symbol { name: "__real@40400000", demangled_name: None, address: 380, size: 4, kind: Object, section: Some(4), flags: FlagSet(Global | SizeInferred), align: None, virtual_address: None }), Bright, 0), (Basic("@l"), Normal, 0), (Basic("("), Normal, 0), (Argument(Opaque("r9")), Normal, 0), (Basic(")"), Normal, 0), (Eol, Normal, 0)] +[(Address(44), Normal, 5), (Spacing(4), Normal, 0), (Opcode("stfs", 459), Normal, 10), (Argument(Opaque("f12")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Signed(280)), Normal, 0), (Basic("("), Normal, 0), (Argument(Opaque("r1")), Normal, 0), (Basic(")"), Normal, 0), (Eol, Normal, 0)] +[(Address(48), Normal, 5), (Spacing(4), Normal, 0), (Opcode("lis", 264), Normal, 10), (Argument(Opaque("r8")), Normal, 0), (Basic(", "), Normal, 0), (Symbol(Symbol { name: "__real@40800000", demangled_name: None, address: 376, size: 4, kind: Object, section: Some(4), flags: FlagSet(Global | SizeInferred), align: None, virtual_address: None }), Bright, 0), (Basic("@h"), Normal, 0), (Eol, Normal, 0)] +[(Address(52), Normal, 5), (Spacing(4), Normal, 0), (Opcode("lfs", 455), Normal, 10), (Argument(Opaque("f11")), Normal, 0), (Basic(", "), Normal, 0), (Symbol(Symbol { name: "__real@40800000", demangled_name: None, address: 376, size: 4, kind: Object, section: Some(4), flags: FlagSet(Global | SizeInferred), align: None, virtual_address: None }), Bright, 0), (Basic("@l"), Normal, 0), (Basic("("), Normal, 0), (Argument(Opaque("r8")), Normal, 0), (Basic(")"), Normal, 0), (Eol, Normal, 0)] +[(Address(56), Normal, 5), (Spacing(4), Normal, 0), (Opcode("stfs", 459), Normal, 10), (Argument(Opaque("f11")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Signed(284)), Normal, 0), (Basic("("), Normal, 0), (Argument(Opaque("r1")), Normal, 0), (Basic(")"), Normal, 0), (Eol, Normal, 0)] +[(Address(60), Normal, 5), (Spacing(4), Normal, 0), (Opcode("lis", 264), Normal, 10), (Argument(Opaque("r7")), Normal, 0), (Basic(", "), Normal, 0), (Symbol(Symbol { name: "__real@40a00000", demangled_name: None, address: 372, size: 4, kind: Object, section: Some(4), flags: FlagSet(Global | SizeInferred), align: None, virtual_address: None }), Bright, 0), (Basic("@h"), Normal, 0), (Eol, Normal, 0)] +[(Address(64), Normal, 5), (Spacing(4), Normal, 0), (Opcode("lfs", 455), Normal, 10), (Argument(Opaque("f10")), Normal, 0), (Basic(", "), Normal, 0), (Symbol(Symbol { name: "__real@40a00000", demangled_name: None, address: 372, size: 4, kind: Object, section: Some(4), flags: FlagSet(Global | SizeInferred), align: None, virtual_address: None }), Bright, 0), (Basic("@l"), Normal, 0), (Basic("("), Normal, 0), (Argument(Opaque("r7")), Normal, 0), (Basic(")"), Normal, 0), (Eol, Normal, 0)] +[(Address(68), Normal, 5), (Spacing(4), Normal, 0), (Opcode("stfs", 459), Normal, 10), (Argument(Opaque("f10")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Signed(256)), Normal, 0), (Basic("("), Normal, 0), (Argument(Opaque("r1")), Normal, 0), (Basic(")"), Normal, 0), (Eol, Normal, 0)] +[(Address(72), Normal, 5), (Spacing(4), Normal, 0), (Opcode("lis", 264), Normal, 10), (Argument(Opaque("r6")), Normal, 0), (Basic(", "), Normal, 0), (Symbol(Symbol { name: "__real@40c00000", demangled_name: None, address: 368, size: 4, kind: Object, section: Some(4), flags: FlagSet(Global | SizeInferred), align: None, virtual_address: None }), Bright, 0), (Basic("@h"), Normal, 0), (Eol, Normal, 0)] +[(Address(76), Normal, 5), (Spacing(4), Normal, 0), (Opcode("lfs", 455), Normal, 10), (Argument(Opaque("f9")), Normal, 0), (Basic(", "), Normal, 0), (Symbol(Symbol { name: "__real@40c00000", demangled_name: None, address: 368, size: 4, kind: Object, section: Some(4), flags: FlagSet(Global | SizeInferred), align: None, virtual_address: None }), Bright, 0), (Basic("@l"), Normal, 0), (Basic("("), Normal, 0), (Argument(Opaque("r6")), Normal, 0), (Basic(")"), Normal, 0), (Eol, Normal, 0)] +[(Address(80), Normal, 5), (Spacing(4), Normal, 0), (Opcode("stfs", 459), Normal, 10), (Argument(Opaque("f9")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Signed(260)), Normal, 0), (Basic("("), Normal, 0), (Argument(Opaque("r1")), Normal, 0), (Basic(")"), Normal, 0), (Eol, Normal, 0)] +[(Address(84), Normal, 5), (Spacing(4), Normal, 0), (Opcode("lis", 264), Normal, 10), (Argument(Opaque("r5")), Normal, 0), (Basic(", "), Normal, 0), (Symbol(Symbol { name: "__real@40e00000", demangled_name: None, address: 364, size: 4, kind: Object, section: Some(4), flags: FlagSet(Global | SizeInferred), align: None, virtual_address: None }), Bright, 0), (Basic("@h"), Normal, 0), (Eol, Normal, 0)] +[(Address(88), Normal, 5), (Spacing(4), Normal, 0), (Opcode("lfs", 455), Normal, 10), (Argument(Opaque("f8")), Normal, 0), (Basic(", "), Normal, 0), (Symbol(Symbol { name: "__real@40e00000", demangled_name: None, address: 364, size: 4, kind: Object, section: Some(4), flags: FlagSet(Global | SizeInferred), align: None, virtual_address: None }), Bright, 0), (Basic("@l"), Normal, 0), (Basic("("), Normal, 0), (Argument(Opaque("r5")), Normal, 0), (Basic(")"), Normal, 0), (Eol, Normal, 0)] +[(Address(92), Normal, 5), (Spacing(4), Normal, 0), (Opcode("stfs", 459), Normal, 10), (Argument(Opaque("f8")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Signed(264)), Normal, 0), (Basic("("), Normal, 0), (Argument(Opaque("r1")), Normal, 0), (Basic(")"), Normal, 0), (Eol, Normal, 0)] +[(Address(96), Normal, 5), (Spacing(4), Normal, 0), (Opcode("lis", 264), Normal, 10), (Argument(Opaque("r4")), Normal, 0), (Basic(", "), Normal, 0), (Symbol(Symbol { name: "__real@41000000", demangled_name: None, address: 360, size: 4, kind: Object, section: Some(4), flags: FlagSet(Global | SizeInferred), align: None, virtual_address: None }), Bright, 0), (Basic("@h"), Normal, 0), (Eol, Normal, 0)] +[(Address(100), Normal, 5), (Spacing(4), Normal, 0), (Opcode("lfs", 455), Normal, 10), (Argument(Opaque("f7")), Normal, 0), (Basic(", "), Normal, 0), (Symbol(Symbol { name: "__real@41000000", demangled_name: None, address: 360, size: 4, kind: Object, section: Some(4), flags: FlagSet(Global | SizeInferred), align: None, virtual_address: None }), Bright, 0), (Basic("@l"), Normal, 0), (Basic("("), Normal, 0), (Argument(Opaque("r4")), Normal, 0), (Basic(")"), Normal, 0), (Eol, Normal, 0)] +[(Address(104), Normal, 5), (Spacing(4), Normal, 0), (Opcode("stfs", 459), Normal, 10), (Argument(Opaque("f7")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Signed(268)), Normal, 0), (Basic("("), Normal, 0), (Argument(Opaque("r1")), Normal, 0), (Basic(")"), Normal, 0), (Eol, Normal, 0)] +[(Address(108), Normal, 5), (Spacing(4), Normal, 0), (Opcode("lis", 264), Normal, 10), (Argument(Opaque("r3")), Normal, 0), (Basic(", "), Normal, 0), (Symbol(Symbol { name: "__real@3f000000", demangled_name: None, address: 356, size: 4, kind: Object, section: Some(4), flags: FlagSet(Global | SizeInferred), align: None, virtual_address: None }), Bright, 0), (Basic("@h"), Normal, 0), (Eol, Normal, 0)] +[(Address(112), Normal, 5), (Spacing(4), Normal, 0), (Opcode("lfs", 455), Normal, 10), (Argument(Opaque("f6")), Normal, 0), (Basic(", "), Normal, 0), (Symbol(Symbol { name: "__real@3f000000", demangled_name: None, address: 356, size: 4, kind: Object, section: Some(4), flags: FlagSet(Global | SizeInferred), align: None, virtual_address: None }), Bright, 0), (Basic("@l"), Normal, 0), (Basic("("), Normal, 0), (Argument(Opaque("r3")), Normal, 0), (Basic(")"), Normal, 0), (Eol, Normal, 0)] +[(Address(116), Normal, 5), (Spacing(4), Normal, 0), (Opcode("stfs", 459), Normal, 10), (Argument(Opaque("f6")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Signed(224)), Normal, 0), (Basic("("), Normal, 0), (Argument(Opaque("r1")), Normal, 0), (Basic(")"), Normal, 0), (Eol, Normal, 0)] +[(Address(120), Normal, 5), (Spacing(4), Normal, 0), (Opcode("lis", 264), Normal, 10), (Argument(Opaque("r11")), Normal, 0), (Basic(", "), Normal, 0), (Symbol(Symbol { name: "__real@3f000000", demangled_name: None, address: 356, size: 4, kind: Object, section: Some(4), flags: FlagSet(Global | SizeInferred), align: None, virtual_address: None }), Bright, 0), (Basic("@h"), Normal, 0), (Eol, Normal, 0)] +[(Address(124), Normal, 5), (Spacing(4), Normal, 0), (Opcode("lfs", 455), Normal, 10), (Argument(Opaque("f5")), Normal, 0), (Basic(", "), Normal, 0), (Symbol(Symbol { name: "__real@3f000000", demangled_name: None, address: 356, size: 4, kind: Object, section: Some(4), flags: FlagSet(Global | SizeInferred), align: None, virtual_address: None }), Bright, 0), (Basic("@l"), Normal, 0), (Basic("("), Normal, 0), (Argument(Opaque("r11")), Normal, 0), (Basic(")"), Normal, 0), (Eol, Normal, 0)] +[(Address(128), Normal, 5), (Spacing(4), Normal, 0), (Opcode("stfs", 459), Normal, 10), (Argument(Opaque("f5")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Signed(228)), Normal, 0), (Basic("("), Normal, 0), (Argument(Opaque("r1")), Normal, 0), (Basic(")"), Normal, 0), (Eol, Normal, 0)] +[(Address(132), Normal, 5), (Spacing(4), Normal, 0), (Opcode("lis", 264), Normal, 10), (Argument(Opaque("r10")), Normal, 0), (Basic(", "), Normal, 0), (Symbol(Symbol { name: "__real@3f000000", demangled_name: None, address: 356, size: 4, kind: Object, section: Some(4), flags: FlagSet(Global | SizeInferred), align: None, virtual_address: None }), Bright, 0), (Basic("@h"), Normal, 0), (Eol, Normal, 0)] +[(Address(136), Normal, 5), (Spacing(4), Normal, 0), (Opcode("lfs", 455), Normal, 10), (Argument(Opaque("f4")), Normal, 0), (Basic(", "), Normal, 0), (Symbol(Symbol { name: "__real@3f000000", demangled_name: None, address: 356, size: 4, kind: Object, section: Some(4), flags: FlagSet(Global | SizeInferred), align: None, virtual_address: None }), Bright, 0), (Basic("@l"), Normal, 0), (Basic("("), Normal, 0), (Argument(Opaque("r10")), Normal, 0), (Basic(")"), Normal, 0), (Eol, Normal, 0)] +[(Address(140), Normal, 5), (Spacing(4), Normal, 0), (Opcode("stfs", 459), Normal, 10), (Argument(Opaque("f4")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Signed(232)), Normal, 0), (Basic("("), Normal, 0), (Argument(Opaque("r1")), Normal, 0), (Basic(")"), Normal, 0), (Eol, Normal, 0)] +[(Address(144), Normal, 5), (Spacing(4), Normal, 0), (Opcode("lis", 264), Normal, 10), (Argument(Opaque("r9")), Normal, 0), (Basic(", "), Normal, 0), (Symbol(Symbol { name: "__real@3f000000", demangled_name: None, address: 356, size: 4, kind: Object, section: Some(4), flags: FlagSet(Global | SizeInferred), align: None, virtual_address: None }), Bright, 0), (Basic("@h"), Normal, 0), (Eol, Normal, 0)] +[(Address(148), Normal, 5), (Spacing(4), Normal, 0), (Opcode("lfs", 455), Normal, 10), (Argument(Opaque("f3")), Normal, 0), (Basic(", "), Normal, 0), (Symbol(Symbol { name: "__real@3f000000", demangled_name: None, address: 356, size: 4, kind: Object, section: Some(4), flags: FlagSet(Global | SizeInferred), align: None, virtual_address: None }), Bright, 0), (Basic("@l"), Normal, 0), (Basic("("), Normal, 0), (Argument(Opaque("r9")), Normal, 0), (Basic(")"), Normal, 0), (Eol, Normal, 0)] +[(Address(152), Normal, 5), (Spacing(4), Normal, 0), (Opcode("stfs", 459), Normal, 10), (Argument(Opaque("f3")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Signed(236)), Normal, 0), (Basic("("), Normal, 0), (Argument(Opaque("r1")), Normal, 0), (Basic(")"), Normal, 0), (Eol, Normal, 0)] +[(Address(156), Normal, 5), (Spacing(4), Normal, 0), (Opcode("li", 263), Normal, 10), (Argument(Opaque("r4")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Signed(0)), Normal, 0), (Eol, Normal, 0)] +[(Address(160), Normal, 5), (Spacing(4), Normal, 0), (Opcode("addi", 263), Normal, 10), (Argument(Opaque("r3")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r1")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Signed(272)), Normal, 0), (Eol, Normal, 0)] +[(Address(164), Normal, 5), (Spacing(4), Normal, 0), (Opcode("bl", 267), Normal, 10), (Symbol(Symbol { name: "__lvx", demangled_name: None, address: 640, size: 24, kind: Function, section: Some(5), flags: FlagSet(Local | SizeInferred), align: None, virtual_address: None }), Bright, 0), (Eol, Normal, 0)] +[(Address(168), Normal, 5), (Spacing(4), Normal, 0), (Opcode("addi", 263), Normal, 10), (Argument(Opaque("r8")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r1")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Signed(80)), Normal, 0), (Eol, Normal, 0)] +[(Address(172), Normal, 5), (Spacing(4), Normal, 0), (Opcode("stvx128", 194), Normal, 10), (Argument(Opaque("v1")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r0")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r8")), Normal, 0), (Eol, Normal, 0)] +[(Address(176), Normal, 5), (Spacing(4), Normal, 0), (Opcode("addi", 263), Normal, 10), (Argument(Opaque("r7")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r1")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Signed(80)), Normal, 0), (Eol, Normal, 0)] +[(Address(180), Normal, 5), (Spacing(4), Normal, 0), (Opcode("lvx128", 187), Normal, 10), (Argument(Opaque("v0")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r0")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r7")), Normal, 0), (Eol, Normal, 0)] +[(Address(184), Normal, 5), (Spacing(4), Normal, 0), (Opcode("addi", 263), Normal, 10), (Argument(Opaque("r6")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r1")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Signed(240)), Normal, 0), (Eol, Normal, 0)] +[(Address(188), Normal, 5), (Spacing(4), Normal, 0), (Opcode("stvx128", 194), Normal, 10), (Argument(Opaque("v0")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r0")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r6")), Normal, 0), (Eol, Normal, 0)] +[(Address(192), Normal, 5), (Spacing(4), Normal, 0), (Opcode("li", 263), Normal, 10), (Argument(Opaque("r4")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Signed(0)), Normal, 0), (Eol, Normal, 0)] +[(Address(196), Normal, 5), (Spacing(4), Normal, 0), (Opcode("addi", 263), Normal, 10), (Argument(Opaque("r3")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r1")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Signed(256)), Normal, 0), (Eol, Normal, 0)] +[(Address(200), Normal, 5), (Spacing(4), Normal, 0), (Opcode("bl", 267), Normal, 10), (Symbol(Symbol { name: "__lvx", demangled_name: None, address: 640, size: 24, kind: Function, section: Some(5), flags: FlagSet(Local | SizeInferred), align: None, virtual_address: None }), Bright, 0), (Eol, Normal, 0)] +[(Address(204), Normal, 5), (Spacing(4), Normal, 0), (Opcode("addi", 263), Normal, 10), (Argument(Opaque("r5")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r1")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Signed(96)), Normal, 0), (Eol, Normal, 0)] +[(Address(208), Normal, 5), (Spacing(4), Normal, 0), (Opcode("stvx128", 194), Normal, 10), (Argument(Opaque("v1")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r0")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r5")), Normal, 0), (Eol, Normal, 0)] +[(Address(212), Normal, 5), (Spacing(4), Normal, 0), (Opcode("addi", 263), Normal, 10), (Argument(Opaque("r4")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r1")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Signed(96)), Normal, 0), (Eol, Normal, 0)] +[(Address(216), Normal, 5), (Spacing(4), Normal, 0), (Opcode("lvx128", 187), Normal, 10), (Argument(Opaque("v13")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r0")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r4")), Normal, 0), (Eol, Normal, 0)] +[(Address(220), Normal, 5), (Spacing(4), Normal, 0), (Opcode("addi", 263), Normal, 10), (Argument(Opaque("r3")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r1")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Signed(208)), Normal, 0), (Eol, Normal, 0)] +[(Address(224), Normal, 5), (Spacing(4), Normal, 0), (Opcode("stvx128", 194), Normal, 10), (Argument(Opaque("v13")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r0")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r3")), Normal, 0), (Eol, Normal, 0)] +[(Address(228), Normal, 5), (Spacing(4), Normal, 0), (Opcode("li", 263), Normal, 10), (Argument(Opaque("r4")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Signed(0)), Normal, 0), (Eol, Normal, 0)] +[(Address(232), Normal, 5), (Spacing(4), Normal, 0), (Opcode("addi", 263), Normal, 10), (Argument(Opaque("r3")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r1")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Signed(224)), Normal, 0), (Eol, Normal, 0)] +[(Address(236), Normal, 5), (Spacing(4), Normal, 0), (Opcode("bl", 267), Normal, 10), (Symbol(Symbol { name: "__lvx", demangled_name: None, address: 640, size: 24, kind: Function, section: Some(5), flags: FlagSet(Local | SizeInferred), align: None, virtual_address: None }), Bright, 0), (Eol, Normal, 0)] +[(Address(240), Normal, 5), (Spacing(4), Normal, 0), (Opcode("addi", 263), Normal, 10), (Argument(Opaque("r11")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r1")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Signed(112)), Normal, 0), (Eol, Normal, 0)] +[(Address(244), Normal, 5), (Spacing(4), Normal, 0), (Opcode("stvx128", 194), Normal, 10), (Argument(Opaque("v1")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r0")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r11")), Normal, 0), (Eol, Normal, 0)] +[(Address(248), Normal, 5), (Spacing(4), Normal, 0), (Opcode("addi", 263), Normal, 10), (Argument(Opaque("r10")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r1")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Signed(112)), Normal, 0), (Eol, Normal, 0)] +[(Address(252), Normal, 5), (Spacing(4), Normal, 0), (Opcode("lvx128", 187), Normal, 10), (Argument(Opaque("v12")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r0")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r10")), Normal, 0), (Eol, Normal, 0)] +[(Address(256), Normal, 5), (Spacing(4), Normal, 0), (Opcode("addi", 263), Normal, 10), (Argument(Opaque("r9")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r1")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Signed(304)), Normal, 0), (Eol, Normal, 0)] +[(Address(260), Normal, 5), (Spacing(4), Normal, 0), (Opcode("stvx128", 194), Normal, 10), (Argument(Opaque("v12")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r0")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r9")), Normal, 0), (Eol, Normal, 0)] +[(Address(264), Normal, 5), (Spacing(4), Normal, 0), (Opcode("addi", 263), Normal, 10), (Argument(Opaque("r8")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r1")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Signed(304)), Normal, 0), (Eol, Normal, 0)] +[(Address(268), Normal, 5), (Spacing(4), Normal, 0), (Opcode("lvx128", 187), Normal, 10), (Argument(Opaque("v11")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r0")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r8")), Normal, 0), (Eol, Normal, 0)] +[(Address(272), Normal, 5), (Spacing(4), Normal, 0), (Opcode("addi", 263), Normal, 10), (Argument(Opaque("r7")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r1")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Signed(208)), Normal, 0), (Eol, Normal, 0)] +[(Address(276), Normal, 5), (Spacing(4), Normal, 0), (Opcode("lvx128", 187), Normal, 10), (Argument(Opaque("v10")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r0")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r7")), Normal, 0), (Eol, Normal, 0)] +[(Address(280), Normal, 5), (Spacing(4), Normal, 0), (Opcode("addi", 263), Normal, 10), (Argument(Opaque("r6")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r1")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Signed(240)), Normal, 0), (Eol, Normal, 0)] +[(Address(284), Normal, 5), (Spacing(4), Normal, 0), (Opcode("lvx128", 187), Normal, 10), (Argument(Opaque("v9")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r0")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r6")), Normal, 0), (Eol, Normal, 0)] +[(Address(288), Normal, 5), (Spacing(4), Normal, 0), (Opcode("vmaddfp", 76), Normal, 10), (Argument(Opaque("v8")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("v9")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("v10")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("v11")), Normal, 0), (Eol, Normal, 0)] +[(Address(292), Normal, 5), (Spacing(4), Normal, 0), (Opcode("addi", 263), Normal, 10), (Argument(Opaque("r5")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r1")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Signed(128)), Normal, 0), (Eol, Normal, 0)] +[(Address(296), Normal, 5), (Spacing(4), Normal, 0), (Opcode("stvx128", 194), Normal, 10), (Argument(Opaque("v8")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r0")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r5")), Normal, 0), (Eol, Normal, 0)] +[(Address(300), Normal, 5), (Spacing(4), Normal, 0), (Opcode("addi", 263), Normal, 10), (Argument(Opaque("r4")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r1")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Signed(128)), Normal, 0), (Eol, Normal, 0)] +[(Address(304), Normal, 5), (Spacing(4), Normal, 0), (Opcode("lvx128", 187), Normal, 10), (Argument(Opaque("v7")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r0")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r4")), Normal, 0), (Eol, Normal, 0)] +[(Address(308), Normal, 5), (Spacing(4), Normal, 0), (Opcode("addi", 263), Normal, 10), (Argument(Opaque("r3")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r1")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Signed(192)), Normal, 0), (Eol, Normal, 0)] +[(Address(312), Normal, 5), (Spacing(4), Normal, 0), (Opcode("stvx128", 194), Normal, 10), (Argument(Opaque("v7")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r0")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r3")), Normal, 0), (Eol, Normal, 0)] +[(Address(316), Normal, 5), (Spacing(4), Normal, 0), (Opcode("addi", 263), Normal, 10), (Argument(Opaque("r11")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r1")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Signed(208)), Normal, 0), (Eol, Normal, 0)] +[(Address(320), Normal, 5), (Spacing(4), Normal, 0), (Opcode("lvx128", 187), Normal, 10), (Argument(Opaque("v6")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r0")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r11")), Normal, 0), (Eol, Normal, 0)] +[(Address(324), Normal, 5), (Spacing(4), Normal, 0), (Opcode("addi", 263), Normal, 10), (Argument(Opaque("r10")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r1")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Signed(240)), Normal, 0), (Eol, Normal, 0)] +[(Address(328), Normal, 5), (Spacing(4), Normal, 0), (Opcode("lvx128", 187), Normal, 10), (Argument(Opaque("v5")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r0")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r10")), Normal, 0), (Eol, Normal, 0)] +[(Address(332), Normal, 5), (Spacing(4), Normal, 0), (Opcode("vmsum4fp128", 203), Normal, 10), (Argument(Opaque("v4")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("v5")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("v6")), Normal, 0), (Eol, Normal, 0)] +[(Address(336), Normal, 5), (Spacing(4), Normal, 0), (Opcode("addi", 263), Normal, 10), (Argument(Opaque("r9")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r1")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Signed(144)), Normal, 0), (Eol, Normal, 0)] +[(Address(340), Normal, 5), (Spacing(4), Normal, 0), (Opcode("stvx128", 194), Normal, 10), (Argument(Opaque("v4")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r0")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r9")), Normal, 0), (Eol, Normal, 0)] +[(Address(344), Normal, 5), (Spacing(4), Normal, 0), (Opcode("addi", 263), Normal, 10), (Argument(Opaque("r8")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r1")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Signed(144)), Normal, 0), (Eol, Normal, 0)] +[(Address(348), Normal, 5), (Spacing(4), Normal, 0), (Opcode("lvx128", 187), Normal, 10), (Argument(Opaque("v3")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r0")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r8")), Normal, 0), (Eol, Normal, 0)] +[(Address(352), Normal, 5), (Spacing(4), Normal, 0), (Opcode("addi", 263), Normal, 10), (Argument(Opaque("r7")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r1")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Signed(176)), Normal, 0), (Eol, Normal, 0)] +[(Address(356), Normal, 5), (Spacing(4), Normal, 0), (Opcode("stvx128", 194), Normal, 10), (Argument(Opaque("v3")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r0")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r7")), Normal, 0), (Eol, Normal, 0)] +[(Address(360), Normal, 5), (Spacing(4), Normal, 0), (Opcode("li", 263), Normal, 10), (Argument(Opaque("r4")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Signed(0)), Normal, 0), (Eol, Normal, 0)] +[(Address(364), Normal, 5), (Spacing(4), Normal, 0), (Opcode("addi", 263), Normal, 10), (Argument(Opaque("r3")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r1")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Signed(288)), Normal, 0), (Eol, Normal, 0)] +[(Address(368), Normal, 5), (Spacing(4), Normal, 0), (Opcode("addi", 263), Normal, 10), (Argument(Opaque("r6")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r1")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Signed(192)), Normal, 0), (Eol, Normal, 0)] +[(Address(372), Normal, 5), (Spacing(4), Normal, 0), (Opcode("lvx128", 187), Normal, 10), (Argument(Opaque("v1")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r0")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r6")), Normal, 0), (Eol, Normal, 0)] +[(Address(376), Normal, 5), (Spacing(4), Normal, 0), (Opcode("bl", 267), Normal, 10), (Symbol(Symbol { name: "__stvx", demangled_name: None, address: 664, size: 40, kind: Function, section: Some(5), flags: FlagSet(Local | SizeInferred), align: None, virtual_address: None }), Bright, 0), (Eol, Normal, 0)] +[(Address(380), Normal, 5), (Spacing(4), Normal, 0), (Opcode("li", 263), Normal, 10), (Argument(Opaque("r4")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Signed(0)), Normal, 0), (Eol, Normal, 0)] +[(Address(384), Normal, 5), (Spacing(4), Normal, 0), (Opcode("addi", 263), Normal, 10), (Argument(Opaque("r3")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r1")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Signed(160)), Normal, 0), (Eol, Normal, 0)] +[(Address(388), Normal, 5), (Spacing(4), Normal, 0), (Opcode("addi", 263), Normal, 10), (Argument(Opaque("r5")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r1")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Signed(176)), Normal, 0), (Eol, Normal, 0)] +[(Address(392), Normal, 5), (Spacing(4), Normal, 0), (Opcode("lvx128", 187), Normal, 10), (Argument(Opaque("v1")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r0")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r5")), Normal, 0), (Eol, Normal, 0)] +[(Address(396), Normal, 5), (Spacing(4), Normal, 0), (Opcode("bl", 267), Normal, 10), (Symbol(Symbol { name: "__stvx", demangled_name: None, address: 664, size: 40, kind: Function, section: Some(5), flags: FlagSet(Local | SizeInferred), align: None, virtual_address: None }), Bright, 0), (Eol, Normal, 0)] +[(Address(400), Normal, 5), (Spacing(4), Normal, 0), (Opcode("lis", 264), Normal, 10), (Argument(Opaque("r4")), Normal, 0), (Basic(", "), Normal, 0), (Symbol(Symbol { name: "$SG4433", demangled_name: None, address: 32, size: 32, kind: Object, section: Some(4), flags: FlagSet(Local | SizeInferred), align: None, virtual_address: None }), Bright, 0), (Basic("@h"), Normal, 0), (Eol, Normal, 0)] +[(Address(404), Normal, 5), (Spacing(4), Normal, 0), (Opcode("addi", 263), Normal, 10), (Argument(Opaque("r3")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r4")), Normal, 0), (Basic(", "), Normal, 0), (Symbol(Symbol { name: "$SG4433", demangled_name: None, address: 32, size: 32, kind: Object, section: Some(4), flags: FlagSet(Local | SizeInferred), align: None, virtual_address: None }), Bright, 0), (Basic("@l"), Normal, 0), (Eol, Normal, 0)] +[(Address(408), Normal, 5), (Spacing(4), Normal, 0), (Opcode("bl", 267), Normal, 10), (Symbol(Symbol { name: "printf", demangled_name: None, address: 0, size: 0, kind: Function, section: None, flags: FlagSet(Global), align: None, virtual_address: None }), Bright, 0), (Eol, Normal, 0)] +[(Address(412), Normal, 5), (Spacing(4), Normal, 0), (Opcode("addi", 263), Normal, 10), (Argument(Opaque("r3")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r1")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Signed(240)), Normal, 0), (Eol, Normal, 0)] +[(Address(416), Normal, 5), (Spacing(4), Normal, 0), (Opcode("lvx128", 187), Normal, 10), (Argument(Opaque("v1")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r0")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r3")), Normal, 0), (Eol, Normal, 0)] +[(Address(420), Normal, 5), (Spacing(4), Normal, 0), (Opcode("lis", 264), Normal, 10), (Argument(Opaque("r11")), Normal, 0), (Basic(", "), Normal, 0), (Symbol(Symbol { name: "$SG4434", demangled_name: None, address: 64, size: 8, kind: Object, section: Some(4), flags: FlagSet(Local | SizeInferred), align: None, virtual_address: None }), Bright, 0), (Basic("@h"), Normal, 0), (Eol, Normal, 0)] +[(Address(424), Normal, 5), (Spacing(4), Normal, 0), (Opcode("addi", 263), Normal, 10), (Argument(Opaque("r3")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r11")), Normal, 0), (Basic(", "), Normal, 0), (Symbol(Symbol { name: "$SG4434", demangled_name: None, address: 64, size: 8, kind: Object, section: Some(4), flags: FlagSet(Local | SizeInferred), align: None, virtual_address: None }), Bright, 0), (Basic("@l"), Normal, 0), (Eol, Normal, 0)] +[(Address(428), Normal, 5), (Spacing(4), Normal, 0), (Opcode("bl", 267), Normal, 10), (Symbol(Symbol { name: "?PrintVector@@YAXPBDU__vector4@@@Z", demangled_name: Some("void __cdecl PrintVector(char const *, struct __vector4)"), address: 0, size: 120, kind: Function, section: Some(5), flags: FlagSet(Global | SizeInferred), align: None, virtual_address: None }), Bright, 0), (Eol, Normal, 0)] +[(Address(432), Normal, 5), (Spacing(4), Normal, 0), (Opcode("addi", 263), Normal, 10), (Argument(Opaque("r10")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r1")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Signed(208)), Normal, 0), (Eol, Normal, 0)] +[(Address(436), Normal, 5), (Spacing(4), Normal, 0), (Opcode("lvx128", 187), Normal, 10), (Argument(Opaque("v1")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r0")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r10")), Normal, 0), (Eol, Normal, 0)] +[(Address(440), Normal, 5), (Spacing(4), Normal, 0), (Opcode("lis", 264), Normal, 10), (Argument(Opaque("r9")), Normal, 0), (Basic(", "), Normal, 0), (Symbol(Symbol { name: "$SG4435", demangled_name: None, address: 72, size: 8, kind: Object, section: Some(4), flags: FlagSet(Local | SizeInferred), align: None, virtual_address: None }), Bright, 0), (Basic("@h"), Normal, 0), (Eol, Normal, 0)] +[(Address(444), Normal, 5), (Spacing(4), Normal, 0), (Opcode("addi", 263), Normal, 10), (Argument(Opaque("r3")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r9")), Normal, 0), (Basic(", "), Normal, 0), (Symbol(Symbol { name: "$SG4435", demangled_name: None, address: 72, size: 8, kind: Object, section: Some(4), flags: FlagSet(Local | SizeInferred), align: None, virtual_address: None }), Bright, 0), (Basic("@l"), Normal, 0), (Eol, Normal, 0)] +[(Address(448), Normal, 5), (Spacing(4), Normal, 0), (Opcode("bl", 267), Normal, 10), (Symbol(Symbol { name: "?PrintVector@@YAXPBDU__vector4@@@Z", demangled_name: Some("void __cdecl PrintVector(char const *, struct __vector4)"), address: 0, size: 120, kind: Function, section: Some(5), flags: FlagSet(Global | SizeInferred), align: None, virtual_address: None }), Bright, 0), (Eol, Normal, 0)] +[(Address(452), Normal, 5), (Spacing(4), Normal, 0), (Opcode("addi", 263), Normal, 10), (Argument(Opaque("r8")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r1")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Signed(192)), Normal, 0), (Eol, Normal, 0)] +[(Address(456), Normal, 5), (Spacing(4), Normal, 0), (Opcode("lvx128", 187), Normal, 10), (Argument(Opaque("v1")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r0")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r8")), Normal, 0), (Eol, Normal, 0)] +[(Address(460), Normal, 5), (Spacing(4), Normal, 0), (Opcode("lis", 264), Normal, 10), (Argument(Opaque("r7")), Normal, 0), (Basic(", "), Normal, 0), (Symbol(Symbol { name: "$SG4436", demangled_name: None, address: 80, size: 12, kind: Object, section: Some(4), flags: FlagSet(Local | SizeInferred), align: None, virtual_address: None }), Bright, 0), (Basic("@h"), Normal, 0), (Eol, Normal, 0)] +[(Address(464), Normal, 5), (Spacing(4), Normal, 0), (Opcode("addi", 263), Normal, 10), (Argument(Opaque("r3")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r7")), Normal, 0), (Basic(", "), Normal, 0), (Symbol(Symbol { name: "$SG4436", demangled_name: None, address: 80, size: 12, kind: Object, section: Some(4), flags: FlagSet(Local | SizeInferred), align: None, virtual_address: None }), Bright, 0), (Basic("@l"), Normal, 0), (Eol, Normal, 0)] +[(Address(468), Normal, 5), (Spacing(4), Normal, 0), (Opcode("bl", 267), Normal, 10), (Symbol(Symbol { name: "?PrintVector@@YAXPBDU__vector4@@@Z", demangled_name: Some("void __cdecl PrintVector(char const *, struct __vector4)"), address: 0, size: 120, kind: Function, section: Some(5), flags: FlagSet(Global | SizeInferred), align: None, virtual_address: None }), Bright, 0), (Eol, Normal, 0)] +[(Address(472), Normal, 5), (Spacing(4), Normal, 0), (Opcode("addi", 263), Normal, 10), (Argument(Opaque("r6")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r1")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Signed(176)), Normal, 0), (Eol, Normal, 0)] +[(Address(476), Normal, 5), (Spacing(4), Normal, 0), (Opcode("lvx128", 187), Normal, 10), (Argument(Opaque("v1")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r0")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r6")), Normal, 0), (Eol, Normal, 0)] +[(Address(480), Normal, 5), (Spacing(4), Normal, 0), (Opcode("lis", 264), Normal, 10), (Argument(Opaque("r5")), Normal, 0), (Basic(", "), Normal, 0), (Symbol(Symbol { name: "$SG4437", demangled_name: None, address: 92, size: 12, kind: Object, section: Some(4), flags: FlagSet(Local | SizeInferred), align: None, virtual_address: None }), Bright, 0), (Basic("@h"), Normal, 0), (Eol, Normal, 0)] +[(Address(484), Normal, 5), (Spacing(4), Normal, 0), (Opcode("addi", 263), Normal, 10), (Argument(Opaque("r3")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r5")), Normal, 0), (Basic(", "), Normal, 0), (Symbol(Symbol { name: "$SG4437", demangled_name: None, address: 92, size: 12, kind: Object, section: Some(4), flags: FlagSet(Local | SizeInferred), align: None, virtual_address: None }), Bright, 0), (Basic("@l"), Normal, 0), (Eol, Normal, 0)] +[(Address(488), Normal, 5), (Spacing(4), Normal, 0), (Opcode("bl", 267), Normal, 10), (Symbol(Symbol { name: "?PrintVector@@YAXPBDU__vector4@@@Z", demangled_name: Some("void __cdecl PrintVector(char const *, struct __vector4)"), address: 0, size: 120, kind: Function, section: Some(5), flags: FlagSet(Global | SizeInferred), align: None, virtual_address: None }), Bright, 0), (Eol, Normal, 0)] +[(Address(492), Normal, 5), (Spacing(4), Normal, 0), (Opcode("lis", 264), Normal, 10), (Argument(Opaque("r4")), Normal, 0), (Basic(", "), Normal, 0), (Symbol(Symbol { name: "$SG4438", demangled_name: None, address: 104, size: 4, kind: Object, section: Some(4), flags: FlagSet(Local | SizeInferred), align: None, virtual_address: None }), Bright, 0), (Basic("@h"), Normal, 0), (Eol, Normal, 0)] +[(Address(496), Normal, 5), (Spacing(4), Normal, 0), (Opcode("addi", 263), Normal, 10), (Argument(Opaque("r3")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r4")), Normal, 0), (Basic(", "), Normal, 0), (Symbol(Symbol { name: "$SG4438", demangled_name: None, address: 104, size: 4, kind: Object, section: Some(4), flags: FlagSet(Local | SizeInferred), align: None, virtual_address: None }), Bright, 0), (Basic("@l"), Normal, 0), (Eol, Normal, 0)] +[(Address(500), Normal, 5), (Spacing(4), Normal, 0), (Opcode("bl", 267), Normal, 10), (Symbol(Symbol { name: "printf", demangled_name: None, address: 0, size: 0, kind: Function, section: None, flags: FlagSet(Global), align: None, virtual_address: None }), Bright, 0), (Eol, Normal, 0)] +[(Address(504), Normal, 5), (Spacing(4), Normal, 0), (Opcode("addi", 263), Normal, 10), (Argument(Opaque("r1")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Opaque("r1")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Signed(336)), Normal, 0), (Eol, Normal, 0)] +[(Address(508), Normal, 5), (Spacing(4), Normal, 0), (Opcode("lwz", 439), Normal, 10), (Argument(Opaque("r12")), Normal, 0), (Basic(", "), Normal, 0), (Argument(Signed(-8)), Normal, 0), (Basic("("), Normal, 0), (Argument(Opaque("r1")), Normal, 0), (Basic(")"), Normal, 0), (Eol, Normal, 0)] +[(Address(512), Normal, 5), (Spacing(4), Normal, 0), (Opcode("mtlr", 348), Normal, 10), (Argument(Opaque("r12")), Normal, 0), (Eol, Normal, 0)] +[(Address(516), Normal, 5), (Spacing(4), Normal, 0), (Opcode("blr", 269), Normal, 10), (Eol, Normal, 0)] diff --git a/objdiff-core/tests/snapshots/arch_ppc__read_vmx128_coff.snap b/objdiff-core/tests/snapshots/arch_ppc__read_vmx128_coff.snap new file mode 100644 index 0000000..0f88302 --- /dev/null +++ b/objdiff-core/tests/snapshots/arch_ppc__read_vmx128_coff.snap @@ -0,0 +1,2442 @@ +--- +source: objdiff-core/tests/arch_ppc.rs +expression: obj +--- +Object { + arch: ArchPpc { + extensions: Extensions( + 13, + ), + extab: None, + }, + endianness: Big, + symbols: [ + Symbol { + name: "@comp.id", + demangled_name: None, + address: 0, + size: 0, + kind: Object, + section: None, + flags: FlagSet(Local), + align: None, + virtual_address: None, + }, + Symbol { + name: "[.drectve]", + demangled_name: None, + address: 0, + size: 132, + kind: Section, + section: Some( + 0, + ), + flags: FlagSet(Local), + align: None, + virtual_address: None, + }, + Symbol { + name: "[.debug$S]", + demangled_name: None, + address: 0, + size: 3952, + kind: Section, + section: Some( + 1, + ), + flags: FlagSet(Local), + align: None, + virtual_address: None, + }, + Symbol { + name: "[.XBLD$W]", + demangled_name: None, + address: 0, + size: 0, + kind: Section, + section: Some( + 2, + ), + flags: FlagSet(Local), + align: None, + virtual_address: None, + }, + Symbol { + name: "__C2_11886", + demangled_name: None, + address: 0, + size: 16, + kind: Object, + section: Some( + 2, + ), + flags: FlagSet(Global | SizeInferred), + align: None, + virtual_address: None, + }, + Symbol { + name: "[.XBLD$W]", + demangled_name: None, + address: 0, + size: 0, + kind: Section, + section: Some( + 3, + ), + flags: FlagSet(Local), + align: None, + virtual_address: None, + }, + Symbol { + name: "__C1_11886", + demangled_name: None, + address: 0, + size: 16, + kind: Object, + section: Some( + 3, + ), + flags: FlagSet(Global | SizeInferred), + align: None, + virtual_address: None, + }, + Symbol { + name: "[.rdata]", + demangled_name: None, + address: 0, + size: 0, + kind: Section, + section: Some( + 4, + ), + flags: FlagSet(Local), + align: None, + virtual_address: None, + }, + Symbol { + name: "$SG4415", + demangled_name: None, + address: 0, + size: 32, + kind: Object, + section: Some( + 4, + ), + flags: FlagSet(Local | SizeInferred), + align: None, + virtual_address: None, + }, + Symbol { + name: "$SG4433", + demangled_name: None, + address: 32, + size: 32, + kind: Object, + section: Some( + 4, + ), + flags: FlagSet(Local | SizeInferred), + align: None, + virtual_address: None, + }, + Symbol { + name: "$SG4434", + demangled_name: None, + address: 64, + size: 8, + kind: Object, + section: Some( + 4, + ), + flags: FlagSet(Local | SizeInferred), + align: None, + virtual_address: None, + }, + Symbol { + name: "$SG4435", + demangled_name: None, + address: 72, + size: 8, + kind: Object, + section: Some( + 4, + ), + flags: FlagSet(Local | SizeInferred), + align: None, + virtual_address: None, + }, + Symbol { + name: "$SG4436", + demangled_name: None, + address: 80, + size: 12, + kind: Object, + section: Some( + 4, + ), + flags: FlagSet(Local | SizeInferred), + align: None, + virtual_address: None, + }, + Symbol { + name: "$SG4437", + demangled_name: None, + address: 92, + size: 12, + kind: Object, + section: Some( + 4, + ), + flags: FlagSet(Local | SizeInferred), + align: None, + virtual_address: None, + }, + Symbol { + name: "$SG4438", + demangled_name: None, + address: 104, + size: 4, + kind: Object, + section: Some( + 4, + ), + flags: FlagSet(Local | SizeInferred), + align: None, + virtual_address: None, + }, + Symbol { + name: "$SG4456", + demangled_name: None, + address: 108, + size: 40, + kind: Object, + section: Some( + 4, + ), + flags: FlagSet(Local | SizeInferred), + align: None, + virtual_address: None, + }, + Symbol { + name: "$SG4457", + demangled_name: None, + address: 148, + size: 8, + kind: Object, + section: Some( + 4, + ), + flags: FlagSet(Local | SizeInferred), + align: None, + virtual_address: None, + }, + Symbol { + name: "$SG4458", + demangled_name: None, + address: 156, + size: 8, + kind: Object, + section: Some( + 4, + ), + flags: FlagSet(Local | SizeInferred), + align: None, + virtual_address: None, + }, + Symbol { + name: "$SG4459", + demangled_name: None, + address: 164, + size: 24, + kind: Object, + section: Some( + 4, + ), + flags: FlagSet(Local | SizeInferred), + align: None, + virtual_address: None, + }, + Symbol { + name: "$SG4460", + demangled_name: None, + address: 188, + size: 20, + kind: Object, + section: Some( + 4, + ), + flags: FlagSet(Local | SizeInferred), + align: None, + virtual_address: None, + }, + Symbol { + name: "$SG4461", + demangled_name: None, + address: 208, + size: 24, + kind: Object, + section: Some( + 4, + ), + flags: FlagSet(Local | SizeInferred), + align: None, + virtual_address: None, + }, + Symbol { + name: "$SG4462", + demangled_name: None, + address: 232, + size: 4, + kind: Object, + section: Some( + 4, + ), + flags: FlagSet(Local | SizeInferred), + align: None, + virtual_address: None, + }, + Symbol { + name: "$SG4476", + demangled_name: None, + address: 236, + size: 36, + kind: Object, + section: Some( + 4, + ), + flags: FlagSet(Local | SizeInferred), + align: None, + virtual_address: None, + }, + Symbol { + name: "$SG4477", + demangled_name: None, + address: 272, + size: 20, + kind: Object, + section: Some( + 4, + ), + flags: FlagSet(Local | SizeInferred), + align: None, + virtual_address: None, + }, + Symbol { + name: "$SG4478", + demangled_name: None, + address: 292, + size: 4, + kind: Object, + section: Some( + 4, + ), + flags: FlagSet(Local | SizeInferred), + align: None, + virtual_address: None, + }, + Symbol { + name: "$SG4481", + demangled_name: None, + address: 296, + size: 40, + kind: Object, + section: Some( + 4, + ), + flags: FlagSet(Local | SizeInferred), + align: None, + virtual_address: None, + }, + Symbol { + name: "$SG4482", + demangled_name: None, + address: 336, + size: 20, + kind: Object, + section: Some( + 4, + ), + flags: FlagSet(Local | SizeInferred), + align: None, + virtual_address: None, + }, + Symbol { + name: "[.text]", + demangled_name: None, + address: 0, + size: 0, + kind: Section, + section: Some( + 5, + ), + flags: FlagSet(Local), + align: None, + virtual_address: None, + }, + Symbol { + name: "?PrintVector@@YAXPBDU__vector4@@@Z", + demangled_name: Some( + "void __cdecl PrintVector(char const *, struct __vector4)", + ), + address: 0, + size: 120, + kind: Function, + section: Some( + 5, + ), + flags: FlagSet(Global | SizeInferred), + align: None, + virtual_address: None, + }, + Symbol { + name: "$M4492", + demangled_name: None, + address: 120, + size: 0, + kind: Unknown, + section: Some( + 5, + ), + flags: FlagSet(Local), + align: None, + virtual_address: None, + }, + Symbol { + name: "printf", + demangled_name: None, + address: 0, + size: 0, + kind: Function, + section: None, + flags: FlagSet(Global), + align: None, + virtual_address: None, + }, + Symbol { + name: "$M4491", + demangled_name: None, + address: 12, + size: 0, + kind: Unknown, + section: Some( + 5, + ), + flags: FlagSet(Local), + align: None, + virtual_address: None, + }, + Symbol { + name: "[.pdata]", + demangled_name: None, + address: 0, + size: 0, + kind: Section, + section: Some( + 6, + ), + flags: FlagSet(Local), + align: None, + virtual_address: None, + }, + Symbol { + name: "$T4493", + demangled_name: None, + address: 0, + size: 8, + kind: Object, + section: Some( + 6, + ), + flags: FlagSet(Local | SizeInferred), + align: None, + virtual_address: None, + }, + Symbol { + name: "_fltused", + demangled_name: None, + address: 0, + size: 0, + kind: Function, + section: None, + flags: FlagSet(Global), + align: None, + virtual_address: None, + }, + Symbol { + name: "?FloatingPointExample@@YAXXZ", + demangled_name: Some( + "void __cdecl FloatingPointExample(void)", + ), + address: 120, + size: 520, + kind: Function, + section: Some( + 5, + ), + flags: FlagSet(Global | SizeInferred), + align: None, + virtual_address: None, + }, + Symbol { + name: "$M4514", + demangled_name: None, + address: 640, + size: 0, + kind: Unknown, + section: Some( + 5, + ), + flags: FlagSet(Local), + align: None, + virtual_address: None, + }, + Symbol { + name: "[.rdata]", + demangled_name: None, + address: 0, + size: 0, + kind: Unknown, + section: None, + flags: FlagSet(Local), + align: None, + virtual_address: None, + }, + Symbol { + name: "__real@3f000000", + demangled_name: None, + address: 356, + size: 4, + kind: Object, + section: Some( + 4, + ), + flags: FlagSet(Global | SizeInferred), + align: None, + virtual_address: None, + }, + Symbol { + name: "[.rdata]", + demangled_name: None, + address: 0, + size: 0, + kind: Unknown, + section: None, + flags: FlagSet(Local), + align: None, + virtual_address: None, + }, + Symbol { + name: "__real@41000000", + demangled_name: None, + address: 360, + size: 4, + kind: Object, + section: Some( + 4, + ), + flags: FlagSet(Global | SizeInferred), + align: None, + virtual_address: None, + }, + Symbol { + name: "[.rdata]", + demangled_name: None, + address: 0, + size: 0, + kind: Unknown, + section: None, + flags: FlagSet(Local), + align: None, + virtual_address: None, + }, + Symbol { + name: "__real@40e00000", + demangled_name: None, + address: 364, + size: 4, + kind: Object, + section: Some( + 4, + ), + flags: FlagSet(Global | SizeInferred), + align: None, + virtual_address: None, + }, + Symbol { + name: "[.rdata]", + demangled_name: None, + address: 0, + size: 0, + kind: Unknown, + section: None, + flags: FlagSet(Local), + align: None, + virtual_address: None, + }, + Symbol { + name: "__real@40c00000", + demangled_name: None, + address: 368, + size: 4, + kind: Object, + section: Some( + 4, + ), + flags: FlagSet(Global | SizeInferred), + align: None, + virtual_address: None, + }, + Symbol { + name: "[.rdata]", + demangled_name: None, + address: 0, + size: 0, + kind: Unknown, + section: None, + flags: FlagSet(Local), + align: None, + virtual_address: None, + }, + Symbol { + name: "__real@40a00000", + demangled_name: None, + address: 372, + size: 4, + kind: Object, + section: Some( + 4, + ), + flags: FlagSet(Global | SizeInferred), + align: None, + virtual_address: None, + }, + Symbol { + name: "[.rdata]", + demangled_name: None, + address: 0, + size: 0, + kind: Unknown, + section: None, + flags: FlagSet(Local), + align: None, + virtual_address: None, + }, + Symbol { + name: "__real@40800000", + demangled_name: None, + address: 376, + size: 4, + kind: Object, + section: Some( + 4, + ), + flags: FlagSet(Global | SizeInferred), + align: None, + virtual_address: None, + }, + Symbol { + name: "[.rdata]", + demangled_name: None, + address: 0, + size: 0, + kind: Unknown, + section: None, + flags: FlagSet(Local), + align: None, + virtual_address: None, + }, + Symbol { + name: "__real@40400000", + demangled_name: None, + address: 380, + size: 4, + kind: Object, + section: Some( + 4, + ), + flags: FlagSet(Global | SizeInferred), + align: None, + virtual_address: None, + }, + Symbol { + name: "[.rdata]", + demangled_name: None, + address: 0, + size: 0, + kind: Unknown, + section: None, + flags: FlagSet(Local), + align: None, + virtual_address: None, + }, + Symbol { + name: "__real@40000000", + demangled_name: None, + address: 384, + size: 4, + kind: Object, + section: Some( + 4, + ), + flags: FlagSet(Global | SizeInferred), + align: None, + virtual_address: None, + }, + Symbol { + name: "[.rdata]", + demangled_name: None, + address: 0, + size: 0, + kind: Unknown, + section: None, + flags: FlagSet(Local), + align: None, + virtual_address: None, + }, + Symbol { + name: "__real@3f800000", + demangled_name: None, + address: 388, + size: 4, + kind: Object, + section: Some( + 4, + ), + flags: FlagSet(Global | SizeInferred), + align: None, + virtual_address: None, + }, + Symbol { + name: "$M4513", + demangled_name: None, + address: 132, + size: 0, + kind: Unknown, + section: Some( + 5, + ), + flags: FlagSet(Local), + align: None, + virtual_address: None, + }, + Symbol { + name: "$T4515", + demangled_name: None, + address: 8, + size: 8, + kind: Object, + section: Some( + 6, + ), + flags: FlagSet(Local | SizeInferred), + align: None, + virtual_address: None, + }, + Symbol { + name: "__lvx", + demangled_name: None, + address: 640, + size: 24, + kind: Function, + section: Some( + 5, + ), + flags: FlagSet(Local | SizeInferred), + align: None, + virtual_address: None, + }, + Symbol { + name: "__stvx", + demangled_name: None, + address: 664, + size: 40, + kind: Function, + section: Some( + 5, + ), + flags: FlagSet(Local | SizeInferred), + align: None, + virtual_address: None, + }, + Symbol { + name: "?ControlAndDataFlowExample@@YAXXZ", + demangled_name: Some( + "void __cdecl ControlAndDataFlowExample(void)", + ), + address: 704, + size: 632, + kind: Function, + section: Some( + 5, + ), + flags: FlagSet(Global | SizeInferred), + align: None, + virtual_address: None, + }, + Symbol { + name: "$M4532", + demangled_name: None, + address: 1336, + size: 0, + kind: Unknown, + section: Some( + 5, + ), + flags: FlagSet(Local), + align: None, + virtual_address: None, + }, + Symbol { + name: "[.rdata]", + demangled_name: None, + address: 0, + size: 0, + kind: Unknown, + section: None, + flags: FlagSet(Local), + align: None, + virtual_address: None, + }, + Symbol { + name: "__real@c2480000", + demangled_name: None, + address: 392, + size: 4, + kind: Object, + section: Some( + 4, + ), + flags: FlagSet(Global | SizeInferred), + align: None, + virtual_address: None, + }, + Symbol { + name: "[.rdata]", + demangled_name: None, + address: 0, + size: 0, + kind: Unknown, + section: None, + flags: FlagSet(Local), + align: None, + virtual_address: None, + }, + Symbol { + name: "__real@41a00000", + demangled_name: None, + address: 396, + size: 4, + kind: Object, + section: Some( + 4, + ), + flags: FlagSet(Global | SizeInferred), + align: None, + virtual_address: None, + }, + Symbol { + name: "[.rdata]", + demangled_name: None, + address: 0, + size: 0, + kind: Unknown, + section: None, + flags: FlagSet(Local), + align: None, + virtual_address: None, + }, + Symbol { + name: "__real@00000000", + demangled_name: None, + address: 400, + size: 4, + kind: Object, + section: Some( + 4, + ), + flags: FlagSet(Global | SizeInferred), + align: None, + virtual_address: None, + }, + Symbol { + name: "[.rdata]", + demangled_name: None, + address: 0, + size: 0, + kind: Unknown, + section: None, + flags: FlagSet(Local), + align: None, + virtual_address: None, + }, + Symbol { + name: "__real@42c80000", + demangled_name: None, + address: 404, + size: 4, + kind: Object, + section: Some( + 4, + ), + flags: FlagSet(Global | SizeInferred), + align: None, + virtual_address: None, + }, + Symbol { + name: "[.rdata]", + demangled_name: None, + address: 0, + size: 0, + kind: Unknown, + section: None, + flags: FlagSet(Local), + align: None, + virtual_address: None, + }, + Symbol { + name: "__real@c0a00000", + demangled_name: None, + address: 408, + size: 4, + kind: Object, + section: Some( + 4, + ), + flags: FlagSet(Global | SizeInferred), + align: None, + virtual_address: None, + }, + Symbol { + name: "[.rdata]", + demangled_name: None, + address: 0, + size: 0, + kind: Unknown, + section: None, + flags: FlagSet(Local), + align: None, + virtual_address: None, + }, + Symbol { + name: "__real@41200000", + demangled_name: None, + address: 412, + size: 4, + kind: Object, + section: Some( + 4, + ), + flags: FlagSet(Global | SizeInferred), + align: None, + virtual_address: None, + }, + Symbol { + name: "$M4531", + demangled_name: None, + address: 716, + size: 0, + kind: Unknown, + section: Some( + 5, + ), + flags: FlagSet(Local), + align: None, + virtual_address: None, + }, + Symbol { + name: "$T4533", + demangled_name: None, + address: 16, + size: 8, + kind: Object, + section: Some( + 6, + ), + flags: FlagSet(Local | SizeInferred), + align: None, + virtual_address: None, + }, + Symbol { + name: "?ReservedRegisterExample@@YAXXZ", + demangled_name: Some( + "void __cdecl ReservedRegisterExample(void)", + ), + address: 1336, + size: 272, + kind: Function, + section: Some( + 5, + ), + flags: FlagSet(Global | SizeInferred), + align: None, + virtual_address: None, + }, + Symbol { + name: "$M4536", + demangled_name: None, + address: 1608, + size: 0, + kind: Unknown, + section: Some( + 5, + ), + flags: FlagSet(Local), + align: None, + virtual_address: None, + }, + Symbol { + name: "$M4535", + demangled_name: None, + address: 1348, + size: 0, + kind: Unknown, + section: Some( + 5, + ), + flags: FlagSet(Local), + align: None, + virtual_address: None, + }, + Symbol { + name: "$T4537", + demangled_name: None, + address: 24, + size: 8, + kind: Object, + section: Some( + 6, + ), + flags: FlagSet(Local | SizeInferred), + align: None, + virtual_address: None, + }, + Symbol { + name: "main", + demangled_name: None, + address: 1608, + size: 68, + kind: Function, + section: Some( + 5, + ), + flags: FlagSet(Global | SizeInferred), + align: None, + virtual_address: None, + }, + Symbol { + name: "$M4540", + demangled_name: None, + address: 1676, + size: 0, + kind: Unknown, + section: Some( + 5, + ), + flags: FlagSet(Local), + align: None, + virtual_address: None, + }, + Symbol { + name: "$M4539", + demangled_name: None, + address: 1620, + size: 0, + kind: Unknown, + section: Some( + 5, + ), + flags: FlagSet(Local), + align: None, + virtual_address: None, + }, + Symbol { + name: "$T4541", + demangled_name: None, + address: 32, + size: 8, + kind: Object, + section: Some( + 6, + ), + flags: FlagSet(Local | SizeInferred), + align: None, + virtual_address: None, + }, + Symbol { + name: "[.debug$S]", + demangled_name: None, + address: 0, + size: 40, + kind: Section, + section: Some( + 22, + ), + flags: FlagSet(Local), + align: None, + virtual_address: None, + }, + Symbol { + name: "[.debug$S]", + demangled_name: None, + address: 0, + size: 40, + kind: Section, + section: Some( + 23, + ), + flags: FlagSet(Local), + align: None, + virtual_address: None, + }, + Symbol { + name: "[.debug$T]", + demangled_name: None, + address: 0, + size: 48, + kind: Section, + section: Some( + 24, + ), + flags: FlagSet(Local), + align: None, + virtual_address: None, + }, + ], + sections: [ + Section { + id: ".drectve-0", + name: ".drectve", + address: 0, + size: 132, + kind: Unknown, + data: SectionData( + 0, + ), + flags: FlagSet(), + align: Some( + 1, + ), + relocations: [], + line_info: {}, + virtual_address: None, + }, + Section { + id: ".debug$S-0", + name: ".debug$S", + address: 0, + size: 3952, + kind: Unknown, + data: SectionData( + 0, + ), + flags: FlagSet(), + align: Some( + 1, + ), + relocations: [], + line_info: {}, + virtual_address: None, + }, + Section { + id: ".XBLD$W-0", + name: ".XBLD$W", + address: 0, + size: 16, + kind: Data, + data: SectionData( + 16, + ), + flags: FlagSet(), + align: Some( + 8, + ), + relocations: [], + line_info: {}, + virtual_address: None, + }, + Section { + id: ".XBLD$W-1", + name: ".XBLD$W", + address: 0, + size: 16, + kind: Unknown, + data: SectionData( + 0, + ), + flags: FlagSet(), + align: Some( + 4, + ), + relocations: [], + line_info: {}, + virtual_address: None, + }, + Section { + id: ".rdata-combined", + name: ".rdata", + address: 0, + size: 416, + kind: Data, + data: SectionData( + 416, + ), + flags: FlagSet(Combined), + align: Some( + 4, + ), + relocations: [], + line_info: {}, + virtual_address: None, + }, + Section { + id: ".text-0", + name: ".text", + address: 0, + size: 1676, + kind: Code, + data: SectionData( + 1676, + ), + flags: FlagSet(), + align: Some( + 8, + ), + relocations: [ + Relocation { + flags: Coff( + 16, + ), + address: 92, + target_symbol: 8, + addend: 0, + }, + Relocation { + flags: Coff( + 17, + ), + address: 96, + target_symbol: 8, + addend: 0, + }, + Relocation { + flags: Coff( + 6, + ), + address: 100, + target_symbol: 30, + addend: 0, + }, + Relocation { + flags: Coff( + 16, + ), + address: 132, + target_symbol: 54, + addend: 0, + }, + Relocation { + flags: Coff( + 17, + ), + address: 136, + target_symbol: 54, + addend: 0, + }, + Relocation { + flags: Coff( + 16, + ), + address: 144, + target_symbol: 52, + addend: 0, + }, + Relocation { + flags: Coff( + 17, + ), + address: 148, + target_symbol: 52, + addend: 0, + }, + Relocation { + flags: Coff( + 16, + ), + address: 156, + target_symbol: 50, + addend: 0, + }, + Relocation { + flags: Coff( + 17, + ), + address: 160, + target_symbol: 50, + addend: 0, + }, + Relocation { + flags: Coff( + 16, + ), + address: 168, + target_symbol: 48, + addend: 0, + }, + Relocation { + flags: Coff( + 17, + ), + address: 172, + target_symbol: 48, + addend: 0, + }, + Relocation { + flags: Coff( + 16, + ), + address: 180, + target_symbol: 46, + addend: 0, + }, + Relocation { + flags: Coff( + 17, + ), + address: 184, + target_symbol: 46, + addend: 0, + }, + Relocation { + flags: Coff( + 16, + ), + address: 192, + target_symbol: 44, + addend: 0, + }, + Relocation { + flags: Coff( + 17, + ), + address: 196, + target_symbol: 44, + addend: 0, + }, + Relocation { + flags: Coff( + 16, + ), + address: 204, + target_symbol: 42, + addend: 0, + }, + Relocation { + flags: Coff( + 17, + ), + address: 208, + target_symbol: 42, + addend: 0, + }, + Relocation { + flags: Coff( + 16, + ), + address: 216, + target_symbol: 40, + addend: 0, + }, + Relocation { + flags: Coff( + 17, + ), + address: 220, + target_symbol: 40, + addend: 0, + }, + Relocation { + flags: Coff( + 16, + ), + address: 228, + target_symbol: 38, + addend: 0, + }, + Relocation { + flags: Coff( + 17, + ), + address: 232, + target_symbol: 38, + addend: 0, + }, + Relocation { + flags: Coff( + 16, + ), + address: 240, + target_symbol: 38, + addend: 0, + }, + Relocation { + flags: Coff( + 17, + ), + address: 244, + target_symbol: 38, + addend: 0, + }, + Relocation { + flags: Coff( + 16, + ), + address: 252, + target_symbol: 38, + addend: 0, + }, + Relocation { + flags: Coff( + 17, + ), + address: 256, + target_symbol: 38, + addend: 0, + }, + Relocation { + flags: Coff( + 16, + ), + address: 264, + target_symbol: 38, + addend: 0, + }, + Relocation { + flags: Coff( + 17, + ), + address: 268, + target_symbol: 38, + addend: 0, + }, + Relocation { + flags: Coff( + 6, + ), + address: 284, + target_symbol: 57, + addend: 0, + }, + Relocation { + flags: Coff( + 6, + ), + address: 320, + target_symbol: 57, + addend: 0, + }, + Relocation { + flags: Coff( + 6, + ), + address: 356, + target_symbol: 57, + addend: 0, + }, + Relocation { + flags: Coff( + 6, + ), + address: 496, + target_symbol: 58, + addend: 0, + }, + Relocation { + flags: Coff( + 6, + ), + address: 516, + target_symbol: 58, + addend: 0, + }, + Relocation { + flags: Coff( + 16, + ), + address: 520, + target_symbol: 9, + addend: 0, + }, + Relocation { + flags: Coff( + 17, + ), + address: 524, + target_symbol: 9, + addend: 0, + }, + Relocation { + flags: Coff( + 6, + ), + address: 528, + target_symbol: 30, + addend: 0, + }, + Relocation { + flags: Coff( + 16, + ), + address: 540, + target_symbol: 10, + addend: 0, + }, + Relocation { + flags: Coff( + 17, + ), + address: 544, + target_symbol: 10, + addend: 0, + }, + Relocation { + flags: Coff( + 6, + ), + address: 548, + target_symbol: 28, + addend: 0, + }, + Relocation { + flags: Coff( + 16, + ), + address: 560, + target_symbol: 11, + addend: 0, + }, + Relocation { + flags: Coff( + 17, + ), + address: 564, + target_symbol: 11, + addend: 0, + }, + Relocation { + flags: Coff( + 6, + ), + address: 568, + target_symbol: 28, + addend: 0, + }, + Relocation { + flags: Coff( + 16, + ), + address: 580, + target_symbol: 12, + addend: 0, + }, + Relocation { + flags: Coff( + 17, + ), + address: 584, + target_symbol: 12, + addend: 0, + }, + Relocation { + flags: Coff( + 6, + ), + address: 588, + target_symbol: 28, + addend: 0, + }, + Relocation { + flags: Coff( + 16, + ), + address: 600, + target_symbol: 13, + addend: 0, + }, + Relocation { + flags: Coff( + 17, + ), + address: 604, + target_symbol: 13, + addend: 0, + }, + Relocation { + flags: Coff( + 6, + ), + address: 608, + target_symbol: 28, + addend: 0, + }, + Relocation { + flags: Coff( + 16, + ), + address: 612, + target_symbol: 14, + addend: 0, + }, + Relocation { + flags: Coff( + 17, + ), + address: 616, + target_symbol: 14, + addend: 0, + }, + Relocation { + flags: Coff( + 6, + ), + address: 620, + target_symbol: 30, + addend: 0, + }, + Relocation { + flags: Coff( + 16, + ), + address: 716, + target_symbol: 72, + addend: 0, + }, + Relocation { + flags: Coff( + 17, + ), + address: 720, + target_symbol: 72, + addend: 0, + }, + Relocation { + flags: Coff( + 16, + ), + address: 728, + target_symbol: 70, + addend: 0, + }, + Relocation { + flags: Coff( + 17, + ), + address: 732, + target_symbol: 70, + addend: 0, + }, + Relocation { + flags: Coff( + 16, + ), + address: 740, + target_symbol: 68, + addend: 0, + }, + Relocation { + flags: Coff( + 17, + ), + address: 744, + target_symbol: 68, + addend: 0, + }, + Relocation { + flags: Coff( + 16, + ), + address: 752, + target_symbol: 66, + addend: 0, + }, + Relocation { + flags: Coff( + 17, + ), + address: 756, + target_symbol: 66, + addend: 0, + }, + Relocation { + flags: Coff( + 16, + ), + address: 764, + target_symbol: 54, + addend: 0, + }, + Relocation { + flags: Coff( + 17, + ), + address: 768, + target_symbol: 54, + addend: 0, + }, + Relocation { + flags: Coff( + 16, + ), + address: 776, + target_symbol: 64, + addend: 0, + }, + Relocation { + flags: Coff( + 17, + ), + address: 780, + target_symbol: 64, + addend: 0, + }, + Relocation { + flags: Coff( + 16, + ), + address: 788, + target_symbol: 62, + addend: 0, + }, + Relocation { + flags: Coff( + 17, + ), + address: 792, + target_symbol: 62, + addend: 0, + }, + Relocation { + flags: Coff( + 16, + ), + address: 800, + target_symbol: 66, + addend: 0, + }, + Relocation { + flags: Coff( + 17, + ), + address: 804, + target_symbol: 66, + addend: 0, + }, + Relocation { + flags: Coff( + 6, + ), + address: 948, + target_symbol: 57, + addend: 0, + }, + Relocation { + flags: Coff( + 6, + ), + address: 984, + target_symbol: 57, + addend: 0, + }, + Relocation { + flags: Coff( + 6, + ), + address: 1020, + target_symbol: 57, + addend: 0, + }, + Relocation { + flags: Coff( + 16, + ), + address: 1196, + target_symbol: 15, + addend: 0, + }, + Relocation { + flags: Coff( + 17, + ), + address: 1200, + target_symbol: 15, + addend: 0, + }, + Relocation { + flags: Coff( + 6, + ), + address: 1204, + target_symbol: 30, + addend: 0, + }, + Relocation { + flags: Coff( + 16, + ), + address: 1216, + target_symbol: 16, + addend: 0, + }, + Relocation { + flags: Coff( + 17, + ), + address: 1220, + target_symbol: 16, + addend: 0, + }, + Relocation { + flags: Coff( + 6, + ), + address: 1224, + target_symbol: 28, + addend: 0, + }, + Relocation { + flags: Coff( + 16, + ), + address: 1236, + target_symbol: 17, + addend: 0, + }, + Relocation { + flags: Coff( + 17, + ), + address: 1240, + target_symbol: 17, + addend: 0, + }, + Relocation { + flags: Coff( + 6, + ), + address: 1244, + target_symbol: 28, + addend: 0, + }, + Relocation { + flags: Coff( + 16, + ), + address: 1256, + target_symbol: 18, + addend: 0, + }, + Relocation { + flags: Coff( + 17, + ), + address: 1260, + target_symbol: 18, + addend: 0, + }, + Relocation { + flags: Coff( + 6, + ), + address: 1264, + target_symbol: 28, + addend: 0, + }, + Relocation { + flags: Coff( + 16, + ), + address: 1276, + target_symbol: 19, + addend: 0, + }, + Relocation { + flags: Coff( + 17, + ), + address: 1280, + target_symbol: 19, + addend: 0, + }, + Relocation { + flags: Coff( + 6, + ), + address: 1284, + target_symbol: 28, + addend: 0, + }, + Relocation { + flags: Coff( + 16, + ), + address: 1296, + target_symbol: 20, + addend: 0, + }, + Relocation { + flags: Coff( + 17, + ), + address: 1300, + target_symbol: 20, + addend: 0, + }, + Relocation { + flags: Coff( + 6, + ), + address: 1304, + target_symbol: 28, + addend: 0, + }, + Relocation { + flags: Coff( + 16, + ), + address: 1308, + target_symbol: 21, + addend: 0, + }, + Relocation { + flags: Coff( + 17, + ), + address: 1312, + target_symbol: 21, + addend: 0, + }, + Relocation { + flags: Coff( + 6, + ), + address: 1316, + target_symbol: 30, + addend: 0, + }, + Relocation { + flags: Coff( + 16, + ), + address: 1548, + target_symbol: 22, + addend: 0, + }, + Relocation { + flags: Coff( + 17, + ), + address: 1552, + target_symbol: 22, + addend: 0, + }, + Relocation { + flags: Coff( + 6, + ), + address: 1556, + target_symbol: 30, + addend: 0, + }, + Relocation { + flags: Coff( + 16, + ), + address: 1568, + target_symbol: 23, + addend: 0, + }, + Relocation { + flags: Coff( + 17, + ), + address: 1572, + target_symbol: 23, + addend: 0, + }, + Relocation { + flags: Coff( + 6, + ), + address: 1576, + target_symbol: 28, + addend: 0, + }, + Relocation { + flags: Coff( + 16, + ), + address: 1580, + target_symbol: 24, + addend: 0, + }, + Relocation { + flags: Coff( + 17, + ), + address: 1584, + target_symbol: 24, + addend: 0, + }, + Relocation { + flags: Coff( + 6, + ), + address: 1588, + target_symbol: 30, + addend: 0, + }, + Relocation { + flags: Coff( + 16, + ), + address: 1620, + target_symbol: 25, + addend: 0, + }, + Relocation { + flags: Coff( + 17, + ), + address: 1624, + target_symbol: 25, + addend: 0, + }, + Relocation { + flags: Coff( + 6, + ), + address: 1628, + target_symbol: 30, + addend: 0, + }, + Relocation { + flags: Coff( + 6, + ), + address: 1632, + target_symbol: 35, + addend: 0, + }, + Relocation { + flags: Coff( + 6, + ), + address: 1636, + target_symbol: 59, + addend: 0, + }, + Relocation { + flags: Coff( + 6, + ), + address: 1640, + target_symbol: 75, + addend: 0, + }, + Relocation { + flags: Coff( + 16, + ), + address: 1644, + target_symbol: 26, + addend: 0, + }, + Relocation { + flags: Coff( + 17, + ), + address: 1648, + target_symbol: 26, + addend: 0, + }, + Relocation { + flags: Coff( + 6, + ), + address: 1652, + target_symbol: 30, + addend: 0, + }, + ], + line_info: {}, + virtual_address: None, + }, + Section { + id: ".pdata-0", + name: ".pdata", + address: 0, + size: 40, + kind: Data, + data: SectionData( + 40, + ), + flags: FlagSet(), + align: Some( + 8, + ), + relocations: [ + Relocation { + flags: Coff( + 2, + ), + address: 0, + target_symbol: 28, + addend: 0, + }, + Relocation { + flags: Coff( + 2, + ), + address: 8, + target_symbol: 35, + addend: 0, + }, + Relocation { + flags: Coff( + 2, + ), + address: 16, + target_symbol: 59, + addend: 0, + }, + Relocation { + flags: Coff( + 2, + ), + address: 24, + target_symbol: 75, + addend: 0, + }, + Relocation { + flags: Coff( + 2, + ), + address: 32, + target_symbol: 79, + addend: 0, + }, + ], + line_info: {}, + virtual_address: None, + }, + Section { + id: ".rdata-1", + name: ".rdata", + address: 0, + size: 0, + kind: Unknown, + data: SectionData( + 0, + ), + flags: FlagSet(), + align: Some( + 4, + ), + relocations: [], + line_info: {}, + virtual_address: None, + }, + Section { + id: ".rdata-2", + name: ".rdata", + address: 0, + size: 0, + kind: Unknown, + data: SectionData( + 0, + ), + flags: FlagSet(), + align: Some( + 4, + ), + relocations: [], + line_info: {}, + virtual_address: None, + }, + Section { + id: ".rdata-3", + name: ".rdata", + address: 0, + size: 0, + kind: Unknown, + data: SectionData( + 0, + ), + flags: FlagSet(), + align: Some( + 4, + ), + relocations: [], + line_info: {}, + virtual_address: None, + }, + Section { + id: ".rdata-4", + name: ".rdata", + address: 0, + size: 0, + kind: Unknown, + data: SectionData( + 0, + ), + flags: FlagSet(), + align: Some( + 4, + ), + relocations: [], + line_info: {}, + virtual_address: None, + }, + Section { + id: ".rdata-5", + name: ".rdata", + address: 0, + size: 0, + kind: Unknown, + data: SectionData( + 0, + ), + flags: FlagSet(), + align: Some( + 4, + ), + relocations: [], + line_info: {}, + virtual_address: None, + }, + Section { + id: ".rdata-6", + name: ".rdata", + address: 0, + size: 0, + kind: Unknown, + data: SectionData( + 0, + ), + flags: FlagSet(), + align: Some( + 4, + ), + relocations: [], + line_info: {}, + virtual_address: None, + }, + Section { + id: ".rdata-7", + name: ".rdata", + address: 0, + size: 0, + kind: Unknown, + data: SectionData( + 0, + ), + flags: FlagSet(), + align: Some( + 4, + ), + relocations: [], + line_info: {}, + virtual_address: None, + }, + Section { + id: ".rdata-8", + name: ".rdata", + address: 0, + size: 0, + kind: Unknown, + data: SectionData( + 0, + ), + flags: FlagSet(), + align: Some( + 4, + ), + relocations: [], + line_info: {}, + virtual_address: None, + }, + Section { + id: ".rdata-9", + name: ".rdata", + address: 0, + size: 0, + kind: Unknown, + data: SectionData( + 0, + ), + flags: FlagSet(), + align: Some( + 4, + ), + relocations: [], + line_info: {}, + virtual_address: None, + }, + Section { + id: ".rdata-10", + name: ".rdata", + address: 0, + size: 0, + kind: Unknown, + data: SectionData( + 0, + ), + flags: FlagSet(), + align: Some( + 4, + ), + relocations: [], + line_info: {}, + virtual_address: None, + }, + Section { + id: ".rdata-11", + name: ".rdata", + address: 0, + size: 0, + kind: Unknown, + data: SectionData( + 0, + ), + flags: FlagSet(), + align: Some( + 4, + ), + relocations: [], + line_info: {}, + virtual_address: None, + }, + Section { + id: ".rdata-12", + name: ".rdata", + address: 0, + size: 0, + kind: Unknown, + data: SectionData( + 0, + ), + flags: FlagSet(), + align: Some( + 4, + ), + relocations: [], + line_info: {}, + virtual_address: None, + }, + Section { + id: ".rdata-13", + name: ".rdata", + address: 0, + size: 0, + kind: Unknown, + data: SectionData( + 0, + ), + flags: FlagSet(), + align: Some( + 4, + ), + relocations: [], + line_info: {}, + virtual_address: None, + }, + Section { + id: ".rdata-14", + name: ".rdata", + address: 0, + size: 0, + kind: Unknown, + data: SectionData( + 0, + ), + flags: FlagSet(), + align: Some( + 4, + ), + relocations: [], + line_info: {}, + virtual_address: None, + }, + Section { + id: ".rdata-15", + name: ".rdata", + address: 0, + size: 0, + kind: Unknown, + data: SectionData( + 0, + ), + flags: FlagSet(), + align: Some( + 4, + ), + relocations: [], + line_info: {}, + virtual_address: None, + }, + Section { + id: ".debug$S-1", + name: ".debug$S", + address: 0, + size: 40, + kind: Unknown, + data: SectionData( + 0, + ), + flags: FlagSet(), + align: Some( + 1, + ), + relocations: [], + line_info: {}, + virtual_address: None, + }, + Section { + id: ".debug$S-2", + name: ".debug$S", + address: 0, + size: 40, + kind: Unknown, + data: SectionData( + 0, + ), + flags: FlagSet(), + align: Some( + 1, + ), + relocations: [], + line_info: {}, + virtual_address: None, + }, + Section { + id: ".debug$T-0", + name: ".debug$T", + address: 0, + size: 48, + kind: Unknown, + data: SectionData( + 0, + ), + flags: FlagSet(), + align: Some( + 1, + ), + relocations: [], + line_info: {}, + virtual_address: None, + }, + ], + split_meta: None, + path: None, + timestamp: None, + flow_analysis_results: {}, +}