From: Jay Freeman (saurik) Date: Tue, 3 Sep 2013 05:55:37 +0000 (-0700) Subject: Add special cases to support old codesign_allocate. X-Git-Tag: v1.1.0^0 X-Git-Url: https://git.saurik.com/ldid.git/commitdiff_plain/e58574abf6529058ed277b13c8af3bff3c126186 Add special cases to support old codesign_allocate. --- 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);