@@ -1055,7 +1055,8 @@ elif run_os in ['windows-msvc']:
1055
1055
config .target_add_rpath = r''
1056
1056
1057
1057
config .target_clang = \
1058
- ('clang++ -target %s %s -fobjc-runtime=ios-5.0' % (config .variant_triple , clang_mcp_opt ))
1058
+ ('clang++ -target %s %s %s -fobjc-runtime=ios-5.0' % \
1059
+ (config .variant_triple , clang_mcp_opt , config .target_cc_options ))
1059
1060
config .target_ld = \
1060
1061
('%r -libpath:%s' % (config .link , os .path .join (test_resource_dir , \
1061
1062
config .target_sdk_name )))
@@ -1107,14 +1108,14 @@ elif (run_os in ['linux-gnu', 'linux-gnueabihf', 'freebsd', 'openbsd', 'windows-
1107
1108
config .target_shared_library_prefix = 'lib'
1108
1109
config .target_shared_library_suffix = ".so"
1109
1110
config .target_sdk_name = "freebsd"
1110
- config .target_cc_options = "-fPIC "
1111
+ config .target_cc_options = "-fPIE "
1111
1112
elif run_os == 'openbsd' :
1112
1113
lit_config .note ("Testing OpenBSD " + config .variant_triple )
1113
1114
config .target_object_format = "elf"
1114
1115
config .target_shared_library_prefix = 'lib'
1115
1116
config .target_shared_library_suffix = ".so"
1116
1117
config .target_sdk_name = "openbsd"
1117
- config .target_cc_options = "-fPIC "
1118
+ config .target_cc_options = "-fPIE "
1118
1119
elif kIsAndroid :
1119
1120
lit_config .note ("Testing Android " + config .variant_triple )
1120
1121
config .target_object_format = "elf"
@@ -1124,14 +1125,14 @@ elif (run_os in ['linux-gnu', 'linux-gnueabihf', 'freebsd', 'openbsd', 'windows-
1124
1125
# Needed by several ParseableInterface/swift_build_sdk_interfaces tests on
1125
1126
# Android
1126
1127
config .environment ['ANDROID_DATA' ] = os .environ ['ANDROID_DATA' ]
1127
- config .target_cc_options = "-fPIC "
1128
+ config .target_cc_options = "-fPIE "
1128
1129
else :
1129
1130
lit_config .note ("Testing Linux " + config .variant_triple )
1130
1131
config .target_object_format = "elf"
1131
1132
config .target_shared_library_prefix = 'lib'
1132
1133
config .target_shared_library_suffix = ".so"
1133
1134
config .target_sdk_name = "linux"
1134
- config .target_cc_options = "-fPIC "
1135
+ config .target_cc_options = "-fPIE "
1135
1136
config .target_runtime = "native"
1136
1137
config .target_swift_autolink_extract = inferSwiftBinary ("swift-autolink-extract" )
1137
1138
@@ -1189,8 +1190,8 @@ elif (run_os in ['linux-gnu', 'linux-gnueabihf', 'freebsd', 'openbsd', 'windows-
1189
1190
'%s -emit-pcm -target %s' %
1190
1191
(config .swiftc , config .variant_triple ))
1191
1192
config .target_clang = (
1192
- "clang++ -target %s %s -fobjc-runtime=ios-5.0" %
1193
- (config .variant_triple , clang_mcp_opt ))
1193
+ "clang++ -target %s %s %s -fobjc-runtime=ios-5.0" %
1194
+ (config .variant_triple , clang_mcp_opt , config . target_cc_options ))
1194
1195
config .target_ld = "ld -L%r" % (make_path (test_resource_dir , config .target_sdk_name ))
1195
1196
elif run_os == 'linux-androideabi' or run_os == 'linux-android' :
1196
1197
# The module triple for Android ARMv7 seems to be canonicalized in LLVM
@@ -1319,7 +1320,7 @@ elif run_os == 'linux-androideabi' or run_os == 'linux-android':
1319
1320
'clang++' ,
1320
1321
'-target' , config .variant_triple ,
1321
1322
clang_mcp_opt , android_include_system_paths_opt ,
1322
- '-fobjc-runtime=ios-5.0' ])
1323
+ config . target_cc_options , '-fobjc-runtime=ios-5.0' ])
1323
1324
config .target_ld = ' ' .join ([
1324
1325
tools_directory ,
1325
1326
'-L%s' % make_path (test_resource_dir , config .target_sdk_name )])
0 commit comments