extern bool isObjectFile(const uint8_t* fileContent, uint64_t fileLength, cpu_type_t architecture, cpu_subtype_t subarch);
extern ld::relocatable::File* parse(const uint8_t* fileContent, uint64_t fileLength,
- const char* path, time_t modTime, uint32_t ordinal,
- cpu_type_t architecture, cpu_subtype_t subarch, bool logAllFiles);
+ const char* path, time_t modTime, ld::File::Ordinal ordinal,
+ cpu_type_t architecture, cpu_subtype_t subarch, bool logAllFiles,
+ bool verboseOptimizationHints);
struct OptimizeOptions {
const char* outputFilePath;
const char* tmpObjectFilePath;
- bool allGlobalsAReDeadStripRoots;
+ bool preserveAllGlobals;
bool verbose;
bool saveTemps;
+ bool ltoCodegenOnly;
bool pie;
bool mainExecutable;
bool staticExecutable;
bool relocatable;
bool allowTextRelocs;
bool linkerDeadStripping;
+ bool needsUnwindInfoSection;
+ bool keepDwarfUnwind;
+ bool verboseOptimizationHints;
+ bool armUsesZeroCostExceptions;
+ bool simulator;
+ bool ignoreMismatchPlatform;
+ bool bitcodeBundle;
cpu_type_t arch;
+ const char* mcpu;
+ Options::Platform platform;
const std::vector<const char*>* llvmOptions;
+ const std::vector<const char*>* initialUndefines;
};
extern bool optimize( const std::vector<const ld::Atom*>& allAtoms,
ld::Internal& state,
- uint32_t nextInputOrdinal,
const OptimizeOptions& options,
ld::File::AtomHandler& handler,
std::vector<const ld::Atom*>& newAtoms,