mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-09-30 04:56:49 +00:00
MachO: Emit a version-min load command when possible.
When deployment target version information is available, emit it to the target streamer for inclusion in the object file. rdar://11337778 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@204191 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
d55fc3f151
commit
e133cd2ea2
@ -178,6 +178,25 @@ bool AsmPrinter::doInitialization(Module &M) {
|
|||||||
|
|
||||||
Mang = new Mangler(TM.getDataLayout());
|
Mang = new Mangler(TM.getDataLayout());
|
||||||
|
|
||||||
|
// Emit the version-min deplyment target directive if needed.
|
||||||
|
//
|
||||||
|
// FIXME: If we end up with a collection of these sorts of Darwin-specific
|
||||||
|
// or ELF-specific things, it may make sense to have a platform helper class
|
||||||
|
// that will work with the target helper class. For now keep it here, as the
|
||||||
|
// alternative is duplicated code in each of the target asm printers that
|
||||||
|
// use the directive, where it would need the same conditionalization
|
||||||
|
// anyway.
|
||||||
|
Triple TT(getTargetTriple());
|
||||||
|
if (TT.isOSDarwin()) {
|
||||||
|
unsigned Major, Minor, Update;
|
||||||
|
TT.getOSVersion(Major, Minor, Update);
|
||||||
|
// If there is a version specified, Major will be non-zero.
|
||||||
|
if (Major)
|
||||||
|
OutStreamer.EmitVersionMin((TT.isMacOSX() ?
|
||||||
|
MCVM_OSXVersionMin : MCVM_IOSVersionMin),
|
||||||
|
Major, Minor, Update);
|
||||||
|
}
|
||||||
|
|
||||||
// Allow the target to emit any magic that it wants at the start of the file.
|
// Allow the target to emit any magic that it wants at the start of the file.
|
||||||
EmitStartOfAsmFile(M);
|
EmitStartOfAsmFile(M);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user