+ bool needsThreadLoadCommand() const { return fNeedsThreadLoadCommand; }
+ bool needsEntryPointLoadCommand() const { return fEntryPointLoadCommand; }
+ bool needsSourceVersionLoadCommand() const { return fSourceVersionLoadCommand; }
+ bool canUseAbsoluteSymbols() const { return fAbsoluteSymbols; }
+ bool allowSimulatorToLinkWithMacOSX() const { return fAllowSimulatorToLinkWithMacOSX; }
+ uint64_t sourceVersion() const { return fSourceVersion; }
+ uint32_t sdkVersion() const { return fSDKVersion; }
+ const char* demangleSymbol(const char* sym) const;
+ bool pipelineEnabled() const { return fPipelineFifo != NULL; }
+ const char* pipelineFifo() const { return fPipelineFifo; }
+ bool dumpDependencyInfo() const { return (fDependencyInfoPath != NULL); }
+ const char* dependencyInfoPath() const { return fDependencyInfoPath; }
+ bool targetIOSSimulator() const { return platforms().contains(ld::simulatorPlatforms); }
+ ld::relocatable::File::LinkerOptionsList&
+ linkerOptions() const { return fLinkerOptions; }
+ FileInfo findFramework(const char* frameworkName) const;
+ FileInfo findLibrary(const char* rootName, bool dylibsOnly=false) const;
+ bool armUsesZeroCostExceptions() const;
+ const std::vector<SectionRename>& sectionRenames() const { return fSectionRenames; }
+ const std::vector<SegmentRename>& segmentRenames() const { return fSegmentRenames; }
+ bool moveRoSymbol(const char* symName, const char* filePath, const char*& seg, bool& wildCardMatch) const;
+ bool moveRwSymbol(const char* symName, const char* filePath, const char*& seg, bool& wildCardMatch) const;
+ bool moveAXMethodList(const char* className) const;
+ const ld::VersionSet& platforms() const { return fPlatforms; }
+ const std::vector<const char*>& sdkPaths() const { return fSDKPaths; }
+ std::vector<std::string> writeBitcodeLinkOptions() const;
+ std::string getSDKVersionStr() const;
+ uint8_t maxDefaultCommonAlign() const { return fMaxDefaultCommonAlign; }
+ bool hasDataSymbolMoves() const { return !fSymbolsMovesData.empty(); }
+ bool hasCodeSymbolMoves() const { return !fSymbolsMovesCode.empty(); }
+ void writeToTraceFile(const char* buffer, size_t len) const;
+ UnalignedPointerTreatment unalignedPointerTreatment() const { return fUnalignedPointerTreatment; }
+ bool zeroModTimeInDebugMap() const { return fZeroModTimeInDebugMap; }
+ void writeDependencyInfo() const;
+ std::vector<TAPIInterface> &TAPIFiles() { return fTAPIFiles; }
+ void addTAPIInterface(tapi::LinkerInterfaceFile* interface, const char *path) const;
+ const char* buildContextName() const { return fBuildContextName; }
+
+ static uint32_t parseVersionNumber32(const char*);