[pypy-commit] pypy shadowstack-perf-2: Do not add '-flto' if we're translating with asmgcc
arigo
pypy.commits at gmail.com
Sun Mar 5 05:37:08 EST 2017
Author: Armin Rigo <arigo at tunes.org>
Branch: shadowstack-perf-2
Changeset: r90561:88bd58608e5e
Date: 2017-03-05 11:36 +0100
http://bitbucket.org/pypy/pypy/changeset/88bd58608e5e/
Log: Do not add '-flto' if we're translating with asmgcc
diff --git a/rpython/translator/c/genc.py b/rpython/translator/c/genc.py
--- a/rpython/translator/c/genc.py
+++ b/rpython/translator/c/genc.py
@@ -418,7 +418,7 @@
headers_to_precompile=headers_to_precompile,
no_precompile_cfiles = module_files,
shared=self.config.translation.shared,
- icon=self.config.translation.icon)
+ config=self.config)
if self.has_profopt():
profopt = self.config.translation.profopt
diff --git a/rpython/translator/platform/__init__.py b/rpython/translator/platform/__init__.py
--- a/rpython/translator/platform/__init__.py
+++ b/rpython/translator/platform/__init__.py
@@ -102,7 +102,7 @@
def gen_makefile(self, cfiles, eci, exe_name=None, path=None,
shared=False, headers_to_precompile=[],
- no_precompile_cfiles = [], icon=None):
+ no_precompile_cfiles = [], config=None):
raise NotImplementedError("Pure abstract baseclass")
def __repr__(self):
diff --git a/rpython/translator/platform/darwin.py b/rpython/translator/platform/darwin.py
--- a/rpython/translator/platform/darwin.py
+++ b/rpython/translator/platform/darwin.py
@@ -93,7 +93,7 @@
def gen_makefile(self, cfiles, eci, exe_name=None, path=None,
shared=False, headers_to_precompile=[],
- no_precompile_cfiles = [], icon=None):
+ no_precompile_cfiles = [], config=None):
# ensure frameworks are passed in the Makefile
fs = self._frameworks(eci.frameworks)
if len(fs) > 0:
@@ -103,7 +103,7 @@
shared=shared,
headers_to_precompile=headers_to_precompile,
no_precompile_cfiles = no_precompile_cfiles,
- icon=icon)
+ config=config)
return mk
class Darwin_PowerPC(Darwin):#xxx fixme, mwp
diff --git a/rpython/translator/platform/linux.py b/rpython/translator/platform/linux.py
--- a/rpython/translator/platform/linux.py
+++ b/rpython/translator/platform/linux.py
@@ -13,7 +13,7 @@
+ os.environ.get('LDFLAGS', '').split())
extra_libs = ('-lrt',)
cflags = tuple(
- ['-O3', '-pthread', '-fomit-frame-pointer', '-flto',
+ ['-O3', '-pthread', '-fomit-frame-pointer',
'-Wall', '-Wno-unused']
+ os.environ.get('CFLAGS', '').split())
standalone_only = ()
diff --git a/rpython/translator/platform/posix.py b/rpython/translator/platform/posix.py
--- a/rpython/translator/platform/posix.py
+++ b/rpython/translator/platform/posix.py
@@ -102,7 +102,7 @@
def gen_makefile(self, cfiles, eci, exe_name=None, path=None,
shared=False, headers_to_precompile=[],
- no_precompile_cfiles = [], icon=None):
+ no_precompile_cfiles = [], config=None):
cfiles = self._all_cfiles(cfiles, eci)
if path is None:
@@ -132,6 +132,10 @@
else:
cflags = tuple(self.cflags) + tuple(self.standalone_only)
+ # xxx check which compilers accept this option or not
+ if not config or config.translation.gcrootfinder != 'asmgcc':
+ cflags = ('-flto',) + cflags
+
m = GnuMakefile(path)
m.exe_name = path.join(exe_name.basename)
m.eci = eci
diff --git a/rpython/translator/platform/windows.py b/rpython/translator/platform/windows.py
--- a/rpython/translator/platform/windows.py
+++ b/rpython/translator/platform/windows.py
@@ -271,7 +271,7 @@
def gen_makefile(self, cfiles, eci, exe_name=None, path=None,
shared=False, headers_to_precompile=[],
- no_precompile_cfiles = [], icon=None):
+ no_precompile_cfiles = [], config=None):
cfiles = self._all_cfiles(cfiles, eci)
if path is None:
@@ -392,6 +392,7 @@
'/Fo$@ /c $< $(INCLUDEDIRS)'))
+ icon = config.translation.icon if config else None
if icon:
shutil.copyfile(icon, str(path.join('icon.ico')))
rc_file = path.join('icon.rc')
More information about the pypy-commit
mailing list