forked from OSchip/llvm-project
Stop linking with crt1.o etc. for the iOS simulator. <rdar://problem/11800973>
Recent versions of the iOS simulator no longer require linking with the crt1.o, dylib1.o, or bundle1.o files. The relevant code is now included in libSystem for the simulator. llvm-svn: 199696
This commit is contained in:
parent
d724d60fff
commit
74b6cd15ed
|
@ -1007,8 +1007,7 @@ void Darwin::addStartObjectFileArgs(const llvm::opt::ArgList &Args,
|
|||
if (Args.hasArg(options::OPT_dynamiclib)) {
|
||||
// Derived from darwin_dylib1 spec.
|
||||
if (isTargetIOSSimulator()) {
|
||||
// The simulator doesn't have a versioned crt1 file.
|
||||
CmdArgs.push_back("-ldylib1.o");
|
||||
; // iOS simulator does not need dylib1.o.
|
||||
} else if (isTargetIPhoneOS()) {
|
||||
if (isIPhoneOSVersionLT(3, 1))
|
||||
CmdArgs.push_back("-ldylib1.o");
|
||||
|
@ -1023,8 +1022,7 @@ void Darwin::addStartObjectFileArgs(const llvm::opt::ArgList &Args,
|
|||
if (!Args.hasArg(options::OPT_static)) {
|
||||
// Derived from darwin_bundle1 spec.
|
||||
if (isTargetIOSSimulator()) {
|
||||
// The simulator doesn't have a versioned crt1 file.
|
||||
CmdArgs.push_back("-lbundle1.o");
|
||||
; // iOS simulator does not need bundle1.o.
|
||||
} else if (isTargetIPhoneOS()) {
|
||||
if (isIPhoneOSVersionLT(3, 1))
|
||||
CmdArgs.push_back("-lbundle1.o");
|
||||
|
@ -1059,8 +1057,7 @@ void Darwin::addStartObjectFileArgs(const llvm::opt::ArgList &Args,
|
|||
} else {
|
||||
// Derived from darwin_crt1 spec.
|
||||
if (isTargetIOSSimulator()) {
|
||||
// The simulator doesn't have a versioned crt1 file.
|
||||
CmdArgs.push_back("-lcrt1.o");
|
||||
; // iOS simulator does not need crt1.o.
|
||||
} else if (isTargetIPhoneOS()) {
|
||||
if (isIPhoneOSVersionLT(3, 1))
|
||||
CmdArgs.push_back("-lcrt1.o");
|
||||
|
|
|
@ -45,6 +45,22 @@
|
|||
// LINK_IPHONE_3_1-NOT: -lbundle1.o
|
||||
// LINK_IPHONE_3_1: -lSystem
|
||||
|
||||
// RUN: %clang -target i386-apple-darwin9 -### -arch i386 -mios-simulator-version-min=3.0 %t.o 2> %t.log
|
||||
// RUN: %clang -target i386-apple-darwin9 -### -arch i386 -mios-simulator-version-min=3.0 -dynamiclib %t.o 2>> %t.log
|
||||
// RUN: %clang -target i386-apple-darwin9 -### -arch i386 -mios-simulator-version-min=3.0 -bundle %t.o 2>> %t.log
|
||||
// RUN: FileCheck -check-prefix=LINK_IOSSIM_3_0 %s < %t.log
|
||||
|
||||
// LINK_IOSSIM_3_0: {{ld(.exe)?"}}
|
||||
// LINK_IOSSIM_3_0-NOT: -lcrt1.o
|
||||
// LINK_IOSSIM_3_0: -lSystem
|
||||
// LINK_IOSSIM_3_0: {{ld(.exe)?"}}
|
||||
// LINK_IOSSIM_3_0: -dylib
|
||||
// LINK_IOSSIM_3_0-NOT: -ldylib1.o
|
||||
// LINK_IOSSIM_3_0: -lSystem
|
||||
// LINK_IOSSIM_3_0: {{ld(.exe)?"}}
|
||||
// LINK_IOSSIM_3_0-NOT: -lbundle1.o
|
||||
// LINK_IOSSIM_3_0: -lSystem
|
||||
|
||||
// RUN: %clang -target i386-apple-darwin9 -### -fpie %t.o 2> %t.log
|
||||
// RUN: FileCheck -check-prefix=LINK_EXPLICIT_PIE %s < %t.log
|
||||
//
|
||||
|
|
Loading…
Reference in New Issue