Daniel Dunbar | ce341cb | 2009-03-26 16:29:05 +0000 | [diff] [blame] | 1 | // Check that ld gets arch_multiple. |
| 2 | |
Sebastian Pop | 9ec60df | 2012-01-20 22:01:23 +0000 | [diff] [blame] | 3 | // RUN: %clang -target i386-apple-darwin9 -arch i386 -arch x86_64 %s -### -o foo 2> %t.log |
Daniel Dunbar | 4fcfde4 | 2009-11-08 01:45:36 +0000 | [diff] [blame] | 4 | // RUN: grep '".*ld.*" .*"-arch_multiple" "-final_output" "foo"' %t.log |
Daniel Dunbar | ce341cb | 2009-03-26 16:29:05 +0000 | [diff] [blame] | 5 | |
Daniel Dunbar | 0b46e1b | 2009-04-04 00:55:30 +0000 | [diff] [blame] | 6 | // Make sure we run dsymutil on source input files. |
Sebastian Pop | 9ec60df | 2012-01-20 22:01:23 +0000 | [diff] [blame] | 7 | // RUN: %clang -target i386-apple-darwin9 -### -g %s -o BAR 2> %t.log |
Daniel Dunbar | 03e9230 | 2011-05-09 17:23:16 +0000 | [diff] [blame] | 8 | // RUN: grep '".*dsymutil" "-o" "BAR.dSYM" "BAR"' %t.log |
Sebastian Pop | 9ec60df | 2012-01-20 22:01:23 +0000 | [diff] [blame] | 9 | // RUN: %clang -target i386-apple-darwin9 -### -g -filelist FOO %s -o BAR 2> %t.log |
Daniel Dunbar | 03e9230 | 2011-05-09 17:23:16 +0000 | [diff] [blame] | 10 | // RUN: grep '".*dsymutil" "-o" "BAR.dSYM" "BAR"' %t.log |
Daniel Dunbar | 0b46e1b | 2009-04-04 00:55:30 +0000 | [diff] [blame] | 11 | |
Daniel Dunbar | cacb0f0 | 2010-01-27 00:56:56 +0000 | [diff] [blame] | 12 | // Check linker changes that came with new linkedit format. |
| 13 | // RUN: touch %t.o |
Sebastian Pop | 9ec60df | 2012-01-20 22:01:23 +0000 | [diff] [blame] | 14 | // RUN: %clang -target i386-apple-darwin9 -### -arch armv6 -miphoneos-version-min=3.0 %t.o 2> %t.log |
| 15 | // RUN: %clang -target i386-apple-darwin9 -### -arch armv6 -miphoneos-version-min=3.0 -dynamiclib %t.o 2>> %t.log |
| 16 | // RUN: %clang -target i386-apple-darwin9 -### -arch armv6 -miphoneos-version-min=3.0 -bundle %t.o 2>> %t.log |
Daniel Dunbar | cacb0f0 | 2010-01-27 00:56:56 +0000 | [diff] [blame] | 17 | // RUN: FileCheck -check-prefix=LINK_IPHONE_3_0 %s < %t.log |
Daniel Dunbar | ce341cb | 2009-03-26 16:29:05 +0000 | [diff] [blame] | 18 | |
Francois Pichet | 880cf25 | 2010-09-11 20:43:12 +0000 | [diff] [blame] | 19 | // LINK_IPHONE_3_0: {{ld(.exe)?"}} |
Daniel Dunbar | cacb0f0 | 2010-01-27 00:56:56 +0000 | [diff] [blame] | 20 | // LINK_IPHONE_3_0-NOT: -lcrt1.3.1.o |
| 21 | // LINK_IPHONE_3_0: -lcrt1.o |
| 22 | // LINK_IPHONE_3_0: -lSystem |
Francois Pichet | 880cf25 | 2010-09-11 20:43:12 +0000 | [diff] [blame] | 23 | // LINK_IPHONE_3_0: {{ld(.exe)?"}} |
Daniel Dunbar | cacb0f0 | 2010-01-27 00:56:56 +0000 | [diff] [blame] | 24 | // LINK_IPHONE_3_0: -dylib |
| 25 | // LINK_IPHONE_3_0: -ldylib1.o |
| 26 | // LINK_IPHONE_3_0: -lSystem |
Francois Pichet | 880cf25 | 2010-09-11 20:43:12 +0000 | [diff] [blame] | 27 | // LINK_IPHONE_3_0: {{ld(.exe)?"}} |
Daniel Dunbar | cacb0f0 | 2010-01-27 00:56:56 +0000 | [diff] [blame] | 28 | // LINK_IPHONE_3_0: -lbundle1.o |
| 29 | // LINK_IPHONE_3_0: -lSystem |
Daniel Dunbar | ce341cb | 2009-03-26 16:29:05 +0000 | [diff] [blame] | 30 | |
Sebastian Pop | 9ec60df | 2012-01-20 22:01:23 +0000 | [diff] [blame] | 31 | // RUN: %clang -target i386-apple-darwin9 -### -arch armv7 -miphoneos-version-min=3.1 %t.o 2> %t.log |
| 32 | // RUN: %clang -target i386-apple-darwin9 -### -arch armv7 -miphoneos-version-min=3.1 -dynamiclib %t.o 2>> %t.log |
| 33 | // RUN: %clang -target i386-apple-darwin9 -### -arch armv7 -miphoneos-version-min=3.1 -bundle %t.o 2>> %t.log |
Daniel Dunbar | cacb0f0 | 2010-01-27 00:56:56 +0000 | [diff] [blame] | 34 | // RUN: FileCheck -check-prefix=LINK_IPHONE_3_1 %s < %t.log |
| 35 | |
Francois Pichet | 880cf25 | 2010-09-11 20:43:12 +0000 | [diff] [blame] | 36 | // LINK_IPHONE_3_1: {{ld(.exe)?"}} |
Daniel Dunbar | cacb0f0 | 2010-01-27 00:56:56 +0000 | [diff] [blame] | 37 | // LINK_IPHONE_3_1-NOT: -lcrt1.o |
| 38 | // LINK_IPHONE_3_1: -lcrt1.3.1.o |
| 39 | // LINK_IPHONE_3_1: -lSystem |
Francois Pichet | 880cf25 | 2010-09-11 20:43:12 +0000 | [diff] [blame] | 40 | // LINK_IPHONE_3_1: {{ld(.exe)?"}} |
Daniel Dunbar | cacb0f0 | 2010-01-27 00:56:56 +0000 | [diff] [blame] | 41 | // LINK_IPHONE_3_1: -dylib |
| 42 | // LINK_IPHONE_3_1-NOT: -ldylib1.o |
| 43 | // LINK_IPHONE_3_1: -lSystem |
Francois Pichet | 880cf25 | 2010-09-11 20:43:12 +0000 | [diff] [blame] | 44 | // LINK_IPHONE_3_1: {{ld(.exe)?"}} |
Daniel Dunbar | cacb0f0 | 2010-01-27 00:56:56 +0000 | [diff] [blame] | 45 | // LINK_IPHONE_3_1-NOT: -lbundle1.o |
| 46 | // LINK_IPHONE_3_1: -lSystem |
Daniel Dunbar | 47e879d | 2010-07-13 23:31:40 +0000 | [diff] [blame] | 47 | |
Sebastian Pop | 9ec60df | 2012-01-20 22:01:23 +0000 | [diff] [blame] | 48 | // RUN: %clang -target i386-apple-darwin9 -### -fpie %t.o 2> %t.log |
Daniel Dunbar | 47e879d | 2010-07-13 23:31:40 +0000 | [diff] [blame] | 49 | // RUN: FileCheck -check-prefix=LINK_EXPLICIT_PIE %s < %t.log |
| 50 | // |
Francois Pichet | 880cf25 | 2010-09-11 20:43:12 +0000 | [diff] [blame] | 51 | // LINK_EXPLICIT_PIE: {{ld(.exe)?"}} |
Daniel Dunbar | 47e879d | 2010-07-13 23:31:40 +0000 | [diff] [blame] | 52 | // LINK_EXPLICIT_PIE: "-pie" |
| 53 | |
Sebastian Pop | 9ec60df | 2012-01-20 22:01:23 +0000 | [diff] [blame] | 54 | // RUN: %clang -target i386-apple-darwin9 -### -fno-pie %t.o 2> %t.log |
Daniel Dunbar | 47e879d | 2010-07-13 23:31:40 +0000 | [diff] [blame] | 55 | // RUN: FileCheck -check-prefix=LINK_EXPLICIT_NO_PIE %s < %t.log |
| 56 | // |
Francois Pichet | 880cf25 | 2010-09-11 20:43:12 +0000 | [diff] [blame] | 57 | // LINK_EXPLICIT_NO_PIE: {{ld(.exe)?"}} |
Daniel Dunbar | 47e879d | 2010-07-13 23:31:40 +0000 | [diff] [blame] | 58 | // LINK_EXPLICIT_NO_PIE: "-no_pie" |
Daniel Dunbar | b18dc5b | 2010-08-11 23:07:50 +0000 | [diff] [blame] | 59 | |
Sebastian Pop | 9ec60df | 2012-01-20 22:01:23 +0000 | [diff] [blame] | 60 | // RUN: %clang -target x86_64-apple-darwin10 -### %t.o \ |
Daniel Dunbar | b18dc5b | 2010-08-11 23:07:50 +0000 | [diff] [blame] | 61 | // RUN: -mlinker-version=100 2> %t.log |
| 62 | // RUN: FileCheck -check-prefix=LINK_NEWER_DEMANGLE %s < %t.log |
| 63 | // |
Francois Pichet | 880cf25 | 2010-09-11 20:43:12 +0000 | [diff] [blame] | 64 | // LINK_NEWER_DEMANGLE: {{ld(.exe)?"}} |
Daniel Dunbar | b18dc5b | 2010-08-11 23:07:50 +0000 | [diff] [blame] | 65 | // LINK_NEWER_DEMANGLE: "-demangle" |
| 66 | |
Sebastian Pop | 9ec60df | 2012-01-20 22:01:23 +0000 | [diff] [blame] | 67 | // RUN: %clang -target x86_64-apple-darwin10 -### %t.o \ |
Daniel Dunbar | b18dc5b | 2010-08-11 23:07:50 +0000 | [diff] [blame] | 68 | // RUN: -mlinker-version=100 -Wl,--no-demangle 2> %t.log |
| 69 | // RUN: FileCheck -check-prefix=LINK_NEWER_NODEMANGLE %s < %t.log |
| 70 | // |
Francois Pichet | 880cf25 | 2010-09-11 20:43:12 +0000 | [diff] [blame] | 71 | // LINK_NEWER_NODEMANGLE: {{ld(.exe)?"}} |
Daniel Dunbar | b18dc5b | 2010-08-11 23:07:50 +0000 | [diff] [blame] | 72 | // LINK_NEWER_NODEMANGLE-NOT: "-demangle" |
Daniel Dunbar | 673745f | 2010-08-23 20:58:55 +0000 | [diff] [blame] | 73 | // LINK_NEWER_NODEMANGLE: "-lSystem" |
Daniel Dunbar | b18dc5b | 2010-08-11 23:07:50 +0000 | [diff] [blame] | 74 | |
Sebastian Pop | 9ec60df | 2012-01-20 22:01:23 +0000 | [diff] [blame] | 75 | // RUN: %clang -target x86_64-apple-darwin10 -### %t.o \ |
Daniel Dunbar | b18dc5b | 2010-08-11 23:07:50 +0000 | [diff] [blame] | 76 | // RUN: -mlinker-version=95 2> %t.log |
| 77 | // RUN: FileCheck -check-prefix=LINK_OLDER_NODEMANGLE %s < %t.log |
| 78 | // |
Francois Pichet | 880cf25 | 2010-09-11 20:43:12 +0000 | [diff] [blame] | 79 | // LINK_OLDER_NODEMANGLE: {{ld(.exe)?"}} |
Daniel Dunbar | b18dc5b | 2010-08-11 23:07:50 +0000 | [diff] [blame] | 80 | // LINK_OLDER_NODEMANGLE-NOT: "-demangle" |
Daniel Dunbar | 673745f | 2010-08-23 20:58:55 +0000 | [diff] [blame] | 81 | // LINK_OLDER_NODEMANGLE: "-lSystem" |
Daniel Dunbar | 5bfa656 | 2011-06-21 20:55:11 +0000 | [diff] [blame] | 82 | |
Bill Wendling | ad90d10 | 2012-10-02 18:07:59 +0000 | [diff] [blame] | 83 | // RUN: %clang -target x86_64-apple-darwin10 -### %s \ |
Daniel Dunbar | a68e1c3 | 2011-06-21 21:18:32 +0000 | [diff] [blame] | 84 | // RUN: -mlinker-version=117 -flto 2> %t.log |
Daniel Dunbar | 5bfa656 | 2011-06-21 20:55:11 +0000 | [diff] [blame] | 85 | // RUN: cat %t.log |
| 86 | // RUN: FileCheck -check-prefix=LINK_OBJECT_LTO_PATH %s < %t.log |
| 87 | // |
| 88 | // LINK_OBJECT_LTO_PATH: {{ld(.exe)?"}} |
| 89 | // LINK_OBJECT_LTO_PATH: "-object_path_lto" |
Daniel Dunbar | 99ca47b | 2011-06-28 20:16:02 +0000 | [diff] [blame] | 90 | |
Sebastian Pop | 9ec60df | 2012-01-20 22:01:23 +0000 | [diff] [blame] | 91 | // RUN: %clang -target x86_64-apple-darwin10 -### %t.o \ |
Daniel Dunbar | 99ca47b | 2011-06-28 20:16:02 +0000 | [diff] [blame] | 92 | // RUN: -force_load a -force_load b 2> %t.log |
| 93 | // RUN: cat %t.log |
| 94 | // RUN: FileCheck -check-prefix=FORCE_LOAD %s < %t.log |
| 95 | // |
| 96 | // FORCE_LOAD: {{ld(.exe)?"}} |
| 97 | // FORCE_LOAD: "-force_load" "a" "-force_load" "b" |
Chad Rosier | edb9459 | 2012-01-05 01:56:11 +0000 | [diff] [blame] | 98 | |
Sebastian Pop | 9ec60df | 2012-01-20 22:01:23 +0000 | [diff] [blame] | 99 | // RUN: %clang -target x86_64-apple-darwin10 -### %t.o \ |
Chad Rosier | edb9459 | 2012-01-05 01:56:11 +0000 | [diff] [blame] | 100 | // RUN: -lazy_framework Framework 2> %t.log |
| 101 | // |
| 102 | // RUN: FileCheck -check-prefix=LINK_LAZY_FRAMEWORK %s < %t.log |
| 103 | // LINK_LAZY_FRAMEWORK: {{ld(.exe)?"}} |
| 104 | // LINK_LAZY_FRAMEWORK: "-lazy_framework" "Framework" |
| 105 | |
Sebastian Pop | 9ec60df | 2012-01-20 22:01:23 +0000 | [diff] [blame] | 106 | // RUN: %clang -target x86_64-apple-darwin10 -### %t.o \ |
Chad Rosier | edb9459 | 2012-01-05 01:56:11 +0000 | [diff] [blame] | 107 | // RUN: -lazy_library Library 2> %t.log |
| 108 | // |
| 109 | // RUN: FileCheck -check-prefix=LINK_LAZY_LIBRARY %s < %t.log |
| 110 | // LINK_LAZY_LIBRARY: {{ld(.exe)?"}} |
| 111 | // LINK_LAZY_LIBRARY: "-lazy_library" "Library" |
Bob Wilson | 1085377 | 2012-01-31 21:30:03 +0000 | [diff] [blame] | 112 | |
| 113 | // RUN: %clang -target x86_64-apple-darwin10 -### %t.o 2> %t.log |
| 114 | // RUN: %clang -target x86_64-apple-macosx10.7 -### %t.o 2>> %t.log |
| 115 | // RUN: FileCheck -check-prefix=LINK_VERSION_MIN %s < %t.log |
| 116 | // LINK_VERSION_MIN: {{ld(.exe)?"}} |
| 117 | // LINK_VERSION_MIN: "-macosx_version_min" "10.6.0" |
| 118 | // LINK_VERSION_MIN: {{ld(.exe)?"}} |
| 119 | // LINK_VERSION_MIN: "-macosx_version_min" "10.7.0" |
Ted Kremenek | ebcb57a | 2012-03-06 20:05:56 +0000 | [diff] [blame] | 120 | |
| 121 | // RUN: %clang -target x86_64-apple-darwin12 -### %t.o 2> %t.log |
| 122 | // RUN: FileCheck -check-prefix=LINK_NO_CRT1 %s < %t.log |
| 123 | // LINK_NO_CRT1-NOT: crt |
Bob Wilson | 1fc6e4f | 2012-07-03 20:42:10 +0000 | [diff] [blame] | 124 | |
Daniel Dunbar | 7a0c064 | 2012-10-15 22:23:53 +0000 | [diff] [blame] | 125 | // RUN: %clang -target armv7-apple-ios6.0 -miphoneos-version-min=6.0 -### %t.o 2> %t.log |
| 126 | // RUN: FileCheck -check-prefix=LINK_NO_IOS_CRT1 %s < %t.log |
| 127 | // LINK_NO_IOS_CRT1-NOT: crt |
| 128 | |
Bob Wilson | 1fc6e4f | 2012-07-03 20:42:10 +0000 | [diff] [blame] | 129 | // RUN: %clang -target i386-apple-darwin12 -pg -### %t.o 2> %t.log |
| 130 | // RUN: FileCheck -check-prefix=LINK_PG %s < %t.log |
| 131 | // LINK_PG: -lgcrt1.o |
| 132 | // LINK_PG: -no_new_main |