summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-devel/binutils-apple/files/ld64-242-noarm.patch')
-rw-r--r--sys-devel/binutils-apple/files/ld64-242-noarm.patch1255
1 files changed, 0 insertions, 1255 deletions
diff --git a/sys-devel/binutils-apple/files/ld64-242-noarm.patch b/sys-devel/binutils-apple/files/ld64-242-noarm.patch
deleted file mode 100644
index adfae99ffef8..000000000000
--- a/sys-devel/binutils-apple/files/ld64-242-noarm.patch
+++ /dev/null
@@ -1,1255 +0,0 @@
-Fully conditionalise arm support so it can be disabled on 10.4.
-
---- ld64-242/src/ld/HeaderAndLoadCommands.hpp.noarm 2014-05-08 03:38:16.000000000 +0200
-+++ ld64-242/src/ld/HeaderAndLoadCommands.hpp 2015-08-03 01:09:13.000000000 +0200
-@@ -607,8 +607,12 @@
-
- template <> uint32_t HeaderAndLoadCommandsAtom<x86>::cpuType() const { return CPU_TYPE_I386; }
- template <> uint32_t HeaderAndLoadCommandsAtom<x86_64>::cpuType() const { return CPU_TYPE_X86_64; }
-+#if SUPPORT_ARCH_arm_any
- template <> uint32_t HeaderAndLoadCommandsAtom<arm>::cpuType() const { return CPU_TYPE_ARM; }
-+#endif
-+#if SUPPORT_ARCH_arm64
- template <> uint32_t HeaderAndLoadCommandsAtom<arm64>::cpuType() const { return CPU_TYPE_ARM64; }
-+#endif
-
-
-
-@@ -627,17 +631,21 @@
- return _state.cpuSubType;
- }
-
-+#if SUPPORT_ARCH_arm_any
- template <>
- uint32_t HeaderAndLoadCommandsAtom<arm>::cpuSubType() const
- {
- return _state.cpuSubType;
- }
-+#endif
-
-+#if SUPPORT_ARCH_arm64
- template <>
- uint32_t HeaderAndLoadCommandsAtom<arm64>::cpuSubType() const
- {
- return CPU_SUBTYPE_ARM64_ALL;
- }
-+#endif
-
-
-
---- ld64-242/src/ld/LinkEdit.hpp.noarm 2015-08-03 01:08:57.000000000 +0200
-+++ ld64-242/src/ld/LinkEdit.hpp 2015-08-03 01:09:13.000000000 +0200
-@@ -1595,6 +1595,7 @@
- for (ld::Fixup::iterator fit = atom->fixupsBegin(); fit != atom->fixupsEnd(); ++fit) {
- if ( fit->kind != ld::Fixup::kindLinkerOptimizationHint)
- continue;
-+#if SUPPORT_ARCH_arm64
- ld::Fixup::LOH_arm64 extra;
- extra.addend = fit->u.addend;
- _encodedData.append_uleb128(extra.info.kind);
-@@ -1606,6 +1607,7 @@
- _encodedData.append_uleb128((extra.info.delta3 << 2) + fit->offsetInAtom + address);
- if ( extra.info.count > 2 )
- _encodedData.append_uleb128((extra.info.delta4 << 2) + fit->offsetInAtom + address);
-+#endif
- }
- }
- }
---- ld64-242/src/ld/Options.cpp.noarm 2015-08-03 01:08:57.000000000 +0200
-+++ ld64-242/src/ld/Options.cpp 2015-08-03 01:09:13.000000000 +0200
-@@ -579,8 +579,13 @@
- #endif
- }
- break;
-+#if SUPPORT_ARCH_arm_any
- case CPU_TYPE_ARM:
-+#endif
-+#if SUPPORT_ARCH_arm64
- case CPU_TYPE_ARM64:
-+#endif
-+#if SUPPORT_ARCH_arm_any || SUPPORT_ARCH_arm64
- if ( (fMacVersionMin == ld::macVersionUnset) && (fIOSVersionMin == ld::iOSVersionUnset) && (fOutputKind != Options::kObjectFile) ) {
- #if defined(DEFAULT_IPHONEOS_MIN_VERSION)
- warning("-ios_version_min not specified, assuming " DEFAULT_IPHONEOS_MIN_VERSION);
-@@ -591,6 +596,7 @@
- #endif
- }
- break;
-+#endif
- }
- #ifdef SUPPORT_SNAPSHOTS
- fLinkSnapshot.recordArch(fArchitectureName);
-@@ -1687,9 +1693,11 @@
- symbolStart = NULL;
- }
- else if ( strncmp(symbolStart, "arm:", 4) == 0 ) {
-+#if SUPPORT_ARCH_arm_any
- if ( fArchitecture == CPU_TYPE_ARM )
- symbolStart = &symbolStart[4];
- else
-+#endif
- symbolStart = NULL;
- }
- if ( symbolStart != NULL ) {
-@@ -3672,6 +3680,7 @@
- #endif
- }
- break;
-+#if SUPPORT_ARCH_arm_any
- case CPU_TYPE_ARM:
- if ( (fOutputKind != Options::kObjectFile) && (fOutputKind != Options::kPreload) ) {
- #if defined(DEFAULT_IPHONEOS_MIN_VERSION)
-@@ -3683,6 +3692,7 @@
- #endif
- }
- break;
-+#endif
- default:
- // architecture will be infered later by examining .o files
- break;
-@@ -3705,12 +3715,14 @@
- fMacVersionMin = ld::mac10_4;
- }
- break;
-+#if SUPPORT_ARCH_arm64
- case CPU_TYPE_ARM64:
- if ( fIOSVersionMin < ld::iOS_7_0 ) {
- //warning("-mios_version_min should be 7.0 or later for arm64");
- fIOSVersionMin = ld::iOS_7_0;
- }
- break;
-+#endif
- }
-
- // default to adding functions start for dynamic code, static code must opt-in
-@@ -3750,6 +3762,7 @@
- fAllowTextRelocs = true;
- fUndefinedTreatment = kUndefinedDynamicLookup;
- break;
-+#if SUPPORT_ARCH_arm64
- case CPU_TYPE_ARM64:
- // arm64 uses new MH_KEXT_BUNDLE type
- fMakeCompressedDyldInfo = false;
-@@ -3758,6 +3771,8 @@
- fKextsUseStubs = true;
- fUndefinedTreatment = kUndefinedDynamicLookup;
- break;
-+#endif
-+#if SUPPORT_ARCH_arm_any
- case CPU_TYPE_ARM:
- if ( fIOSVersionMin >= ld::iOS_5_0 ) {
- // iOS 5.0 and later use new MH_KEXT_BUNDLE type
-@@ -3769,6 +3784,7 @@
- fUndefinedTreatment = kUndefinedDynamicLookup;
- break;
- }
-+#endif
- // else use object file
- case CPU_TYPE_I386:
- // use .o files
-@@ -3821,6 +3837,7 @@
- if ( fSplitSegs && (fBaseWritableAddress-fBaseAddress != 0x10000000) )
- fBaseWritableAddress = fBaseAddress + 0x10000000;
- break;
-+#if SUPPORT_ARCH_arm_any
- case CPU_TYPE_ARM:
- if ( fOutputKind != Options::kDynamicLibrary ) {
- fSplitSegs = false;
-@@ -3831,6 +3848,7 @@
- fBaseWritableAddress = fBaseAddress + 0x08000000;
- }
- break;
-+#endif
- default:
- fSplitSegs = false;
- fBaseAddress = 0;
-@@ -3845,6 +3863,7 @@
- break;
- case CPU_TYPE_X86_64:
- break;
-+#if SUPPORT_ARCH_arm_any
- case CPU_TYPE_ARM:
- switch ( fOutputKind ) {
- case Options::kDynamicExecutable:
-@@ -3867,6 +3886,7 @@
- fBaseAddress = 0;
- }
- break;
-+#endif
- }
-
- // <rdar://problem/6138961> -r implies no prebinding for all architectures
-@@ -3912,6 +3932,7 @@
- case CPU_TYPE_X86_64:
- fPrebind = false;
- break;
-+#if SUPPORT_ARCH_arm_any
- case CPU_TYPE_ARM:
- switch ( fOutputKind ) {
- case Options::kDynamicExecutable:
-@@ -3929,6 +3950,7 @@
- break;
- }
- break;
-+#endif
- }
- }
-
-@@ -3955,10 +3977,12 @@
- case CPU_TYPE_I386:
- if ( fIOSVersionMin != ld::iOSVersionUnset ) // simulator never needs modules
- break;
-+#if SUPPORT_ARCH_arm_any
- case CPU_TYPE_ARM:
- if ( fPrebind )
- fNeedsModuleTable = true; // redo_prebinding requires a module table
- break;
-+#endif
- }
- }
-
-@@ -3974,7 +3998,9 @@
- switch ( fArchitecture ) {
- case CPU_TYPE_I386:
- case CPU_TYPE_X86_64:
-+#if SUPPORT_ARCH_arm64
- case CPU_TYPE_ARM64:
-+#endif
- switch ( fOutputKind ) {
- case Options::kObjectFile:
- case Options::kStaticExecutable:
-@@ -4037,7 +4063,15 @@
- fEncryptable = false;
- break;
- }
-- if ( (fArchitecture != CPU_TYPE_ARM) && (fArchitecture != CPU_TYPE_ARM64) )
-+ if (
-+#if SUPPORT_ARCH_arm_any
-+ (fArchitecture != CPU_TYPE_ARM) &&
-+#endif
-+#if SUPPORT_ARCH_arm64
-+ (fArchitecture != CPU_TYPE_ARM64) &&
-+#endif
-+ 1
-+ )
- fEncryptable = false;
-
- // don't move inits in dyld because dyld wants certain
-@@ -4089,11 +4123,15 @@
-
- // only ARM and x86_64 enforces that cpu-sub-types must match
- switch ( fArchitecture ) {
-+#if SUPPORT_ARCH_arm_any
- case CPU_TYPE_ARM:
-+#endif
- case CPU_TYPE_X86_64:
- break;
- case CPU_TYPE_I386:
-+#if SUPPORT_ARCH_arm64
- case CPU_TYPE_ARM64:
-+#endif
- fAllowCpuSubtypeMismatches = true;
- break;
- }
-@@ -4139,6 +4177,7 @@
- fPositionIndependentExecutable = true;
- }
-
-+#if SUPPORT_ARCH_arm_any
- // armv7 for iOS4.3 defaults to PIE
- if ( (fArchitecture == CPU_TYPE_ARM)
- && fArchSupportsThumb2
-@@ -4146,6 +4185,7 @@
- && (fIOSVersionMin >= ld::iOS_4_3) ) {
- fPositionIndependentExecutable = true;
- }
-+#endif
-
- // Simulator defaults to PIE
- if ( fTargetIOSSimulator && (fOutputKind == kDynamicExecutable) )
-@@ -4155,10 +4195,12 @@
- if ( fDisablePositionIndependentExecutable )
- fPositionIndependentExecutable = false;
-
-+#if SUPPORT_ARCH_arm64
- // arm64 is always PIE
- if ( (fArchitecture == CPU_TYPE_ARM64) && (fOutputKind == kDynamicExecutable) ) {
- fPositionIndependentExecutable = true;
- }
-+#endif
-
- // set fOutputSlidable
- switch ( fOutputKind ) {
-@@ -4184,9 +4226,11 @@
- if ( fMacVersionMin >= ld::mac10_7 ) {
- fTLVSupport = true;
- }
-+#if SUPPORT_ARCH_arm64
- else if ( (fArchitecture == CPU_TYPE_ARM64) && (fIOSVersionMin >= ld::iOS_8_0) ) {
- fTLVSupport = true;
- }
-+#endif
-
- // default to adding version load command for dynamic code, static code must opt-in
- switch ( fOutputKind ) {
-@@ -4524,12 +4568,16 @@
- if ( fStackAddr != 0 ) {
- switch (fArchitecture) {
- case CPU_TYPE_I386:
-+#if SUPPORT_ARCH_arm_any
- case CPU_TYPE_ARM:
-+#endif
- if ( fStackAddr > 0xFFFFFFFFULL )
- throw "-stack_addr must be < 4G for 32-bit processes";
- break;
- case CPU_TYPE_X86_64:
-+#if SUPPORT_ARCH_arm64
- case CPU_TYPE_ARM64:
-+#endif
- break;
- }
- if ( (fStackAddr & -4096) != fStackAddr )
-@@ -4550,6 +4598,7 @@
- if ( (fStackAddr > 0xB0000000ULL) && ((fStackAddr-fStackSize) < 0xB0000000ULL) )
- warning("custom stack placement overlaps and will disable shared region");
- break;
-+#if SUPPORT_ARCH_arm_any
- case CPU_TYPE_ARM:
- if ( fStackSize > 0x2F000000 )
- throw "-stack_size must be < 752MB";
-@@ -4558,11 +4607,13 @@
- if ( fStackAddr > 0x30000000ULL)
- throw "-stack_addr must be < 0x30000000 for arm";
- break;
-+#endif
- case CPU_TYPE_X86_64:
- if ( fStackAddr == 0 ) {
- fStackAddr = 0x00007FFF5C000000ULL;
- }
- break;
-+#if SUPPORT_ARCH_arm64
- case CPU_TYPE_ARM64:
- if ( fStackSize > 0x20000000 )
- throw "-stack_size must be < 512MB";
-@@ -4570,6 +4621,7 @@
- fStackAddr = 0x120000000ULL;
- }
- break;
-+#endif
- }
- if ( (fStackSize & -4096) != fStackSize )
- throw "-stack_size must be multiples of 4K";
-@@ -4679,8 +4731,12 @@
- alterObjC1ClassNamesToObjC2 = true;
- break;
- case CPU_TYPE_X86_64:
-+#if SUPPORT_ARCH_arm_any
- case CPU_TYPE_ARM:
-+#endif
-+#if SUPPORT_ARCH_arm64
- case CPU_TYPE_ARM64:
-+#endif
- alterObjC1ClassNamesToObjC2 = true;
- break;
- }
-@@ -4772,11 +4828,15 @@
- // zero page size not specified on command line, set default
- switch (fArchitecture) {
- case CPU_TYPE_I386:
-+#if SUPPORT_ARCH_arm_any
- case CPU_TYPE_ARM:
-+#endif
- // first 4KB for 32-bit architectures
- fZeroPageSize = 0x1000;
- break;
-+#if SUPPORT_ARCH_arm64
- case CPU_TYPE_ARM64:
-+#endif
- case CPU_TYPE_X86_64:
- // first 4GB for x86_64 on all OS's
- fZeroPageSize = 0x100000000ULL;
-@@ -4878,9 +4938,11 @@
-
- // -force_cpusubtype_ALL is not supported for ARM
- if ( fForceSubtypeAll ) {
-+#if SUPPORT_ARCH_arm_any
- if ( fArchitecture == CPU_TYPE_ARM ) {
- warning("-force_cpusubtype_ALL will become unsupported for ARM architectures");
- }
-+#endif
- }
-
- // -reexported_symbols_list can only be used with -dynamiclib
---- ld64-242/src/ld/OutputFile.cpp.noarm 2015-08-03 01:08:57.000000000 +0200
-+++ ld64-242/src/ld/OutputFile.cpp 2015-08-03 01:09:13.000000000 +0200
-@@ -631,7 +631,12 @@
- // is encoded in mach-o the same as:
- // .long _foo + 0x40000000
- // so if _foo lays out to 0xC0000100, the first is ok, but the second is not.
-- if ( (_options.architecture() == CPU_TYPE_ARM) || (_options.architecture() == CPU_TYPE_I386) ) {
-+ if (
-+#if SUPPORT_ARCH_arm_any
-+ (_options.architecture() == CPU_TYPE_ARM) ||
-+#endif
-+ (_options.architecture() == CPU_TYPE_I386) ||
-+ 0) {
- // Unlikely userland code does funky stuff like this, so warn for them, but not warn for -preload or -static
- if ( (_options.outputKind() != Options::kPreload) && (_options.outputKind() != Options::kStaticExecutable) ) {
- warning("32-bit absolute address out of range (0x%08llX max is 4GB): from %s + 0x%08X (0x%08llX) to 0x%08llX",
-@@ -1235,22 +1240,26 @@
- return false;
- const ld::Fixup* f;
- switch ( fixup->kind ) {
-+#if SUPPORT_ARCH_arm64
- case ld::Fixup::kindStoreTargetAddressARM64Page21:
- return !mustBeGOT;
- case ld::Fixup::kindStoreTargetAddressARM64GOTLoadPage21:
- case ld::Fixup::kindStoreTargetAddressARM64GOTLeaPage21:
- return true;
-+#endif
- case ld::Fixup::kindSetTargetAddress:
- f = fixup;
- do {
- ++f;
- } while ( ! f->lastInCluster() );
- switch (f->kind ) {
-+#if SUPPORT_ARCH_arm64
- case ld::Fixup::kindStoreARM64Page21:
- return !mustBeGOT;
- case ld::Fixup::kindStoreARM64GOTLoadPage21:
- case ld::Fixup::kindStoreARM64GOTLeaPage21:
- return true;
-+#endif
- default:
- break;
- }
-@@ -1267,22 +1276,26 @@
- return false;
- const ld::Fixup* f;
- switch ( fixup->kind ) {
-+#if SUPPORT_ARCH_arm64
- case ld::Fixup::kindStoreTargetAddressARM64PageOff12:
- return !mustBeGOT;
- case ld::Fixup::kindStoreTargetAddressARM64GOTLoadPageOff12:
- case ld::Fixup::kindStoreTargetAddressARM64GOTLeaPageOff12:
- return true;
-+#endif
- case ld::Fixup::kindSetTargetAddress:
- f = fixup;
- do {
- ++f;
- } while ( ! f->lastInCluster() );
- switch (f->kind ) {
-+#if SUPPORT_ARCH_arm64
- case ld::Fixup::kindStoreARM64PageOff12:
- return !mustBeGOT;
- case ld::Fixup::kindStoreARM64GOTLoadPageOff12:
- case ld::Fixup::kindStoreARM64GOTLeaPageOff12:
- return true;
-+#endif
- default:
- break;
- }
-@@ -1318,7 +1331,9 @@
- std::map<uint32_t, const Fixup*> usedByHints;
- for (ld::Fixup::iterator fit = atom->fixupsBegin(), end=atom->fixupsEnd(); fit != end; ++fit) {
- uint8_t* fixUpLocation = &buffer[fit->offsetInAtom];
-+#if SUPPORT_ARCH_arm64
- ld::Fixup::LOH_arm64 lohExtra;
-+#endif
- switch ( (ld::Fixup::Kind)(fit->kind) ) {
- case ld::Fixup::kindNone:
- case ld::Fixup::kindNoneFollowOn:
-@@ -1580,6 +1595,7 @@
- break;
- case ld::Fixup::kindLinkerOptimizationHint:
- // expand table of address/offsets used by hints
-+#if SUPPORT_ARCH_arm64
- lohExtra.addend = fit->u.addend;
- usedByHints[fit->offsetInAtom + (lohExtra.info.delta1 << 2)] = NULL;
- if ( lohExtra.info.count > 0 )
-@@ -1588,6 +1604,7 @@
- usedByHints[fit->offsetInAtom + (lohExtra.info.delta3 << 2)] = NULL;
- if ( lohExtra.info.count > 2 )
- usedByHints[fit->offsetInAtom + (lohExtra.info.delta4 << 2)] = NULL;
-+#endif
- break;
- case ld::Fixup::kindStoreTargetAddressLittleEndian32:
- accumulator = addressOf(state, fit, &toTarget);
-@@ -2095,6 +2112,7 @@
- //uint8_t loadSize, destReg;
- //uint32_t scaledOffset;
- //uint32_t imm12;
-+#if SUPPORT_ARCH_arm64
- ld::Fixup::LOH_arm64 alt;
- alt.addend = fit->u.addend;
- setInfo(state, atom, buffer, usedByHints, fit->offsetInAtom, (alt.info.delta1 << 2), &infoA);
-@@ -2453,6 +2471,7 @@
- fprintf(stderr, "unknown hint kind %d alt.info.kind at 0x%08llX\n", alt.info.kind, infoA.instructionAddress);
- break;
- }
-+#endif
- }
- // apply hints pass 2
- for (ld::Fixup::iterator fit = atom->fixupsBegin(), end=atom->fixupsEnd(); fit != end; ++fit) {
-@@ -2460,6 +2479,7 @@
- continue;
- InstructionInfo infoA;
- InstructionInfo infoB;
-+#if SUPPORT_ARCH_arm64
- ld::Fixup::LOH_arm64 alt;
- alt.addend = fit->u.addend;
- setInfo(state, atom, buffer, usedByHints, fit->offsetInAtom, (alt.info.delta1 << 2), &infoA);
-@@ -2491,6 +2511,7 @@
- }
- break;
- }
-+#endif
- }
- }
- #endif // SUPPORT_ARCH_arm64
-@@ -2505,6 +2526,7 @@
- for (uint8_t* p=from; p < to; ++p)
- *p = 0x90;
- break;
-+#if SUPPORT_ARCH_arm_any
- case CPU_TYPE_ARM:
- if ( thumb ) {
- for (uint8_t* p=from; p < to; p += 2)
-@@ -2515,6 +2537,7 @@
- OSWriteLittleInt32((uint32_t*)p, 0, 0xe1a00000);
- }
- break;
-+#endif
- default:
- for (uint8_t* p=from; p < to; ++p)
- *p = 0x00;
-@@ -2843,7 +2866,11 @@
-
- // in -r mode, clarify symbolTableNotInFinalLinkedImages
- if ( _options.outputKind() == Options::kObjectFile ) {
-- if ( (_options.architecture() == CPU_TYPE_X86_64) || (_options.architecture() == CPU_TYPE_ARM64) ) {
-+ if ( (_options.architecture() == CPU_TYPE_X86_64) ||
-+#if SUPPORT_ARCH_arm64
-+ (_options.architecture() == CPU_TYPE_ARM64) ||
-+#endif
-+ 0 ) {
- // x86_64 .o files need labels on anonymous literal strings
- if ( (sect->type() == ld::Section::typeCString) && (atom->combine() == ld::Atom::combineByNameAndContent) ) {
- (const_cast<ld::Atom*>(atom))->setSymbolTableInclusion(ld::Atom::symbolTableIn);
-@@ -4071,8 +4098,10 @@
- if ( _options.sharedRegionEligible() ) {
- // <rdar://problem/13287063> when range checking, ignore high byte of arm64 addends
- uint64_t checkAddend = addend;
-+#if SUPPORT_ARCH_arm64
- if ( _options.architecture() == CPU_TYPE_ARM64 )
- checkAddend &= 0x0FFFFFFFFFFFFFFFULL;
-+#endif
- if ( checkAddend != 0 ) {
- // make sure the addend does not cause the pointer to point outside the target's segment
- // if it does, update_dyld_shared_cache will not be able to put this dylib into the shared cache
-@@ -4279,12 +4308,17 @@
-
- bool OutputFile::useExternalSectionReloc(const ld::Atom* atom, const ld::Atom* target, ld::Fixup* fixupWithTarget)
- {
-- if ( (_options.architecture() == CPU_TYPE_X86_64) || (_options.architecture() == CPU_TYPE_ARM64) ) {
-+ if ( (_options.architecture() == CPU_TYPE_X86_64) ||
-+#if SUPPORT_ARCH_arm64
-+ (_options.architecture() == CPU_TYPE_ARM64) ||
-+#endif
-+ 0) {
- // x86_64 and ARM64 use external relocations for everthing that has a symbol
- return ( target->symbolTableInclusion() != ld::Atom::symbolTableNotIn );
- }
-
- // <rdar://problem/9513487> support arm branch interworking in -r mode
-+#if SUPPORT_ARCH_arm_any
- if ( (_options.architecture() == CPU_TYPE_ARM) && (_options.outputKind() == Options::kObjectFile) ) {
- if ( atom->isThumb() != target->isThumb() ) {
- switch ( fixupWithTarget->kind ) {
-@@ -4298,6 +4332,7 @@
- }
- }
- }
-+#endif
-
- if ( (_options.architecture() == CPU_TYPE_I386) && (_options.outputKind() == Options::kObjectFile) ) {
- if ( target->contentType() == ld::Atom::typeTLV )
-@@ -4365,7 +4400,11 @@
- bool minusTargetUsesExternalReloc = (minusTarget != NULL) && this->useExternalSectionReloc(atom, minusTarget, fixupWithMinusTarget);
-
- // in x86_64 and arm64 .o files an external reloc means the content contains just the addend
-- if ( (_options.architecture() == CPU_TYPE_X86_64) ||(_options.architecture() == CPU_TYPE_ARM64) ) {
-+ if ( (_options.architecture() == CPU_TYPE_X86_64) ||
-+#if SUPPORT_ARCH_arm64
-+ (_options.architecture() == CPU_TYPE_ARM64) ||
-+#endif
-+ 0 ) {
- if ( targetUsesExternalReloc ) {
- fixupWithTarget->contentAddendOnly = true;
- fixupWithStore->contentAddendOnly = true;
---- ld64-242/src/ld/parsers/archive_file.cpp.noarm 2015-08-03 01:08:57.000000000 +0200
-+++ ld64-242/src/ld/parsers/archive_file.cpp 2015-08-03 01:09:13.000000000 +0200
-@@ -232,8 +232,12 @@
-
- template <> cpu_type_t File<x86>::architecture() { return CPU_TYPE_I386; }
- template <> cpu_type_t File<x86_64>::architecture() { return CPU_TYPE_X86_64; }
-+#if SUPPORT_ARCH_arm_any
- template <> cpu_type_t File<arm>::architecture() { return CPU_TYPE_ARM; }
-+#endif
-+#if SUPPORT_ARCH_arm64
- template <> cpu_type_t File<arm64>::architecture() { return CPU_TYPE_ARM64; }
-+#endif
-
-
- template <typename A>
---- ld64-242/src/ld/parsers/macho_dylib_file.cpp.noarm 2015-08-03 01:08:57.000000000 +0200
-+++ ld64-242/src/ld/parsers/macho_dylib_file.cpp 2015-08-03 01:09:13.000000000 +0200
-@@ -258,11 +258,15 @@
- bool File<A>::_s_logHashtable = false;
-
- template <> const char* File<x86_64>::objCInfoSegmentName() { return "__DATA"; }
-+#if SUPPORT_ARCH_arm_any
- template <> const char* File<arm>::objCInfoSegmentName() { return "__DATA"; }
-+#endif
- template <typename A> const char* File<A>::objCInfoSegmentName() { return "__OBJC"; }
-
- template <> const char* File<x86_64>::objCInfoSectionName() { return "__objc_imageinfo"; }
-+#if SUPPORT_ARCH_arm_any
- template <> const char* File<arm>::objCInfoSectionName() { return "__objc_imageinfo"; }
-+#endif
- template <typename A> const char* File<A>::objCInfoSectionName() { return "__image_info"; }
-
- template <typename A>
-@@ -1020,6 +1024,7 @@
- }
- }
-
-+#if SUPPORT_ARCH_arm_any
- template <>
- bool Parser<arm>::validFile(const uint8_t* fileContent, bool executableOrDyliborBundle)
- {
-@@ -1046,9 +1051,11 @@
- return false;
- }
- }
-+#endif
-
-
-
-+#if SUPPORT_ARCH_arm64
- template <>
- bool Parser<arm64>::validFile(const uint8_t* fileContent, bool executableOrDyliborBundle)
- {
-@@ -1075,6 +1082,7 @@
- return false;
- }
- }
-+#endif
-
-
- bool isDylibFile(const uint8_t* fileContent, cpu_type_t* result, cpu_subtype_t* subResult)
-@@ -1090,17 +1098,21 @@
- *subResult = CPU_SUBTYPE_X86_ALL;
- return true;
- }
-+#if SUPPORT_ARCH_arm_any
- if ( Parser<arm>::validFile(fileContent, false) ) {
- *result = CPU_TYPE_ARM;
- const macho_header<Pointer32<LittleEndian> >* header = (const macho_header<Pointer32<LittleEndian> >*)fileContent;
- *subResult = header->cpusubtype();
- return true;
- }
-+#endif
-+#if SUPPORT_ARCH_arm64
- if ( Parser<arm64>::validFile(fileContent, false) ) {
- *result = CPU_TYPE_ARM64;
- *subResult = CPU_SUBTYPE_ARM64_ALL;
- return true;
- }
-+#endif
- return false;
- }
-
-@@ -1126,6 +1138,7 @@
- return "x86_64";
- }
-
-+#if SUPPORT_ARCH_arm_any
- template <>
- const char* Parser<arm>::fileKind(const uint8_t* fileContent)
- {
-@@ -1141,6 +1154,7 @@
- }
- return "arm???";
- }
-+#endif
-
- #if SUPPORT_ARCH_arm64
- template <>
-@@ -1166,9 +1180,11 @@
- if ( Parser<x86>::validFile(fileContent, true) ) {
- return Parser<x86>::fileKind(fileContent);
- }
-+#if SUPPORT_ARCH_arm_any
- if ( Parser<arm>::validFile(fileContent, true) ) {
- return Parser<arm>::fileKind(fileContent);
- }
-+#endif
- #if SUPPORT_ARCH_arm64
- if ( Parser<arm64>::validFile(fileContent, false) ) {
- return Parser<arm64>::fileKind(fileContent);
---- ld64-242/src/ld/parsers/macho_relocatable_file.cpp.noarm 2015-08-03 01:08:57.000000000 +0200
-+++ ld64-242/src/ld/parsers/macho_relocatable_file.cpp 2015-08-03 01:10:52.000000000 +0200
-@@ -870,6 +870,7 @@
- }
- }
-
-+#if SUPPORT_ARCH_arm_any
- template <>
- void Atom<arm>::verifyAlignment(const macho_section<P>&) const
- {
-@@ -878,6 +879,7 @@
- warning("ARM function not 4-byte aligned: %s from %s", this->name(), this->file()->path());
- }
- }
-+#endif
-
- #if SUPPORT_ARCH_arm64
- template <>
-@@ -1267,6 +1269,7 @@
- return true;
- }
-
-+#if SUPPORT_ARCH_arm_any
- template <>
- bool Parser<arm>::validFile(const uint8_t* fileContent, bool subtypeMustMatch, cpu_subtype_t subtype)
- {
-@@ -1287,8 +1290,10 @@
- }
- return true;
- }
-+#endif
-
-
-+#if SUPPORT_ARCH_arm64
- template <>
- bool Parser<arm64>::validFile(const uint8_t* fileContent, bool subtypeMustMatch, cpu_subtype_t subtype)
- {
-@@ -1301,6 +1306,7 @@
- return false;
- return true;
- }
-+#endif
-
-
- template <>
-@@ -1325,6 +1331,7 @@
- return "x86_64";
- }
-
-+#if SUPPORT_ARCH_arm_any
- template <>
- const char* Parser<arm>::fileKind(const uint8_t* fileContent)
- {
-@@ -1340,6 +1347,7 @@
- }
- return "arm???";
- }
-+#endif
-
- #if SUPPORT_ARCH_arm64
- template <>
-@@ -1604,11 +1612,13 @@
- return false;
- }
-
-+#if SUPPORT_ARCH_arm_any
- template <>
- arm::P::uint_t Parser<arm>::realAddr(arm::P::uint_t addr)
- {
- return addr & (-2);
- }
-+#endif
-
- template <typename A>
- typename A::P::uint_t Parser<A>::realAddr(typename A::P::uint_t addr)
-@@ -1874,8 +1884,12 @@
-
- template <> uint8_t Parser<x86>::loadCommandSizeMask() { return 0x03; }
- template <> uint8_t Parser<x86_64>::loadCommandSizeMask() { return 0x07; }
-+#if SUPPORT_ARCH_arm_any
- template <> uint8_t Parser<arm>::loadCommandSizeMask() { return 0x03; }
-+#endif
-+#if SUPPORT_ARCH_arm64
- template <> uint8_t Parser<arm64>::loadCommandSizeMask() { return 0x07; }
-+#endif
-
- template <typename A>
- bool Parser<A>::parseLoadCommands()
-@@ -4072,6 +4086,7 @@
- return 1 + (this->_machOSection - parser.firstMachOSection());
- }
-
-+#if SUPPORT_ARCH_arm_any
- // arm does not have zero cost exceptions
- template <>
- uint32_t CFISection<arm>::cfiCount(Parser<arm>& parser)
-@@ -4084,6 +4099,7 @@
- }
- return 0;
- }
-+#endif
-
- template <typename A>
- uint32_t CFISection<A>::cfiCount(Parser<A>& parser)
-@@ -4211,6 +4227,7 @@
-
-
-
-+#if SUPPORT_ARCH_arm_any
- template <>
- void CFISection<arm>::cfiParse(class Parser<arm>& parser, uint8_t* buffer,
- libunwind::CFI_Atom_Info<CFISection<arm>::OAS>::CFI_Atom_Info cfiArray[],
-@@ -4233,6 +4250,7 @@
- if ( msg != NULL )
- throwf("malformed __eh_frame section: %s", msg);
- }
-+#endif
-
-
-
-@@ -4337,8 +4355,12 @@
-
- template <> bool CFISection<x86_64>::bigEndian() { return false; }
- template <> bool CFISection<x86>::bigEndian() { return false; }
-+#if SUPPORT_ARCH_arm_any
- template <> bool CFISection<arm>::bigEndian() { return false; }
-+#endif
-+#if SUPPORT_ARCH_arm64
- template <> bool CFISection<arm64>::bigEndian() { return false; }
-+#endif
-
-
- template <>
-@@ -4412,6 +4434,7 @@
- }
- #endif
-
-+#if SUPPORT_ARCH_arm_any
- template <>
- void CFISection<arm>::addCiePersonalityFixups(class Parser<arm>& parser, const CFI_Atom_Info* cieInfo)
- {
-@@ -4433,7 +4456,7 @@
- throwf("unsupported address encoding (%02X) of personality function in CIE", personalityEncoding);
- }
- }
--
-+#endif
-
-
- template <typename A>
-@@ -5324,11 +5347,13 @@
- return ld::Fixup::kindStoreLittleEndian32;
- }
-
-+#if SUPPORT_ARCH_arm_any
- template <>
- ld::Fixup::Kind NonLazyPointerSection<arm>::fixupKind()
- {
- return ld::Fixup::kindStoreLittleEndian32;
- }
-+#endif
-
- template <>
- ld::Fixup::Kind NonLazyPointerSection<arm64>::fixupKind()
-@@ -7440,10 +7465,14 @@
- return ( mach_o::relocatable::Parser<x86_64>::validFile(fileContent) );
- case CPU_TYPE_I386:
- return ( mach_o::relocatable::Parser<x86>::validFile(fileContent) );
-+#if SUPPORT_ARCH_arm_any
- case CPU_TYPE_ARM:
- return ( mach_o::relocatable::Parser<arm>::validFile(fileContent, opts.objSubtypeMustMatch, opts.subType) );
-+#endif
-+#if SUPPORT_ARCH_arm64
- case CPU_TYPE_ARM64:
- return ( mach_o::relocatable::Parser<arm64>::validFile(fileContent, opts.objSubtypeMustMatch, opts.subType) );
-+#endif
- }
- return false;
- }
-@@ -7464,17 +7493,21 @@
- *subResult = CPU_SUBTYPE_X86_ALL;
- return true;
- }
-+#if SUPPORT_ARCH_arm_any
- if ( mach_o::relocatable::Parser<arm>::validFile(fileContent, false, 0) ) {
- *result = CPU_TYPE_ARM;
- const macho_header<Pointer32<LittleEndian> >* header = (const macho_header<Pointer32<LittleEndian> >*)fileContent;
- *subResult = header->cpusubtype();
- return true;
- }
-+#endif
-+#if SUPPORT_ARCH_arm_any
- if ( mach_o::relocatable::Parser<arm64>::validFile(fileContent, false, 0) ) {
- *result = CPU_TYPE_ARM64;
- *subResult = CPU_SUBTYPE_ARM64_ALL;
- return true;
- }
-+#endif
- return false;
- }
-
-@@ -7489,9 +7522,11 @@
- if ( mach_o::relocatable::Parser<x86>::validFile(fileContent) ) {
- return mach_o::relocatable::Parser<x86>::fileKind(fileContent);
- }
-+#if SUPPORT_ARCH_arm_any
- if ( mach_o::relocatable::Parser<arm>::validFile(fileContent, false, 0) ) {
- return mach_o::relocatable::Parser<arm>::fileKind(fileContent);
- }
-+#endif
- return NULL;
- }
-
-@@ -7503,9 +7538,11 @@
- if ( mach_o::relocatable::Parser<x86_64>::validFile(fileContent) ) {
- return mach_o::relocatable::Parser<x86_64>::hasObjC2Categories(fileContent);
- }
-+#if SUPPORT_ARCH_arm_any
- else if ( mach_o::relocatable::Parser<arm>::validFile(fileContent, false, 0) ) {
- return mach_o::relocatable::Parser<arm>::hasObjC2Categories(fileContent);
- }
-+#endif
- else if ( mach_o::relocatable::Parser<x86>::validFile(fileContent, false, 0) ) {
- return mach_o::relocatable::Parser<x86>::hasObjC2Categories(fileContent);
- }
---- ld64-242/src/ld/passes/branch_island.cpp.noarm 2014-03-19 23:50:50.000000000 +0100
-+++ ld64-242/src/ld/passes/branch_island.cpp 2015-08-03 01:09:13.000000000 +0200
-@@ -285,6 +285,7 @@
- static uint64_t textSizeWhenMightNeedBranchIslands(const Options& opts, bool seenThumbBranch)
- {
- switch ( opts.architecture() ) {
-+#if SUPPORT_ARCH_arm_any
- case CPU_TYPE_ARM:
- if ( ! seenThumbBranch )
- return 32000000; // ARM can branch +/- 32MB
-@@ -293,6 +294,7 @@
- else
- return 4000000; // thumb1 can branch +/- 4MB
- break;
-+#endif
- }
- assert(0 && "unexpected architecture");
- return 0x100000000LL;
-@@ -302,6 +304,7 @@
- static uint64_t maxDistanceBetweenIslands(const Options& opts, bool seenThumbBranch)
- {
- switch ( opts.architecture() ) {
-+#if SUPPORT_ARCH_arm_any
- case CPU_TYPE_ARM:
- if ( ! seenThumbBranch )
- return 30*1024*1024; // 2MB of branch islands per 32MB
-@@ -310,6 +313,7 @@
- else
- return 3500000; // 0.5MB of branch islands per 4MB
- break;
-+#endif
- }
- assert(0 && "unexpected architecture");
- return 0x100000000LL;
-@@ -654,8 +658,10 @@
-
- // only ARM needs branch islands
- switch ( opts.architecture() ) {
-+#if SUPPORT_ARCH_arm_any
- case CPU_TYPE_ARM:
- break;
-+#endif
- default:
- return;
- }
---- ld64-242/src/ld/passes/branch_shim.cpp.noarm 2013-03-08 00:10:19.000000000 +0100
-+++ ld64-242/src/ld/passes/branch_shim.cpp 2015-08-03 01:09:13.000000000 +0200
-@@ -276,6 +276,9 @@
- //
- void doPass(const Options& opts, ld::Internal& state)
- {
-+#if !SUPPORT_ARCH_arm_any
-+ return;
-+#else
- // only make branch shims in final linked images
- if ( opts.outputKind() == Options::kObjectFile )
- return;
-@@ -386,6 +389,7 @@
- // append all new shims to end of __text
- sect->atoms.insert(sect->atoms.end(), shims.begin(), shims.end());
- }
-+#endif
- }
-
-
---- ld64-242/src/ld/passes/dtrace_dof.cpp.noarm 2015-08-03 01:08:57.000000000 +0200
-+++ ld64-242/src/ld/passes/dtrace_dof.cpp 2015-08-03 01:09:13.000000000 +0200
-@@ -179,8 +179,12 @@
- switch ( opts.architecture() ) {
- case CPU_TYPE_I386:
- case CPU_TYPE_X86_64:
-+#if SUPPORT_ARCH_arm_any
- case CPU_TYPE_ARM:
-+#endif
-+#if SUPPORT_ARCH_arm64
- case CPU_TYPE_ARM64:
-+#endif
- storeKind = ld::Fixup::kindStoreLittleEndian32;
- break;
- default:
---- ld64-242/src/ld/passes/stubs/stubs.cpp.noarm 2013-07-23 01:37:47.000000000 +0200
-+++ ld64-242/src/ld/passes/stubs/stubs.cpp 2015-08-03 01:09:13.000000000 +0200
-@@ -324,9 +324,11 @@
- if ( _options.outputKind() != Options::kDynamicLibrary )
- throwf("resolver functions (%s) can only be used in dylibs", atom->name());
- if ( !_options.makeCompressedDyldInfo() ) {
-+#if SUPPORT_ARCH_arm_any
- if ( _options.architecture() == CPU_TYPE_ARM )
- throwf("resolver functions (%s) can only be used when targeting iOS 4.2 or later", atom->name());
- else
-+#endif
- throwf("resolver functions (%s) can only be used when targeting Mac OS X 10.6 or later", atom->name());
- }
- stubFor[atom] = NULL;
-@@ -354,6 +356,7 @@
- throw "symbol dyld_stub_binding_helper not found, normally in crt1.o/dylib1.o/bundle1.o";
-
- // disable arm close stubs in some cases
-+#if SUPPORT_ARCH_arm_any
- if ( _architecture == CPU_TYPE_ARM ) {
- if ( codeSize > 4*1024*1024 )
- _largeText = true;
-@@ -377,6 +380,7 @@
- }
- }
- }
-+#endif
-
- // make stub atoms
- for (std::map<const ld::Atom*,ld::Atom*>::iterator it = stubFor.begin(); it != stubFor.end(); ++it) {
---- ld64-242/src/ld/Resolver.cpp.noarm 2015-08-03 01:08:56.000000000 +0200
-+++ ld64-242/src/ld/Resolver.cpp 2015-08-03 01:09:13.000000000 +0200
-@@ -428,6 +428,7 @@
- // update cpu-sub-type
- cpu_subtype_t nextObjectSubType = file.cpuSubType();
- switch ( _options.architecture() ) {
-+#if SUPPORT_ARCH_arm_any
- case CPU_TYPE_ARM:
- if ( _options.subArchitecture() != nextObjectSubType ) {
- if ( (_options.subArchitecture() == CPU_SUBTYPE_ARM_ALL) && _options.forceCpuSubtypeAll() ) {
-@@ -446,6 +447,7 @@
- }
- }
- break;
-+#endif
-
- case CPU_TYPE_I386:
- _internal.cpuSubType = CPU_SUBTYPE_I386_ALL;
---- ld64-242/src/other/machochecker.cpp.noarm 2015-08-03 01:08:57.000000000 +0200
-+++ ld64-242/src/other/machochecker.cpp 2015-08-03 01:09:13.000000000 +0200
-@@ -252,6 +252,7 @@
- return false;
- }
-
-+#if SUPPORT_ARCH_arm_any
- template <>
- bool MachOChecker<arm>::validFile(const uint8_t* fileContent)
- {
-@@ -269,6 +270,7 @@
- }
- return false;
- }
-+#endif
-
- #if SUPPORT_ARCH_arm64
- template <>
-@@ -294,7 +296,9 @@
- template <> uint8_t MachOChecker<ppc64>::loadCommandSizeMask() { return 0x07; }
- template <> uint8_t MachOChecker<x86>::loadCommandSizeMask() { return 0x03; }
- template <> uint8_t MachOChecker<x86_64>::loadCommandSizeMask() { return 0x07; }
-+#if SUPPORT_ARCH_arm_any
- template <> uint8_t MachOChecker<arm>::loadCommandSizeMask() { return 0x03; }
-+#endif
- #if SUPPORT_ARCH_arm64
- template <> uint8_t MachOChecker<arm64>::loadCommandSizeMask() { return 0x07; }
- #endif
-@@ -324,11 +328,13 @@
- return threadInfo->thread_register(7);
- }
-
-+#if SUPPORT_ARCH_arm_any
- template <>
- arm::P::uint_t MachOChecker<arm>::getInitialStackPointer(const macho_thread_command<arm::P>* threadInfo)
- {
- return threadInfo->thread_register(13);
- }
-+#endif
-
- #if SUPPORT_ARCH_arm64
- template <>
-@@ -362,11 +368,13 @@
- return threadInfo->thread_register(16);
- }
-
-+#if SUPPORT_ARCH_arm_any
- template <>
- arm::P::uint_t MachOChecker<arm>::getEntryPoint(const macho_thread_command<arm::P>* threadInfo)
- {
- return threadInfo->thread_register(15);
- }
-+#endif
-
- #if SUPPORT_ARCH_arm64
- template <>
-@@ -1025,6 +1033,7 @@
- return fFirstWritableSegment->vmaddr();
- }
-
-+#if SUPPORT_ARCH_arm_any
- template <>
- arm::P::uint_t MachOChecker<arm>::relocBase()
- {
-@@ -1033,6 +1042,7 @@
- else
- return fFirstSegment->vmaddr();
- }
-+#endif
-
- #if SUPPORT_ARCH_arm64
- template <>
---- ld64-242/src/other/ObjectDump.cpp.noarm 2015-08-03 01:08:56.000000000 +0200
-+++ ld64-242/src/other/ObjectDump.cpp 2015-08-03 01:09:13.000000000 +0200
-@@ -806,6 +806,7 @@
- case ld::Fixup::kindStoreThumbHigh16:
- printf(", then store high-16 in Thumb movt");
- break;
-+#if SUPPORT_ARCH_arm64
- case ld::Fixup::kindStoreARM64Branch26:
- printf(", then store as ARM64 26-bit pcrel branch");
- break;
-@@ -845,6 +846,7 @@
- case ld::Fixup::kindStoreARM64PCRelToGOT:
- printf(", then store as 32-bit delta to GOT entry");
- break;
-+#endif
- case ld::Fixup::kindDtraceExtra:
- printf("dtrace static probe extra info");
- break;
-@@ -989,6 +991,7 @@
- case ld::Fixup::kindSetTargetTLVTemplateOffsetLittleEndian64:
- printf("tlv template offset of %s", referenceTargetAtomName(ref));
- break;
-+#if SUPPORT_ARCH_arm64
- case ld::Fixup::kindStoreTargetAddressARM64Branch26:
- printf("ARM64 store 26-bit pcrel branch to %s", referenceTargetAtomName(ref));
- break;
-@@ -1022,6 +1025,7 @@
- case ld::Fixup::kindStoreTargetAddressARM64TLVPLoadNowLeaPageOff12:
- printf("ARM64 store 12-bit page offset of lea for TLV of %s", referenceTargetAtomName(ref));
- break;
-+#endif
- //default:
- // printf("unknown fixup");
- // break;
---- ld64-242/src/other/rebase.cpp.noarm 2013-03-08 00:10:19.000000000 +0100
-+++ ld64-242/src/other/rebase.cpp 2015-08-03 01:09:13.000000000 +0200
-@@ -160,9 +160,11 @@
- case CPU_TYPE_X86_64:
- fRebasers.push_back(new Rebaser<x86_64>(&p[fileOffset]));
- break;
-+#if SUPPORT_ARCH_arm_any
- case CPU_TYPE_ARM:
- fRebasers.push_back(new Rebaser<arm>(&p[fileOffset]));
- break;
-+#endif
- default:
- throw "unknown file format";
- }
-@@ -186,9 +188,11 @@
- else if ( (OSSwapLittleToHostInt32(mh->magic) == MH_MAGIC_64) && (OSSwapLittleToHostInt32(mh->cputype) == CPU_TYPE_X86_64)) {
- fRebasers.push_back(new Rebaser<x86_64>(mh));
- }
-+#if SUPPORT_ARCH_arm_any
- else if ( (OSSwapLittleToHostInt32(mh->magic) == MH_MAGIC) && (OSSwapLittleToHostInt32(mh->cputype) == CPU_TYPE_ARM)) {
- fRebasers.push_back(new Rebaser<arm>(mh));
- }
-+#endif
- else {
- throw "unknown file format";
- }
-@@ -236,7 +240,9 @@
- template <> cpu_type_t Rebaser<ppc64>::getArchitecture() const { return CPU_TYPE_POWERPC64; }
- template <> cpu_type_t Rebaser<x86>::getArchitecture() const { return CPU_TYPE_I386; }
- template <> cpu_type_t Rebaser<x86_64>::getArchitecture() const { return CPU_TYPE_X86_64; }
-+#if SUPPORT_ARCH_arm_any
- template <> cpu_type_t Rebaser<arm>::getArchitecture() const { return CPU_TYPE_ARM; }
-+#endif
-
- template <typename A>
- uint64_t Rebaser<A>::getBaseAddress() const
-@@ -875,8 +881,10 @@
- return "i386";
- case CPU_TYPE_X86_64:
- return "x86_64";
-+#if SUPPORT_ARCH_arm_any
- case CPU_TYPE_ARM:
- return "arm";
-+#endif
- }
- return "unknown";
- }
-@@ -969,6 +977,7 @@
- else if ( arch == CPU_TYPE_X86_64 ) {
- return 0x200000000ULL;
- }
-+#if SUPPORT_ARCH_arm_any
- else if ( arch == CPU_TYPE_ARM ) {
- // place dylibs below dyld
- uint64_t topAddr = 0x2FE00000;
-@@ -977,6 +986,7 @@
- throwf("total size of images (0x%X) does not fit below 0x2FE00000", totalSize);
- return topAddr - totalSize;
- }
-+#endif
- else
- throw "unknown architecture";
- }
-@@ -1043,7 +1053,9 @@
- onlyArchs.insert(CPU_TYPE_POWERPC64);
- onlyArchs.insert(CPU_TYPE_I386);
- onlyArchs.insert(CPU_TYPE_X86_64);
-+#if SUPPORT_ARCH_arm_any
- onlyArchs.insert(CPU_TYPE_ARM);
-+#endif
- }
-
- // scan files and collect sizes
---- ld64-242/src/other/unwinddump.cpp.noarm 2015-08-03 01:08:57.000000000 +0200
-+++ ld64-242/src/other/unwinddump.cpp 2015-08-03 01:09:13.000000000 +0200
-@@ -97,7 +97,9 @@
-
- template <> const char* UnwindPrinter<x86>::archName() { return "i386"; }
- template <> const char* UnwindPrinter<x86_64>::archName() { return "x86_64"; }
-+#if SUPPORT_ARCH_arm_any
- template <> const char* UnwindPrinter<arm>::archName() { return "arm"; }
-+#endif
- #if SUPPORT_ARCH_arm64
- template <> const char* UnwindPrinter<arm64>::archName() { return "arm64"; }
- #endif
-@@ -1195,7 +1197,9 @@
- #if SUPPORT_ARCH_arm64
- onlyArchs.insert(CPU_TYPE_ARM64);
- #endif
-+#if SUPPORT_ARCH_arm_any
- onlyArchs.insert(CPU_TYPE_ARM);
-+#endif
- }
-
- // process each file