[issue20935] Cherry pick CFLAGS, add to flags for $(BUILDPYTHON) Makefile rule

2014-03-15 Thread Jeffrey Walton

New submission from Jeffrey Walton:

From Python head in mercurial.

When building Python under Clang's sanitizers, we provide a couple of flags to 
instrument binaries with the sanitizers. For example:

export CC=/usr/local/bin/clang
export CXX=/usr/local/bin/clang++
export CFLAGS=-g3 -fsanitize=undefined -fsanitize=address
export CXXFLAGS=-g3 -fsanitize=undefined -fsanitize=address -fno-sanitize=vptr
./configure
make

However, `make` will fail due to some missing sanitizer libraries. The 
libraries are added at the link stage by Clang, but the invocation must include 
the -fsanitize=... flags.

The recipe for $(BUILDPYTHON) in the Makefile does not include necessary CFLAGS:

# Build the interpreter
$(BUILDPYTHON): Modules/python.o $(LIBRARY) $(LDLIBRARY) $(PY3LIBRARY)
$(LINKCC) $(PY_LDFLAGS) $(LINKFORSHARED) -o $@ Modules/python.o 
$(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST)

The result is a failed link when building with the sanitizers.

It would be great if the sanizter flags (-fsanitize=undefined 
-fsanitize=address -fno-sanitize=vptr) were cherry picked from the FLAGS by the 
build system and added to the recipe as required:

$(BUILDPYTHON): Modules/python.o $(LIBRARY) $(LDLIBRARY) $(PY3LIBRARY)
$(LINKCC) -fsanitize=undefined -fsanitize=address -fno-sanitize=vptr 
$(PY_LDFLAGS) $(LINKFORSHARED) ...

Please consider picking up the sanitizer flags and adding them to the build 
rule.

--
components: Build
hgrepos: 220
messages: 213661
nosy: Jeffrey.Walton
priority: normal
severity: normal
status: open
title: Cherry pick CFLAGS, add to flags for $(BUILDPYTHON) Makefile rule
type: enhancement
versions: Python 3.5

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue20935
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue20935] Cherry pick CFLAGS, add to flags for $(BUILDPYTHON) Makefile rule

2014-03-15 Thread Jeffrey Walton

Jeffrey Walton added the comment:

And:

Modules/_testembed: Modules/_testembed.o $(LIBRARY) $(LDLIBRARY) $(PY3LIBRARY)
$(LINKCC) -g3 -fsanitize=address $(PY_LDFLAGS) $(LINKFORSHARED) -o $@ 
Modules/_testembed.o $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST)

--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue20935
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue20935] Cherry pick CFLAGS, add to flags for $(BUILDPYTHON) Makefile rule

2014-03-15 Thread Jeffrey Walton

Jeffrey Walton added the comment:

And:

Modules/_freeze_importlib: Modules/_freeze_importlib.o 
$(LIBRARY_OBJS_OMIT_FROZEN)
$(LINKCC) -g3 -fsanitize=address $(PY_LDFLAGS) -o $@ 
Modules/_freeze_importlib.o $(LIBRARY_OBJS_OMIT_FROZEN) $(LIBS) $(MODLIBS) 
$(SYSLIBS) $(LDLAST)

--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue20935
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue20935] Cherry pick CFLAGS, add to flags for $(BUILDPYTHON) Makefile rule

2014-03-15 Thread Brett Cannon

Changes by Brett Cannon br...@python.org:


--
nosy: +brett.cannon

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue20935
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com