| 499 | } |
| 500 | |
| 501 | fn zero_reloc(code: u32, reloc: &Relocation) -> u32 { |
| 502 | match reloc.flags { |
| 503 | RelocationFlags::Elf(elf::R_PPC_EMB_SDA21) => code & !0x1FFFFF, |
| 504 | RelocationFlags::Elf(elf::R_PPC_REL24) | RelocationFlags::Coff(pe::IMAGE_REL_PPC_REL24) => { |
| 505 | code & !0x3FFFFFC |
| 506 | } |
| 507 | RelocationFlags::Elf(elf::R_PPC_REL14) | RelocationFlags::Coff(pe::IMAGE_REL_PPC_REL14) => { |
| 508 | code & !0xFFFC |
| 509 | } |
| 510 | RelocationFlags::Elf( |
| 511 | elf::R_PPC_ADDR16_HI | elf::R_PPC_ADDR16_HA | elf::R_PPC_ADDR16_LO, |
| 512 | ) |
| 513 | | RelocationFlags::Coff(pe::IMAGE_REL_PPC_REFHI | pe::IMAGE_REL_PPC_REFLO) => { |
| 514 | code & !0xFFFF |
| 515 | } |
| 516 | _ => code, |
| 517 | } |
| 518 | } |
| 519 | |
| 520 | fn display_reloc( |
| 521 | resolved: ResolvedRelocation, |