posixmodule "undeclared function" error when compiling with sanitizer options on Termux (Android)
Ouverte
Personne n'a encore pris cette issue.
build
extension-modules
OS-android
- Langage dominant
- Python
- Étoiles
- 77.2k
- Forks
- 35.9k
- Métriques de merge des PR
- Métriques de PR en attente
Description
Python fails to compile when compiling with the sanitizer option.
Python/fileutils.c:458:1: warning: unused function 'decode_current_locale' [-Wunused-function] 458 | decode_current_locale(const char* arg... | ^~~~~~~~~~~~~~~~~~~~~
Python/fileutils.c:677:1: warning: unused function 'encode_current_locale' [-Wunused-function] 677 | encode_current_locale(const wchar_t *t... | ^~~~~~~~~~~~~~~~~~~~~ 2 warnings generated.
./Modules/posixmodule.c:10400:15: error: call to undeclared function 'wait3'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] 10400 | pid = wait3(&status, options, &ru); | ^ 1 error generated. make: ***
[Makefile:3808: Modules/posixmodule.o] Error 1 make: *** Waiting for unfinished jobs...
clang option use.
aarch64-linux-android-clang -fsanitize=address -fsanitize=undefined
aarch64-linux-android-clang++ -fsanitize=address -fsanitize=undefined -fno-sanitize=vptr
aarch64-linux-android-clang --version
clang version 21.1.3
Target: aarch64-unknown-linux-android24
Thread model: posix
InstalledDir: /data/data/com.termux/files/usr/bin
.git revision is at bedaea05987738c4c6b958d19cec9621bec09f07
Compiling with no sanitizer option works.
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez dans Modules/posixmodule.c, autour de l’appel à wait3 signalé vers la ligne 10400, puis reproduisez la compilation avec les commandes de sanitizer de Termux fournies et avec la configuration sans sanitizer à titre de comparaison. C’est terminé lorsque CPython se compile avec les options de sanitizer sans l’erreur de fonction non déclarée.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- android, c, python
- Domaine
- build-system, operating-systems
- Type d'issue
- Bug
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Activité
- Calme
- Clarté
- À clarifier
- Accessibilité débutants
- 48/100