summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to '9999/0003-Force-O0-in-conform-tests-to-survive-CC-changes.patch')
-rw-r--r--9999/0003-Force-O0-in-conform-tests-to-survive-CC-changes.patch65
1 files changed, 65 insertions, 0 deletions
diff --git a/9999/0003-Force-O0-in-conform-tests-to-survive-CC-changes.patch b/9999/0003-Force-O0-in-conform-tests-to-survive-CC-changes.patch
new file mode 100644
index 0000000..95fc2c5
--- /dev/null
+++ b/9999/0003-Force-O0-in-conform-tests-to-survive-CC-changes.patch
@@ -0,0 +1,65 @@
+From 68476d32783ea64c21bbd6d166a69fa881a3f22b Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20K=2E=20H=C3=BCttel?= <dilfridge@gentoo.org>
+Date: Fri, 14 Dec 2018 20:43:04 +0100
+Subject: [PATCH 03/12] Force -O0 in conform tests to survive $CC changes
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+In bug #659030 Gentoo started passing user's CFLAGS via $CC variable.
+conform tests should but are not ready to handle -O1/-O2 yet.
+Tests fail to validate headers due to inlining of weak symbol aliases
+and other problems. Let's force it back to -O0 until it's fixed upstream.
+
+Original patch by Sergei, ported to the new python test framework by Andreas
+
+Bug: https://bugs.gentoo.org/659030
+Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
+Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
+---
+ conform/conformtest.py | 6 ++++--
+ conform/linknamespace.py | 4 +++-
+ 2 files changed, 7 insertions(+), 3 deletions(-)
+
+diff --git a/conform/conformtest.py b/conform/conformtest.py
+index 94a7ee110f..90c81ac88e 100644
+--- a/conform/conformtest.py
++++ b/conform/conformtest.py
+@@ -566,7 +566,7 @@ class HeaderTests(object):
+ o_file = os.path.join(self.temp_dir, 'test.o')
+ with open(c_file, 'w') as c_file_out:
+ c_file_out.write('#include <%s>\n%s' % (self.header, text))
+- cmd = ('%s %s -c %s -o %s' % (self.cc, self.cflags, c_file, o_file))
++ cmd = ('%s %s -O0 -c %s -o %s' % (self.cc, self.cflags, c_file, o_file))
+ try:
+ subprocess.check_call(cmd, shell=True)
+ except subprocess.CalledProcessError:
+@@ -620,7 +620,9 @@ class HeaderTests(object):
+ out_file = os.path.join(self.temp_dir, 'namespace-out')
+ with open(c_file, 'w') as c_file_out:
+ c_file_out.write('#include <%s>\n' % self.header)
+- cmd = ('%s %s -E %s -P -Wp,-dN > %s'
++ # -O0 to negate effect of possible -O<N> passed to $CC
++ # See https://bugs.gentoo.org/659030#c6
++ cmd = ('%s -O0 %s -E %s -P -Wp,-dN > %s'
+ % (self.cc, self.cflags_namespace, c_file, out_file))
+ subprocess.check_call(cmd, shell=True)
+ bad_tokens = set()
+diff --git a/conform/linknamespace.py b/conform/linknamespace.py
+index f7fe3a7a0a..ad87fd2a6d 100644
+--- a/conform/linknamespace.py
++++ b/conform/linknamespace.py
+@@ -157,7 +157,9 @@ def main():
+ files_seen = set()
+ all_undef = {}
+ current_undef = {}
+- compiler = '%s %s' % (args.cc, args.flags)
++ # -O0 avoid failures like
++ # '[initial] ptsname_r -> [libc.a(ptsname.o)] ptsname'
++ compiler = '%s %s -O0' % (args.cc, args.flags)
+ c_syms = glibcconform.list_exported_functions(compiler, args.standard,
+ args.header)
+ with tempfile.TemporaryDirectory() as temp_dir:
+--
+2.35.1
+