python / python/cpython

Should ASAN build use `-shared-libsan`?

未关闭
#155,375 5 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

build type-feature
主要语言
Python
星标
77.2k
派生
35.9k
PR 合并指标
PR 指标待抓取

描述

@isuruf do I understand you correctly at https://github.com/scipy/scipy/pull/24066#discussion_r3723640806 that you are suggesting the following diff for CPython?

diff --git a/configure.ac b/configure.ac
index 3a9841b1e7d..7b44be75623 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3520,7 +3520,7 @@ AC_ARG_WITH([address_sanitizer],
 [
 AC_MSG_RESULT([$withval])
 BASECFLAGS="-fsanitize=address -fno-omit-frame-pointer $BASECFLAGS"
-LDFLAGS="-fsanitize=address $LDFLAGS"
+LDFLAGS="-fsanitize=address -shared-libsan $LDFLAGS"
 # ASan works by controlling memory allocation, our own malloc interferes.
 with_pymalloc="no"
 ],

Also, is this only necessary on linux?

Linked PRs
  • gh-155420

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

调研方向

从 configure.ac 中的 address_sanitizer 选项开始,并阅读链接 PR gh-155420 中的讨论。检查 -shared-libsan 是否适用于 CPython 支持的平台,尤其是 Linux,并验证生成的 ASAN 构建的行为。完成的标准是记录或实现平台范围和所需的配置更改。

由索引模型根据 Issue 内容生成。

评估

技术栈
python
领域
build-system
Issue 类型
功能
难度
3/5
预计耗时
1-2 天
活跃度
停滞
描述清晰度
基本清楚
新手友好度
38/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。