--- a/vendor/object/src/read/macho/relocation.rs	2021-07-26 23:20:39.000000000 +0800
+++ b/vendor/object/src/read/macho/relocation.rs	2025-12-16 07:31:36.000000000 +0800
@@ -61,6 +61,21 @@
                         relative: reloc.r_pcrel,
                     },
                 },
+                // FIXME: implement this correctly for PowerPC
+                macho::CPU_TYPE_POWERPC => match (reloc.r_type, reloc.r_pcrel) {
+                    (macho::PPC_RELOC_VANILLA, false) => RelocationKind::Absolute,
+                    _ => RelocationKind::MachO {
+                        value: reloc.r_type,
+                        relative: reloc.r_pcrel,
+                    },
+                },
+                macho::CPU_TYPE_POWERPC64 => match (reloc.r_type, reloc.r_pcrel) {
+                    (macho::PPC_RELOC_VANILLA, false) => RelocationKind::Absolute,
+                    _ => RelocationKind::MachO {
+                        value: reloc.r_type,
+                        relative: reloc.r_pcrel,
+                    },
+                },
                 macho::CPU_TYPE_X86 => match (reloc.r_type, reloc.r_pcrel) {
                     (macho::GENERIC_RELOC_VANILLA, false) => RelocationKind::Absolute,
                     _ => RelocationKind::MachO {

--- a/vendor/object/src/write/macho.rs	2021-07-26 23:20:39.000000000 +0800
+++ b/vendor/object/src/write/macho.rs	2025-12-16 07:33:43.000000000 +0800
@@ -327,6 +327,8 @@
             Architecture::Aarch64 => (macho::CPU_TYPE_ARM64, macho::CPU_SUBTYPE_ARM64_ALL),
             Architecture::I386 => (macho::CPU_TYPE_X86, macho::CPU_SUBTYPE_I386_ALL),
             Architecture::X86_64 => (macho::CPU_TYPE_X86_64, macho::CPU_SUBTYPE_X86_64_ALL),
+            Architecture::PowerPc => (macho::CPU_TYPE_POWERPC, macho::CPU_SUBTYPE_POWERPC_ALL),
+            Architecture::PowerPc64 => (macho::CPU_TYPE_POWERPC64, macho::CPU_SUBTYPE_POWERPC_ALL),
             _ => {
                 return Err(Error(format!(
                     "unimplemented architecture {:?}",
@@ -556,6 +558,19 @@
                                 return Err(Error(format!("unimplemented relocation {:?}", reloc)));
                             }
                         },
+                        // FIXME: implement this correctly for PowerPC
+                        Architecture::PowerPc => match reloc.kind {
+                            RelocationKind::Absolute => (false, macho::PPC_RELOC_VANILLA),
+                            _ => {
+                                return Err(Error(format!("unimplemented relocation {:?}", reloc)));
+                            }
+                        },
+                        Architecture::PowerPc64 => match reloc.kind {
+                            RelocationKind::Absolute => (false, macho::PPC_RELOC_VANILLA),
+                            _ => {
+                                return Err(Error(format!("unimplemented relocation {:?}", reloc)));
+                            }
+                        },
                         Architecture::X86_64 => match (reloc.kind, reloc.encoding, reloc.addend) {
                             (RelocationKind::Absolute, RelocationEncoding::Generic, 0) => {
                                 (false, macho::X86_64_RELOC_UNSIGNED)
