python / python/cpython

Should ASAN build use `-shared-libsan`?

Ouverte
#155,375 5 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

build type-feature
Langage dominant
Python
Étoiles
77.2k
Forks
35.9k
Métriques de merge des PR
Métriques de PR en attente

Description

@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

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par configure.ac, au niveau de l’option address_sanitizer, et lisez la discussion dans la PR liée gh-155420. Vérifiez si -shared-libsan est approprié pour les plateformes prises en charge par CPython, en particulier Linux, et vérifiez le comportement du build ASAN obtenu. Le travail est considéré comme terminé lorsque le périmètre des plateformes et la modification de configuration requise sont documentés ou implémentés.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
python
Domaine
build-system
Type d'issue
Fonctionnalité
Difficulté
3/5
Temps estimé
1-2 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
38/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.