Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
jobily
Runtime
提交
483490d4
R
Runtime
项目概览
jobily
/
Runtime
大约 1 年 前同步成功
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
Runtime
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
483490d4
编写于
8月 29, 2023
作者:
A
Alexander Köplinger
提交者:
GitHub
8月 29, 2023
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[release/7.0] Disable objc_msgSend stubs in clang for compatibility with Xcode 13 (#91117)
Backport of #89932 and #90217 to release/7.0
上级
c86ac263
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
28 addition
and
1 deletion
+28
-1
eng/native/configurecompiler.cmake
eng/native/configurecompiler.cmake
+11
-0
src/mono/CMakeLists.txt
src/mono/CMakeLists.txt
+8
-0
src/mono/mono/mini/CMakeLists.txt
src/mono/mono/mini/CMakeLists.txt
+3
-0
src/native/libs/System.Globalization.Native/CMakeLists.txt
src/native/libs/System.Globalization.Native/CMakeLists.txt
+1
-0
src/native/libs/System.Native/CMakeLists.txt
src/native/libs/System.Native/CMakeLists.txt
+5
-1
未找到文件。
eng/native/configurecompiler.cmake
浏览文件 @
483490d4
...
...
@@ -384,6 +384,17 @@ if (CLR_CMAKE_HOST_UNIX)
# using twos-complement representation (this is normally undefined according to the C++ spec).
add_compile_options
(
-fwrapv
)
if
(
CLR_CMAKE_HOST_OSX OR CLR_CMAKE_HOST_MACCATALYST OR CLR_CMAKE_HOST_IOS OR CLR_CMAKE_HOST_TVOS
)
# Clang will by default emit objc_msgSend stubs in Xcode 14, which ld from earlier Xcodes doesn't understand.
# We disable this by passing -fno-objc-msgsend-selector-stubs to clang.
# We can probably remove this flag once we require developers to use Xcode 14.
# Ref: https://github.com/xamarin/xamarin-macios/issues/16223
check_c_compiler_flag
(
-fno-objc-msgsend-selector-stubs COMPILER_SUPPORTS_FNO_OBJC_MSGSEND_SELECTOR_STUBS
)
if
(
COMPILER_SUPPORTS_FNO_OBJC_MSGSEND_SELECTOR_STUBS
)
set
(
CLR_CMAKE_COMMON_OBJC_FLAGS
"
${
CLR_CMAKE_COMMON_OBJC_FLAGS
}
-fno-objc-msgsend-selector-stubs"
)
endif
()
endif
()
if
(
CLR_CMAKE_HOST_OSX OR CLR_CMAKE_HOST_MACCATALYST
)
# We cannot enable "stack-protector-strong" on OS X due to a bug in clang compiler (current version 7.0.2)
add_compile_options
(
-fstack-protector
)
...
...
src/mono/CMakeLists.txt
浏览文件 @
483490d4
...
...
@@ -899,6 +899,14 @@ if(HOST_IOS OR HOST_ANDROID OR HOST_MACCAT)
else
()
set
(
DISABLE_DLLMAP 1
)
endif
()
if
(
TARGET_DARWIN
)
check_c_compiler_flag
(
-fno-objc-msgsend-selector-stubs COMPILER_SUPPORTS_FNO_OBJC_MSGSEND_SELECTOR_STUBS
)
if
(
COMPILER_SUPPORTS_FNO_OBJC_MSGSEND_SELECTOR_STUBS
)
set
(
CLR_CMAKE_COMMON_OBJC_FLAGS
"
${
CLR_CMAKE_COMMON_OBJC_FLAGS
}
-fno-objc-msgsend-selector-stubs"
)
endif
()
endif
()
### End of OS specific checks
include_directories
(
"
${
CLR_SRC_NATIVE_DIR
}
"
)
...
...
src/mono/mono/mini/CMakeLists.txt
浏览文件 @
483490d4
...
...
@@ -78,6 +78,9 @@ if(HAVE_SYS_ICU AND NOT HOST_WASI)
addprefix
(
icu_shim_sources
"
${
ICU_SHIM_PATH
}
"
"
${
icu_shim_sources_base
}
"
)
set_source_files_properties
(
${
icu_shim_sources
}
PROPERTIES COMPILE_DEFINITIONS OSX_ICU_LIBRARY_PATH=
"
${
OSX_ICU_LIBRARY_PATH
}
"
)
set_source_files_properties
(
${
icu_shim_sources
}
PROPERTIES COMPILE_FLAGS
"-I
\"
${
ICU_INCLUDEDIR
}
\"
-I
\"
${
CLR_SRC_NATIVE_DIR
}
/libs/System.Globalization.Native/
\"
-I
\"
${
CLR_SRC_NATIVE_DIR
}
/libs/Common/
\"
${
ICU_FLAGS
}
"
)
if
(
TARGET_DARWIN
)
set_property
(
SOURCE
"
${
ICU_SHIM_PATH
}
/pal_locale.m"
APPEND_STRING PROPERTY COMPILE_FLAGS
"
${
CLR_CMAKE_COMMON_OBJC_FLAGS
}
"
)
endif
()
if
(
TARGET_WIN32
)
set_source_files_properties
(
${
icu_shim_sources
}
PROPERTIES LANGUAGE CXX
)
endif
()
...
...
src/native/libs/System.Globalization.Native/CMakeLists.txt
浏览文件 @
483490d4
...
...
@@ -62,6 +62,7 @@ set(NATIVEGLOBALIZATION_SOURCES
if
(
CLR_CMAKE_TARGET_OSX OR CLR_CMAKE_TARGET_MACCATALYST OR CLR_CMAKE_TARGET_IOS OR CLR_CMAKE_TARGET_TVOS
)
set
(
NATIVEGLOBALIZATION_SOURCES
${
NATIVEGLOBALIZATION_SOURCES
}
pal_locale.m
)
set_source_files_properties
(
pal_locale.m PROPERTIES COMPILE_FLAGS
"
${
CLR_CMAKE_COMMON_OBJC_FLAGS
}
"
)
endif
()
# time zone names are filtered out of icu data for the browser and associated functionality is disabled
...
...
src/native/libs/System.Native/CMakeLists.txt
浏览文件 @
483490d4
...
...
@@ -39,13 +39,14 @@ set(NATIVE_SOURCES
if
(
CLR_CMAKE_TARGET_OSX OR CLR_CMAKE_TARGET_MACCATALYST OR CLR_CMAKE_TARGET_IOS OR CLR_CMAKE_TARGET_TVOS
)
list
(
APPEND NATIVE_SOURCES pal_autoreleasepool.m
)
set_source_files_properties
(
pal_autoreleasepool.m PROPERTIES COMPILE_FLAGS
-fno-objc-arc
)
set_source_files_properties
(
pal_autoreleasepool.m PROPERTIES COMPILE_FLAGS
"-fno-objc-arc
${
CLR_CMAKE_COMMON_OBJC_FLAGS
}
"
)
else
()
list
(
APPEND NATIVE_SOURCES pal_autoreleasepool.c
)
endif
()
if
(
CLR_CMAKE_TARGET_MACCATALYST OR CLR_CMAKE_TARGET_IOS OR CLR_CMAKE_TARGET_TVOS
)
list
(
APPEND NATIVE_SOURCES pal_environment.m
)
set_source_files_properties
(
pal_environment.m PROPERTIES COMPILE_FLAGS
"
${
CLR_CMAKE_COMMON_OBJC_FLAGS
}
"
)
else
()
list
(
APPEND NATIVE_SOURCES pal_environment.c
)
endif
()
...
...
@@ -53,12 +54,14 @@ endif()
if
(
CLR_CMAKE_TARGET_MACCATALYST OR CLR_CMAKE_TARGET_IOS OR CLR_CMAKE_TARGET_TVOS
)
set
(
NATIVE_SOURCES
${
NATIVE_SOURCES
}
pal_datetime.m
)
set_source_files_properties
(
pal_datetime.m PROPERTIES COMPILE_FLAGS
"
${
CLR_CMAKE_COMMON_OBJC_FLAGS
}
"
)
endif
()
if
(
CLR_CMAKE_TARGET_MACCATALYST OR CLR_CMAKE_TARGET_IOS OR CLR_CMAKE_TARGET_TVOS
)
set
(
NATIVE_SOURCES
${
NATIVE_SOURCES
}
pal_log.m
pal_searchpath.m
)
set_source_files_properties
(
pal_log.m pal_searchpath.m PROPERTIES COMPILE_FLAGS
"
${
CLR_CMAKE_COMMON_OBJC_FLAGS
}
"
)
else
()
list
(
APPEND NATIVE_SOURCES
pal_searchpath.c
...
...
@@ -69,6 +72,7 @@ endif ()
if
(
CLR_CMAKE_TARGET_MACCATALYST
)
set
(
NATIVE_SOURCES
${
NATIVE_SOURCES
}
pal_iossupportversion.m
)
set_source_files_properties
(
pal_iossupportversion.m PROPERTIES COMPILE_FLAGS
"
${
CLR_CMAKE_COMMON_OBJC_FLAGS
}
"
)
else
()
list
(
APPEND NATIVE_SOURCES
pal_iossupportversion.c
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录