diff --git a/Makefile b/Makefile index 77dfbf992469..cbc09e5cba9a 100644 --- a/Makefile +++ b/Makefile @@ -415,7 +415,7 @@ KBUILD_HOSTLDLIBS := $(HOST_LFS_LIBS) $(HOSTLDLIBS) # Make variables (CC, etc...) CPP = $(CC) -E ifneq ($(LLVM),) -REAL_CC = clang +CC = clang LD = ld.lld AR = llvm-ar NM = llvm-nm @@ -425,7 +425,7 @@ READELF = llvm-readelf OBJSIZE = llvm-size STRIP = llvm-strip else -REAL_CC = $(CROSS_COMPILE)gcc +CC = $(CROSS_COMPILE)gcc LD = $(CROSS_COMPILE)ld AR = $(CROSS_COMPILE)ar NM = $(CROSS_COMPILE)nm @@ -453,14 +453,6 @@ LZMA = lzma LZ4 = lz4c XZ = xz -ifndef DISABLE_WRAPPER -# Use the wrapper for the compiler. This wrapper scans for new -# warnings and causes the build to stop upon encountering them -CC = $(srctree)/scripts/gcc-wrapper.py $(REAL_CC) -else -CC = $(REAL_CC) -endif - CHECKFLAGS := -D__linux__ -Dlinux -D__STDC__ -Dunix -D__unix__ \ -Wbitwise -Wno-return-void -Wno-unknown-attribute $(CF) NOSTDINC_FLAGS := diff --git a/scripts/gcc-wrapper.py b/scripts/gcc-wrapper.py deleted file mode 100755 index 20d0331d5f2f..000000000000 --- a/scripts/gcc-wrapper.py +++ /dev/null @@ -1,79 +0,0 @@ -#! /usr/bin/env python3 -# SPDX-License-Identifier: GPL-2.0-only -# Copyright (c) 2011-2017, 2018 The Linux Foundation. All rights reserved. - -# -*- coding: utf-8 -*- - -# Invoke gcc, looking for warnings, and causing a failure if there are -# non-whitelisted warnings. - -import errno -import re -import os -import sys -import subprocess - -# Note that gcc uses unicode, which may depend on the locale. TODO: -# force LANG to be set to en_US.UTF-8 to get consistent warnings. - -allowed_warnings = set([ - "umid.c:138", - "umid.c:213", - "umid.c:388", - "coresight-catu.h:116", - "mprotect.c:42", - "signal.c:95", - "signal.c:51", - ]) - -# Capture the name of the object file, can find it. -ofile = None - -warning_re = re.compile(r'''(.*/|)([^/]+\.[a-z]+:\d+):(\d+:)? warning:''') -def interpret_warning(line): - """Decode the message from gcc. The messages we care about have a filename, and a warning""" - line = line.rstrip().decode() - m = warning_re.match(line) - if m and m.group(2) not in allowed_warnings: - print("error, forbidden warning:", m.group(2)) - - # If there is a warning, remove any object if it exists. - if ofile: - try: - os.remove(ofile) - except OSError: - pass - sys.exit(1) - -def run_gcc(): - args = sys.argv[1:] - # Look for -o - try: - i = args.index('-o') - global ofile - ofile = args[i+1] - except (ValueError, IndexError): - pass - - compiler = sys.argv[0] - - try: - proc = subprocess.Popen(args, stderr=subprocess.PIPE) - for line in proc.stderr: - print(line, end=' ') - interpret_warning(line) - - result = proc.wait() - except OSError as e: - result = e.errno - if result == errno.ENOENT: - print(args[0] + ':',e.strerror) - print('Is your PATH set correctly?') - else: - print(' '.join(args), str(e)) - - return result - -if __name__ == '__main__': - status = run_gcc() - sys.exit(status)