Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
aa3182a8
D
Docs
项目概览
OpenHarmony
/
Docs
1 年多 前同步成功
通知
159
Star
292
Fork
28
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
aa3182a8
编写于
2月 07, 2023
作者:
O
openharmony_ci
提交者:
Gitee
2月 07, 2023
浏览文件
操作
浏览文件
下载
差异文件
!14346 更新sanitizer信息
Merge pull request !14346 from Harylee/build
上级
8a9d6dbc
45fb7584
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
36 addition
and
18 deletion
+36
-18
zh-cn/device-dev/subsystems/subsys-build-module.md
zh-cn/device-dev/subsystems/subsys-build-module.md
+28
-16
zh-cn/device-dev/subsystems/subsys-build-reference.md
zh-cn/device-dev/subsystems/subsys-build-reference.md
+8
-2
未找到文件。
zh-cn/device-dev/subsystems/subsys-build-module.md
浏览文件 @
aa3182a8
...
...
@@ -62,18 +62,21 @@ ohos_shared_library("helloworld") {
part_name
=
[
string]
# 必选,所属部件名称
output_dir
# Sanitizer配置,每项都是可选的,默认为false/空
sanitize
=
{
# 各个Sanitizer开关
cfi
=
[
boolean]
integer_overflow
=
[
boolean]
cfi
=
[
boolean]
# 控制流完整性检测
integer_overflow
=
[
boolean]
# 整数溢出检测
boundary_sanitize
=
[
boolean]
# 边界检测
ubsan
=
[
boolean]
# 部分ubsan选项
all_ubsan
=
[
boolean]
# 全量ubsan选项
...
debug
=
[
boolean]
# 调测模式
blocklist
=
[
string]
# 屏蔽名单路径
}
testonly
=
[
boolean]
license_as_sources
=
[]
license_file
=
[]
# 后缀名是.txt的文件
...
...
@@ -106,18 +109,21 @@ ohos_static_library("helloworld") {
lib_dirs
=
[]
public_configs
=
[]
# Sanitizer配置,每项都是可选的,默认为false/空
sanitize
=
{
# 各个Sanitizer开关
cfi
=
[
boolean]
integer_overflow
=
[
boolean]
cfi
=
[
boolean]
# 控制流完整性检测
integer_overflow
=
[
boolean]
# 整数溢出检测
boundary_sanitize
=
[
boolean]
# 边界检测
ubsan
=
[
boolean]
# 部分ubsan选项
all_ubsan
=
[
boolean]
# 全量ubsan选项
...
debug
=
[
boolean]
# 调测模式
blocklist
=
[
string]
# 屏蔽名单路径
}
remove_configs
=
[]
no_default_deps
=
[]
license_file
=
[]
# 后缀名是.txt的文件
...
...
@@ -141,18 +147,21 @@ ohos_executable("helloworld") {
]
# 这里依赖的模块必须是依赖的部件声明在inner_kits中的模块
ohos_test
=
[]
test_output_dir
=
[]
# Sanitizer配置,每项都是可选的,默认为false/空
sanitize
=
{
# 各个Sanitizer开关
cfi
=
[
boolean]
integer_overflow
=
[
boolean]
cfi
=
[
boolean]
# 控制流完整性检测
integer_overflow
=
[
boolean]
# 整数溢出检测
boundary_sanitize
=
[
boolean]
# 边界检测
ubsan
=
[
boolean]
# 部分ubsan选项
all_ubsan
=
[
boolean]
# 全量ubsan选项
...
debug
=
[
boolean]
# 调测模式
blocklist
=
[
string]
# 屏蔽名单路径
}
testonly
=
[
boolean]
license_as_sources
=
[]
license_file
=
[]
# 后缀名是.txt的文件
...
...
@@ -187,18 +196,21 @@ ohos_source_set("helloworld") {
external_deps
=
[
# 跨部件模块依赖定义,
"part_name:module_name"
,
# 定义格式为 "部件名:模块名称"
]
# 这里依赖的模块必须是依赖的部件声明在inner_kits中的模块
# Sanitizer配置,每项都是可选的,默认为false/空
sanitize
=
{
# 各个Sanitizer开关
cfi
=
[
boolean]
integer_overflow
=
[
boolean]
cfi
=
[
boolean]
# 控制流完整性检测
integer_overflow
=
[
boolean]
# 整数溢出检测
boundary_sanitize
=
[
boolean]
# 边界检测
ubsan
=
[
boolean]
# 部分ubsan选项
all_ubsan
=
[
boolean]
# 全量ubsan选项
...
debug
=
[
boolean]
# 调测模式
blocklist
=
[
string]
# 屏蔽名单路径
}
testonly
=
[
boolean]
license_as_sources
=
[]
license_file
=
[]
...
...
zh-cn/device-dev/subsystems/subsys-build-reference.md
浏览文件 @
aa3182a8
...
...
@@ -68,8 +68,11 @@
```
shell
ohos_shared_library
(
"example"
)
{
sanitize
=
{
cfi
=
true
integer_overflow
=
true
cfi
=
true
# 开启控制流完整性检测
integer_overflow
=
true
# 开启整数溢出检测
boundary_sanitize
=
true
# 开启边界检测
ubsan
=
true
# 开启部分ubsan选项
all_ubsan
=
true
# 开启全量ubsan选项
debug
=
true
# 可选,调测模式,默认是不开启
blocklist
=
"./blocklist.txt"
# 可选,屏蔽名单路径
}
...
...
@@ -83,6 +86,9 @@
-
整数溢出排错:unsigned_integer_overflow/signed_integer_overflow/integer_overflow(同时包括无符号和有符号整数溢出两种检查)
-
控制流完整性:cfi
-
边界检测:boundary_sanitize
-
部分未定义行为检测:ubsan(bool,integer-divide-by-zero,return,returns-nonnull-attribute,shift-exponent,unreachable,vla-bound等编译选项)
-
全量未定义行为检测:all_ubsan(全量undefined behavior sanitizer编译选项)
**发布、调测模式**
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录