From e58574abf6529058ed277b13c8af3bff3c126186 Mon Sep 17 00:00:00 2001 From: "Jay Freeman (saurik)" Date: Mon, 2 Sep 2013 22:55:37 -0700 Subject: [PATCH] Add special cases to support old codesign_allocate. --- ldid.cpp | 34 +++++++++++++++++++++++++++++----- 1 file changed, 29 insertions(+), 5 deletions(-) diff --git a/ldid.cpp b/ldid.cpp index f561fa6..20fbd64 100644 --- a/ldid.cpp +++ b/ldid.cpp @@ -946,13 +946,37 @@ int main(int argc, const char *argv[]) { args.push_back(path); _foreach (allocation, allocations) { - args.push_back("-A"); + if (allocation.type_ == 12 && ( + allocation.subtype_ == 0 || + allocation.subtype_ == 6 || + false)) { + // Telesphoreo codesign_allocate + args.push_back("-a"); + + const char *arch; + switch (allocation.subtype_) { + case 0: + arch = "arm"; + break; + case 6: + arch = "armv6"; + break; + default: + arch = NULL; + break; + } - asprintf(&arg, "%u", allocation.type_); - args.push_back(arg); + _assert(arch != NULL); + args.push_back(arch); + } else { + args.push_back("-A"); - asprintf(&arg, "%u", allocation.subtype_); - args.push_back(arg); + asprintf(&arg, "%u", allocation.type_); + args.push_back(arg); + + asprintf(&arg, "%u", allocation.subtype_); + args.push_back(arg); + } size_t alloc(0); alloc += sizeof(struct SuperBlob); -- 2.47.1