From 5ae046509bb7c5c0a5c338793ebc3902820ac9e7 Mon Sep 17 00:00:00 2001 From: Mark Rowe Date: Wed, 22 Oct 2025 11:35:58 -0700 Subject: [MachO] Fix Windows build --- view/macho/chained_fixups.cpp | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) (limited to 'view/macho/chained_fixups.cpp') diff --git a/view/macho/chained_fixups.cpp b/view/macho/chained_fixups.cpp index 682f561c..1860255a 100644 --- a/view/macho/chained_fixups.cpp +++ b/view/macho/chained_fixups.cpp @@ -39,24 +39,32 @@ namespace { FixupInfo BindFixup(uint32_t ordinal, int32_t addend, uint16_t next) { - return { .bind = { ordinal, addend }, FixupType::Bind, .next = next }; + return { .bind = { ordinal, addend }, .type = FixupType::Bind, .next = next }; } FixupInfo RebaseFixup(uint64_t target, uint16_t next) { - return { .rebase = { target }, FixupType::Rebase, .next = next }; + return { .rebase = { target }, .type = FixupType::Rebase, .next = next }; } FixupInfo AuthBindFixup(uint32_t ordinal, AuthKeyType keyType, bool usesAddressDiversity, uint16_t addressDiversity, uint16_t next) { - return { .bind = { ordinal, 0 }, FixupType::Bind, true, keyType, usesAddressDiversity, addressDiversity, next }; + return { + .bind = { ordinal, 0 }, .type = FixupType::Bind, .isAuthenticated = true, + .authKeyType = keyType, .usesAddressDiversity = usesAddressDiversity, + .addressDiversity = addressDiversity, .next = next + }; } FixupInfo AuthRebaseFixup(uint64_t target, AuthKeyType keyType, bool usesAddressDiversity, uint16_t addressDiversity, uint16_t next) { - return { .rebase = { target }, FixupType::Rebase, true, keyType, usesAddressDiversity, addressDiversity, next }; + return { + .rebase = { target }, .type = FixupType::Rebase, .isAuthenticated = true, + .authKeyType = keyType, .usesAddressDiversity = usesAddressDiversity, + .addressDiversity = addressDiversity, .next = next + }; } FixupInfo ConvertFromAddressToOffset(FixupInfo fixup, uint64_t preferredLoadAddress) @@ -239,7 +247,7 @@ ImportEntry ReadChainedImport32(BinaryReader& reader, std::span symb return { std::string_view(&symbolData[import.name_offset]), 0, - import.lib_ordinal, + static_cast(import.lib_ordinal), (bool)import.weak_import, }; } @@ -251,7 +259,7 @@ ImportEntry ReadChainedImportAddend32(BinaryReader& reader, std::span(import.addend), - import.lib_ordinal, + static_cast(import.lib_ordinal), (bool)import.weak_import, }; } @@ -263,7 +271,7 @@ ImportEntry ReadChainedImportAddend64(BinaryReader& reader, std::span(import.lib_ordinal), (bool)import.weak_import, }; } -- cgit v1.3.1