git: fabbde505ba1 - main - devel/freebsd-gcc12: External FreeBSD toolchain based on GCC 12.

From: John Baldwin <jhb_at_FreeBSD.org>
Date: Fri, 12 Aug 2022 17:27:49 UTC
The branch main has been updated by jhb (doc, src committer):

URL: https://cgit.FreeBSD.org/ports/commit/?id=fabbde505ba16b6156ecf55dc9f1d6bf01679861

commit fabbde505ba16b6156ecf55dc9f1d6bf01679861
Author:     John Baldwin <jhb@FreeBSD.org>
AuthorDate: 2022-08-12 17:27:18 +0000
Commit:     John Baldwin <jhb@FreeBSD.org>
CommitDate: 2022-08-12 17:27:18 +0000

    devel/freebsd-gcc12: External FreeBSD toolchain based on GCC 12.
    
    This port provides external GCC toolchains for GCC 12.1.0 for the
    aarch64, amd64, armv6, armv7, i386, powerpc, powerpc64, and riscv64
    platforms.
    
    Reviewed by:    lwhsu
    Differential Revision:  https://reviews.freebsd.org/D35685
---
 devel/Makefile                                     |   1 +
 devel/freebsd-gcc12/Makefile                       | 150 +++++++
 devel/freebsd-gcc12/distinfo                       |   3 +
 devel/freebsd-gcc12/files/patch-clang-vec_step     |  21 +
 .../files/patch-freebsd-format-extensions          | 110 +++++
 devel/freebsd-gcc12/files/patch-freebsd-libdir     |  39 ++
 devel/freebsd-gcc12/files/patch-gcc-configure      |  13 +
 devel/freebsd-gcc12/files/patch-i686               |  13 +
 devel/freebsd-gcc12/files/xtoolchain.mk.in         |   5 +
 devel/freebsd-gcc12/pkg-descr                      |   4 +
 devel/freebsd-gcc12/pkg-plist                      | 498 +++++++++++++++++++++
 devel/freebsd-gcc12/pkg-plist.aarch64              |  12 +
 devel/freebsd-gcc12/pkg-plist.amd64                |   3 +
 devel/freebsd-gcc12/pkg-plist.arm                  |   6 +
 devel/freebsd-gcc12/pkg-plist.arm_gnueabi          |  17 +
 devel/freebsd-gcc12/pkg-plist.i386                 | 108 +++++
 devel/freebsd-gcc12/pkg-plist.powerpc              |  35 ++
 devel/freebsd-gcc12/pkg-plist.powerpc64            |  35 ++
 devel/freebsd-gcc12/pkg-plist.riscv                |   4 +
 19 files changed, 1077 insertions(+)

diff --git a/devel/Makefile b/devel/Makefile
index ef17956b9ae2..ea0ad601347c 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -682,6 +682,7 @@
     SUBDIR += frama-c
     SUBDIR += freebsd-gcc6
     SUBDIR += freebsd-gcc9
+    SUBDIR += freebsd-gcc12
     SUBDIR += freebsd-git-devtools
     SUBDIR += freebsd-sysroot
     SUBDIR += frink
diff --git a/devel/freebsd-gcc12/Makefile b/devel/freebsd-gcc12/Makefile
new file mode 100644
index 000000000000..0157738b60a1
--- /dev/null
+++ b/devel/freebsd-gcc12/Makefile
@@ -0,0 +1,150 @@
+PORTNAME=	gcc
+PORTVERSION=	12.1.0
+CATEGORIES=	devel
+MASTER_SITES=	GCC
+PKGNAMEPREFIX=	${TARGETARCH}-
+PKGNAMESUFFIX=	${SUFFIX}
+
+MAINTAINER=	jhb@FreeBSD.org
+COMMENT=	Cross GNU Compiler Collection for ${TARGETARCH}
+
+LICENSE=	GPLv3 GPLv3RLE
+LICENSE_COMB=	multi
+
+BUILD_DEPENDS=	${BU_PREFIX}-as:devel/binutils@${BU_FLAVOR} \
+		objdump:devel/binutils
+LIB_DEPENDS=	libgmp.so:math/gmp \
+		libmpfr.so:math/mpfr \
+		libmpc.so:math/mpc
+RUN_DEPENDS=	${BU_PREFIX}-as:devel/binutils@${BU_FLAVOR}
+
+FLAVORS=	aarch64 amd64 armv6 armv7 i386 powerpc powerpc64 riscv64
+TARGETARCH=	${FLAVOR}
+
+USES=		compiler:c++11-lang cpe gmake iconv libtool makeinfo tar:xz
+CPE_VENDOR=	gnu
+
+PLIST_SUB=	OPSYS=${OPSYS:tl} \
+		SUFFIX=${SUFFIX} \
+		TARGETARCH=${TARGETARCH} \
+		GCC_TARGET=${GCC_TARGET} \
+		GCC_VERSION=${PORTVERSION}
+
+SUB_FILES=	xtoolchain.mk
+SUB_LIST=	BU_PREFIX=${BU_PREFIX} \
+		GCC_TARGET=${GCC_TARGET} \
+		SUFFIX=${SUFFIX}
+
+SUFFIX=		${PORTVERSION:C/([0-9]+).*/\1/}
+
+GNU_CONFIGURE=	yes
+CONFIGURE_OUTSOURCE=	yes
+CONFIGURE_ARGS+=--target=${GCC_TARGET} --disable-nls --enable-languages=c,c++ \
+		--enable-gnu-indirect-function \
+		--enable-initfini-array \
+		--program-prefix=${GCC_TARGET}- \
+		--program-suffix=${SUFFIX} \
+		--without-headers \
+		--with-gmp=${LOCALBASE} \
+		--with-pkgversion="FreeBSD Ports Collection for ${PKGNAMEPREFIX:C/-//g}" \
+		--with-system-zlib \
+		--without-zstd \
+		--with-gxx-include-dir=/usr/include/c++/v1/ \
+		--with-sysroot="/" \
+		--with-as=${LOCALBASE}/bin/${BU_PREFIX}-as \
+		--with-ld=${LOCALBASE}/bin/${BU_PREFIX}-ld
+
+.if ${TARGETARCH:Mpowerpc64*}
+CONFIGURE_ARGS+=--with-abi=elfv2
+.endif
+
+ALL_TARGET=	all-gcc
+INSTALL_TARGET=	install-gcc
+
+.include <bsd.port.pre.mk>
+
+.if ${TARGETARCH:Marm*}
+TARGET_ABI=	gnueabi
+BU_FLAVOR=	arm_${TARGET_ABI}
+BU_PREFIX=	arm-${TARGET_ABI}-${OPSYS:tl}${OSREL}
+.else
+TARGET_ABI=	unknown
+BU_FLAVOR=	${TARGETARCH}
+BU_PREFIX=	${GCC_TARGET}
+.endif
+GCC_TARGET=	${TARGETARCH:S/amd64/x86_64/}-${TARGET_ABI}-${OPSYS:tl}${OSREL}
+
+post-patch:
+	@${REINPLACE_CMD} -e '/LIBSTDCXX/ s/stdc\+\+/c\+\+/g ' \
+		${WRKSRC}//gcc/cp/g++spec.cc
+	@${REINPLACE_CMD} -e '/LOCAL_INCLUDE_DIR/ d ' \
+		${WRKSRC}//gcc/Makefile.in
+
+.if ${ARCH} == "amd64"
+CONFIGURE_TARGET=	x86_64-unknown-${OPSYS:tl}${OSREL}
+.else
+CONFIGURE_TARGET=	${ARCH}-unknown-${OPSYS:tl}${OSREL}
+.endif
+
+.if ${TARGETARCH:Marm*} || ${TARGETARCH} == "aarch64"
+. if ${COMPILER_TYPE} == clang
+MAKE_ARGS+=CXXFLAGS=-fbracket-depth=512
+. endif
+.endif
+
+.if ${TARGETARCH} == "amd64" || ${TARGETARCH} == "powerpc64"
+CONFIGURE_ARGS+=--enable-multilib
+.endif
+
+.if ${ARCH} == "aarch64"
+PLIST_SUB+=	PLUGINS="@comment plugin does not build"
+.else
+PLIST_SUB+=	PLUGINS=""
+.endif
+
+.if ${TARGETARCH} == "amd64" || ${TARGETARCH} == "i386"
+PLIST_SUB+=	FLOAT_H="@comment "
+.else
+PLIST_SUB+=	FLOAT_H=""
+.endif
+
+PLIST=		${.CURDIR}/pkg-plist
+
+.if ${TARGETARCH} == "aarch64"
+PLIST+=		${.CURDIR}/pkg-plist.aarch64
+.endif
+.if ${TARGETARCH} == "aarch64" || ${TARGETARCH:Marm*}
+PLIST+=		${.CURDIR}/pkg-plist.arm
+.endif
+.if ${TARGETARCH:Marm*}
+PLIST+=		${.CURDIR}/pkg-plist.arm_gnueabi
+.endif
+.if ${TARGETARCH} == "amd64"
+PLIST+=		${.CURDIR}/pkg-plist.amd64
+.endif
+.if ${TARGETARCH} == "amd64" || ${TARGETARCH} == "i386"
+PLIST+=		${.CURDIR}/pkg-plist.i386
+.endif
+.if ${TARGETARCH:Mpowerpc64*}
+PLIST+=		${.CURDIR}/pkg-plist.powerpc64
+.elif ${TARGETARCH:Mpowerpc*}
+PLIST+=		${.CURDIR}/pkg-plist.powerpc
+.endif
+.if ${TARGETARCH:Mriscv*}
+PLIST+=		${.CURDIR}/pkg-plist.riscv
+.endif
+
+post-install:
+	@${RM} ${STAGEDIR}${PREFIX}/bin/${GCC_TARGET}-${GCC_TARGET}-*
+	@${RM} ${STAGEDIR}${PREFIX}/share/info/*
+	@${RM} ${STAGEDIR}${PREFIX}/man/man7/*
+	@${RM} -r ${STAGEDIR}${PREFIX}/lib/gcc/${GCC_TARGET}/${PORTVERSION}/include-fixed
+.if ${TARGETARCH} == "amd64" || ${TARGETARCH} == "i386"
+	# Conflicts with sys/x86/include/float.h
+	${RM} ${STAGEDIR}${PREFIX}/lib/gcc/${GCC_TARGET}/${PORTVERSION}/include/float.h
+.endif
+	${MKDIR} ${STAGEDIR}${PREFIX}/share/toolchains/
+	${INSTALL_DATA} ${WRKDIR}/xtoolchain.mk \
+		${STAGEDIR}${PREFIX}/share/toolchains/${TARGETARCH}-gcc${SUFFIX}.mk
+
+.include <bsd.port.post.mk>
diff --git a/devel/freebsd-gcc12/distinfo b/devel/freebsd-gcc12/distinfo
new file mode 100644
index 000000000000..a79280cc7184
--- /dev/null
+++ b/devel/freebsd-gcc12/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1653079096
+SHA256 (gcc-12.1.0.tar.xz) = 62fd634889f31c02b64af2c468f064b47ad1ca78411c45abe6ac4b5f8dd19c7b
+SIZE (gcc-12.1.0.tar.xz) = 82701928
diff --git a/devel/freebsd-gcc12/files/patch-clang-vec_step b/devel/freebsd-gcc12/files/patch-clang-vec_step
new file mode 100644
index 000000000000..00607540eb2a
--- /dev/null
+++ b/devel/freebsd-gcc12/files/patch-clang-vec_step
@@ -0,0 +1,21 @@
+https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=239266 reports how
+clang unfortunately poisons user namespace by default (without any
+special options).
+
+Until that changes (or GCC changes) we need to avoid using vec_step
+as a variable.
+
+--- UTC
+Index: gcc/tree-vect-loop.cc
+===================================================================
+--- gcc/tree-vect-loop.cc	(revision 273856)
++++ gcc/tree-vect-loop.cc	(working copy)
+@@ -55,6 +55,8 @@ along with GCC; see the file COPYING3.  If not see
+ #include "vec-perm-indices.h"
+ #include "tree-eh.h"
+ 
++#define vec_step vec_step_
++
+ /* Loop Vectorization Pass.
+ 
+    This pass tries to vectorize loops.
diff --git a/devel/freebsd-gcc12/files/patch-freebsd-format-extensions b/devel/freebsd-gcc12/files/patch-freebsd-format-extensions
new file mode 100644
index 000000000000..197ba7fa50d8
--- /dev/null
+++ b/devel/freebsd-gcc12/files/patch-freebsd-format-extensions
@@ -0,0 +1,110 @@
+--- gcc/c-family/c-format.cc.orig	2022-05-06 00:30:56.000000000 -0700
++++ gcc/c-family/c-format.cc	2022-05-20 13:56:43.632917000 -0700
+@@ -721,6 +721,26 @@ static const format_char_info print_char_table[] =
+   { NULL,  0, STD_C89, NOLENGTHS, NULL, NULL, NULL }
+ };
+ 
++static const format_char_info fbsd_ext_char_info =
++{ NULL,   1, STD_EXT, { T89_C,  BADLEN,   BADLEN,  BADLEN,  BADLEN,  BADLEN,  BADLEN,  BADLEN,  BADLEN,  BADLEN,  BADLEN, BADLEN }, "",      "cR", NULL };
++
++static const format_char_info fbsd_print_char_table[] =
++{
++  /* BSD conversion specifiers.  */
++  /* FreeBSD kernel extensions (src/sys/kern/subr_prf.c).
++     The format %b is supported to decode error registers.
++     Its usage is:	printf("reg=%b\n", regval, "<base><arg>*");
++     which produces:	reg=3<BITTWO,BITONE>
++     The format %D provides a hexdump given a pointer and separator string:
++     ("%6D", ptr, ":")		-> XX:XX:XX:XX:XX:XX
++     ("%*D", len, ptr, " ")	-> XX XX XX XX ...
++   */
++  { "D",   1, STD_EXT, { T89_V,  BADLEN,   BADLEN,  BADLEN,  BADLEN,  BADLEN,  BADLEN,  BADLEN,  BADLEN,  BADLEN,  BADLEN,  BADLEN }, "-wp",      "cR", &fbsd_ext_char_info },
++  { "b",   0, STD_EXT, { T89_I,  BADLEN,   BADLEN,  BADLEN,  BADLEN,  BADLEN,  BADLEN,  BADLEN,  BADLEN,  BADLEN,  BADLEN,  BADLEN  }, "-wp",      "",   &fbsd_ext_char_info },
++  { "ry",  0, STD_EXT, { T89_I,  BADLEN,   BADLEN,   T89_L,  BADLEN,  BADLEN,  BADLEN,  BADLEN,  BADLEN,  BADLEN,  BADLEN,  BADLEN  }, "-wp0 +#",  "i",  NULL  },
++  { NULL,  0, STD_C89, NOLENGTHS, NULL, NULL, NULL }
++};
++
+ static const format_char_info asm_fprintf_char_table[] =
+ {
+   /* C89 conversion specifiers.  */
+@@ -991,6 +1011,12 @@ static const format_kind_info format_types_orig[] =
+     strfmon_flag_specs, strfmon_flag_pairs,
+     FMT_FLAG_ARG_CONVERT, 'w', '#', 'p', 0, 'L', 0,
+     NULL, NULL
++  },
++  { "printf0",  printf_length_specs,  print_char_table, " +#0-'I", NULL,
++    printf_flag_specs, printf_flag_pairs,
++    FMT_FLAG_ARG_CONVERT|FMT_FLAG_DOLLAR_MULTIPLE|FMT_FLAG_USE_DOLLAR|FMT_FLAG_EMPTY_PREC_OK|FMT_FLAG_NULL_FORMAT_OK,
++    'w', 0, 'p', 0, 'L', 0,
++    &integer_type_node, &integer_type_node
+   }
+ };
+ 
+@@ -1635,6 +1661,9 @@ check_format_arg (void *ctx, tree format_tree,
+ 
+   if (integer_zerop (format_tree))
+     {
++      if (!(format_types[info->format_type].flags & FMT_FLAG_NULL_FORMAT_OK))
++	warning (OPT_Wformat_, "null format string");
++
+       /* Skip to first argument to check, so we can see if this format
+ 	 has any arguments (it shouldn't).  */
+       while (arg_num + 1 < info->first_arg_num)
+@@ -2465,6 +2494,13 @@ argument_parser::read_any_length_modifier ()
+   while (fli->name != 0
+ 	 && strncmp (fli->name, format_chars, strlen (fli->name)))
+     fli++;
++
++  /* Make sure FreeBSD's D format char takes preference over new DD
++     length specifier if FreeBSD format extensions are requested.  */
++  if (fli->index == FMT_LEN_D && flag_format_extensions
++      && fki->conversion_specs == print_char_table)
++    while (fli->name != 0)
++      fli++;
+   if (fli->name != 0)
+     {
+       format_chars += strlen (fli->name);
+@@ -2537,6 +2573,14 @@ argument_parser::find_format_char_info (char format_ch
+   while (fci->format_chars != 0
+ 	 && strchr (fci->format_chars, format_char) == 0)
+     ++fci;
++  if (fci->format_chars == 0 && flag_format_extensions
++      && fki->conversion_specs == print_char_table)
++    {
++      fci = fbsd_print_char_table;
++      while (fci->format_chars != 0
++	     && strchr (fci->format_chars, format_char) == 0)
++	++fci;
++    }
+   if (fci->format_chars == 0)
+     {
+       format_warning_at_char (format_string_loc, format_string_cst,
+--- gcc/c-family/c-format.h.orig	2022-05-06 00:30:56.000000000 -0700
++++ gcc/c-family/c-format.h	2022-05-20 13:56:43.633782000 -0700
+@@ -77,11 +77,12 @@ enum
+   FMT_FLAG_DOLLAR_GAP_POINTER_OK = 128,
+   /* The format arg is an opaque object that will be parsed by an external
+      facility.  */
+-  FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL = 256
++  FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL = 256,
+   /* Not included here: details of whether width or precision may occur
+      (controlled by width_char and precision_char); details of whether
+      '*' can be used for these (width_type and precision_type); details
+      of whether length modifiers can occur (length_char_specs).  */
++  FMT_FLAG_NULL_FORMAT_OK = 512
+ };
+ 
+ /* Structure describing a length modifier supported in format checking, and
+--- gcc/config/freebsd.opt.orig	2022-05-06 00:30:56.000000000 -0700
++++ gcc/config/freebsd.opt	2022-05-20 13:56:43.634497000 -0700
+@@ -34,6 +34,10 @@ Driver JoinedOrMissing
+ defsym=
+ Driver JoinedOrMissing
+ 
++fformat-extensions
++Common Var(flag_format_extensions) Init(0)
++Allow FreeBSD kernel-specific printf format specifiers.
++
+ posix
+ Driver
+ 
diff --git a/devel/freebsd-gcc12/files/patch-freebsd-libdir b/devel/freebsd-gcc12/files/patch-freebsd-libdir
new file mode 100644
index 000000000000..b75aab441b81
--- /dev/null
+++ b/devel/freebsd-gcc12/files/patch-freebsd-libdir
@@ -0,0 +1,39 @@
+--- gcc/config/freebsd.h.orig	2022-05-06 00:30:56.000000000 -0700
++++ gcc/config/freebsd.h	2022-05-20 13:58:23.945904000 -0700
+@@ -44,6 +44,9 @@ along with GCC; see the file COPYING3.  If not see
+ #undef  LIB_SPEC
+ #define LIB_SPEC FBSD_LIB_SPEC
+ 
++#undef  STARTFILE_PREFIX_SPEC
++#define STARTFILE_PREFIX_SPEC "/usr/lib/ "
++
+ #if defined(HAVE_LD_EH_FRAME_HDR)
+ #define LINK_EH_SPEC "%{!static|static-pie:--eh-frame-hdr} "
+ #endif
+--- gcc/gcc.cc.orig	2022-05-06 00:30:57.000000000 -0700
++++ gcc/gcc.cc	2022-05-20 13:58:26.781589000 -0700
+@@ -4788,10 +4788,12 @@ process_command (unsigned int decoded_options_count,
+ 	}
+ 
+       set_std_prefix (gcc_exec_prefix, len);
++#if 0
+       add_prefix (&exec_prefixes, gcc_libexec_prefix, "GCC",
+ 		  PREFIX_PRIORITY_LAST, 0, 0);
+       add_prefix (&startfile_prefixes, gcc_exec_prefix, "GCC",
+ 		  PREFIX_PRIORITY_LAST, 0, 0);
++#endif
+     }
+ 
+   /* COMPILER_PATH and LIBRARY_PATH have values
+@@ -5416,9 +5418,11 @@ process_command (unsigned int decoded_options_count,
+   add_prefix (&exec_prefixes,
+ 	      concat (tooldir_prefix, "bin", dir_separator_str, NULL),
+ 	      "BINUTILS", PREFIX_PRIORITY_LAST, 0, 0);
++#if 0
+   add_prefix (&startfile_prefixes,
+ 	      concat (tooldir_prefix, "lib", dir_separator_str, NULL),
+ 	      "BINUTILS", PREFIX_PRIORITY_LAST, 0, 1);
++#endif
+   free (tooldir_prefix);
+ 
+ #if defined(TARGET_SYSTEM_ROOT_RELOCATABLE) && !defined(VMS)
diff --git a/devel/freebsd-gcc12/files/patch-gcc-configure b/devel/freebsd-gcc12/files/patch-gcc-configure
new file mode 100644
index 000000000000..77263f826378
--- /dev/null
+++ b/devel/freebsd-gcc12/files/patch-gcc-configure
@@ -0,0 +1,13 @@
+--- gcc/configure.orig	2019-11-29 16:01:46.850423000 -0800
++++ gcc/configure	2019-11-29 16:05:09.818243000 -0800
+@@ -3673,7 +3673,9 @@ if test x${gcc_gxx_include_dir} = x; then
+   fi
+ elif test "${with_sysroot+set}" = set; then
+   gcc_gxx_without_sysroot=`expr "${gcc_gxx_include_dir}" : "${with_sysroot}"'\(.*\)'`
+-  if test "${gcc_gxx_without_sysroot}"; then
++  if test "${with_sysroot}" = "/"; then
++    gcc_gxx_include_dir_add_sysroot=1
++  elif test "${gcc_gxx_without_sysroot}"; then
+     gcc_gxx_include_dir="${gcc_gxx_without_sysroot}"
+     gcc_gxx_include_dir_add_sysroot=1
+   fi
diff --git a/devel/freebsd-gcc12/files/patch-i686 b/devel/freebsd-gcc12/files/patch-i686
new file mode 100644
index 000000000000..67dd1c248fe8
--- /dev/null
+++ b/devel/freebsd-gcc12/files/patch-i686
@@ -0,0 +1,13 @@
+--- gcc/config.gcc.orig	2020-08-19 09:37:17.455916000 -0700
++++ gcc/config.gcc	2020-08-19 10:19:33.883084000 -0700
+@@ -3346,7 +3346,9 @@ arch_without_sse2=no
+ arch_without_64bit=no
+ case ${target} in
+   i386-*-freebsd*)
+-    if test $fbsd_major -ge 6; then
++    if test $fbsd_major -ge 11; then
++      arch=i686
++    elif test $fbsd_major -ge 6; then
+       arch=i486
+     else
+       arch=i386
diff --git a/devel/freebsd-gcc12/files/xtoolchain.mk.in b/devel/freebsd-gcc12/files/xtoolchain.mk.in
new file mode 100644
index 000000000000..7cacd42f1609
--- /dev/null
+++ b/devel/freebsd-gcc12/files/xtoolchain.mk.in
@@ -0,0 +1,5 @@
+XCC=%%LOCALBASE%%/bin/%%GCC_TARGET%%-gcc%%SUFFIX%%
+XCXX=%%LOCALBASE%%/bin/%%GCC_TARGET%%-g++%%SUFFIX%%
+XCPP=%%LOCALBASE%%/bin/%%GCC_TARGET%%-cpp%%SUFFIX%%
+CROSS_BINUTILS_PREFIX=%%LOCALBASE%%/%%BU_PREFIX%%/bin/
+X_COMPILER_TYPE=gcc
diff --git a/devel/freebsd-gcc12/pkg-descr b/devel/freebsd-gcc12/pkg-descr
new file mode 100644
index 000000000000..bd98f2760f48
--- /dev/null
+++ b/devel/freebsd-gcc12/pkg-descr
@@ -0,0 +1,4 @@
+GCC, the GNU Compiler Collection, supporting C and C++ for building the
+FreeBSD base system.
+
+WWW: http://gcc.gnu.org/
diff --git a/devel/freebsd-gcc12/pkg-plist b/devel/freebsd-gcc12/pkg-plist
new file mode 100644
index 000000000000..02a7831808ca
--- /dev/null
+++ b/devel/freebsd-gcc12/pkg-plist
@@ -0,0 +1,498 @@
+bin/%%GCC_TARGET%%-c++%%SUFFIX%%
+bin/%%GCC_TARGET%%-cpp%%SUFFIX%%
+bin/%%GCC_TARGET%%-g++%%SUFFIX%%
+bin/%%GCC_TARGET%%-gcc%%SUFFIX%%
+bin/%%GCC_TARGET%%-gcc-%%GCC_VERSION%%
+bin/%%GCC_TARGET%%-gcc-ar%%SUFFIX%%
+bin/%%GCC_TARGET%%-gcc-nm%%SUFFIX%%
+bin/%%GCC_TARGET%%-gcc-ranlib%%SUFFIX%%
+bin/%%GCC_TARGET%%-gcov%%SUFFIX%%
+bin/%%GCC_TARGET%%-gcov-dump%%SUFFIX%%
+bin/%%GCC_TARGET%%-gcov-tool%%SUFFIX%%
+bin/%%GCC_TARGET%%-lto-dump%%SUFFIX%%
+%%FLOAT_H%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/include/float.h
+lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/include/iso646.h
+lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/include/stdalign.h
+lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/include/stdarg.h
+lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/include/stdatomic.h
+lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/include/stdbool.h
+lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/include/stddef.h
+lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/include/stdfix.h
+lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/include/stdint-gcc.h
+lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/include/stdint.h
+lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/include/stdnoreturn.h
+lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/include/tgmath.h
+lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/include/varargs.h
+lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/install-tools/fixinc_list
+lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/install-tools/gsyslimits.h
+lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/install-tools/include/README
+lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/install-tools/include/limits.h
+lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/install-tools/macro_list
+lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/install-tools/mkheaders.conf
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/gtype.state
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/ada/gcc-interface/ada-tree.def
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/addresses.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/alias.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/align.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/all-tree.def
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/alloc-pool.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/ansidecl.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/array-traits.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/asan.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/attr-fnspec.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/attribs.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/auto-host.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/auto-profile.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/b-header-vars
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/backend.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/basic-block.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/bb-reorder.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/bitmap.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/builtin-attrs.def
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/builtin-types.def
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/builtins.def
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/builtins.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/bversion.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/c-family/c-common.def
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/c-family/c-common.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/c-family/c-objc.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/c-family/c-pragma.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/c-family/c-pretty-print.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/c-tree.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/calls.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/ccmp.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/cfg-flags.def
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/cfg.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/cfganal.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/cfgbuild.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/cfgcleanup.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/cfgexpand.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/cfghooks.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/cfgloop.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/cfgloopmanip.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/cfgrtl.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/cgraph.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/cif-code.def
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/collect-utils.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/collect2-aix.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/collect2.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/color-macros.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/conditions.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/config.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/config/elfos.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/config/%%OPSYS%%-spec.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/config/%%OPSYS%%-stdint.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/config/%%OPSYS%%.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/config/initfini-array.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/configargs.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/context.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/convert.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/coretypes.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/coroutine-builtins.def
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/coverage.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/cp/cp-tree.def
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/cp/cp-tree.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/cp/cxx-pretty-print.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/cp/name-lookup.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/cp/operators.def
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/cp/type-utils.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/cppbuiltin.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/cppdefault.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/cpplib.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/cselib.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/ctfc.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/d/d-tree.def
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/data-streamer.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/dbgcnt.def
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/dbgcnt.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/dbxout.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/dce.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/ddg.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/debug.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/defaults.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/df.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/dfp.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/diagnostic-color.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/diagnostic-core.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/diagnostic-event-id.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/diagnostic-metadata.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/diagnostic-path.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/diagnostic-spec.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/diagnostic-url.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/diagnostic.def
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/diagnostic.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/digraph.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/dojump.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/dominance.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/domwalk.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/double-int.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/dumpfile.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/dump-context.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/dwarf2asm.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/dwarf2ctf.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/dwarf2out.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/edit-context.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/emit-rtl.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/errors.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/escaped_string.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/et-forest.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/except.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/explow.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/expmed.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/expr.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/fibonacci_heap.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/file-find.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/file-prefix-map.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/filenames.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/fixed-value.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/flag-types.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/flags.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/fold-const-call.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/fold-const.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/function-abi.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/function.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/gcc-plugin.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/gcc-rich-location.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/gcc-symtab.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/gcc.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/gcov-counter.def
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/gcov-io.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/gcse-common.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/gcse.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/generic-match.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/gengtype.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/genrtl.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/gensupport.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/ggc-internal.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/ggc.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/gimple-array-bounds.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/gimple-builder.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/gimple-expr.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/gimple-fold.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/gimple-iterator.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/gimple-low.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/gimple-match.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/gimple-predicate-analysis.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/gimple-predict.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/gimple-pretty-print.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/gimple-range-cache.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/gimple-range-edge.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/gimple-range-fold.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/gimple-range-gori.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/gimple-range-path.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/gimple-range-trace.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/gimple-range.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/gimple-ssa-evrp-analyze.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/gimple-ssa-warn-access.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/gimple-ssa-warn-restrict.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/gimple-ssa.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/gimple-streamer.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/gimple-walk.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/gimple.def
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/gimple.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/gimplify-me.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/gimplify.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/glimits.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/gomp-constants.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/graphviz.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/graph.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/graphds.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/graphite.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/gsstruct.def
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/gstab.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/gsyms.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/gsyslimits.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/gtm-builtins.def
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/gtype-desc.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/hard-reg-set.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/hash-map-traits.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/hash-map.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/hash-set.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/hash-table.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/hash-traits.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/hashtab.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/highlev-plugin-common.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/hooks.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/hosthooks-def.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/hosthooks.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/hw-doloop.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/hwint.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/ifcvt.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/inchash.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/incpath.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/input.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/insn-addr.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/insn-attr-common.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/insn-attr.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/insn-codes.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/insn-config.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/insn-constants.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/insn-flags.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/insn-modes-inline.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/insn-modes.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/insn-notes.def
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/internal-fn.def
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/internal-fn.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/intl.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/int-vector-builder.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/ipa-fnsummary.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/ipa-icf-gimple.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/ipa-icf.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/ipa-inline.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/ipa-modref-tree.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/ipa-modref.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/ipa-param-manipulation.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/ipa-predicate.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/ipa-prop.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/ipa-ref.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/ipa-reference.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/ipa-utils.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/ira-int.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/ira.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/is-a.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/iterator-utils.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/json.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/langhooks-def.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/langhooks.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/lcm.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/libfuncs.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/libiberty.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/limitx.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/limity.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/line-map.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/loop-unroll.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/lower-subreg.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/lra-int.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/lra.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/lto-compress.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/lto-section-names.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/lto-streamer.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/machmode.def
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/machmode.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/md5.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/mem-stats-traits.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/mem-stats.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/memmodel.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/memory-block.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/mode-classes.def
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/mux-utils.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/objc/objc-tree.def
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/obstack-utils.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/obstack.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/omp-builtins.def
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/omp-expand.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/omp-general.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/omp-low.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/omp-offload.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/omp-simd-clone.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/opt-problem.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/opt-suggestions.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/optabs-libfuncs.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/optabs-query.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/optabs-tree.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/optabs.def
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/optabs.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/optinfo-emit-json.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/optinfo.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/options.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/opts-diagnostic.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/opts.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/ordered-hash-map.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/output.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/pass-instances.def
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/pass_manager.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/passes.def
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/plugin-api.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/plugin-version.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/plugin.def
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/plugin.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/pointer-query.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/poly-int-types.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/poly-int.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/predict.def
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/predict.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/prefix.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/pretty-print.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/print-rtl.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/print-tree.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/profile-count.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/profile.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/range-op.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/range.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/read-md.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/read-rtl-function.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/real.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/realmpfr.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/recog.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/reg-notes.def
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/regcprop.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/regrename.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/regs.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/regset.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/reload.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/resource.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/rtl-error.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/rtl-iter.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/rtl-ssa.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/rtl.def
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/rtl.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/rtlanal.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/rtlhash.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/rtlhooks-def.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/rtx-vector-builder.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/run-rtl-passes.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/safe-ctype.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/sanitizer.def
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/sbitmap.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/sched-int.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/sel-sched-dump.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/sel-sched-ir.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/sel-sched.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/selftest-diagnostic.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/selftest-rtl.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/selftest.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/sese.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/shortest-paths.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/shrink-wrap.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/signop.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/sparseset.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/spellcheck-tree.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/spellcheck.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/splay-tree.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/splay-tree-utils.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/sreal.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/ssa-iterators.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/ssa.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/stab.def
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/statistics.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/stmt.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/stor-layout.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/streamer-hooks.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/stringpool.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/substring-locations.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/symbol-summary.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/symtab.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/symtab-clones.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/symtab-thunks.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/sync-builtins.def
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/system.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/target-def.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/target-globals.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/target-hooks-macros.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/target-insns.def
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/target.def
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/target.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/targhooks.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/timevar.def
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/timevar.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/tm-preds.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/tm.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/tm_p.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/toplev.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/tracer.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/trans-mem.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/tree-affine.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/tree-cfg.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/tree-cfgcleanup.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/tree-check.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/tree-chrec.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/tree-core.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/tree-data-ref.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/tree-dfa.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/tree-diagnostic.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/tree-dump.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/tree-eh.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/tree-hash-traits.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/tree-hasher.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/tree-if-conv.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/tree-inline.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/tree-into-ssa.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/tree-iterator.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/tree-nested.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/tree-object-size.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/tree-outof-ssa.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/tree-parloops.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/tree-pass.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/tree-phinodes.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/tree-pretty-print.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/tree-scalar-evolution.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/tree-sra.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/tree-ssa-address.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/tree-ssa-alias.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/tree-ssa-alias-compare.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/tree-ssa-ccp.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/tree-ssa-coalesce.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/tree-ssa-dce.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/tree-ssa-dom.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/tree-ssa-dse.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/tree-ssa-live.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/tree-ssa-loop-ivopts.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/tree-ssa-loop-manip.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/tree-ssa-loop-niter.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/tree-ssa-loop.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/tree-ssa-math-opts.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/tree-ssa-operands.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/tree-ssa-propagate.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/tree-ssa-reassoc.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/tree-ssa-sccvn.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/tree-ssa-scopedtables.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/tree-ssa-strlen.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/tree-ssa-ter.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/tree-ssa-threadedge.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/tree-ssa-threadupdate.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/tree-ssa.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/tree-ssanames.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/tree-stdarg.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/tree-streamer.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/tree-switch-conversion.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/tree-vector-builder.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/tree-vectorizer.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/tree-vrp.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/tree.def
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/tree.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/treestruct.def
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/tristate.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/tsan.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/tsystem.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/typeclass.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/typed-splay-tree.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/ubsan.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/valtrack.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/value-pointer-equiv.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/value-prof.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/value-query.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/value-range-equiv.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/value-range.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/value-relation.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/varasm.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/vec-perm-indices.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/vec.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/vector-builder.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/version.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/vmsdbg.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/vr-values.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/vtable-verify.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/wide-int-bitmask.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/wide-int-print.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/wide-int.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/xcoff.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/xcoffout.h
+libexec/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/cc1
+libexec/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/cc1plus
+libexec/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/collect2
+libexec/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/install-tools/fixinc.sh
+libexec/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/install-tools/fixincl
+libexec/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/install-tools/mkheaders
+libexec/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/install-tools/mkinstalldirs
+libexec/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/liblto_plugin.so
+libexec/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/lto-wrapper
+libexec/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/lto1
+%%PLUGINS%%libexec/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/gengtype
+man/man1/%%GCC_TARGET%%-cpp%%SUFFIX%%.1.gz
+man/man1/%%GCC_TARGET%%-g++%%SUFFIX%%.1.gz
+man/man1/%%GCC_TARGET%%-gcc%%SUFFIX%%.1.gz
+man/man1/%%GCC_TARGET%%-gcov%%SUFFIX%%.1.gz
+man/man1/%%GCC_TARGET%%-gcov-dump%%SUFFIX%%.1.gz
+man/man1/%%GCC_TARGET%%-gcov-tool%%SUFFIX%%.1.gz
+man/man1/%%GCC_TARGET%%-lto-dump%%SUFFIX%%.1.gz
+share/toolchains/%%TARGETARCH%%-gcc%%SUFFIX%%.mk
diff --git a/devel/freebsd-gcc12/pkg-plist.aarch64 b/devel/freebsd-gcc12/pkg-plist.aarch64
new file mode 100644
index 000000000000..f86117195282
--- /dev/null
+++ b/devel/freebsd-gcc12/pkg-plist.aarch64
@@ -0,0 +1,12 @@
+lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/include/arm_sve.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/config/aarch64/aarch64-arches.def
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/config/aarch64/aarch64-cores.def
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/config/aarch64/aarch64-elf.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/config/aarch64/aarch64-errata.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/config/aarch64/aarch64-%%OPSYS%%.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/config/aarch64/aarch64-fusion-pairs.def
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/config/aarch64/aarch64-opts.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/config/aarch64/aarch64-protos.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/config/aarch64/aarch64-tuning-flags.def
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/config/aarch64/aarch64.h
+%%PLUGINS%%lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/include/config/aarch64/biarchlp64.h
diff --git a/devel/freebsd-gcc12/pkg-plist.amd64 b/devel/freebsd-gcc12/pkg-plist.amd64
*** 249 LINES SKIPPED ***