import clang-8.0.1-1.module+el8.1.0+3866+6be7f4d8
This commit is contained in:
parent
dfa85b67dc
commit
f32d4ad467
@ -1,2 +1,2 @@
|
|||||||
427e12762836d808583fb4149c033d02de0a8db2 SOURCES/cfe-7.0.1.src.tar.xz
|
e1d7f274c4fd623f19255cc52c6d7b39cf8769ee SOURCES/cfe-8.0.1.src.tar.xz
|
||||||
6f4048482c4cf1818133120565c2dcd1d3a62747 SOURCES/clang-tools-extra-7.0.1.src.tar.xz
|
0174e060781fc01e5f97f2ff9b51a03165d7b37a SOURCES/clang-tools-extra-8.0.1.src.tar.xz
|
||||||
|
4
.gitignore
vendored
4
.gitignore
vendored
@ -1,2 +1,2 @@
|
|||||||
SOURCES/cfe-7.0.1.src.tar.xz
|
SOURCES/cfe-8.0.1.src.tar.xz
|
||||||
SOURCES/clang-tools-extra-7.0.1.src.tar.xz
|
SOURCES/clang-tools-extra-8.0.1.src.tar.xz
|
||||||
|
@ -1,52 +0,0 @@
|
|||||||
From a1bccf89a02accab69b359ef004faa95257333c0 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Tom Stellard <tstellar@redhat.com>
|
|
||||||
Date: Fri, 7 Sep 2018 18:27:16 +0000
|
|
||||||
Subject: [PATCH] Convert clang-format-diff.py to python3 using 2to3
|
|
||||||
|
|
||||||
---
|
|
||||||
tools/clang-format/clang-format-diff.py | 10 +++++-----
|
|
||||||
1 file changed, 5 insertions(+), 5 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/tools/clang-format/clang-format-diff.py b/tools/clang-format/clang-format-diff.py
|
|
||||||
index ffa30e70dd..1525a3815c 100755
|
|
||||||
--- a/tools/clang-format/clang-format-diff.py
|
|
||||||
+++ b/tools/clang-format/clang-format-diff.py
|
|
||||||
@@ -1,4 +1,4 @@
|
|
||||||
-#!/usr/bin/env python
|
|
||||||
+#!/usr/bin/python3
|
|
||||||
#
|
|
||||||
#===- clang-format-diff.py - ClangFormat Diff Reformatter ----*- python -*--===#
|
|
||||||
#
|
|
||||||
@@ -27,7 +27,7 @@ import difflib
|
|
||||||
import re
|
|
||||||
import string
|
|
||||||
import subprocess
|
|
||||||
-import StringIO
|
|
||||||
+import io
|
|
||||||
import sys
|
|
||||||
|
|
||||||
|
|
||||||
@@ -89,9 +89,9 @@ def main():
|
|
||||||
['-lines', str(start_line) + ':' + str(end_line)])
|
|
||||||
|
|
||||||
# Reformat files containing changes in place.
|
|
||||||
- for filename, lines in lines_by_file.iteritems():
|
|
||||||
+ for filename, lines in lines_by_file.items():
|
|
||||||
if args.i and args.verbose:
|
|
||||||
- print 'Formatting', filename
|
|
||||||
+ print('Formatting', filename)
|
|
||||||
command = [args.binary, filename]
|
|
||||||
if args.i:
|
|
||||||
command.append('-i')
|
|
||||||
@@ -109,7 +109,7 @@ def main():
|
|
||||||
if not args.i:
|
|
||||||
with open(filename) as f:
|
|
||||||
code = f.readlines()
|
|
||||||
- formatted_code = StringIO.StringIO(stdout).readlines()
|
|
||||||
+ formatted_code = io.StringIO(stdout).readlines()
|
|
||||||
diff = difflib.unified_diff(code, formatted_code,
|
|
||||||
filename, filename,
|
|
||||||
'(before formatting)', '(after formatting)')
|
|
||||||
--
|
|
||||||
2.14.3
|
|
||||||
|
|
@ -1,61 +0,0 @@
|
|||||||
From 6430ef09aecb30bce588c2d7f35b2294d219c835 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Tom Stellard <tstellar@redhat.com>
|
|
||||||
Date: Mon, 26 Nov 2018 19:18:12 -0800
|
|
||||||
Subject: [PATCH] Convert run-find-all-symbols.py to python3 using 2to3
|
|
||||||
|
|
||||||
---
|
|
||||||
include-fixer/find-all-symbols/tool/run-find-all-symbols.py | 10 +++++-----
|
|
||||||
1 file changed, 5 insertions(+), 5 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/include-fixer/find-all-symbols/tool/run-find-all-symbols.py b/include-fixer/find-all-symbols/tool/run-find-all-symbols.py
|
|
||||||
index 461d959..89a6cf5 100755
|
|
||||||
--- a/include-fixer/find-all-symbols/tool/run-find-all-symbols.py
|
|
||||||
+++ b/include-fixer/find-all-symbols/tool/run-find-all-symbols.py
|
|
||||||
@@ -27,7 +27,7 @@ import argparse
|
|
||||||
import json
|
|
||||||
import multiprocessing
|
|
||||||
import os
|
|
||||||
-import Queue
|
|
||||||
+import queue
|
|
||||||
import shutil
|
|
||||||
import subprocess
|
|
||||||
import sys
|
|
||||||
@@ -40,7 +40,7 @@ def find_compilation_database(path):
|
|
||||||
result = './'
|
|
||||||
while not os.path.isfile(os.path.join(result, path)):
|
|
||||||
if os.path.realpath(result) == '/':
|
|
||||||
- print 'Error: could not find compilation database.'
|
|
||||||
+ print('Error: could not find compilation database.')
|
|
||||||
sys.exit(1)
|
|
||||||
result += '../'
|
|
||||||
return os.path.realpath(result)
|
|
||||||
@@ -50,7 +50,7 @@ def MergeSymbols(directory, args):
|
|
||||||
"""Merge all symbol files (yaml) in a given directaory into a single file."""
|
|
||||||
invocation = [args.binary, '-merge-dir='+directory, args.saving_path]
|
|
||||||
subprocess.call(invocation)
|
|
||||||
- print 'Merge is finished. Saving results in ' + args.saving_path
|
|
||||||
+ print('Merge is finished. Saving results in ' + args.saving_path)
|
|
||||||
|
|
||||||
|
|
||||||
def run_find_all_symbols(args, tmpdir, build_path, queue):
|
|
||||||
@@ -96,7 +96,7 @@ def main():
|
|
||||||
|
|
||||||
try:
|
|
||||||
# Spin up a bunch of tidy-launching threads.
|
|
||||||
- queue = Queue.Queue(max_task)
|
|
||||||
+ queue = queue.Queue(max_task)
|
|
||||||
for _ in range(max_task):
|
|
||||||
t = threading.Thread(target=run_find_all_symbols,
|
|
||||||
args=(args, tmpdir, build_path, queue))
|
|
||||||
@@ -116,7 +116,7 @@ def main():
|
|
||||||
except KeyboardInterrupt:
|
|
||||||
# This is a sad hack. Unfortunately subprocess goes
|
|
||||||
# bonkers with ctrl-c and we start forking merrily.
|
|
||||||
- print '\nCtrl-C detected, goodbye.'
|
|
||||||
+ print('\nCtrl-C detected, goodbye.')
|
|
||||||
os.kill(0, 9)
|
|
||||||
|
|
||||||
|
|
||||||
--
|
|
||||||
1.8.3.1
|
|
||||||
|
|
@ -1,93 +0,0 @@
|
|||||||
From c760f8d703af0c67774681b5a259d5dd3a1e5a77 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Tom Stellard <tstellar@redhat.com>
|
|
||||||
Date: Wed, 19 Sep 2018 08:53:10 -0700
|
|
||||||
Subject: [PATCH] Convert scan-view to python3 using 2to3
|
|
||||||
|
|
||||||
---
|
|
||||||
tools/scan-view/bin/scan-view | 24 ++++++++++++------------
|
|
||||||
1 file changed, 12 insertions(+), 12 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/tools/scan-view/bin/scan-view b/tools/scan-view/bin/scan-view
|
|
||||||
index 1b6e8ba..ca3dac5 100755
|
|
||||||
--- a/tools/scan-view/bin/scan-view
|
|
||||||
+++ b/tools/scan-view/bin/scan-view
|
|
||||||
@@ -7,9 +7,9 @@ import sys
|
|
||||||
import imp
|
|
||||||
import os
|
|
||||||
import posixpath
|
|
||||||
-import thread
|
|
||||||
+import _thread
|
|
||||||
import time
|
|
||||||
-import urllib
|
|
||||||
+import urllib.request, urllib.parse, urllib.error
|
|
||||||
import webbrowser
|
|
||||||
|
|
||||||
# How long to wait for server to start.
|
|
||||||
@@ -27,7 +27,7 @@ kMaxPortsToTry = 100
|
|
||||||
|
|
||||||
def url_is_up(url):
|
|
||||||
try:
|
|
||||||
- o = urllib.urlopen(url)
|
|
||||||
+ o = urllib.request.urlopen(url)
|
|
||||||
except IOError:
|
|
||||||
return False
|
|
||||||
o.close()
|
|
||||||
@@ -35,7 +35,7 @@ def url_is_up(url):
|
|
||||||
|
|
||||||
|
|
||||||
def start_browser(port, options):
|
|
||||||
- import urllib
|
|
||||||
+ import urllib.request, urllib.parse, urllib.error
|
|
||||||
import webbrowser
|
|
||||||
|
|
||||||
url = 'http://%s:%d' % (options.host, port)
|
|
||||||
@@ -52,10 +52,10 @@ def start_browser(port, options):
|
|
||||||
sys.stderr.flush()
|
|
||||||
time.sleep(kSleepTimeout)
|
|
||||||
else:
|
|
||||||
- print >> sys.stderr, 'WARNING: Unable to detect that server started.'
|
|
||||||
+ print('WARNING: Unable to detect that server started.', file=sys.stderr)
|
|
||||||
|
|
||||||
if options.debug:
|
|
||||||
- print >> sys.stderr, '%s: Starting webbrowser...' % sys.argv[0]
|
|
||||||
+ print('%s: Starting webbrowser...' % sys.argv[0], file=sys.stderr)
|
|
||||||
webbrowser.open(url)
|
|
||||||
|
|
||||||
|
|
||||||
@@ -69,9 +69,9 @@ def run(port, options, root):
|
|
||||||
|
|
||||||
import ScanView
|
|
||||||
try:
|
|
||||||
- print 'Starting scan-view at: http://%s:%d' % (options.host,
|
|
||||||
- port)
|
|
||||||
- print ' Use Ctrl-C to exit.'
|
|
||||||
+ print('Starting scan-view at: http://%s:%d' % (options.host,
|
|
||||||
+ port))
|
|
||||||
+ print(' Use Ctrl-C to exit.')
|
|
||||||
httpd = ScanView.create_server((options.host, port),
|
|
||||||
options, root)
|
|
||||||
httpd.serve_forever()
|
|
||||||
@@ -80,9 +80,9 @@ def run(port, options, root):
|
|
||||||
|
|
||||||
|
|
||||||
def port_is_open(port):
|
|
||||||
- import SocketServer
|
|
||||||
+ import socketserver
|
|
||||||
try:
|
|
||||||
- t = SocketServer.TCPServer((kDefaultHost, port), None)
|
|
||||||
+ t = socketserver.TCPServer((kDefaultHost, port), None)
|
|
||||||
except:
|
|
||||||
return False
|
|
||||||
t.server_close()
|
|
||||||
@@ -135,7 +135,7 @@ def main():
|
|
||||||
# Kick off thread to wait for server and start web browser, if
|
|
||||||
# requested.
|
|
||||||
if args.startBrowser:
|
|
||||||
- t = thread.start_new_thread(start_browser, (port, args))
|
|
||||||
+ t = _thread.start_new_thread(start_browser, (port, args))
|
|
||||||
|
|
||||||
run(port, args, args.root)
|
|
||||||
|
|
||||||
--
|
|
||||||
1.8.3.1
|
|
||||||
|
|
@ -1,24 +0,0 @@
|
|||||||
From 3f9cebe235dac01f22c8edd84a2d5d075cb90a17 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Tom Stellard <tstellar@redhat.com>
|
|
||||||
Date: Wed, 5 Sep 2018 21:43:42 -0700
|
|
||||||
Subject: [PATCH] Don't prefer python2.7
|
|
||||||
|
|
||||||
---
|
|
||||||
CMakeLists.txt | 1 -
|
|
||||||
1 file changed, 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
|
||||||
index d4f67f1..f82de1e 100644
|
|
||||||
--- a/CMakeLists.txt
|
|
||||||
+++ b/CMakeLists.txt
|
|
||||||
@@ -109,7 +109,6 @@ if( CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR )
|
|
||||||
set( CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX} )
|
|
||||||
|
|
||||||
if(LLVM_INCLUDE_TESTS)
|
|
||||||
- set(Python_ADDITIONAL_VERSIONS 2.7)
|
|
||||||
include(FindPythonInterp)
|
|
||||||
if(NOT PYTHONINTERP_FOUND)
|
|
||||||
message(FATAL_ERROR
|
|
||||||
--
|
|
||||||
1.8.3.1
|
|
||||||
|
|
@ -23,65 +23,65 @@ Differential Revision: https://reviews.llvm.org/D42608
|
|||||||
1 file changed, 24 insertions(+), 23 deletions(-)
|
1 file changed, 24 insertions(+), 23 deletions(-)
|
||||||
|
|
||||||
diff --git a/lib/Driver/ToolChains/Gnu.cpp b/lib/Driver/ToolChains/Gnu.cpp
|
diff --git a/lib/Driver/ToolChains/Gnu.cpp b/lib/Driver/ToolChains/Gnu.cpp
|
||||||
index 3755673..5a49a6e 100644
|
|
||||||
--- a/lib/Driver/ToolChains/Gnu.cpp
|
--- a/lib/Driver/ToolChains/Gnu.cpp
|
||||||
+++ b/lib/Driver/ToolChains/Gnu.cpp
|
+++ b/lib/Driver/ToolChains/Gnu.cpp
|
||||||
@@ -1811,18 +1811,19 @@ void Generic_GCC::GCCInstallationDetector::AddDefaultGCCPrefixes(
|
@@ -1870,8 +1870,8 @@
|
||||||
// lifetime or initialization issues.
|
// lifetime or initialization issues.
|
||||||
static const char *const AArch64LibDirs[] = {"/lib64", "/lib"};
|
static const char *const AArch64LibDirs[] = {"/lib64", "/lib"};
|
||||||
static const char *const AArch64Triples[] = {
|
static const char *const AArch64Triples[] = {
|
||||||
- "aarch64-none-linux-gnu", "aarch64-linux-gnu", "aarch64-redhat-linux",
|
- "aarch64-none-linux-gnu", "aarch64-linux-gnu", "aarch64-redhat-linux",
|
||||||
- "aarch64-suse-linux"};
|
- "aarch64-suse-linux", "aarch64-linux-android"};
|
||||||
+ "aarch64-redhat-linux", "aarch64-suse-linux",
|
+ "aarch64-redhat-linux", "aarch64-suse-linux", "aarch64-linux-android",
|
||||||
+ "aarch64-none-linux-gnu", "aarch64-linux-gnu"};
|
+ "aarch64-none-linux-gnu", "aarch64-linux-gnu"};
|
||||||
static const char *const AArch64beLibDirs[] = {"/lib"};
|
static const char *const AArch64beLibDirs[] = {"/lib"};
|
||||||
static const char *const AArch64beTriples[] = {"aarch64_be-none-linux-gnu",
|
static const char *const AArch64beTriples[] = {"aarch64_be-none-linux-gnu",
|
||||||
"aarch64_be-linux-gnu"};
|
"aarch64_be-linux-gnu"};
|
||||||
|
@@ -1879,31 +1879,34 @@
|
||||||
static const char *const ARMLibDirs[] = {"/lib"};
|
static const char *const ARMLibDirs[] = {"/lib"};
|
||||||
static const char *const ARMTriples[] = {"arm-linux-gnueabi"};
|
static const char *const ARMTriples[] = {"arm-linux-gnueabi",
|
||||||
|
"arm-linux-androideabi"};
|
||||||
- static const char *const ARMHFTriples[] = {"arm-linux-gnueabihf",
|
- static const char *const ARMHFTriples[] = {"arm-linux-gnueabihf",
|
||||||
- "armv7hl-redhat-linux-gnueabi",
|
- "armv7hl-redhat-linux-gnueabi",
|
||||||
+ static const char *const ARMHFTriples[] = {"armv7hl-redhat-linux-gnueabi",
|
+ static const char *const ARMHFTriples[] = {"armv7hl-redhat-linux-gnueabi",
|
||||||
"armv6hl-suse-linux-gnueabi",
|
"armv6hl-suse-linux-gnueabi",
|
||||||
- "armv7hl-suse-linux-gnueabi"};
|
- "armv7hl-suse-linux-gnueabi"};
|
||||||
+ "armv7hl-suse-linux-gnueabi",
|
+ "armv7hl-suse-linux-gnueabi",
|
||||||
+ "arm-linux-gnueabihf",
|
+ "arm-linux-gnueabihf"};
|
||||||
+ };
|
|
||||||
static const char *const ARMebLibDirs[] = {"/lib"};
|
static const char *const ARMebLibDirs[] = {"/lib"};
|
||||||
static const char *const ARMebTriples[] = {"armeb-linux-gnueabi"};
|
static const char *const ARMebTriples[] = {"armeb-linux-gnueabi",
|
||||||
|
"armeb-linux-androideabi"};
|
||||||
static const char *const ARMebHFTriples[] = {
|
static const char *const ARMebHFTriples[] = {
|
||||||
@@ -1830,19 +1831,19 @@ void Generic_GCC::GCCInstallationDetector::AddDefaultGCCPrefixes(
|
- "armeb-linux-gnueabihf", "armebv7hl-redhat-linux-gnueabi"};
|
||||||
|
+ "armebv7hl-redhat-linux-gnueabi", "armeb-linux-gnueabihf"};
|
||||||
|
|
||||||
static const char *const X86_64LibDirs[] = {"/lib64", "/lib"};
|
static const char *const X86_64LibDirs[] = {"/lib64", "/lib"};
|
||||||
static const char *const X86_64Triples[] = {
|
static const char *const X86_64Triples[] = {
|
||||||
- "x86_64-linux-gnu", "x86_64-unknown-linux-gnu",
|
- "x86_64-linux-gnu", "x86_64-unknown-linux-gnu",
|
||||||
- "x86_64-pc-linux-gnu", "x86_64-redhat-linux6E",
|
- "x86_64-pc-linux-gnu", "x86_64-redhat-linux6E",
|
||||||
- "x86_64-redhat-linux", "x86_64-suse-linux",
|
+ "x86_64-redhat-linux6E",
|
||||||
- "x86_64-manbo-linux-gnu", "x86_64-linux-gnu",
|
"x86_64-redhat-linux", "x86_64-suse-linux",
|
||||||
- "x86_64-slackware-linux", "x86_64-unknown-linux",
|
"x86_64-manbo-linux-gnu", "x86_64-linux-gnu",
|
||||||
- "x86_64-amazon-linux"};
|
"x86_64-slackware-linux", "x86_64-unknown-linux",
|
||||||
+ "x86_64-redhat-linux6E", "x86_64-redhat-linux",
|
- "x86_64-amazon-linux", "x86_64-linux-android"};
|
||||||
+ "x86_64-suse-linux", "x86_64-slackware-linux",
|
+ "x86_64-amazon-linux", "x86_64-linux-android",
|
||||||
+ "x86_64-manbo-linux-gnu", "x86_64-amazon-linux",
|
+ "x86_64-linux-gnu", "x86_64-unknown-linux-gnu",
|
||||||
+ "x86_64-linux-gnu", "x86_64-unknown-linux-gnu",
|
+ "x86_64-pc-linux-gnu"
|
||||||
+ "x86_64-pc-linux-gnu", "x86_64-linux-gnu",
|
+ };
|
||||||
+ "x86_64-unknown-linux"};
|
|
||||||
static const char *const X32LibDirs[] = {"/libx32"};
|
static const char *const X32LibDirs[] = {"/libx32"};
|
||||||
static const char *const X86LibDirs[] = {"/lib32", "/lib"};
|
static const char *const X86LibDirs[] = {"/lib32", "/lib"};
|
||||||
static const char *const X86Triples[] = {
|
static const char *const X86Triples[] = {
|
||||||
- "i686-linux-gnu", "i686-pc-linux-gnu", "i486-linux-gnu",
|
- "i686-linux-gnu", "i686-pc-linux-gnu", "i486-linux-gnu",
|
||||||
- "i386-linux-gnu", "i386-redhat-linux6E", "i686-redhat-linux",
|
- "i386-linux-gnu", "i386-redhat-linux6E", "i686-redhat-linux",
|
||||||
- "i586-redhat-linux", "i386-redhat-linux", "i586-suse-linux",
|
+ "i386-redhat-linux6E", "i686-redhat-linux",
|
||||||
- "i486-slackware-linux", "i686-montavista-linux", "i586-linux-gnu"};
|
"i586-redhat-linux", "i386-redhat-linux", "i586-suse-linux",
|
||||||
+ "i386-redhat-linux6E", "i686-redhat-linux", "i586-redhat-linux",
|
- "i486-slackware-linux", "i686-montavista-linux", "i586-linux-gnu",
|
||||||
+ "i386-redhat-linux", "i586-suse-linux", "i486-slackware-linux",
|
+ "i486-slackware-linux", "i686-montavista-linux",
|
||||||
+ "i686-montavista-linux", "i686-linux-gnu", "i686-pc-linux-gnu",
|
+ "i686-linux-gnu", "i686-pc-linux-gnu", "i486-linux-gnu",
|
||||||
+ "i486-linux-gnu", "i386-linux-gnu", "i586-linux-gnu"};
|
+ "i386-linux-gnu", "i586-linux-gnu",
|
||||||
|
"i686-linux-android", "i386-gnu", "i486-gnu",
|
||||||
|
"i586-gnu", "i686-gnu"};
|
||||||
|
|
||||||
static const char *const MIPSLibDirs[] = {"/lib"};
|
@@ -1940,16 +1943,16 @@
|
||||||
static const char *const MIPSTriples[] = {"mips-linux-gnu", "mips-mti-linux",
|
|
||||||
@@ -1864,16 +1865,16 @@ void Generic_GCC::GCCInstallationDetector::AddDefaultGCCPrefixes(
|
|
||||||
|
|
||||||
static const char *const PPCLibDirs[] = {"/lib32", "/lib"};
|
static const char *const PPCLibDirs[] = {"/lib32", "/lib"};
|
||||||
static const char *const PPCTriples[] = {
|
static const char *const PPCTriples[] = {
|
||||||
@ -104,7 +104,7 @@ index 3755673..5a49a6e 100644
|
|||||||
|
|
||||||
static const char *const RISCV32LibDirs[] = {"/lib", "/lib32"};
|
static const char *const RISCV32LibDirs[] = {"/lib", "/lib32"};
|
||||||
static const char *const RISCVTriples[] = {"riscv32-unknown-linux-gnu",
|
static const char *const RISCVTriples[] = {"riscv32-unknown-linux-gnu",
|
||||||
@@ -1889,8 +1890,8 @@ void Generic_GCC::GCCInstallationDetector::AddDefaultGCCPrefixes(
|
@@ -1965,8 +1968,8 @@
|
||||||
|
|
||||||
static const char *const SystemZLibDirs[] = {"/lib64", "/lib"};
|
static const char *const SystemZLibDirs[] = {"/lib64", "/lib"};
|
||||||
static const char *const SystemZTriples[] = {
|
static const char *const SystemZTriples[] = {
|
||||||
|
38
SOURCES/0001-Fix-uninitialized-value-in-ABIArgInfo.patch
Normal file
38
SOURCES/0001-Fix-uninitialized-value-in-ABIArgInfo.patch
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
From 565b9633ee68b311c1a954022869d9e99fee7286 Mon Sep 17 00:00:00 2001
|
||||||
|
From: serge-sans-paille <sguelton@redhat.com>
|
||||||
|
Date: Fri, 1 Feb 2019 06:39:13 +0000
|
||||||
|
Subject: [PATCH] Fix uninitialized value in ABIArgInfo
|
||||||
|
|
||||||
|
GCC-9 takes advantage of this uninitialized values to optimize stuff,
|
||||||
|
which ends up in failing validation when compiling clang.
|
||||||
|
---
|
||||||
|
include/clang/CodeGen/CGFunctionInfo.h | 11 +++++------
|
||||||
|
1 file changed, 5 insertions(+), 6 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/include/clang/CodeGen/CGFunctionInfo.h b/include/clang/CodeGen/CGFunctionInfo.h
|
||||||
|
index cf64e9f3ee..131eb38393 100644
|
||||||
|
--- a/include/clang/CodeGen/CGFunctionInfo.h
|
||||||
|
+++ b/include/clang/CodeGen/CGFunctionInfo.h
|
||||||
|
@@ -112,14 +112,13 @@ private:
|
||||||
|
}
|
||||||
|
|
||||||
|
ABIArgInfo(Kind K)
|
||||||
|
- : TheKind(K), PaddingInReg(false), InReg(false), SuppressSRet(false) {
|
||||||
|
- }
|
||||||
|
+ : TypeData(nullptr), PaddingType(nullptr), DirectOffset(0),
|
||||||
|
+ TheKind(K), PaddingInReg(false), InAllocaSRet(false), IndirectByVal(false),
|
||||||
|
+ IndirectRealign(false), SRetAfterThis(false), InReg(false),
|
||||||
|
+ CanBeFlattened(false), SignExt(false), SuppressSRet(false) {}
|
||||||
|
|
||||||
|
public:
|
||||||
|
- ABIArgInfo()
|
||||||
|
- : TypeData(nullptr), PaddingType(nullptr), DirectOffset(0),
|
||||||
|
- TheKind(Direct), PaddingInReg(false), InReg(false),
|
||||||
|
- SuppressSRet(false) {}
|
||||||
|
+ ABIArgInfo() : ABIArgInfo(Direct) {}
|
||||||
|
|
||||||
|
static ABIArgInfo getDirect(llvm::Type *T = nullptr, unsigned Offset = 0,
|
||||||
|
llvm::Type *Padding = nullptr,
|
||||||
|
--
|
||||||
|
2.19.2
|
||||||
|
|
@ -1,42 +0,0 @@
|
|||||||
From 428ca4520a79ec5a6df9c6adc8b8069623868cdb Mon Sep 17 00:00:00 2001
|
|
||||||
From: Tom Stellard <tstellar@redhat.com>
|
|
||||||
Date: Fri, 26 Jan 2018 11:38:04 -0800
|
|
||||||
Subject: [PATCH] GCC compatibility: Ignore -fstack-clash-protection
|
|
||||||
|
|
||||||
Reviewers: sylvestre.ledru
|
|
||||||
|
|
||||||
Subscribers: cfe-commits
|
|
||||||
|
|
||||||
Differential Revision: https://reviews.llvm.org/D42593
|
|
||||||
---
|
|
||||||
include/clang/Driver/Options.td | 1 +
|
|
||||||
test/Driver/clang_f_opts.c | 1 +
|
|
||||||
2 files changed, 2 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/include/clang/Driver/Options.td b/include/clang/Driver/Options.td
|
|
||||||
index 41f31cf..e9078a2 100644
|
|
||||||
--- a/include/clang/Driver/Options.td
|
|
||||||
+++ b/include/clang/Driver/Options.td
|
|
||||||
@@ -2705,6 +2705,7 @@ defm single_precision_constant : BooleanFFlag<"single-precision-constant">,
|
|
||||||
Group<clang_ignored_gcc_optimization_f_Group>;
|
|
||||||
defm spec_constr_count : BooleanFFlag<"spec-constr-count">, Group<clang_ignored_f_Group>;
|
|
||||||
defm stack_check : BooleanFFlag<"stack-check">, Group<clang_ignored_f_Group>;
|
|
||||||
+defm stack_clash_protection : BooleanFFlag<"stack-clash-protection">, Group<clang_ignored_f_Group>;
|
|
||||||
defm strength_reduce :
|
|
||||||
BooleanFFlag<"strength-reduce">, Group<clang_ignored_gcc_optimization_f_Group>;
|
|
||||||
defm tls_model : BooleanFFlag<"tls-model">, Group<clang_ignored_f_Group>;
|
|
||||||
diff --git a/test/Driver/clang_f_opts.c b/test/Driver/clang_f_opts.c
|
|
||||||
index 5755c5d..8710ff4 100644
|
|
||||||
--- a/test/Driver/clang_f_opts.c
|
|
||||||
+++ b/test/Driver/clang_f_opts.c
|
|
||||||
@@ -284,6 +284,7 @@
|
|
||||||
// RUN: -ffriend-injection \
|
|
||||||
// RUN: -fno-implement-inlines -fimplement-inlines \
|
|
||||||
// RUN: -fstack-check \
|
|
||||||
+// RUN: -fstack-clash-protection \
|
|
||||||
// RUN: -fforce-addr \
|
|
||||||
// RUN: -malign-functions=100 \
|
|
||||||
// RUN: -malign-loops=100 \
|
|
||||||
--
|
|
||||||
1.8.3.1
|
|
||||||
|
|
@ -0,0 +1,50 @@
|
|||||||
|
From 09ae3ef5710a89505318ec721c65b6c838147276 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Tom Stellard <tstellar@redhat.com>
|
||||||
|
Date: Thu, 7 Feb 2019 21:05:37 -0800
|
||||||
|
Subject: [PATCH] ToolChain: Add -lgcc_s to the linker flags when using libc++
|
||||||
|
|
||||||
|
The libc++ build for Fedora does not include an implementation of
|
||||||
|
libunwind, so we need to explicitly link against something that
|
||||||
|
provides this implementation.
|
||||||
|
---
|
||||||
|
clang/lib/Driver/ToolChain.cpp | 1 +
|
||||||
|
clang/test/Driver/netbsd.cpp | 4 ++--
|
||||||
|
2 files changed, 3 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/lib/Driver/ToolChain.cpp b/lib/Driver/ToolChain.cpp
|
||||||
|
index 88a627e..cb99844 100644
|
||||||
|
--- a/lib/Driver/ToolChain.cpp
|
||||||
|
+++ b/lib/Driver/ToolChain.cpp
|
||||||
|
@@ -767,6 +767,7 @@ void ToolChain::AddCXXStdlibLibArgs(const ArgList &Args,
|
||||||
|
switch (Type) {
|
||||||
|
case ToolChain::CST_Libcxx:
|
||||||
|
CmdArgs.push_back("-lc++");
|
||||||
|
+ CmdArgs.push_back("-lgcc_s");
|
||||||
|
break;
|
||||||
|
|
||||||
|
case ToolChain::CST_Libstdcxx:
|
||||||
|
diff --git a/test/Driver/netbsd.cpp b/test/Driver/netbsd.cpp
|
||||||
|
index 4af7d83..ff18c62 100644
|
||||||
|
--- a/test/Driver/netbsd.cpp
|
||||||
|
+++ b/test/Driver/netbsd.cpp
|
||||||
|
@@ -131,7 +131,7 @@
|
||||||
|
// ARM-7: clang{{.*}}" "-cc1" "-triple" "armv5e-unknown-netbsd7.0.0-eabi"
|
||||||
|
// ARM-7: ld{{.*}}" "--eh-frame-hdr" "-dynamic-linker" "/libexec/ld.elf_so"
|
||||||
|
// ARM-7: "-o" "a.out" "{{.*}}/usr/lib{{/|\\\\}}crt0.o" "{{.*}}/usr/lib{{/|\\\\}}eabi{{/|\\\\}}crti.o"
|
||||||
|
-// ARM-7: "{{.*}}/usr/lib{{/|\\\\}}crtbegin.o" "{{.*}}.o" "-lc++" "-lm" "-lc"
|
||||||
|
+// ARM-7: "{{.*}}/usr/lib{{/|\\\\}}crtbegin.o" "{{.*}}.o" "-lc++" "-lgcc_s" "-lm" "-lc"
|
||||||
|
// ARM-7: "{{.*}}/usr/lib{{/|\\\\}}crtend.o" "{{.*}}/usr/lib{{/|\\\\}}crtn.o"
|
||||||
|
|
||||||
|
// AARCH64: clang{{.*}}" "-cc1" "-triple" "aarch64-unknown-netbsd"
|
||||||
|
@@ -250,7 +250,7 @@
|
||||||
|
// S-ARM-7: clang{{.*}}" "-cc1" "-triple" "armv5e-unknown-netbsd7.0.0-eabi"
|
||||||
|
// S-ARM-7: ld{{.*}}" "--eh-frame-hdr" "-Bstatic"
|
||||||
|
// S-ARM-7: "-o" "a.out" "{{.*}}/usr/lib{{/|\\\\}}crt0.o" "{{.*}}/usr/lib{{/|\\\\}}eabi{{/|\\\\}}crti.o"
|
||||||
|
-// S-ARM-7: "{{.*}}/usr/lib{{/|\\\\}}crtbegin.o" "{{.*}}.o" "-lc++" "-lm" "-lc"
|
||||||
|
+// S-ARM-7: "{{.*}}/usr/lib{{/|\\\\}}crtbegin.o" "{{.*}}.o" "-lc++" "-lgcc_s" "-lm" "-lc"
|
||||||
|
// S-ARM-7: "{{.*}}/usr/lib{{/|\\\\}}crtend.o" "{{.*}}/usr/lib{{/|\\\\}}crtn.o"
|
||||||
|
|
||||||
|
// S-AARCH64: clang{{.*}}" "-cc1" "-triple" "aarch64-unknown-netbsd"
|
||||||
|
--
|
||||||
|
1.8.3.1
|
||||||
|
|
@ -1,27 +0,0 @@
|
|||||||
From 06cde370a44393d65bae7f61279900b5838b4a2c Mon Sep 17 00:00:00 2001
|
|
||||||
From: Tom Stellard <tstellar@redhat.com>
|
|
||||||
Date: Tue, 23 Jan 2018 18:59:20 -0800
|
|
||||||
Subject: [PATCH] lit.cfg: Add hack so lit can find not and FileCheck
|
|
||||||
|
|
||||||
---
|
|
||||||
test/lit.cfg.py | 3 +++
|
|
||||||
1 file changed, 3 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/test/lit.cfg.py b/test/lit.cfg.py
|
|
||||||
index 5323cfe..5b4184e 100644
|
|
||||||
--- a/test/lit.cfg.py
|
|
||||||
+++ b/test/lit.cfg.py
|
|
||||||
@@ -39,7 +39,10 @@ config.test_source_root = os.path.dirname(__file__)
|
|
||||||
# test_exec_root: The root path where tests should be run.
|
|
||||||
config.test_exec_root = os.path.join(config.clang_obj_root, 'test')
|
|
||||||
|
|
||||||
+old_llvm_tools_dir = llvm_config.config.llvm_tools_dir
|
|
||||||
+llvm_config.config.llvm_tools_dir = '/usr/lib@FEDORA_LLVM_LIB_SUFFIX@/llvm'
|
|
||||||
llvm_config.use_default_substitutions()
|
|
||||||
+llvm_config.config.llvm_tools_dir = old_llvm_tools_dir
|
|
||||||
|
|
||||||
llvm_config.use_clang()
|
|
||||||
|
|
||||||
--
|
|
||||||
1.8.3.1
|
|
||||||
|
|
@ -1,17 +1,17 @@
|
|||||||
From 3b2afecc227d652f84f883d4018d43971de6a311 Mon Sep 17 00:00:00 2001
|
From 1f26a0284925859b72ee520ce74452d77d822409 Mon Sep 17 00:00:00 2001
|
||||||
From: Tom Stellard <tstellar@redhat.com>
|
From: serge-sans-paille <sguelton@redhat.com>
|
||||||
Date: Wed, 21 Mar 2018 07:17:00 -0700
|
Date: Mon, 28 Jan 2019 19:12:27 +0000
|
||||||
Subject: [PATCH] gtest reorg
|
Subject: [PATCH 2/2] [PATCH] gtest reorg
|
||||||
|
|
||||||
---
|
---
|
||||||
CMakeLists.txt | 12 +++++-------
|
CMakeLists.txt | 12 +++++-------
|
||||||
1 file changed, 5 insertions(+), 7 deletions(-)
|
1 file changed, 5 insertions(+), 7 deletions(-)
|
||||||
|
|
||||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||||
index 2eee8e6..01d290f 100644
|
index c2016a45ca..48ea3c3bb9 100644
|
||||||
--- a/CMakeLists.txt
|
--- a/CMakeLists.txt
|
||||||
+++ b/CMakeLists.txt
|
+++ b/CMakeLists.txt
|
||||||
@@ -142,12 +142,6 @@ Please install Python or specify the PYTHON_EXECUTABLE CMake variable.")
|
@@ -157,12 +157,6 @@ Please install Python or specify the PYTHON_EXECUTABLE CMake variable.")
|
||||||
set(LLVM_UTILS_PROVIDED ON)
|
set(LLVM_UTILS_PROVIDED ON)
|
||||||
set(CLANG_TEST_DEPS FileCheck count not)
|
set(CLANG_TEST_DEPS FileCheck count not)
|
||||||
endif()
|
endif()
|
||||||
@ -24,7 +24,7 @@ index 2eee8e6..01d290f 100644
|
|||||||
else()
|
else()
|
||||||
# Seek installed Lit.
|
# Seek installed Lit.
|
||||||
find_program(LLVM_LIT
|
find_program(LLVM_LIT
|
||||||
@@ -477,7 +471,11 @@ endif()
|
@@ -507,7 +501,11 @@ endif()
|
||||||
|
|
||||||
|
|
||||||
if( CLANG_INCLUDE_TESTS )
|
if( CLANG_INCLUDE_TESTS )
|
||||||
@ -38,5 +38,5 @@ index 2eee8e6..01d290f 100644
|
|||||||
list(APPEND CLANG_TEST_DEPS ClangUnitTests)
|
list(APPEND CLANG_TEST_DEPS ClangUnitTests)
|
||||||
list(APPEND CLANG_TEST_PARAMS
|
list(APPEND CLANG_TEST_PARAMS
|
||||||
--
|
--
|
||||||
1.8.3.1
|
2.19.2
|
||||||
|
|
272
SPECS/clang.spec
272
SPECS/clang.spec
@ -1,6 +1,13 @@
|
|||||||
%global maj_ver 7
|
%global maj_ver 8
|
||||||
%global min_ver 0
|
%global min_ver 0
|
||||||
%global patch_ver 1
|
%global patch_ver 1
|
||||||
|
#%%global rc_ver 2
|
||||||
|
|
||||||
|
#i686 disabled because llvm-test is not built for this target
|
||||||
|
# other targets disables because of failing tests
|
||||||
|
%ifnarch s390x i686 ppc64le %{arm}
|
||||||
|
%global enable_test_pkg 1
|
||||||
|
%endif
|
||||||
|
|
||||||
%global clang_tools_binaries \
|
%global clang_tools_binaries \
|
||||||
%{_bindir}/clangd \
|
%{_bindir}/clangd \
|
||||||
@ -17,71 +24,100 @@
|
|||||||
%{_bindir}/clang \
|
%{_bindir}/clang \
|
||||||
%{_bindir}/clang++ \
|
%{_bindir}/clang++ \
|
||||||
%{_bindir}/clang-%{maj_ver} \
|
%{_bindir}/clang-%{maj_ver} \
|
||||||
|
%{_bindir}/clang++-%{maj_ver} \
|
||||||
%{_bindir}/clang-check \
|
%{_bindir}/clang-check \
|
||||||
%{_bindir}/clang-cl \
|
%{_bindir}/clang-cl \
|
||||||
%{_bindir}/clang-cpp \
|
%{_bindir}/clang-cpp \
|
||||||
|
%{_bindir}/clang-extdef-mapping \
|
||||||
%{_bindir}/clang-format \
|
%{_bindir}/clang-format \
|
||||||
%{_bindir}/clang-func-mapping \
|
|
||||||
%{_bindir}/clang-import-test \
|
%{_bindir}/clang-import-test \
|
||||||
%{_bindir}/clang-offload-bundler \
|
%{_bindir}/clang-offload-bundler \
|
||||||
%{_bindir}/diagtool \
|
%{_bindir}/diagtool \
|
||||||
%{_bindir}/hmaptool
|
%{_bindir}/hmaptool
|
||||||
|
|
||||||
|
%global pkg_name clang
|
||||||
|
%global install_prefix /usr
|
||||||
|
|
||||||
%if 0%{?fedora} || 0%{?rhel} > 7
|
%if 0%{?fedora} || 0%{?rhel} > 7
|
||||||
%bcond_without python3
|
%bcond_without python3
|
||||||
%else
|
%else
|
||||||
%bcond_with python3
|
%bcond_with python3
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%global build_install_prefix %{buildroot}%{install_prefix}
|
||||||
%ifarch ppc64le
|
%ifarch ppc64le
|
||||||
# Too many threads on 32 core ppc64 systems causes OOM errors.
|
# Too many threads on 32 core ppc64 systems causes OOM errors.
|
||||||
%global _smp_mflags -j8
|
%global _smp_mflags -j8
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
Name: clang
|
%global clang_srcdir cfe-%{version}%{?rc_ver:rc%{rc_ver}}.src
|
||||||
|
%global clang_tools_srcdir clang-tools-extra-%{version}%{?rc_ver:rc%{rc_ver}}.src
|
||||||
|
|
||||||
|
Name: %pkg_name
|
||||||
Version: %{maj_ver}.%{min_ver}.%{patch_ver}
|
Version: %{maj_ver}.%{min_ver}.%{patch_ver}
|
||||||
Release: 1%{?dist}
|
Release: 1%{?rc_ver:.rc%{rc_ver}}%{?dist}
|
||||||
Summary: A C language family front-end for LLVM
|
Summary: A C language family front-end for LLVM
|
||||||
|
|
||||||
License: NCSA
|
License: NCSA
|
||||||
URL: http://llvm.org
|
URL: http://llvm.org
|
||||||
Source0: http://llvm.org/releases/%{version}/cfe-%{version}%{?rc_ver:rc%{rc_ver}}.src.tar.xz
|
Source0: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}%{?rc_ver:-%{rc_ver}}/%{clang_srcdir}.tar.xz
|
||||||
Source1: http://llvm.org/releases/%{version}/clang-tools-extra-%{version}%{?rc_ver:rc%{rc_ver}}.src.tar.xz
|
%if !0%{?compat_build}
|
||||||
|
Source1: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}%{?rc_ver:-%{rc_ver}}/%{clang_tools_srcdir}.tar.xz
|
||||||
|
%endif
|
||||||
|
|
||||||
Patch0: 0001-lit.cfg-Add-hack-so-lit-can-find-not-and-FileCheck.patch
|
Patch3: 0001-Driver-Prefer-vendor-supplied-gcc-toolchain.patch
|
||||||
Patch1: 0001-GCC-compatibility-Ignore-fstack-clash-protection.patch
|
Patch4: 0002-gtest-reorg.patch
|
||||||
Patch2: 0001-Driver-Prefer-vendor-supplied-gcc-toolchain.patch
|
Patch9: 0001-Fix-uninitialized-value-in-ABIArgInfo.patch
|
||||||
Patch4: 0001-gtest-reorg.patch
|
Patch11: 0001-ToolChain-Add-lgcc_s-to-the-linker-flags-when-using-.patch
|
||||||
Patch5: 0001-Don-t-prefer-python2.7.patch
|
|
||||||
Patch6: 0001-Convert-clang-format-diff.py-to-python3-using-2to3.patch
|
|
||||||
Patch7: 0001-Convert-scan-view-to-python3-using-2to3.patch
|
|
||||||
|
|
||||||
# clang-tools-extra patches
|
BuildRequires: gcc
|
||||||
Patch100: 0001-Convert-run-find-all-symbols.py-to-python3-using-2to.patch
|
BuildRequires: gcc-c++
|
||||||
|
|
||||||
BuildRequires: gcc
|
|
||||||
BuildRequires: gcc-c++
|
|
||||||
BuildRequires: cmake
|
BuildRequires: cmake
|
||||||
|
BuildRequires: ninja-build
|
||||||
BuildRequires: llvm-devel = %{version}
|
BuildRequires: llvm-devel = %{version}
|
||||||
BuildRequires: libxml2-devel
|
|
||||||
# llvm-static is required, because clang-tablegen needs libLLVMTableGen, which
|
# llvm-static is required, because clang-tablegen needs libLLVMTableGen, which
|
||||||
# is not included in libLLVM.so.
|
# is not included in libLLVM.so.
|
||||||
BuildRequires: llvm-static = %{version}
|
BuildRequires: llvm-static = %{version}
|
||||||
# Required for make check
|
# Required for make check
|
||||||
|
%if 0%{?enable_test_pkg}
|
||||||
|
BuildRequires: llvm-test = %{version}
|
||||||
BuildRequires: llvm-googletest = %{version}
|
BuildRequires: llvm-googletest = %{version}
|
||||||
|
%endif
|
||||||
BuildRequires: libxml2-devel
|
BuildRequires: libxml2-devel
|
||||||
BuildRequires: ncurses-devel
|
BuildRequires: perl-generators
|
||||||
|
BuildRequires: ncurses-devel
|
||||||
|
# According to https://fedoraproject.org/wiki/Packaging:Emacs a package
|
||||||
|
# should BuildRequires: emacs if it packages emacs integration files.
|
||||||
|
BuildRequires: emacs
|
||||||
|
|
||||||
|
# These build dependencies are required for the test suite.
|
||||||
|
%if %with python3
|
||||||
|
# The testsuite uses /usr/bin/lit which is part of the python3-lit package.
|
||||||
BuildRequires: python3-lit
|
BuildRequires: python3-lit
|
||||||
|
%endif
|
||||||
|
|
||||||
BuildRequires: python3-sphinx
|
BuildRequires: python3-sphinx
|
||||||
BuildRequires: libatomic
|
BuildRequires: libatomic
|
||||||
BuildRequires: %{_bindir}/pathfix.py
|
|
||||||
BuildRequires: /usr/bin/python3
|
# We need python3-devel for pathfix.py.
|
||||||
|
BuildRequires: python3-devel
|
||||||
|
|
||||||
# Needed for %%multilib_fix_c_header
|
# Needed for %%multilib_fix_c_header
|
||||||
BuildRequires: multilib-rpm-config
|
BuildRequires: multilib-rpm-config
|
||||||
|
BuildRequires: chrpath
|
||||||
|
|
||||||
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
|
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
|
||||||
|
|
||||||
|
# clang requires gcc, clang++ requires libstdc++-devel
|
||||||
|
# - https://bugzilla.redhat.com/show_bug.cgi?id=1021645
|
||||||
|
# - https://bugzilla.redhat.com/show_bug.cgi?id=1158594
|
||||||
|
Requires: libstdc++-devel
|
||||||
|
Requires: gcc-c++
|
||||||
|
|
||||||
|
Requires: emacs-filesystem
|
||||||
|
|
||||||
|
Provides: clang(major) = %{maj_ver}
|
||||||
|
|
||||||
%description
|
%description
|
||||||
clang: noun
|
clang: noun
|
||||||
1. A loud, resonant, metallic sound.
|
1. A loud, resonant, metallic sound.
|
||||||
@ -94,34 +130,17 @@ as libraries and designed to be loosely-coupled and extensible.
|
|||||||
|
|
||||||
%package libs
|
%package libs
|
||||||
Summary: Runtime library for clang
|
Summary: Runtime library for clang
|
||||||
Recommends: compiler-rt%{?_isa} >= %{version}
|
Recommends: compiler-rt%{?_isa} = %{version}
|
||||||
|
Recommends: libomp%{_isa} = %{version}
|
||||||
# libomp does not support s390x.
|
|
||||||
%ifnarch s390x
|
|
||||||
Recommends: libomp%{?_isa} >= %{version}
|
|
||||||
%endif
|
|
||||||
|
|
||||||
# clang requires gcc, clang++ requires libstdc++-devel
|
|
||||||
# - https://bugzilla.redhat.com/show_bug.cgi?id=1021645
|
|
||||||
# - https://bugzilla.redhat.com/show_bug.cgi?id=1158594
|
|
||||||
|
|
||||||
# Making these BuildRequires because they are needed by tests
|
|
||||||
BuildRequires: libstdc++-devel
|
|
||||||
BuildRequires: gcc-c++
|
|
||||||
Requires: libstdc++-devel
|
|
||||||
Requires: gcc-c++
|
|
||||||
|
|
||||||
|
|
||||||
%description libs
|
%description libs
|
||||||
Runtime library for clang.
|
Runtime library for clang.
|
||||||
|
|
||||||
%package devel
|
%package devel
|
||||||
Summary: Development header files for clang.
|
Summary: Development header files for clang
|
||||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||||
# The clang CMake files reference tools from clang-tools-extra.
|
# The clang CMake files reference tools from clang-tools-extra.
|
||||||
Requires: %{name}-tools-extra%{?_isa} = %{version}-%{release}
|
Requires: %{name}-tools-extra%{?_isa} = %{version}-%{release}
|
||||||
Requires: llvm-libs%{?_isa} = %{version}
|
|
||||||
|
|
||||||
|
|
||||||
%description devel
|
%description devel
|
||||||
Development header files for clang.
|
Development header files for clang.
|
||||||
@ -131,9 +150,6 @@ Summary: A source code analysis framework
|
|||||||
License: NCSA and MIT
|
License: NCSA and MIT
|
||||||
BuildArch: noarch
|
BuildArch: noarch
|
||||||
Requires: %{name} = %{version}-%{release}
|
Requires: %{name} = %{version}-%{release}
|
||||||
# not picked up automatically since files are currently not installed in
|
|
||||||
# standard Python hierarchies yet
|
|
||||||
Requires: platform-python
|
|
||||||
|
|
||||||
%description analyzer
|
%description analyzer
|
||||||
The Clang Static Analyzer consists of both a source code analysis
|
The Clang Static Analyzer consists of both a source code analysis
|
||||||
@ -142,44 +158,51 @@ programs. The standalone tool is invoked from the command-line, and is
|
|||||||
intended to run in tandem with a build of a project or code base.
|
intended to run in tandem with a build of a project or code base.
|
||||||
|
|
||||||
%package tools-extra
|
%package tools-extra
|
||||||
Summary: Extra tools for clang
|
Summary: Extra tools for clang
|
||||||
Requires: llvm-libs%{?_isa} = %{version}
|
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
|
||||||
Requires: clang-libs%{?_isa} = %{version}-%{release}
|
Requires: emacs-filesystem
|
||||||
|
|
||||||
%description tools-extra
|
%description tools-extra
|
||||||
A set of extra tools built using Clang's tooling API.
|
A set of extra tools built using Clang's tooling API.
|
||||||
|
|
||||||
# Put git-clang-format in its own package, because it Requires git and python2
|
# Put git-clang-format in its own package, because it Requires git
|
||||||
# and we don't want to force users to install all those dependenices if they
|
# and we don't want to force users to install all those dependenices if they
|
||||||
# just want clang.
|
# just want clang.
|
||||||
%package -n git-clang-format
|
%package -n git-clang-format
|
||||||
Summary: clang-format integration for git
|
Summary: Integration of clang-format for git
|
||||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||||
Requires: git
|
Requires: git
|
||||||
|
Requires: python3
|
||||||
|
|
||||||
%description -n git-clang-format
|
%description -n git-clang-format
|
||||||
clang-format integration for git.
|
clang-format integration for git.
|
||||||
|
|
||||||
|
|
||||||
|
%package -n python3-clang
|
||||||
|
Summary: Python3 bindings for clang
|
||||||
|
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
|
||||||
|
Requires: python3
|
||||||
|
%description -n python3-clang
|
||||||
|
%{summary}.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
|
|
||||||
%setup -T -q -b 1 -n clang-tools-extra-%{version}%{?rc_ver:rc%{rc_ver}}.src
|
%setup -T -q -b 1 -n clang-tools-extra-%{version}%{?rc_ver:rc%{rc_ver}}.src
|
||||||
|
|
||||||
%patch100 -p1 -b .find-all-symbols-py3
|
|
||||||
|
|
||||||
pathfix.py -i %{__python3} -pn \
|
pathfix.py -i %{__python3} -pn \
|
||||||
clang-tidy/tool/*.py \
|
clang-tidy/tool/*.py \
|
||||||
include-fixer/find-all-symbols/tool/run-find-all-symbols.py
|
include-fixer/find-all-symbols/tool/run-find-all-symbols.py
|
||||||
|
|
||||||
%setup -q -n cfe-%{version}%{?rc_ver:rc%{rc_ver}}.src
|
%setup -q -n cfe-%{version}%{?rc_ver:rc%{rc_ver}}.src
|
||||||
%patch0 -p1 -b .lit-search-path
|
|
||||||
%patch1 -p1 -b .fstack-clash-protection
|
|
||||||
%patch2 -p1 -b .vendor-gcc
|
|
||||||
%patch4 -p1 -b .gtest
|
|
||||||
%patch5 -p1 -b .no-python2
|
|
||||||
%patch6 -p1 -b .clang-format-diff-py3
|
|
||||||
%patch7 -p1 -b .scan-view-py3
|
|
||||||
|
|
||||||
mv ../clang-tools-extra-%{version}%{?rc_ver:rc%{rc_ver}}.src tools/extra
|
%patch3 -p1 -b .rhel
|
||||||
|
%patch4 -p1 -b .gtest
|
||||||
|
%patch9 -p1 -b .abi-arginfo
|
||||||
|
%patch11 -p1 -b .libcxx-fix
|
||||||
|
|
||||||
|
mv ../%{clang_tools_srcdir} tools/extra
|
||||||
|
|
||||||
%if 0%{?__isa_bits} == 64
|
%if 0%{?__isa_bits} == 64
|
||||||
sed -i 's/\@FEDORA_LLVM_LIB_SUFFIX\@/64/g' test/lit.cfg.py
|
sed -i 's/\@FEDORA_LLVM_LIB_SUFFIX\@/64/g' test/lit.cfg.py
|
||||||
@ -200,14 +223,28 @@ pathfix.py -i %{__python3} -pn \
|
|||||||
mkdir -p _build
|
mkdir -p _build
|
||||||
cd _build
|
cd _build
|
||||||
|
|
||||||
%cmake .. \
|
%ifarch s390 s390x %{arm} %ix86
|
||||||
|
# Decrease debuginfo verbosity to reduce memory consumption during final library linking
|
||||||
|
%global optflags %(echo %{optflags} | sed 's/-g /-g1 /')
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%cmake .. -G Ninja \
|
||||||
|
-DLLVM_PARALLEL_LINK_JOBS=1 \
|
||||||
-DLLVM_LINK_LLVM_DYLIB:BOOL=ON \
|
-DLLVM_LINK_LLVM_DYLIB:BOOL=ON \
|
||||||
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
||||||
-DLLVM_CONFIG:FILEPATH=%{_bindir}/llvm-config-%{__isa_bits} \
|
-DPYTHON_EXECUTABLE=%{__python3} \
|
||||||
|
-DCMAKE_SKIP_RPATH:BOOL=ON \
|
||||||
|
-DCMAKE_INSTALL_RPATH:BOOL=OFF \
|
||||||
-DCLANG_INCLUDE_TESTS:BOOL=ON \
|
-DCLANG_INCLUDE_TESTS:BOOL=ON \
|
||||||
-DLLVM_EXTERNAL_LIT=%{_bindir}/lit \
|
-DLLVM_EXTERNAL_LIT=%{_bindir}/lit \
|
||||||
-DLLVM_MAIN_SRC_DIR=%{_datadir}/llvm/src \
|
-DLLVM_MAIN_SRC_DIR=%{_datadir}/llvm/src \
|
||||||
|
%if 0%{?__isa_bits} == 64
|
||||||
|
-DLLVM_LIBDIR_SUFFIX=64 \
|
||||||
|
%else
|
||||||
|
-DLLVM_LIBDIR_SUFFIX= \
|
||||||
|
%endif
|
||||||
\
|
\
|
||||||
|
-DLLVM_TABLEGEN_EXE:FILEPATH=%{_bindir}/llvm-tblgen \
|
||||||
-DCLANG_ENABLE_ARCMT:BOOL=ON \
|
-DCLANG_ENABLE_ARCMT:BOOL=ON \
|
||||||
-DCLANG_ENABLE_STATIC_ANALYZER:BOOL=ON \
|
-DCLANG_ENABLE_STATIC_ANALYZER:BOOL=ON \
|
||||||
-DCLANG_INCLUDE_DOCS:BOOL=ON \
|
-DCLANG_INCLUDE_DOCS:BOOL=ON \
|
||||||
@ -220,62 +257,81 @@ cd _build
|
|||||||
-DSPHINX_WARNINGS_AS_ERRORS=OFF \
|
-DSPHINX_WARNINGS_AS_ERRORS=OFF \
|
||||||
\
|
\
|
||||||
-DCLANG_BUILD_EXAMPLES:BOOL=OFF \
|
-DCLANG_BUILD_EXAMPLES:BOOL=OFF \
|
||||||
-DLLVM_EXTERNAL_LIT=%{_bindir}/lit \
|
-DCLANG_REPOSITORY_STRING="%{?fedora:Fedora}%{?rhel:Red Hat} %{version}-%{release}"
|
||||||
%if 0%{?__isa_bits} == 64
|
|
||||||
-DLLVM_LIBDIR_SUFFIX=64 \
|
|
||||||
%else
|
|
||||||
-DLLVM_LIBDIR_SUFFIX= \
|
|
||||||
%endif
|
|
||||||
-DLIB_SUFFIX=
|
|
||||||
|
|
||||||
make %{?_smp_mflags}
|
ninja -v -j2
|
||||||
|
|
||||||
%install
|
%install
|
||||||
make install DESTDIR=%{buildroot} -C _build
|
DESTDIR=%{buildroot} ninja install -C _build
|
||||||
|
|
||||||
|
|
||||||
|
# install clang python bindings
|
||||||
|
mkdir -p %{buildroot}%{python3_sitelib}/clang/
|
||||||
|
install -p -m644 bindings/python/clang/* %{buildroot}%{python3_sitelib}/clang/
|
||||||
|
%py_byte_compile %{__python3} %{buildroot}%{python3_sitelib}/clang
|
||||||
|
|
||||||
# multilib fix
|
# multilib fix
|
||||||
%multilib_fix_c_header --file %{_includedir}/clang/Config/config.h
|
%multilib_fix_c_header --file %{_includedir}/clang/Config/config.h
|
||||||
|
|
||||||
|
# Move emacs integration files to the correct directory
|
||||||
|
mkdir -p %{buildroot}%{_emacs_sitestartdir}
|
||||||
|
for f in clang-format.el clang-rename.el clang-include-fixer.el; do
|
||||||
|
mv %{buildroot}{%{_datadir}/clang,%{_emacs_sitestartdir}}/$f
|
||||||
|
done
|
||||||
|
|
||||||
# remove editor integrations (bbedit, sublime, emacs, vim)
|
# remove editor integrations (bbedit, sublime, emacs, vim)
|
||||||
rm -vf %{buildroot}%{_datadir}/clang/clang-format-bbedit.applescript
|
rm -vf %{buildroot}%{_datadir}/clang/clang-format-bbedit.applescript
|
||||||
rm -vf %{buildroot}%{_datadir}/clang/clang-format-sublime.py*
|
rm -vf %{buildroot}%{_datadir}/clang/clang-format-sublime.py*
|
||||||
rm -vf %{buildroot}%{_datadir}/clang/clang-format.el
|
|
||||||
rm -vf %{buildroot}%{_datadir}/clang/clang-format.py*
|
|
||||||
rm -vf %{buildroot}%{_datadir}/clang/bash-autocomplete.sh
|
|
||||||
# clang-tools-extra
|
|
||||||
rm -vf %{buildroot}%{_datadir}/clang/clang-include-fixer.py
|
|
||||||
rm -vf %{buildroot}%{_datadir}/clang/clang-tidy-diff.py
|
|
||||||
rm -vf %{buildroot}%{_datadir}/clang/run-clang-tidy.py
|
|
||||||
rm -vf %{buildroot}%{_datadir}/clang/run-find-all-symbols.py
|
|
||||||
rm -vf %{buildroot}%{_datadir}/clang/clang-include-fixer.el
|
|
||||||
rm -vf %{buildroot}%{_datadir}/clang/clang-rename.el
|
|
||||||
rm -vf %{buildroot}%{_datadir}/clang/clang-rename.py
|
|
||||||
# remove diff reformatter
|
|
||||||
rm -vf %{buildroot}%{_datadir}/clang/clang-format-diff.py*
|
|
||||||
|
|
||||||
# Remove html docs
|
# TODO: Package html docs
|
||||||
rm -vRf %{buildroot}%{_docdir}/clang/html
|
rm -Rvf %{buildroot}%{_pkgdocdir}
|
||||||
|
|
||||||
|
# TODO: What are the Fedora guidelines for packaging bash autocomplete files?
|
||||||
|
rm -vf %{buildroot}%{_datadir}/clang/bash-autocomplete.sh
|
||||||
|
|
||||||
|
# Create Manpage symlinks
|
||||||
|
ln -s clang.1.gz %{buildroot}%{_mandir}/man1/clang++.1.gz
|
||||||
|
ln -s clang.1.gz %{buildroot}%{_mandir}/man1/clang-%{maj_ver}.1.gz
|
||||||
|
ln -s clang.1.gz %{buildroot}%{_mandir}/man1/clang++-%{maj_ver}.1.gz
|
||||||
|
|
||||||
|
# Add clang++-{version} sylink
|
||||||
|
ln -s clang++ %{buildroot}%{_bindir}/clang++-%{maj_ver}
|
||||||
|
|
||||||
|
|
||||||
|
# Fix permission
|
||||||
|
chmod u-x %{buildroot}%{_mandir}/man1/scan-build.1*
|
||||||
|
|
||||||
|
|
||||||
%check
|
%check
|
||||||
cd _build
|
# requires lit.py from LLVM utilities
|
||||||
PATH=%{_libdir}/llvm:$PATH make %{?_smp_mflags} check-all
|
|
||||||
|
%if 0%{?enable_test_pkg}
|
||||||
|
LD_LIBRARY_PATH=%{buildroot}%{_libdir} ninja check-all -j2 -C _build
|
||||||
|
%endif
|
||||||
|
|
||||||
|
|
||||||
%files libs
|
|
||||||
%{_libdir}/*.so.*
|
|
||||||
%{_libdir}/*.so
|
|
||||||
|
|
||||||
%files
|
%files
|
||||||
%{_libdir}/clang/
|
|
||||||
%{clang_binaries}
|
%{clang_binaries}
|
||||||
%{_bindir}/c-index-test
|
%{_bindir}/c-index-test
|
||||||
%{_mandir}/man1/clang.1.gz
|
%{_mandir}/man1/clang.1.gz
|
||||||
|
%{_mandir}/man1/clang++.1.gz
|
||||||
|
%{_mandir}/man1/clang-%{maj_ver}.1.gz
|
||||||
|
%{_mandir}/man1/clang++-%{maj_ver}.1.gz
|
||||||
%{_mandir}/man1/diagtool.1.gz
|
%{_mandir}/man1/diagtool.1.gz
|
||||||
|
%{_emacs_sitestartdir}/clang-format.el
|
||||||
|
%{_datadir}/clang/clang-format.py*
|
||||||
|
%{_datadir}/clang/clang-format-diff.py*
|
||||||
|
|
||||||
|
%files libs
|
||||||
|
%{_libdir}/clang/
|
||||||
|
%{_libdir}/*.so.*
|
||||||
|
|
||||||
%files devel
|
%files devel
|
||||||
|
%{_libdir}/*.so
|
||||||
%{_includedir}/clang/
|
%{_includedir}/clang/
|
||||||
%{_includedir}/clang-c/
|
%{_includedir}/clang-c/
|
||||||
%{_libdir}/cmake/
|
%{_libdir}/cmake/*
|
||||||
%dir %{_datadir}/clang/
|
%dir %{_datadir}/clang/
|
||||||
|
|
||||||
%files analyzer
|
%files analyzer
|
||||||
@ -291,11 +347,31 @@ PATH=%{_libdir}/llvm:$PATH make %{?_smp_mflags} check-all
|
|||||||
%{clang_tools_binaries}
|
%{clang_tools_binaries}
|
||||||
%{_bindir}/find-all-symbols
|
%{_bindir}/find-all-symbols
|
||||||
%{_bindir}/modularize
|
%{_bindir}/modularize
|
||||||
|
%{_emacs_sitestartdir}/clang-rename.el
|
||||||
|
%{_emacs_sitestartdir}/clang-include-fixer.el
|
||||||
|
%{_datadir}/clang/clang-include-fixer.py*
|
||||||
|
%{_datadir}/clang/clang-tidy-diff.py*
|
||||||
|
%{_datadir}/clang/run-clang-tidy.py*
|
||||||
|
%{_datadir}/clang/run-find-all-symbols.py*
|
||||||
|
%{_datadir}/clang/clang-rename.py*
|
||||||
|
|
||||||
%files -n git-clang-format
|
%files -n git-clang-format
|
||||||
%{_bindir}/git-clang-format
|
%{_bindir}/git-clang-format
|
||||||
|
|
||||||
|
%files -n python3-clang
|
||||||
|
%{python3_sitelib}/clang/
|
||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Aug 1 2019 sguelton@redhat.com - 8.0.1-1
|
||||||
|
- 8.0.1 Release
|
||||||
|
|
||||||
|
* Thu Jun 13 2019 sguelton@redhat.com - 8.0.1-0.1.rc2
|
||||||
|
- 8.0.1rc2 Release
|
||||||
|
|
||||||
|
* Thu Apr 11 2019 sguelton@redhat.com - 8.0.0-1
|
||||||
|
- 8.0.0 Release
|
||||||
|
|
||||||
* Fri Dec 14 2018 Tom Stellard <tstellar@redhat.com> - 7.0.1-1
|
* Fri Dec 14 2018 Tom Stellard <tstellar@redhat.com> - 7.0.1-1
|
||||||
- 7.0.1-1 Release
|
- 7.0.1-1 Release
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user