* [PATCH 0/2] docs/zh_CN: move and update sparse
@ 2021-11-01 7:50 Yanteng Si
2021-11-01 7:50 ` [PATCH 1/2] docs/zh_CN: move sparse into dev-tools Yanteng Si
2021-11-01 7:50 ` [PATCH 2/2] docs/zh_CN: update sparse translation Yanteng Si
0 siblings, 2 replies; 7+ messages in thread
From: Yanteng Si @ 2021-11-01 7:50 UTC (permalink / raw)
To: corbet, alexs, bobwxc, seakeel, leoyang.li
Cc: Yanteng Si, chenhuacai, jiaxun.yang, linux-doc, realpuyuwang,
siyanteng01, src.res, wanjiabing, bernard
The Chinese sparse documentation is too old, so let's update it to
the latest version and move it to ../zh_CN/dev-tools/.
Yanteng Si (2):
docs/zh_CN: move sparse into dev-tools
docs/zh_CN: update sparse translation
.../translations/zh_CN/dev-tools/index.rst | 2 +-
.../translations/zh_CN/dev-tools/sparse.rst | 108 ++++++++++++++++++
Documentation/translations/zh_CN/sparse.txt | 91 ---------------
3 files changed, 109 insertions(+), 92 deletions(-)
create mode 100644 Documentation/translations/zh_CN/dev-tools/sparse.rst
delete mode 100644 Documentation/translations/zh_CN/sparse.txt
--
2.27.0
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 1/2] docs/zh_CN: move sparse into dev-tools
2021-11-01 7:50 [PATCH 0/2] docs/zh_CN: move and update sparse Yanteng Si
@ 2021-11-01 7:50 ` Yanteng Si
2021-11-01 7:50 ` [PATCH 2/2] docs/zh_CN: update sparse translation Yanteng Si
1 sibling, 0 replies; 7+ messages in thread
From: Yanteng Si @ 2021-11-01 7:50 UTC (permalink / raw)
To: corbet, alexs, bobwxc, seakeel, leoyang.li
Cc: Yanteng Si, chenhuacai, jiaxun.yang, linux-doc, realpuyuwang,
siyanteng01, src.res, wanjiabing, bernard
../zh_CN/saprse.txt is alone at here, let's move it to ../zh_CN/dev-tools/sparse.rst.
Signed-off-by: Yanteng Si <siyanteng@loongson.cn>
---
Documentation/translations/zh_CN/dev-tools/index.rst | 2 +-
.../translations/zh_CN/{sparse.txt => dev-tools/sparse.rst} | 0
2 files changed, 1 insertion(+), 1 deletion(-)
rename Documentation/translations/zh_CN/{sparse.txt => dev-tools/sparse.rst} (100%)
diff --git a/Documentation/translations/zh_CN/dev-tools/index.rst b/Documentation/translations/zh_CN/dev-tools/index.rst
index 0f770b8664e9..77a8c44cdf49 100644
--- a/Documentation/translations/zh_CN/dev-tools/index.rst
+++ b/Documentation/translations/zh_CN/dev-tools/index.rst
@@ -22,13 +22,13 @@ Documentation/translations/zh_CN/dev-tools/testing-overview.rst
:maxdepth: 2
testing-overview
+ sparse
gcov
kasan
Todolist:
- coccinelle
- - sparse
- kcov
- ubsan
- kmemleak
diff --git a/Documentation/translations/zh_CN/sparse.txt b/Documentation/translations/zh_CN/dev-tools/sparse.rst
similarity index 100%
rename from Documentation/translations/zh_CN/sparse.txt
rename to Documentation/translations/zh_CN/dev-tools/sparse.rst
--
2.27.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 2/2] docs/zh_CN: update sparse translation
2021-11-01 7:50 [PATCH 0/2] docs/zh_CN: move and update sparse Yanteng Si
2021-11-01 7:50 ` [PATCH 1/2] docs/zh_CN: move sparse into dev-tools Yanteng Si
@ 2021-11-01 7:50 ` Yanteng Si
2021-11-01 21:01 ` Leo Li
1 sibling, 1 reply; 7+ messages in thread
From: Yanteng Si @ 2021-11-01 7:50 UTC (permalink / raw)
To: corbet, alexs, bobwxc, seakeel, leoyang.li
Cc: Yanteng Si, chenhuacai, jiaxun.yang, linux-doc, realpuyuwang,
siyanteng01, src.res, wanjiabing, bernard
Sparse documents are too outdated,let's update sparse.rst to the latest version.
Signed-off-by: Yanteng Si <siyanteng@loongson.cn>
---
.../translations/zh_CN/dev-tools/sparse.rst | 103 ++++++++++--------
1 file changed, 60 insertions(+), 43 deletions(-)
diff --git a/Documentation/translations/zh_CN/dev-tools/sparse.rst b/Documentation/translations/zh_CN/dev-tools/sparse.rst
index 0f444b83d639..405653d156d9 100644
--- a/Documentation/translations/zh_CN/dev-tools/sparse.rst
+++ b/Documentation/translations/zh_CN/dev-tools/sparse.rst
@@ -1,34 +1,34 @@
-Chinese translated version of Documentation/dev-tools/sparse.rst
+Copyright 2004 Linus Torvalds
+Copyright 2004 Pavel Machek <pavel@ucw.cz>
+Copyright 2006 Bob Copeland <me@bobcopeland.com>
-If you have any comment or update to the content, please contact the
-original document maintainer directly. However, if you have a problem
-communicating in English you can also ask the Chinese maintainer for
-help. Contact the Chinese maintainer if this translation is outdated
-or if there is a problem with the translation.
+.. include:: ../disclaimer-zh_CN.rst
-Chinese maintainer: Li Yang <leoyang.li@nxp.com>
----------------------------------------------------------------------
-Documentation/dev-tools/sparse.rst 的中文翻译
+:Original: Documentation/dev-tools/sparse.rst
-如果想评论或更新本文的内容,请直接联系原文档的维护者。如果你使用英文
-交流有困难的话,也可以向中文版维护者求助。如果本翻译更新不及时或者翻
-译存在问题,请联系中文版维护者。
+:翻译:
-中文版维护者: 李阳 Li Yang <leoyang.li@nxp.com>
-中文版翻译者: 李阳 Li Yang <leoyang.li@nxp.com>
+ Li Yang <leoyang.li@nxp.com>
+:校译:
-以下为正文
----------------------------------------------------------------------
+ 司延腾 Yanteng Si <siyanteng@loongson.cn>
-Copyright 2004 Linus Torvalds
-Copyright 2004 Pavel Machek <pavel@ucw.cz>
-Copyright 2006 Bob Copeland <me@bobcopeland.com>
+.. _cn_sparse:
+
+Sparse
+======
+
+Sparse是一个C程序的语义检查器;它可以用来发现内核代码的一些潜在问题。 关
+于sparse的概述,请参见https://lwn.net/Articles/689907/;本文档包含
+一些针对内核的sparse信息。
+关于sparse的更多信息,主要是关于它的内部结构,可以在它的官方网页上找到:
+https://sparse.docs.kernel.org。
使用 sparse 工具做类型检查
~~~~~~~~~~~~~~~~~~~~~~~~~~
-"__bitwise" 是一种类型属性,所以你应该这样使用它:
+``__bitwis`` 是一种类型属性,所以你应该这样使用它::
typedef int __bitwise pm_request_t;
@@ -37,16 +37,16 @@ Copyright 2006 Bob Copeland <me@bobcopeland.com>
PM_RESUME = (__force pm_request_t) 2
};
-这样会使 PM_SUSPEND 和 PM_RESUME 成为位方式(bitwise)整数(使用"__force"
-是因为 sparse 会抱怨改变位方式的类型转换,但是这里我们确实需要强制进行转
-换)。而且因为所有枚举值都使用了相同的类型,这里的"enum pm_request"也将
-会使用那个类型做为底层实现。
+这样会使PM_SUSPEND和PM_RESUME成为位方式 ``bitwise`` 整数(使用
+``__force`` 是因为sparse会抱怨改变位方式的类型转换,但是这里我们确实
+需要强制进行转换)。而且因为所有枚举值都使用了相同的类型,这里的
+``enum pm_request`` 也将会使用那个类型做为底层实现。
-而且使用 gcc 编译的时候,所有的 __bitwise/__force 都会消失,最后在 gcc
-看来它们只不过是普通的整数。
+而且使用gcc编译的时候,所有的 ``__bitwise`` / ``__force`` 都会消失,
+最后在gcc看来它们只不过是普通的整数。
-坦白来说,你并不需要使用枚举类型。上面那些实际都可以浓缩成一个特殊的"int
-__bitwise"类型。
+坦白来说,你并不需要使用枚举类型。上面那些实际都可以浓缩成一个特殊的
+``int__bitwise`` 类型。
所以更简单的办法只要这样做:
@@ -57,35 +57,52 @@ __bitwise"类型。
现在你就有了严格的类型检查所需要的所有基础架构。
-一个小提醒:常数整数"0"是特殊的。你可以直接把常数零当作位方式整数使用而
-不用担心 sparse 会抱怨。这是因为"bitwise"(恰如其名)是用来确保不同位方
-式类型不会被弄混(小尾模式,大尾模式,cpu尾模式,或者其他),对他们来说
-常数"0"确实是特殊的。
+一个小提醒:常数整数 ``0`` 是特殊的。你可以直接把常数零当作位方式整数使用而
+不用担心sparse会抱怨。这是因为 ``bitwise`` (恰如其名)是用来确保不同位方
+式类型不会被弄混(小尾模式,大尾模式,cpu尾模式,或者其他),对他们来说常数
+``0`` 确实 *是* 特殊的。
+
+使用sparse进行锁检查
+--------------------
+
+下面的宏对于gcc来说是未定义的,在sparse运行时定义,以使用sparse的 ``上下文``
+跟踪功能,应用于锁定。 这些注释告诉sparse什么时候有锁,以及注释的函数的进入和
+退出。
+
+__must_hold - 指定的锁在函数进入和退出时被持有。
+
+__acquires - 指定的锁在函数退出时被持有,但在进入时不被持有。
+
+__releases - 指定的锁在函数进入时被持有,但在退出时不被持有。
+
+如果函数在不持有锁的情况下进入和退出,在函数内部以平衡的方式获取和释放锁,则不
+需要注释。
+上面的三个注释是针对sparse否则会报告上下文不平衡的情况。
获取 sparse 工具
~~~~~~~~~~~~~~~~
-你可以从 Sparse 的主页获取最新的发布版本:
+你可以从Sparse的主页获取最新的发布版本:
- http://www.kernel.org/pub/linux/kernel/people/josh/sparse/
+ https://www.kernel.org/pub/software/devel/sparse/dist/
-或者,你也可以使用 git 克隆最新的 sparse 开发版本:
+或者,你也可以使用git克隆最新的sparse开发版本:
- git://git.kernel.org/pub/scm/linux/kernel/git/josh/sparse.git
+ git://git.kernel.org/pub/scm/devel/sparse/sparse.git
一旦你下载了源码,只要以普通用户身份运行:
make
make install
-它将会被自动安装到你的 ~/bin 目录下。
+如果是标准的用户,它将会被自动安装到你的~/bin目录下。
-使用 sparse 工具
-~~~~~~~~~~~~~~~~
+使用sparse工具
+~~~~~~~~~~~~~~
-用"make C=1"命令来编译内核,会对所有重新编译的 C 文件使用 sparse 工具。
-或者使用"make C=2"命令,无论文件是否被重新编译都会对其使用 sparse 工具。
+用 ``make C=1`` 命令来编译内核,会对所有重新编译的C文件使用sparse工具。
+或者使用 ``make C=2`` 命令,无论文件是否被重新编译都会对其使用sparse工具。
如果你已经编译了内核,用后一种方式可以很快地检查整个源码树。
-make 的可选变量 CHECKFLAGS 可以用来向 sparse 工具传递参数。编译系统会自
-动向 sparse 工具传递 -Wbitwise 参数。
+make的可选变量CHECKFLAGS可以用来向sparse工具传递参数。编译系统会自动向
+sparse工具传递-Wbitwise参数。
--
2.27.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* RE: [PATCH 2/2] docs/zh_CN: update sparse translation
2021-11-01 7:50 ` [PATCH 2/2] docs/zh_CN: update sparse translation Yanteng Si
@ 2021-11-01 21:01 ` Leo Li
2021-11-02 8:52 ` yanteng si
0 siblings, 1 reply; 7+ messages in thread
From: Leo Li @ 2021-11-01 21:01 UTC (permalink / raw)
To: Yanteng Si, corbet, alexs, bobwxc, seakeel
Cc: Yanteng Si, chenhuacai, jiaxun.yang, linux-doc, realpuyuwang,
src.res, wanjiabing, bernard
> -----Original Message-----
> From: Yanteng Si <siyanteng01@gmail.com>
> Sent: Monday, November 1, 2021 2:50 AM
> To: corbet@lwn.net; alexs@kernel.org; bobwxc@email.cn;
> seakeel@gmail.com; Leo Li <leoyang.li@nxp.com>
> Cc: Yanteng Si <siyanteng@loongson.cn>; chenhuacai@kernel.org;
> jiaxun.yang@flygoat.com; linux-doc@vger.kernel.org;
> realpuyuwang@gmail.com; siyanteng01@gmail.com; src.res@email.cn;
> wanjiabing@vivo.com; bernard@vivo.com
> Subject: [PATCH 2/2] docs/zh_CN: update sparse translation
>
> Sparse documents are too outdated,let's update sparse.rst to the latest
> version.
>
> Signed-off-by: Yanteng Si <siyanteng@loongson.cn>
> ---
> .../translations/zh_CN/dev-tools/sparse.rst | 103 ++++++++++--------
> 1 file changed, 60 insertions(+), 43 deletions(-)
>
> diff --git a/Documentation/translations/zh_CN/dev-tools/sparse.rst
> b/Documentation/translations/zh_CN/dev-tools/sparse.rst
> index 0f444b83d639..405653d156d9 100644
> --- a/Documentation/translations/zh_CN/dev-tools/sparse.rst
> +++ b/Documentation/translations/zh_CN/dev-tools/sparse.rst
> @@ -1,34 +1,34 @@
> -Chinese translated version of Documentation/dev-tools/sparse.rst
> +Copyright 2004 Linus Torvalds
> +Copyright 2004 Pavel Machek <pavel@ucw.cz>
> +Copyright 2006 Bob Copeland <me@bobcopeland.com>
>
> -If you have any comment or update to the content, please contact the
> -original document maintainer directly. However, if you have a problem
> -communicating in English you can also ask the Chinese maintainer for
> -help. Contact the Chinese maintainer if this translation is outdated
> -or if there is a problem with the translation.
> +.. include:: ../disclaimer-zh_CN.rst
>
> -Chinese maintainer: Li Yang <leoyang.li@nxp.com>
> ----------------------------------------------------------------------
> -Documentation/dev-tools/sparse.rst 的中文翻译
> +:Original: Documentation/dev-tools/sparse.rst
>
> -如果想评论或更新本文的内容,请直接联系原文档的维护者。如果你使
> 用英文
> -交流有困难的话,也可以向中文版维护者求助。如果本翻译更新不及时
> 或者翻
> -译存在问题,请联系中文版维护者。
> +:翻译:
>
> -中文版维护者: 李阳 Li Yang <leoyang.li@nxp.com>
> -中文版翻译者: 李阳 Li Yang <leoyang.li@nxp.com>
> + Li Yang <leoyang.li@nxp.com>
>
> +:校译:
>
> -以下为正文
> ----------------------------------------------------------------------
> + 司延腾 Yanteng Si <siyanteng@loongson.cn>
>
> -Copyright 2004 Linus Torvalds
> -Copyright 2004 Pavel Machek <pavel@ucw.cz>
> -Copyright 2006 Bob Copeland <me@bobcopeland.com>
> +.. _cn_sparse:
> +
> +Sparse
> +======
> +
> +Sparse是一个C程序的语义检查器;它可以用来发现内核代码的一些
> 潜在问题。 关
> +于sparse的概述,请参见
> https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Flwn.n
> et%2FArticles%2F689907%2F&data=04%7C01%7Cleoyang.li%40nxp.com
> %7C233b2566e2f74928165c08d99d0c644c%7C686ea1d3bc2b4c6fa92cd99c5c30
> 1635%7C0%7C0%7C637713498814921046%7CUnknown%7CTWFpbGZsb3d8ey
> JWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%
> 7C1000&sdata=6p2FGIcfWn%2BSrCmJaURoPa1K0NsGi0aD7psdJWDAb
> Mo%3D&reserved=0;本文档包含
> +一些针对内核的sparse信息。
> +关于sparse的更多信息,主要是关于它的内部结构,可以在它的官方
> 网页上找到:
> +https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fspar
> se.docs.kernel.org%2F&data=04%7C01%7Cleoyang.li%40nxp.com%7C23
> 3b2566e2f74928165c08d99d0c644c%7C686ea1d3bc2b4c6fa92cd99c5c301635%
> 7C0%7C0%7C637713498814921046%7CUnknown%7CTWFpbGZsb3d8eyJWIjoi
> MC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C100
> 0&sdata=HGfLzNLaFOAKiR288n2G%2FLrdaqeDO9T6IcJgb9o0VPw%3D&a
> mp;reserved=0。
>
> 使用 sparse 工具做类型检查
> ~~~~~~~~~~~~~~~~~~~~~~~~~~
>
> -"__bitwise" 是一种类型属性,所以你应该这样使用它:
> +``__bitwis`` 是一种类型属性,所以你应该这样使用它::
Typo. __bitwise.
Btw, not sure why you are changing all the " in original document to ``.
>
> typedef int __bitwise pm_request_t;
>
> @@ -37,16 +37,16 @@ Copyright 2006 Bob Copeland
> <me@bobcopeland.com>
> PM_RESUME = (__force pm_request_t) 2
> };
>
> -这样会使 PM_SUSPEND 和 PM_RESUME 成为位方式(bitwise)整数(使用
> "__force"
> -是因为 sparse 会抱怨改变位方式的类型转换,但是这里我们确实需要
> 强制进行转
> -换)。而且因为所有枚举值都使用了相同的类型,这里的"enum
> pm_request"也将
> -会使用那个类型做为底层实现。
> +这样会使PM_SUSPEND和PM_RESUME成为位方式 ``bitwise`` 整数(使
> 用
> +``__force`` 是因为sparse会抱怨改变位方式的类型转换,但是这里我们
> 确实
> +需要强制进行转换)。而且因为所有枚举值都使用了相同的类型,这
> 里的
> +``enum pm_request`` 也将会使用那个类型做为底层实现。
>
> -而且使用 gcc 编译的时候,所有的 __bitwise/__force 都会消失,最后在
> gcc
> -看来它们只不过是普通的整数。
> +而且使用gcc编译的时候,所有的 ``__bitwise`` / ``__force`` 都会消失,
> +最后在gcc看来它们只不过是普通的整数。
>
> -坦白来说,你并不需要使用枚举类型。上面那些实际都可以浓缩成一个
> 特殊的"int
> -__bitwise"类型。
> +坦白来说,你并不需要使用枚举类型。上面那些实际都可以浓缩成一
> 个特殊的
> +``int__bitwise`` 类型。
>
> 所以更简单的办法只要这样做:
>
> @@ -57,35 +57,52 @@ __bitwise"类型。
>
> 现在你就有了严格的类型检查所需要的所有基础架构。
>
> -一个小提醒:常数整数"0"是特殊的。你可以直接把常数零当作位方式
> 整数使用而
> -不用担心 sparse 会抱怨。这是因为"bitwise"(恰如其名)是用来确保不
> 同位方
> -式类型不会被弄混(小尾模式,大尾模式,cpu尾模式,或者其他),
> 对他们来说
> -常数"0"确实是特殊的。
> +一个小提醒:常数整数 ``0`` 是特殊的。你可以直接把常数零当作位方
> 式整数使用而
> +不用担心sparse会抱怨。这是因为 ``bitwise`` (恰如其名)是用来确保
> 不同位方
> +式类型不会被弄混(小尾模式,大尾模式,cpu尾模式,或者其他),
> 对他们来说常数
> +``0`` 确实 *是* 特殊的。
Not sure if the italic is a standard way to emphasis in Chinese, maybe bold more common.
> +
> +使用sparse进行锁检查
> +--------------------
> +
> +下面的宏对于gcc来说是未定义的,在sparse运行时定义,以使用
> sparse的 ``上下文``
> +跟踪功能,应用于锁定。 这些注释告诉sparse什么时候有锁,以及注
> 释的函数的进入和
> +退出。
> +
> +__must_hold - 指定的锁在函数进入和退出时被持有。
> +
> +__acquires - 指定的锁在函数退出时被持有,但在进入时不被持有。
> +
> +__releases - 指定的锁在函数进入时被持有,但在退出时不被持有。
> +
> +如果函数在不持有锁的情况下进入和退出,在函数内部以平衡的方式
> 获取和释放锁,则不
> +需要注释。
> +上面的三个注释是针对sparse否则会报告上下文不平衡的情况。
>
> 获取 sparse 工具
> ~~~~~~~~~~~~~~~~
>
> -你可以从 Sparse 的主页获取最新的发布版本:
> +你可以从Sparse的主页获取最新的发布版本:
>
> -
> https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2
> Fwww.kernel.org%2Fpub%2Flinux%2Fkernel%2Fpeople%2Fjosh%2Fsparse%
> 2F&data=04%7C01%7Cleoyang.li%40nxp.com%7C233b2566e2f74928165
> c08d99d0c644c%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C63771
> 3498814921046%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLC
> JQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=opa
> QpoTYC2szu9dxnBbbG9%2BPM5rJ%2Fi%2BnzUnoRxP%2BOKQ%3D&res
> erved=0
> +
> https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%
> 2Fwww.kernel.org%2Fpub%2Fsoftware%2Fdevel%2Fsparse%2Fdist%2F&am
> p;data=04%7C01%7Cleoyang.li%40nxp.com%7C233b2566e2f74928165c08d99
> d0c644c%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C63771349881
> 4921046%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV
> 2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=7v7oad%2B
> TDfHAS0Im2SsRFZfwh1YpaLjCH9vqsfFBTjA%3D&reserved=0
>
> -或者,你也可以使用 git 克隆最新的 sparse 开发版本:
> +或者,你也可以使用git克隆最新的sparse开发版本:
>
> - git://git.kernel.org/pub/scm/linux/kernel/git/josh/sparse.git
> + git://git.kernel.org/pub/scm/devel/sparse/sparse.git
>
> 一旦你下载了源码,只要以普通用户身份运行:
>
> make
> make install
>
> -它将会被自动安装到你的 ~/bin 目录下。
> +如果是标准的用户,它将会被自动安装到你的~/bin目录下。
>
> -使用 sparse 工具
> -~~~~~~~~~~~~~~~~
> +使用sparse工具
> +~~~~~~~~~~~~~~
>
> -用"make C=1"命令来编译内核,会对所有重新编译的 C 文件使用 sparse
> 工具。
> -或者使用"make C=2"命令,无论文件是否被重新编译都会对其使用
> sparse 工具。
> +用 ``make C=1`` 命令来编译内核,会对所有重新编译的C文件使用
> sparse工具。
> +或者使用 ``make C=2`` 命令,无论文件是否被重新编译都会对其使用
> sparse工具。
> 如果你已经编译了内核,用后一种方式可以很快地检查整个源码树。
>
> -make 的可选变量 CHECKFLAGS 可以用来向 sparse 工具传递参数。编译
> 系统会自
> -动向 sparse 工具传递 -Wbitwise 参数。
> +make的可选变量CHECKFLAGS可以用来向sparse工具传递参数。编译
> 系统会自动向
> +sparse工具传递-Wbitwise参数。
> --
> 2.27.0
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 2/2] docs/zh_CN: update sparse translation
2021-11-01 21:01 ` Leo Li
@ 2021-11-02 8:52 ` yanteng si
2021-11-05 1:56 ` Leo Li
0 siblings, 1 reply; 7+ messages in thread
From: yanteng si @ 2021-11-02 8:52 UTC (permalink / raw)
To: Leo Li
Cc: corbet, alexs, bobwxc, seakeel, Yanteng Si, chenhuacai,
jiaxun.yang, linux-doc, realpuyuwang, src.res, wanjiabing,
bernard
Leo Li <leoyang.li@nxp.com> 于2021年11月2日周二 上午5:02写道:
>
>
>
> > -----Original Message-----
> > From: Yanteng Si <siyanteng01@gmail.com>
> > Sent: Monday, November 1, 2021 2:50 AM
> > To: corbet@lwn.net; alexs@kernel.org; bobwxc@email.cn;
> > seakeel@gmail.com; Leo Li <leoyang.li@nxp.com>
> > Cc: Yanteng Si <siyanteng@loongson.cn>; chenhuacai@kernel.org;
> > jiaxun.yang@flygoat.com; linux-doc@vger.kernel.org;
> > realpuyuwang@gmail.com; siyanteng01@gmail.com; src.res@email.cn;
> > wanjiabing@vivo.com; bernard@vivo.com
> > Subject: [PATCH 2/2] docs/zh_CN: update sparse translation
> >
> > Sparse documents are too outdated,let's update sparse.rst to the latest
> > version.
> >
> > Signed-off-by: Yanteng Si <siyanteng@loongson.cn>
> > ---
> > .../translations/zh_CN/dev-tools/sparse.rst | 103 ++++++++++--------
> > 1 file changed, 60 insertions(+), 43 deletions(-)
> >
> > diff --git a/Documentation/translations/zh_CN/dev-tools/sparse.rst
> > b/Documentation/translations/zh_CN/dev-tools/sparse.rst
> > index 0f444b83d639..405653d156d9 100644
> > --- a/Documentation/translations/zh_CN/dev-tools/sparse.rst
> > +++ b/Documentation/translations/zh_CN/dev-tools/sparse.rst
> > @@ -1,34 +1,34 @@
> > -Chinese translated version of Documentation/dev-tools/sparse.rst
> > +Copyright 2004 Linus Torvalds
> > +Copyright 2004 Pavel Machek <pavel@ucw.cz>
> > +Copyright 2006 Bob Copeland <me@bobcopeland.com>
> >
> > -If you have any comment or update to the content, please contact the
> > -original document maintainer directly. However, if you have a problem
> > -communicating in English you can also ask the Chinese maintainer for
> > -help. Contact the Chinese maintainer if this translation is outdated
> > -or if there is a problem with the translation.
> > +.. include:: ../disclaimer-zh_CN.rst
> >
> > -Chinese maintainer: Li Yang <leoyang.li@nxp.com>
> > ----------------------------------------------------------------------
> > -Documentation/dev-tools/sparse.rst 的中文翻译
> > +:Original: Documentation/dev-tools/sparse.rst
> >
> > -如果想评论或更新本文的内容,请直接联系原文档的维护者。如果你使
> > 用英文
> > -交流有困难的话,也可以向中文版维护者求助。如果本翻译更新不及时
> > 或者翻
> > -译存在问题,请联系中文版维护者。
> > +:翻译:
> >
> > -中文版维护者: 李阳 Li Yang <leoyang.li@nxp.com>
> > -中文版翻译者: 李阳 Li Yang <leoyang.li@nxp.com>
> > + Li Yang <leoyang.li@nxp.com>
> >
> > +:校译:
> >
> > -以下为正文
> > ----------------------------------------------------------------------
> > + 司延腾 Yanteng Si <siyanteng@loongson.cn>
> >
> > -Copyright 2004 Linus Torvalds
> > -Copyright 2004 Pavel Machek <pavel@ucw.cz>
> > -Copyright 2006 Bob Copeland <me@bobcopeland.com>
> > +.. _cn_sparse:
> > +
> > +Sparse
> > +======
> > +
> > +Sparse是一个C程序的语义检查器;它可以用来发现内核代码的一些
> > 潜在问题。 关
> > +于sparse的概述,请参见
> > https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Flwn.n
> > et%2FArticles%2F689907%2F&data=04%7C01%7Cleoyang.li%40nxp.com
> > %7C233b2566e2f74928165c08d99d0c644c%7C686ea1d3bc2b4c6fa92cd99c5c30
> > 1635%7C0%7C0%7C637713498814921046%7CUnknown%7CTWFpbGZsb3d8ey
> > JWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%
> > 7C1000&sdata=6p2FGIcfWn%2BSrCmJaURoPa1K0NsGi0aD7psdJWDAb
> > Mo%3D&reserved=0;本文档包含
> > +一些针对内核的sparse信息。
> > +关于sparse的更多信息,主要是关于它的内部结构,可以在它的官方
> > 网页上找到:
> > +https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fspar
> > se.docs.kernel.org%2F&data=04%7C01%7Cleoyang.li%40nxp.com%7C23
> > 3b2566e2f74928165c08d99d0c644c%7C686ea1d3bc2b4c6fa92cd99c5c301635%
> > 7C0%7C0%7C637713498814921046%7CUnknown%7CTWFpbGZsb3d8eyJWIjoi
> > MC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C100
> > 0&sdata=HGfLzNLaFOAKiR288n2G%2FLrdaqeDO9T6IcJgb9o0VPw%3D&a
> > mp;reserved=0。
> >
> > 使用 sparse 工具做类型检查
> > ~~~~~~~~~~~~~~~~~~~~~~~~~~
> >
> > -"__bitwise" 是一种类型属性,所以你应该这样使用它:
> > +``__bitwis`` 是一种类型属性,所以你应该这样使用它::
>
> Typo. __bitwise.
OK,Thanks!
>
> Btw, not sure why you are changing all the " in original document to ``.
sorry,I will recover back!
>
> >
> > typedef int __bitwise pm_request_t;
> >
> > @@ -37,16 +37,16 @@ Copyright 2006 Bob Copeland
> > <me@bobcopeland.com>
> > PM_RESUME = (__force pm_request_t) 2
> > };
> >
> > -这样会使 PM_SUSPEND 和 PM_RESUME 成为位方式(bitwise)整数(使用
> > "__force"
> > -是因为 sparse 会抱怨改变位方式的类型转换,但是这里我们确实需要
> > 强制进行转
> > -换)。而且因为所有枚举值都使用了相同的类型,这里的"enum
> > pm_request"也将
> > -会使用那个类型做为底层实现。
> > +这样会使PM_SUSPEND和PM_RESUME成为位方式 ``bitwise`` 整数(使
> > 用
> > +``__force`` 是因为sparse会抱怨改变位方式的类型转换,但是这里我们
> > 确实
> > +需要强制进行转换)。而且因为所有枚举值都使用了相同的类型,这
> > 里的
> > +``enum pm_request`` 也将会使用那个类型做为底层实现。
> >
> > -而且使用 gcc 编译的时候,所有的 __bitwise/__force 都会消失,最后在
> > gcc
> > -看来它们只不过是普通的整数。
> > +而且使用gcc编译的时候,所有的 ``__bitwise`` / ``__force`` 都会消失,
> > +最后在gcc看来它们只不过是普通的整数。
> >
> > -坦白来说,你并不需要使用枚举类型。上面那些实际都可以浓缩成一个
> > 特殊的"int
> > -__bitwise"类型。
> > +坦白来说,你并不需要使用枚举类型。上面那些实际都可以浓缩成一
> > 个特殊的
> > +``int__bitwise`` 类型。
> >
> > 所以更简单的办法只要这样做:
> >
> > @@ -57,35 +57,52 @@ __bitwise"类型。
> >
> > 现在你就有了严格的类型检查所需要的所有基础架构。
> >
> > -一个小提醒:常数整数"0"是特殊的。你可以直接把常数零当作位方式
> > 整数使用而
> > -不用担心 sparse 会抱怨。这是因为"bitwise"(恰如其名)是用来确保不
> > 同位方
> > -式类型不会被弄混(小尾模式,大尾模式,cpu尾模式,或者其他),
> > 对他们来说
> > -常数"0"确实是特殊的。
> > +一个小提醒:常数整数 ``0`` 是特殊的。你可以直接把常数零当作位方
> > 式整数使用而
> > +不用担心sparse会抱怨。这是因为 ``bitwise`` (恰如其名)是用来确保
> > 不同位方
> > +式类型不会被弄混(小尾模式,大尾模式,cpu尾模式,或者其他),
> > 对他们来说常数
> > +``0`` 确实 *是* 特殊的。
>
> Not sure if the italic is a standard way to emphasis in Chinese, maybe bold more common.
yes, "*是*" is bold,Thanks.
Thanks,
Yanteng
^ permalink raw reply [flat|nested] 7+ messages in thread
* RE: [PATCH 2/2] docs/zh_CN: update sparse translation
2021-11-02 8:52 ` yanteng si
@ 2021-11-05 1:56 ` Leo Li
2021-11-05 2:07 ` yanteng si
0 siblings, 1 reply; 7+ messages in thread
From: Leo Li @ 2021-11-05 1:56 UTC (permalink / raw)
To: yanteng si
Cc: corbet, alexs, bobwxc, seakeel, Yanteng Si, chenhuacai,
jiaxun.yang, linux-doc, realpuyuwang, src.res, wanjiabing,
bernard
> -----Original Message-----
> From: yanteng si <siyanteng01@gmail.com>
> Sent: Tuesday, November 2, 2021 3:52 AM
> To: Leo Li <leoyang.li@nxp.com>
> Cc: corbet@lwn.net; alexs@kernel.org; bobwxc@email.cn;
> seakeel@gmail.com; Yanteng Si <siyanteng@loongson.cn>;
> chenhuacai@kernel.org; jiaxun.yang@flygoat.com; linux-
> doc@vger.kernel.org; realpuyuwang@gmail.com; src.res@email.cn;
> wanjiabing@vivo.com; bernard@vivo.com
> Subject: Re: [PATCH 2/2] docs/zh_CN: update sparse translation
>
> Leo Li <leoyang.li@nxp.com> 于2021年11月2日周二 上午5:02写道:
> >
> >
> >
> > > -----Original Message-----
> > > From: Yanteng Si <siyanteng01@gmail.com>
> > > Sent: Monday, November 1, 2021 2:50 AM
> > > To: corbet@lwn.net; alexs@kernel.org; bobwxc@email.cn;
> > > seakeel@gmail.com; Leo Li <leoyang.li@nxp.com>
> > > Cc: Yanteng Si <siyanteng@loongson.cn>; chenhuacai@kernel.org;
> > > jiaxun.yang@flygoat.com; linux-doc@vger.kernel.org;
> > > realpuyuwang@gmail.com; siyanteng01@gmail.com; src.res@email.cn;
> > > wanjiabing@vivo.com; bernard@vivo.com
> > > Subject: [PATCH 2/2] docs/zh_CN: update sparse translation
> > >
> > > Sparse documents are too outdated,let's update sparse.rst to the
> > > latest version.
> > >
> > > Signed-off-by: Yanteng Si <siyanteng@loongson.cn>
> > > ---
> > > .../translations/zh_CN/dev-tools/sparse.rst | 103 ++++++++++--------
> > > 1 file changed, 60 insertions(+), 43 deletions(-)
> > >
> > > diff --git a/Documentation/translations/zh_CN/dev-tools/sparse.rst
> > > b/Documentation/translations/zh_CN/dev-tools/sparse.rst
> > > index 0f444b83d639..405653d156d9 100644
> > > --- a/Documentation/translations/zh_CN/dev-tools/sparse.rst
> > > +++ b/Documentation/translations/zh_CN/dev-tools/sparse.rst
> > > @@ -1,34 +1,34 @@
> > > -Chinese translated version of Documentation/dev-tools/sparse.rst
> > > +Copyright 2004 Linus Torvalds
> > > +Copyright 2004 Pavel Machek <pavel@ucw.cz> Copyright 2006 Bob
> > > +Copeland <me@bobcopeland.com>
> > >
> > > -If you have any comment or update to the content, please contact
> > > the -original document maintainer directly. However, if you have a
> > > problem -communicating in English you can also ask the Chinese
> > > maintainer for -help. Contact the Chinese maintainer if this
> > > translation is outdated -or if there is a problem with the translation.
> > > +.. include:: ../disclaimer-zh_CN.rst
> > >
> > > -Chinese maintainer: Li Yang <leoyang.li@nxp.com>
> > > --------------------------------------------------------------------
> > > -- -Documentation/dev-tools/sparse.rst 的中文翻译
> > > +:Original: Documentation/dev-tools/sparse.rst
> > >
> > > -如果想评论或更新本文的内容,请直接联系原文档的维护者。如果
> 你使
> > > 用英文
> > > -交流有困难的话,也可以向中文版维护者求助。如果本翻译更新不
> 及时
> > > 或者翻
> > > -译存在问题,请联系中文版维护者。
> > > +:翻译:
> > >
> > > -中文版维护者: 李阳 Li Yang <leoyang.li@nxp.com>
> > > -中文版翻译者: 李阳 Li Yang <leoyang.li@nxp.com>
> > > + Li Yang <leoyang.li@nxp.com>
> > >
> > > +:校译:
> > >
> > > -以下为正文
> > > --------------------------------------------------------------------
> > > --
> > > + 司延腾 Yanteng Si <siyanteng@loongson.cn>
> > >
> > > -Copyright 2004 Linus Torvalds
> > > -Copyright 2004 Pavel Machek <pavel@ucw.cz> -Copyright 2006 Bob
> > > Copeland <me@bobcopeland.com>
> > > +.. _cn_sparse:
> > > +
> > > +Sparse
> > > +======
> > > +
> > > +Sparse是一个C程序的语义检查器;它可以用来发现内核代码的一
> 些
> > > 潜在问题。 关
> > > +于sparse的概述,请参见
> > >
> https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Flw
> > >
> n.n%2F&data=04%7C01%7Cleoyang.li%40nxp.com%7C779b119cb785486
> 8054
> > >
> 708d99dde188f%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C63771
> 4399
> > >
> 496081646%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIj
> oiV2luMz
> > >
> IiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=ohSPyKOTZFiwB2
> %2F%
> > > 2BDXR2%2BDJk1avo9MJXUVLP7q%2Fw%2FI0%3D&reserved=0
> > >
> et%2FArticles%2F689907%2F&data=04%7C01%7Cleoyang.li%40nxp.com
> > > %7C233b2566e2f74928165c08d99d0c644c%7C686ea1d3bc2b4c6fa92cd99c
> 5c30
> > >
> 1635%7C0%7C0%7C637713498814921046%7CUnknown%7CTWFpbGZsb3d8ey
> > >
> JWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%
> > >
> 7C1000&sdata=6p2FGIcfWn%2BSrCmJaURoPa1K0NsGi0aD7psdJWDAb
> > > Mo%3D&reserved=0;本文档包含
> > > +一些针对内核的sparse信息。
> > > +关于sparse的更多信息,主要是关于它的内部结构,可以在它的官
> 方
> > > 网页上找到:
> > >
> +https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fs
> > > +par
> > >
> se.docs.kernel.org%2F&data=04%7C01%7Cleoyang.li%40nxp.com%7C23
> > >
> 3b2566e2f74928165c08d99d0c644c%7C686ea1d3bc2b4c6fa92cd99c5c301635%
> > >
> 7C0%7C0%7C637713498814921046%7CUnknown%7CTWFpbGZsb3d8eyJWIjoi
> > >
> MC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C100
> > >
> 0&sdata=HGfLzNLaFOAKiR288n2G%2FLrdaqeDO9T6IcJgb9o0VPw%3D&a
> > > mp;reserved=0。
> > >
> > > 使用 sparse 工具做类型检查
> > > ~~~~~~~~~~~~~~~~~~~~~~~~~~
> > >
> > > -"__bitwise" 是一种类型属性,所以你应该这样使用它:
> > > +``__bitwis`` 是一种类型属性,所以你应该这样使用它::
> >
> > Typo. __bitwise.
> OK,Thanks!
> >
> > Btw, not sure why you are changing all the " in original document to ``.
> sorry,I will recover back!
> >
> > >
> > > typedef int __bitwise pm_request_t;
> > >
> > > @@ -37,16 +37,16 @@ Copyright 2006 Bob Copeland
> <me@bobcopeland.com>
> > > PM_RESUME = (__force pm_request_t) 2
> > > };
> > >
> > > -这样会使 PM_SUSPEND 和 PM_RESUME 成为位方式(bitwise)整数
> (使用
> > > "__force"
> > > -是因为 sparse 会抱怨改变位方式的类型转换,但是这里我们确实需
> 要
> > > 强制进行转
> > > -换)。而且因为所有枚举值都使用了相同的类型,这里的"enum
> > > pm_request"也将
> > > -会使用那个类型做为底层实现。
> > > +这样会使PM_SUSPEND和PM_RESUME成为位方式 ``bitwise`` 整数
> (使
> > > 用
> > > +``__force`` 是因为sparse会抱怨改变位方式的类型转换,但是这里
> 我们
> > > 确实
> > > +需要强制进行转换)。而且因为所有枚举值都使用了相同的类型,
> 这
> > > 里的
> > > +``enum pm_request`` 也将会使用那个类型做为底层实现。
> > >
> > > -而且使用 gcc 编译的时候,所有的 __bitwise/__force 都会消失,最
> 后在
> > > gcc
> > > -看来它们只不过是普通的整数。
> > > +而且使用gcc编译的时候,所有的 ``__bitwise`` / ``__force`` 都会消失,
> > > +最后在gcc看来它们只不过是普通的整数。
> > >
> > > -坦白来说,你并不需要使用枚举类型。上面那些实际都可以浓缩成
> 一个
> > > 特殊的"int
> > > -__bitwise"类型。
> > > +坦白来说,你并不需要使用枚举类型。上面那些实际都可以浓缩成
> 一
> > > 个特殊的
> > > +``int__bitwise`` 类型。
> > >
> > > 所以更简单的办法只要这样做:
> > >
> > > @@ -57,35 +57,52 @@ __bitwise"类型。
> > >
> > > 现在你就有了严格的类型检查所需要的所有基础架构。
> > >
> > > -一个小提醒:常数整数"0"是特殊的。你可以直接把常数零当作位方
> 式
> > > 整数使用而
> > > -不用担心 sparse 会抱怨。这是因为"bitwise"(恰如其名)是用来确
> 保不
> > > 同位方
> > > -式类型不会被弄混(小尾模式,大尾模式,cpu尾模式,或者其
> 他),
> > > 对他们来说
> > > -常数"0"确实是特殊的。
> > > +一个小提醒:常数整数 ``0`` 是特殊的。你可以直接把常数零当作位
> 方
> > > 式整数使用而
> > > +不用担心sparse会抱怨。这是因为 ``bitwise`` (恰如其名)是用来
> 确保
> > > 不同位方
> > > +式类型不会被弄混(小尾模式,大尾模式,cpu尾模式,或者其
> 他),
> > > 对他们来说常数
> > > +``0`` 确实 *是* 特殊的。
> >
> > Not sure if the italic is a standard way to emphasis in Chinese, maybe bold
> more common.
> yes, "*是*" is bold,Thanks.
According to the document here https://thomas-cokelaer.info/tutorials/sphinx/rest_syntax.html#inline-markup-and-special-characters-e-g-bold-italic-verbatim
The *italic* is for italic, while **bold** is for bold.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 2/2] docs/zh_CN: update sparse translation
2021-11-05 1:56 ` Leo Li
@ 2021-11-05 2:07 ` yanteng si
0 siblings, 0 replies; 7+ messages in thread
From: yanteng si @ 2021-11-05 2:07 UTC (permalink / raw)
To: Leo Li
Cc: corbet, alexs, bobwxc, seakeel, Yanteng Si, chenhuacai,
jiaxun.yang, linux-doc, realpuyuwang, src.res, wanjiabing,
bernard
Leo Li <leoyang.li@nxp.com> 于2021年11月5日周五 上午9:56写道:
>
>
>
> > -----Original Message-----
> > From: yanteng si <siyanteng01@gmail.com>
> > Sent: Tuesday, November 2, 2021 3:52 AM
> > To: Leo Li <leoyang.li@nxp.com>
> > Cc: corbet@lwn.net; alexs@kernel.org; bobwxc@email.cn;
> > seakeel@gmail.com; Yanteng Si <siyanteng@loongson.cn>;
> > chenhuacai@kernel.org; jiaxun.yang@flygoat.com; linux-
> > doc@vger.kernel.org; realpuyuwang@gmail.com; src.res@email.cn;
> > wanjiabing@vivo.com; bernard@vivo.com
> > Subject: Re: [PATCH 2/2] docs/zh_CN: update sparse translation
> >
> > Leo Li <leoyang.li@nxp.com> 于2021年11月2日周二 上午5:02写道:
> > >
> > >
> > >
> > > > -----Original Message-----
> > > > From: Yanteng Si <siyanteng01@gmail.com>
> > > > Sent: Monday, November 1, 2021 2:50 AM
> > > > To: corbet@lwn.net; alexs@kernel.org; bobwxc@email.cn;
> > > > seakeel@gmail.com; Leo Li <leoyang.li@nxp.com>
> > > > Cc: Yanteng Si <siyanteng@loongson.cn>; chenhuacai@kernel.org;
> > > > jiaxun.yang@flygoat.com; linux-doc@vger.kernel.org;
> > > > realpuyuwang@gmail.com; siyanteng01@gmail.com; src.res@email.cn;
> > > > wanjiabing@vivo.com; bernard@vivo.com
> > > > Subject: [PATCH 2/2] docs/zh_CN: update sparse translation
> > > >
> > > > Sparse documents are too outdated,let's update sparse.rst to the
> > > > latest version.
> > > >
> > > > Signed-off-by: Yanteng Si <siyanteng@loongson.cn>
> > > > ---
> > > > .../translations/zh_CN/dev-tools/sparse.rst | 103 ++++++++++--------
> > > > 1 file changed, 60 insertions(+), 43 deletions(-)
> > > >
> > > > diff --git a/Documentation/translations/zh_CN/dev-tools/sparse.rst
> > > > b/Documentation/translations/zh_CN/dev-tools/sparse.rst
> > > > index 0f444b83d639..405653d156d9 100644
> > > > --- a/Documentation/translations/zh_CN/dev-tools/sparse.rst
> > > > +++ b/Documentation/translations/zh_CN/dev-tools/sparse.rst
> > > > @@ -1,34 +1,34 @@
> > > > -Chinese translated version of Documentation/dev-tools/sparse.rst
> > > > +Copyright 2004 Linus Torvalds
> > > > +Copyright 2004 Pavel Machek <pavel@ucw.cz> Copyright 2006 Bob
> > > > +Copeland <me@bobcopeland.com>
> > > >
> > > > -If you have any comment or update to the content, please contact
> > > > the -original document maintainer directly. However, if you have a
> > > > problem -communicating in English you can also ask the Chinese
> > > > maintainer for -help. Contact the Chinese maintainer if this
> > > > translation is outdated -or if there is a problem with the translation.
> > > > +.. include:: ../disclaimer-zh_CN.rst
> > > >
> > > > -Chinese maintainer: Li Yang <leoyang.li@nxp.com>
> > > > --------------------------------------------------------------------
> > > > -- -Documentation/dev-tools/sparse.rst 的中文翻译
> > > > +:Original: Documentation/dev-tools/sparse.rst
> > > >
> > > > -如果想评论或更新本文的内容,请直接联系原文档的维护者。如果
> > 你使
> > > > 用英文
> > > > -交流有困难的话,也可以向中文版维护者求助。如果本翻译更新不
> > 及时
> > > > 或者翻
> > > > -译存在问题,请联系中文版维护者。
> > > > +:翻译:
> > > >
> > > > -中文版维护者: 李阳 Li Yang <leoyang.li@nxp.com>
> > > > -中文版翻译者: 李阳 Li Yang <leoyang.li@nxp.com>
> > > > + Li Yang <leoyang.li@nxp.com>
> > > >
> > > > +:校译:
> > > >
> > > > -以下为正文
> > > > --------------------------------------------------------------------
> > > > --
> > > > + 司延腾 Yanteng Si <siyanteng@loongson.cn>
> > > >
> > > > -Copyright 2004 Linus Torvalds
> > > > -Copyright 2004 Pavel Machek <pavel@ucw.cz> -Copyright 2006 Bob
> > > > Copeland <me@bobcopeland.com>
> > > > +.. _cn_sparse:
> > > > +
> > > > +Sparse
> > > > +======
> > > > +
> > > > +Sparse是一个C程序的语义检查器;它可以用来发现内核代码的一
> > 些
> > > > 潜在问题。 关
> > > > +于sparse的概述,请参见
> > > >
> > https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Flw
> > > >
> > n.n%2F&data=04%7C01%7Cleoyang.li%40nxp.com%7C779b119cb785486
> > 8054
> > > >
> > 708d99dde188f%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C63771
> > 4399
> > > >
> > 496081646%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIj
> > oiV2luMz
> > > >
> > IiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=ohSPyKOTZFiwB2
> > %2F%
> > > > 2BDXR2%2BDJk1avo9MJXUVLP7q%2Fw%2FI0%3D&reserved=0
> > > >
> > et%2FArticles%2F689907%2F&data=04%7C01%7Cleoyang.li%40nxp.com
> > > > %7C233b2566e2f74928165c08d99d0c644c%7C686ea1d3bc2b4c6fa92cd99c
> > 5c30
> > > >
> > 1635%7C0%7C0%7C637713498814921046%7CUnknown%7CTWFpbGZsb3d8ey
> > > >
> > JWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%
> > > >
> > 7C1000&sdata=6p2FGIcfWn%2BSrCmJaURoPa1K0NsGi0aD7psdJWDAb
> > > > Mo%3D&reserved=0;本文档包含
> > > > +一些针对内核的sparse信息。
> > > > +关于sparse的更多信息,主要是关于它的内部结构,可以在它的官
> > 方
> > > > 网页上找到:
> > > >
> > +https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fs
> > > > +par
> > > >
> > se.docs.kernel.org%2F&data=04%7C01%7Cleoyang.li%40nxp.com%7C23
> > > >
> > 3b2566e2f74928165c08d99d0c644c%7C686ea1d3bc2b4c6fa92cd99c5c301635%
> > > >
> > 7C0%7C0%7C637713498814921046%7CUnknown%7CTWFpbGZsb3d8eyJWIjoi
> > > >
> > MC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C100
> > > >
> > 0&sdata=HGfLzNLaFOAKiR288n2G%2FLrdaqeDO9T6IcJgb9o0VPw%3D&a
> > > > mp;reserved=0。
> > > >
> > > > 使用 sparse 工具做类型检查
> > > > ~~~~~~~~~~~~~~~~~~~~~~~~~~
> > > >
> > > > -"__bitwise" 是一种类型属性,所以你应该这样使用它:
> > > > +``__bitwis`` 是一种类型属性,所以你应该这样使用它::
> > >
> > > Typo. __bitwise.
> > OK,Thanks!
> > >
> > > Btw, not sure why you are changing all the " in original document to ``.
> > sorry,I will recover back!
> > >
> > > >
> > > > typedef int __bitwise pm_request_t;
> > > >
> > > > @@ -37,16 +37,16 @@ Copyright 2006 Bob Copeland
> > <me@bobcopeland.com>
> > > > PM_RESUME = (__force pm_request_t) 2
> > > > };
> > > >
> > > > -这样会使 PM_SUSPEND 和 PM_RESUME 成为位方式(bitwise)整数
> > (使用
> > > > "__force"
> > > > -是因为 sparse 会抱怨改变位方式的类型转换,但是这里我们确实需
> > 要
> > > > 强制进行转
> > > > -换)。而且因为所有枚举值都使用了相同的类型,这里的"enum
> > > > pm_request"也将
> > > > -会使用那个类型做为底层实现。
> > > > +这样会使PM_SUSPEND和PM_RESUME成为位方式 ``bitwise`` 整数
> > (使
> > > > 用
> > > > +``__force`` 是因为sparse会抱怨改变位方式的类型转换,但是这里
> > 我们
> > > > 确实
> > > > +需要强制进行转换)。而且因为所有枚举值都使用了相同的类型,
> > 这
> > > > 里的
> > > > +``enum pm_request`` 也将会使用那个类型做为底层实现。
> > > >
> > > > -而且使用 gcc 编译的时候,所有的 __bitwise/__force 都会消失,最
> > 后在
> > > > gcc
> > > > -看来它们只不过是普通的整数。
> > > > +而且使用gcc编译的时候,所有的 ``__bitwise`` / ``__force`` 都会消失,
> > > > +最后在gcc看来它们只不过是普通的整数。
> > > >
> > > > -坦白来说,你并不需要使用枚举类型。上面那些实际都可以浓缩成
> > 一个
> > > > 特殊的"int
> > > > -__bitwise"类型。
> > > > +坦白来说,你并不需要使用枚举类型。上面那些实际都可以浓缩成
> > 一
> > > > 个特殊的
> > > > +``int__bitwise`` 类型。
> > > >
> > > > 所以更简单的办法只要这样做:
> > > >
> > > > @@ -57,35 +57,52 @@ __bitwise"类型。
> > > >
> > > > 现在你就有了严格的类型检查所需要的所有基础架构。
> > > >
> > > > -一个小提醒:常数整数"0"是特殊的。你可以直接把常数零当作位方
> > 式
> > > > 整数使用而
> > > > -不用担心 sparse 会抱怨。这是因为"bitwise"(恰如其名)是用来确
> > 保不
> > > > 同位方
> > > > -式类型不会被弄混(小尾模式,大尾模式,cpu尾模式,或者其
> > 他),
> > > > 对他们来说
> > > > -常数"0"确实是特殊的。
> > > > +一个小提醒:常数整数 ``0`` 是特殊的。你可以直接把常数零当作位
> > 方
> > > > 式整数使用而
> > > > +不用担心sparse会抱怨。这是因为 ``bitwise`` (恰如其名)是用来
> > 确保
> > > > 不同位方
> > > > +式类型不会被弄混(小尾模式,大尾模式,cpu尾模式,或者其
> > 他),
> > > > 对他们来说常数
> > > > +``0`` 确实 *是* 特殊的。
> > >
> > > Not sure if the italic is a standard way to emphasis in Chinese, maybe bold
> > more common.
> > yes, "*是*" is bold,Thanks.
Sorry, I got the symbols mixed up. T_T
Thanks,
Yanteng
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2021-11-05 2:07 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-11-01 7:50 [PATCH 0/2] docs/zh_CN: move and update sparse Yanteng Si
2021-11-01 7:50 ` [PATCH 1/2] docs/zh_CN: move sparse into dev-tools Yanteng Si
2021-11-01 7:50 ` [PATCH 2/2] docs/zh_CN: update sparse translation Yanteng Si
2021-11-01 21:01 ` Leo Li
2021-11-02 8:52 ` yanteng si
2021-11-05 1:56 ` Leo Li
2021-11-05 2:07 ` yanteng si
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.