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

From: Piotr Kubaj <pkubaj_at_anongoth.pl>
Date: Fri, 12 Aug 2022 21:48:30 UTC
Why not powerpc64le?

On 22-08-12 17:27:49, John Baldwin wrote:
> 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 ***