aboutsummaryrefslogtreecommitdiff
path: root/contrib
diff options
context:
space:
mode:
Diffstat (limited to 'contrib')
-rw-r--r--contrib/ChangeLog103
-rwxr-xr-xcontrib/check_GNU_style_lib.py4
-rw-r--r--contrib/config-list.mk10
-rw-r--r--contrib/dg-extract-results.py3
-rwxr-xr-xcontrib/dg-extract-results.sh8
-rwxr-xr-xcontrib/dg-lint/dg-lint8
-rw-r--r--contrib/dg-lint/libgdiagnostics.py17
-rwxr-xr-xcontrib/diffsummary.py103
-rwxr-xr-xcontrib/download_prerequisites6
-rwxr-xr-xcontrib/filter-clang-warnings.py35
-rwxr-xr-xcontrib/gcc-changelog/git_commit.py2
-rwxr-xr-xcontrib/gcc-changelog/git_update_version.py2
-rw-r--r--contrib/gcc.doxy2
-rwxr-xr-xcontrib/gen_autofdo_event.py21
-rwxr-xr-xcontrib/gennews1
-rwxr-xr-xcontrib/mklog.py6
-rwxr-xr-xcontrib/prepare-commit-msg2
-rw-r--r--contrib/prerequisites.md56
-rw-r--r--contrib/prerequisites.sha5126
19 files changed, 312 insertions, 33 deletions
diff --git a/contrib/ChangeLog b/contrib/ChangeLog
index e7a4cab..5370de6 100644
--- a/contrib/ChangeLog
+++ b/contrib/ChangeLog
@@ -1,3 +1,106 @@
+2025-08-07 Tobias Burnus <tburnus@baylibre.com>
+
+ PR other/120237
+ * download_prerequisites: Update to download GMP 6.3.0 (before 6.2.1),
+ MPFR 4.2.2 (before 4.1.0), and MPC 1.3.1 (before 1.2.1).
+ * prerequisites.md5: Update hash.
+ * prerequisites.sha512: Likewise.
+
+2025-07-28 David Malcolm <dmalcolm@redhat.com>
+
+ * gcc-changelog/git_commit.py: Add "diagnostics" to bug
+ components.
+
+2025-07-25 David Malcolm <dmalcolm@redhat.com>
+
+ * filter-clang-warnings.py: Update for move of
+ diagnostic-path-output.cc to diagnostics/paths-output.cc.
+
+2025-07-25 David Malcolm <dmalcolm@redhat.com>
+
+ * gcc.doxy (INPUT): Add gcc/diagnostics subdir.
+
+2025-07-23 Sam James <sam@gentoo.org>
+
+ PR other/105404
+ * gcc-changelog/git_commit.py (ignored_prefixes): Add zlib/.
+
+2025-07-16 David Malcolm <dmalcolm@redhat.com>
+
+ * gcc.doxy (INPUT): Add directory "gcc/text-art".
+
+2025-07-11 Richard Biener <rguenther@suse.de>
+
+ * gcc-changelog/git_update_version.py: Stop updating gcc-12
+ branch.
+
+2025-07-08 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * prepare-commit-msg: Force default git prefixes.
+
+2025-07-07 Martin Jambor <mjambor@suse.cz>
+
+ * filter-clang-warnings.py (skip_warning): Also ignore
+ -Woverloaded-shift-op-parentheses, -Wunused-function,
+ -Wunneeded-internal-declaration, -Wvla-cxx-extension', and
+ -Wunused-command-line-argument everywhere and a warning about
+ m_logical_loc_mgr in diagnostic-path-output.cc. Adjust gimple-match
+ and generic-match "filenames." Ignore -Wnontrivial-memcall warnings
+ in wide-int.h, all warnings about unused stuff in files under
+ m2/gm2-compiler-boot, all -Wunused-private-field in rust FE, in
+ analyzer/ana-state-to-diagnostic-state.h and c-family/c-format.cc, all
+ Warnings in avr-mmcu.texi, install.texi and libgccjit.texi and all
+ -Wc23-extensions warnings in libiberty/sha1.c. Ignore
+ -Wunused-parameter in analyzer/sm.cc. Reorder entries.
+
+2025-06-29 Filip Kastl <fkastl@suse.cz>
+
+ * mklog.py: In 'main()', specify variable 'root' as global.
+
+2025-06-26 Alex Coplan <alex.coplan@arm.com>
+
+ * mklog.py (main): New.
+
+2025-06-23 David Malcolm <dmalcolm@redhat.com>
+
+ PR other/116792
+ PR testsuite/116163
+ PR sarif-replay/120792
+ * dg-lint/dg-lint: Add -fdiagnostics-add-output.
+ * dg-lint/libgdiagnostics.py: Add
+ diagnostic_manager_add_sink_from_spec.
+ (Manager.add_sink_from_spec): New.
+
+2025-06-23 Andrew Burgess <aburgess@redhat.com>
+
+ * dg-extract-results.py: Handle GDB's unexpected core file count.
+ * dg-extract-results.sh: Likewise.
+
+2025-05-27 Jan Hubicka <hubicka@ucw.cz>
+
+ * gen_autofdo_event.py: Add support for AMD Zen 3 and
+ later CPUs.
+
+2025-05-23 Andi Kleen <ak@gcc.gnu.org>
+
+ * diffsummary.py: New file.
+
+2025-05-09 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com>
+
+ * check_GNU_style_lib.py: Remove literal prefix.
+
+2025-05-01 Gerald Pfeifer <gerald@pfeifer.com>
+
+ * config-list.mk: Update FreeBSD targets to version 13.
+
+2025-04-26 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * config-list.mk: Add m32c*-*-* to the list of obsoleted targets.
+
+2025-04-25 Jakub Jelinek <jakub@redhat.com>
+
+ * gennews (files): Add files for GCC 15.
+
2025-04-17 Jakub Jelinek <jakub@redhat.com>
* gcc-changelog/git_update_version.py (active_refs): Add
diff --git a/contrib/check_GNU_style_lib.py b/contrib/check_GNU_style_lib.py
index f680983..8b930ef 100755
--- a/contrib/check_GNU_style_lib.py
+++ b/contrib/check_GNU_style_lib.py
@@ -279,7 +279,9 @@ def check_GNU_style_file(file, format):
patch = PatchSet(file)
for pfile in patch.added_files + patch.modified_files:
- t = pfile.target_file.lstrip('b/')
+ t = pfile.target_file
+ if t.startswith('b/'):
+ t = t[2:]
# Skip testsuite files
if 'testsuite' in t or t.endswith('.py'):
continue
diff --git a/contrib/config-list.mk b/contrib/config-list.mk
index fc9fc99..27aabf4 100644
--- a/contrib/config-list.mk
+++ b/contrib/config-list.mk
@@ -35,7 +35,7 @@ OPT_IN_LANGUAGES=
#
LIST = \
- aarch64-elf aarch64-freebsd13 aarch64-linux-gnu aarch64-rtems \
+ aarch64-elf aarch64-freebsd14 aarch64-linux-gnu aarch64-rtems \
alpha-linux-gnu alpha-netbsd alpha-openbsd \
alpha64-dec-vms alpha-dec-vms \
amdgcn-amdhsa \
@@ -54,7 +54,7 @@ LIST = \
hppa64-hpux11.3 \
hppa64-hpux11.0OPT-enable-sjlj-exceptions=yes \
i686-apple-darwin9 i686-apple-darwin13 i686-apple-darwin17 \
- i686-freebsd13 i686-kfreebsd-gnu \
+ i686-freebsd14 i686-kfreebsd-gnu \
i686-netbsdelf9 \
i686-openbsd i686-elf i686-kopensolaris-gnu i686-gnu \
i686-pc-linux-gnu i686-pc-msdosdjgpp i686-lynxos i686-nto-qnx \
@@ -65,7 +65,7 @@ LIST = \
ia64-hp-vmsOPT-enable-obsolete iq2000-elf lm32-elf \
lm32-rtems lm32-uclinux \
loongarch64-linux-gnuf64 loongarch64-linux-gnuf32 loongarch64-linux-gnusf \
- m32c-elf m32r-elf m32rle-elf \
+ m32c-elfOPT-enable-obsolete m32r-elf m32rle-elf \
m68k-elf m68k-netbsdelf \
m68k-uclinux m68k-linux m68k-rtems \
mcore-elf microblaze-linux microblaze-elf \
@@ -82,7 +82,7 @@ LIST = \
or1k-elf or1k-linux-uclibc or1k-linux-musl or1k-rtems \
pdp11-aout \
powerpc-apple-darwin9 powerpc64-apple-darwin9 powerpc-apple-darwin8 \
- powerpc-freebsd13 powerpc-netbsd \
+ powerpc-freebsd14 powerpc-netbsd \
powerpc-eabisimaltivec powerpc-eabisim ppc-elf \
powerpc-eabialtivec powerpc-xilinx-eabi powerpc-eabi \
powerpc-rtems \
@@ -105,7 +105,7 @@ LIST = \
vax-netbsdelf visium-elf \
x86_64-apple-darwin10 x86_64-apple-darwin15 x86_64-apple-darwin21 \
x86_64-gnu x86_64-pc-linux-gnuOPT-with-fpmath=avx \
- x86_64-elfOPT-with-fpmath=sse x86_64-freebsd13 x86_64-netbsd \
+ x86_64-elfOPT-with-fpmath=sse x86_64-freebsd14 x86_64-netbsd \
x86_64-w64-mingw32 \
x86_64-mingw32OPT-enable-sjlj-exceptions=yes x86_64-rtems \
xstormy16-elf xtensa-elf \
diff --git a/contrib/dg-extract-results.py b/contrib/dg-extract-results.py
index f539275..c5bfbca 100644
--- a/contrib/dg-extract-results.py
+++ b/contrib/dg-extract-results.py
@@ -146,7 +146,8 @@ class Prog:
'# of unresolved testcases\t',
'# of unsupported tests\t\t',
'# of paths in test names\t',
- '# of duplicate test names\t'
+ '# of duplicate test names\t',
+ '# of unexpected core files\t'
]
self.runs = dict()
diff --git a/contrib/dg-extract-results.sh b/contrib/dg-extract-results.sh
index c2f7604..d64ba25 100755
--- a/contrib/dg-extract-results.sh
+++ b/contrib/dg-extract-results.sh
@@ -403,7 +403,7 @@ BEGIN {
variant="$VAR"
tool="$TOOL"
passcnt=0; failcnt=0; untstcnt=0; xpasscnt=0; xfailcnt=0; kpasscnt=0; kfailcnt=0; unsupcnt=0; unrescnt=0; dgerrorcnt=0;
- pathcnt=0; dupcnt=0
+ pathcnt=0; dupcnt=0; corecnt=0
curvar=""; insummary=0
}
/^Running target / { curvar = \$3; next }
@@ -420,6 +420,7 @@ BEGIN {
/^# of unsupported tests/ { if (insummary == 1) unsupcnt += \$5; next; }
/^# of paths in test names/ { if (insummary == 1) pathcnt += \$7; next; }
/^# of duplicate test names/ { if (insummary == 1) dupcnt += \$6; next; }
+/^# of unexpected core files/ { if (insummary == 1) corecnt += \$6; next; }
/^$/ { if (insummary == 1)
{ insummary = 0; curvar = "" }
next
@@ -439,6 +440,7 @@ END {
if (unsupcnt != 0) printf ("# of unsupported tests\t\t%d\n", unsupcnt)
if (pathcnt != 0) printf ("# of paths in test names\t%d\n", pathcnt)
if (dupcnt != 0) printf ("# of duplicate test names\t%d\n", dupcnt)
+ if (corecnt != 0) printf ("# of unexpected core files\t%d\n", corecnt)
}
EOF
@@ -460,7 +462,7 @@ cat << EOF > $TOTAL_AWK
BEGIN {
tool="$TOOL"
passcnt=0; failcnt=0; untstcnt=0; xpasscnt=0; xfailcnt=0; kfailcnt=0; unsupcnt=0; unrescnt=0; dgerrorcnt=0
- pathcnt=0; dupcnt=0
+ pathcnt=0; dupcnt=0; corecnt=0
}
/^# of DejaGnu errors/ { dgerrorcnt += \$5 }
/^# of expected passes/ { passcnt += \$5 }
@@ -474,6 +476,7 @@ BEGIN {
/^# of unsupported tests/ { unsupcnt += \$5 }
/^# of paths in test names/ { pathcnt += \$7 }
/^# of duplicate test names/ { dupcnt += \$6 }
+/^# of unexpected core files/ { corecnt += \$6 }
END {
printf ("\n\t\t=== %s Summary ===\n\n", tool)
if (dgerrorcnt != 0) printf ("# of DejaGnu errors\t\t%d\n", dgerrorcnt)
@@ -488,6 +491,7 @@ END {
if (unsupcnt != 0) printf ("# of unsupported tests\t\t%d\n", unsupcnt)
if (pathcnt != 0) printf ("# of paths in test names\t%d\n", pathcnt)
if (dupcnt != 0) printf ("# of duplicate test names\t%d\n", dupcnt)
+ if (corecnt != 0) printf ("# of unexpected core files\t%d\n", corecnt)
}
EOF
diff --git a/contrib/dg-lint/dg-lint b/contrib/dg-lint/dg-lint
index 01d58d7..4ae0686 100755
--- a/contrib/dg-lint/dg-lint
+++ b/contrib/dg-lint/dg-lint
@@ -380,9 +380,17 @@ def skip_file(filename):
def main(argv):
parser = argparse.ArgumentParser()#usage=__doc__)
parser.add_argument('paths', nargs='+', type=pathlib.Path)
+ parser.add_argument('-fdiagnostics-add-output', action='append')
opts = parser.parse_args(argv[1:])
ctxt = Context()
+ control_mgr = libgdiagnostics.Manager()
+ control_mgr.add_text_sink()
+ for scheme in opts.fdiagnostics_add_output:
+ ctxt.mgr.add_sink_from_spec("-fdiagnostics-add-output=",
+ scheme,
+ control_mgr)
+
for path in opts.paths:
if path.is_dir():
for dirpath, dirnames, filenames in os.walk(path):
diff --git a/contrib/dg-lint/libgdiagnostics.py b/contrib/dg-lint/libgdiagnostics.py
index 03a6440..8c8cc48 100644
--- a/contrib/dg-lint/libgdiagnostics.py
+++ b/contrib/dg-lint/libgdiagnostics.py
@@ -124,6 +124,13 @@ cdll.diagnostic_add_fix_it_hint_replace.argtypes \
ctypes.c_char_p]
cdll.diagnostic_add_fix_it_hint_replace.restype = None
+cdll.diagnostic_manager_add_sink_from_spec.argtypes \
+ = [c_diagnostic_manager_ptr,
+ ctypes.c_char_p,
+ ctypes.c_char_p,
+ c_diagnostic_manager_ptr]
+cdll.diagnostic_manager_add_sink_from_spec.restype = ctypes.c_int
+
# Helper functions
def _to_utf8(s: str):
@@ -156,6 +163,16 @@ class Manager:
c_stderr,
DIAGNOSTIC_COLORIZE_IF_TTY)
+ def add_sink_from_spec(self, option_name: str, scheme: str, control_mgr):
+ assert self.c_mgr
+ assert control_mgr.c_mgr
+ res = cdll.diagnostic_manager_add_sink_from_spec (self.c_mgr,
+ _to_utf8(option_name),
+ _to_utf8(scheme),
+ control_mgr.c_mgr)
+ if res:
+ raise RuntimeError()
+
def get_file(self, path: str, sarif_lang: str = None):
assert self.c_mgr
assert path
diff --git a/contrib/diffsummary.py b/contrib/diffsummary.py
new file mode 100755
index 0000000..c4aeba2
--- /dev/null
+++ b/contrib/diffsummary.py
@@ -0,0 +1,103 @@
+#!/usr/bin/env python3
+# Show or diff test_summary output to latest posted test result for a platform
+# test_summary -t | diffsummary.py (compare test result from current build to last posted)
+# diffsummary.py --show (only show last posted)
+from urllib.request import urlopen
+from html.parser import HTMLParser
+import time
+import re
+import argparse
+import platform
+import tempfile
+import os
+import sys
+
+baseurl = "https://gcc.gnu.org/pipermail/gcc-testresults/"
+
+ap = argparse.ArgumentParser(description="Diff stdin to latest posted test result and set exit code to result")
+ap.add_argument("--branch", default="experimental",
+ help="Branch to match (regex substring match)")
+ap.add_argument("--arch", default=platform.machine() + ".*" + platform.system().lower(),
+ help="architecture to match (regex substring match)")
+ap.add_argument("--retrytime", default=1, type=int,
+ help="time to wait before fetching next page (fractional seconds)")
+ap.add_argument("--show", help="Show last test result, but do not diff", action="store_true", default=False)
+ap.add_argument("--url", help="Show URLs downloaded", action="store_true")
+ap.add_argument("--diff", help="Diff program to use (default diff)", default="diff")
+ap.add_argument("--diff-args", help="Diff arguments to use (default -u)", default="-u")
+ap.add_argument("--skip", type=int, default=0, help="Skip first N posted test results")
+args = ap.parse_args()
+
+class ParseMonths(HTMLParser):
+ def __init__(self):
+ super().__init__()
+ self.months = []
+ def handle_starttag(self, tag, attrs):
+ if tag == "a" and "thread.html" in attrs[0][1]:
+ self.months.append(attrs[0][1])
+
+class ParseThread(HTMLParser):
+ def __init__(self):
+ super().__init__()
+ self.link = None
+ self.target = []
+ def handle_starttag(self, tag, attrs):
+ if (tag == "a"
+ and attrs[0][1][0].isdigit()
+ and attrs[0][1].endswith(".html")):
+ self.link = attrs[0][1]
+ else:
+ self.link = None
+ def handle_data(self, data):
+ if (self.link
+ and re.search(args.branch, data)
+ and re.search(args.arch, data)):
+ self.target.append(thread.link)
+
+class ParseArticle(HTMLParser):
+ def __init__(self):
+ super().__init__()
+ self.contents = None
+ self.pre = False
+ self.data = None
+ def handle_starttag(self, tag, attrs):
+ self.pre = tag == "pre"
+ def handle_data(self, data):
+ if self.pre and not self.data:
+ self.data = data
+
+def my_urlopen(url):
+ if args.url:
+ print(url)
+ return urlopen(url)
+
+with my_urlopen(baseurl) as index:
+ months = ParseMonths()
+ months.feed(index.read().decode('utf-8'))
+if len(months.months) == 0:
+ sys.exit("no months found")
+for month in months.months:
+ with my_urlopen(baseurl + month) as m:
+ thread = ParseThread()
+ thread.feed(m.read().decode('utf-8'))
+ if thread.target:
+ if args.skip > len(thread.target):
+ args.skip -= len(thread.target)
+ continue
+ url = (baseurl + month).replace("thread.html", thread.target[-1 - args.skip])
+ with my_urlopen(url) as t:
+ article = ParseArticle()
+ article.feed(t.read().decode('utf-8'))
+ if args.show:
+ print(article.data)
+ break
+ with tempfile.NamedTemporaryFile(delete=False) as tf:
+ tf.write(article.data.encode('utf-8'))
+ tf.close()
+ cmd = f"{args.diff} {args.diff_args} - {tf.name}"
+ print(cmd)
+ ret = os.system(cmd)
+ os.unlink(tf.name)
+ sys.exit(ret)
+ break
+ time.sleep(args.retrytime)
diff --git a/contrib/download_prerequisites b/contrib/download_prerequisites
index b83fcc9..a6d756c 100755
--- a/contrib/download_prerequisites
+++ b/contrib/download_prerequisites
@@ -27,9 +27,9 @@ version='(unversioned)'
# remember to also update the files `contrib/prerequisites.sha512` and
# `contrib/prerequisites.md5` with the new checksums.
-gmp='gmp-6.2.1.tar.bz2'
-mpfr='mpfr-4.1.0.tar.bz2'
-mpc='mpc-1.2.1.tar.gz'
+gmp='gmp-6.3.0.tar.bz2'
+mpfr='mpfr-4.2.2.tar.bz2'
+mpc='mpc-1.3.1.tar.gz'
isl='isl-0.24.tar.bz2'
gettext='gettext-0.22.tar.gz'
diff --git a/contrib/filter-clang-warnings.py b/contrib/filter-clang-warnings.py
index 2ea7c71..20705b2 100755
--- a/contrib/filter-clang-warnings.py
+++ b/contrib/filter-clang-warnings.py
@@ -41,22 +41,43 @@ def skip_warning(filename, message):
'-Wignored-attributes', '-Wgnu-zero-variadic-macro-arguments',
'-Wformat-security', '-Wundefined-internal',
'-Wunknown-warning-option', '-Wc++20-extensions',
- '-Wbitwise-instead-of-logical', 'egrep is obsolescent'],
+ '-Wbitwise-instead-of-logical', 'egrep is obsolescent',
+ '-Woverloaded-shift-op-parentheses',
+ '-Wunused-function', '-Wunneeded-internal-declaration',
+ '-Wvla-cxx-extension', '-Wunused-command-line-argument'],
+
+ 'diagnostics/paths-output.cc': ['m_logical_loc_mgr'],
+ 'fold-const-call.cc': ['-Wreturn-type'],
+ 'gimple-match': ['-Wunused-', '-Wtautological-compare'],
+ 'generic-match': ['-Wunused-', '-Wtautological-compare'],
+ 'genautomata.cc': ['-Wstring-plus-int'],
+ # Perhaps revisit when ATTR_FNSPEC_DECONST_WATERMARK ifdef case is
+ # made default or removed:
+ 'ipa-strub.cc': ['-Wunused-but-set-variable'],
'insn-modes.cc': ['-Wshift-count-overflow'],
'insn-emit.cc': ['-Wtautological-compare'],
'insn-attrtab.cc': ['-Wparentheses-equality'],
- 'gimple-match.cc': ['-Wunused-', '-Wtautological-compare'],
- 'generic-match.cc': ['-Wunused-', '-Wtautological-compare'],
+ 'omp-builtins.def': ['-Wc++11-narrowing'],
+ 'wide-int.h': ['-Wnontrivial-memcall'],
'i386.md': ['-Wparentheses-equality', '-Wtautological-compare',
'-Wtautological-overlap-compare'],
'sse.md': ['-Wparentheses-equality', '-Wtautological-compare',
'-Wconstant-logical-operand'],
'mmx.md': ['-Wtautological-compare'],
- 'genautomata.cc': ['-Wstring-plus-int'],
- 'fold-const-call.cc': ['-Wreturn-type'],
- 'gfortran.texi': [''],
- 'libtool': [''],
'lex.cc': ['-Wc++20-attribute-extensions'],
+ # Perhaps remove once PR 120960 is resolved:
+ 'analyzer/ana-state-to-diagnostic-state.h': ['-Wunused-private-field'],
+ 'analyzer/sm.cc': ['-Wunused-parameter'],
+ 'c-family/c-format.cc': ['-Wunused-private-field'],
+ 'm2/gm2-compiler-boot': ['-Wunused-'],
+ # Rust peopel promised to clean these warnings too
+ 'rust/': ['-Wunused-private-field'],
+ 'libiberty/sha1.c': ['-Wc23-extensions'],
+ 'avr-mmcu.texi': [''],
+ 'gfortran.texi': [''],
+ 'install.texi': [''],
+ 'libgccjit.texi': [''],
+ 'libtool': ['']
}
for name, ignore in ignores.items():
diff --git a/contrib/gcc-changelog/git_commit.py b/contrib/gcc-changelog/git_commit.py
index 5645f80..e0c46be 100755
--- a/contrib/gcc-changelog/git_commit.py
+++ b/contrib/gcc-changelog/git_commit.py
@@ -97,6 +97,7 @@ bug_components = {
'd',
'debug',
'demangler',
+ 'diagnostics',
'driver',
'fastjar',
'fortran',
@@ -152,6 +153,7 @@ ignored_prefixes = {
'libphobos/libdruntime/',
'libphobos/src/',
'libsanitizer/',
+ 'zlib/',
}
wildcard_prefixes = {
diff --git a/contrib/gcc-changelog/git_update_version.py b/contrib/gcc-changelog/git_update_version.py
index aa9adee..b3ea33b 100755
--- a/contrib/gcc-changelog/git_update_version.py
+++ b/contrib/gcc-changelog/git_update_version.py
@@ -85,7 +85,7 @@ def prepend_to_changelog_files(repo, folder, git_commit, add_to_git):
repo.git.add(full_path)
-active_refs = ['master', 'releases/gcc-12',
+active_refs = ['master',
'releases/gcc-13', 'releases/gcc-14', 'releases/gcc-15']
parser = argparse.ArgumentParser(description='Update DATESTAMP and generate '
diff --git a/contrib/gcc.doxy b/contrib/gcc.doxy
index 9e0a1af..1595204 100644
--- a/contrib/gcc.doxy
+++ b/contrib/gcc.doxy
@@ -478,7 +478,7 @@ WARN_LOGFILE =
# directories like "/usr/src/myproject". Separate the files or directories
# with spaces.
-INPUT = gcc gcc/analyzer
+INPUT = gcc gcc/analyzer gcc/diagnostics gcc/text-art
# This tag can be used to specify the character encoding of the source files that
# doxygen parses. Internally doxygen uses the UTF-8 encoding, which is also the default
diff --git a/contrib/gen_autofdo_event.py b/contrib/gen_autofdo_event.py
index 4364e5c..b1d373f 100755
--- a/contrib/gen_autofdo_event.py
+++ b/contrib/gen_autofdo_event.py
@@ -138,8 +138,16 @@ if [ "$1" = "--all" ] ; then
shift
fi
-if ! grep -q Intel /proc/cpuinfo ; then
- echo >&2 "Only Intel CPUs supported"
+if grep -q AuthenticAMD /proc/cpuinfo ; then
+ vendor=AMD
+ if ! grep -q " brs" /proc/cpuinfo && ! grep -q amd_lbr_v2 /proc/cpuinfo ; then
+ echo >&2 "AMD CPU with brs (Zen 3) or amd_lbr_v2 (Zen 4+) feature is required"
+ exit 1
+ fi
+elif grep -q Intel /proc/cpuinfo ; then
+ vendor=Intel
+else
+ echo >&2 "Only AMD and Intel CPUs supported"
exit 1
fi
@@ -147,7 +155,7 @@ if grep -q hypervisor /proc/cpuinfo ; then
echo >&2 "Warning: branch profiling may not be functional in VMs"
fi
-case `grep -E -q "^cpu family\s*: 6" /proc/cpuinfo &&
+case `test $vendor = Intel && grep -E -q "^cpu family\s*: 6" /proc/cpuinfo &&
grep -E "^model\s*:" /proc/cpuinfo | head -n1` in''')
for event, mod in eventmap.items():
for m in mod[:-1]:
@@ -156,8 +164,13 @@ case `grep -E -q "^cpu family\s*: 6" /proc/cpuinfo &&
print(r'''*)
if perf list br_inst_retired | grep -q br_inst_retired.near_taken ; then
E=br_inst_retired.near_taken:p
+ elif perf list ex_ret_brn_tkn | grep -q ex_ret_brn_tkn ; then
+ E=ex_ret_brn_tkn:P$FLAGS
+ elif $vendor = Intel ; then
+echo >&2 "Unknown Intel CPU. Run contrib/gen_autofdo_event.py --all --script to update script."
+ exit 1
else
-echo >&2 "Unknown CPU. Run contrib/gen_autofdo_event.py --all --script to update script."
+echo >&2 "AMD CPU without support for ex_ret_brn_tkn event"
exit 1
fi ;;''')
print(r"esac")
diff --git a/contrib/gennews b/contrib/gennews
index bb5ac92..6eab091 100755
--- a/contrib/gennews
+++ b/contrib/gennews
@@ -23,6 +23,7 @@
website=http://gcc.gnu.org/
files="
+ gcc-15/index.html gcc-15/changes.html
gcc-14/index.html gcc-14/changes.html
gcc-13/index.html gcc-13/changes.html
gcc-12/index.html gcc-12/changes.html
diff --git a/contrib/mklog.py b/contrib/mklog.py
index dcf7dde..b841ef0 100755
--- a/contrib/mklog.py
+++ b/contrib/mklog.py
@@ -360,7 +360,7 @@ def skip_line_in_changelog(line):
return FIRST_LINE_OF_END_RE.match(line) is None
-if __name__ == '__main__':
+def main():
extra_args = os.getenv('GCC_MKLOG_ARGS')
if extra_args:
sys.argv += json.loads(extra_args)
@@ -389,6 +389,7 @@ if __name__ == '__main__':
if args.input == '-':
args.input = None
if args.directory:
+ global root
root = args.directory
data = open(args.input, newline='\n') if args.input else sys.stdin
@@ -447,3 +448,6 @@ if __name__ == '__main__':
f.write('\n'.join(end))
else:
print(output, end='')
+
+if __name__ == '__main__':
+ main()
diff --git a/contrib/prepare-commit-msg b/contrib/prepare-commit-msg
index 1b87877..75d1025 100755
--- a/contrib/prepare-commit-msg
+++ b/contrib/prepare-commit-msg
@@ -78,4 +78,4 @@ else
tee="cat"
fi
-git $cmd | $tee | git gcc-mklog -c "$COMMIT_MSG_FILE"
+git $cmd --default-prefix | $tee | git gcc-mklog -c "$COMMIT_MSG_FILE"
diff --git a/contrib/prerequisites.md5 b/contrib/prerequisites.md5
index 716a9ff..96b9802 100644
--- a/contrib/prerequisites.md5
+++ b/contrib/prerequisites.md5
@@ -1,5 +1,5 @@
-28971fc21cf028042d4897f02fd355ea gmp-6.2.1.tar.bz2
-44b892bc5a45bafb4294d134e13aad1d mpfr-4.1.0.tar.bz2
-9f16c976c25bb0f76b50be749cd7a3a8 mpc-1.2.1.tar.gz
+c1cd6ef33085e9cb818b9b08371f9000 gmp-6.3.0.tar.bz2
+afe8268360bc8702fbc8297d351c8b5e mpfr-4.2.2.tar.bz2
+5c9bc658c9fd0f940e8e3e0f09530c62 mpc-1.3.1.tar.gz
dd2f7b78e118c25bd96134a52aae7f4d isl-0.24.tar.bz2
c092102240f8f66134d22718421d5115 gettext-0.22.tar.gz
diff --git a/contrib/prerequisites.sha512 b/contrib/prerequisites.sha512
index f71398b..7a3e9c2 100644
--- a/contrib/prerequisites.sha512
+++ b/contrib/prerequisites.sha512
@@ -1,5 +1,5 @@
-8904334a3bcc5c896ececabc75cda9dec642e401fb5397c4992c4fabea5e962c9ce8bd44e8e4233c34e55c8010cc28db0545f5f750cbdbb5f00af538dc763be9 gmp-6.2.1.tar.bz2
-410208ee0d48474c1c10d3d4a59decd2dfa187064183b09358ec4c4666e34d74383128436b404123b831e585d81a9176b24c7ced9d913967c5fce35d4040a0b4 mpfr-4.1.0.tar.bz2
-3279f813ab37f47fdcc800e4ac5f306417d07f539593ca715876e43e04896e1d5bceccfb288ef2908a3f24b760747d0dbd0392a24b9b341bc3e12082e5c836ee mpc-1.2.1.tar.gz
+3b684c9bcb9ede2b7e54d0ba4c9764bfa17c20d4f3000017c553b6f1e135b536949580ff37341680c25dc236cfe0ba1db8cfdfe619ce013656189ef0871b89f8 gmp-6.3.0.tar.bz2
+0176e50808dcc07afbf5bc3e38bf9b7b21918e5f194aa0bfd860d99b00c470630aef149776c4be814a61c44269c3a5b9a4b0b1c0fcd4c9feb1459d8466452da8 mpfr-4.2.2.tar.bz2
+4bab4ef6076f8c5dfdc99d810b51108ced61ea2942ba0c1c932d624360a5473df20d32b300fc76f2ba4aa2a97e1f275c9fd494a1ba9f07c4cb2ad7ceaeb1ae97 mpc-1.3.1.tar.gz
aab3bddbda96b801d0f56d2869f943157aad52a6f6e6a61745edd740234c635c38231af20bc3f1a08d416a5e973a90e18249078ed8e4ae2f1d5de57658738e95 isl-0.24.tar.bz2
e2a58dde1cae3e6b79c03e7ef3d888f7577c1f4cba283b3b0f31123ceea8c33d7c9700e83de57104644de23e5f5c374868caa0e091f9c45edbbe87b98ee51c04 gettext-0.22.tar.gz