The NetBSD Project

CVS log for pkgsrc/lang/gcc12/Makefile

[BACK] Up to [] / pkgsrc / lang / gcc12

Request diff between arbitrary revisions

Default branch: MAIN

Revision 1.8 / (download) - annotate - [select for diffs], Mon Nov 27 14:45:40 2023 UTC (12 days, 21 hours ago) by jperkin
Branch: MAIN
Changes since 1.7: +3 -4 lines
Diff to previous 1.7 (colored)

gcc12: Stop subverting buildlink with LDFLAGS.

It's not clear why this was ever added in the first place (back in gcc46),
but it results in the build gcc finding libraries in PREFIX that aren't

Discovered on macOS with the indirect DEPENDS checks where iconv was being
pulled in directly from PREFIX.  While here fix a non-ASCII space.

Revision 1.7 / (download) - annotate - [select for diffs], Fri Oct 20 10:37:32 2023 UTC (7 weeks, 2 days ago) by jperkin
Branch: MAIN
Changes since 1.6: +6 -1 lines
Diff to previous 1.6 (colored)

gcc12: Work around ld bug in Xcode 15.

Revision 1.6 / (download) - annotate - [select for diffs], Sat Jun 3 13:22:04 2023 UTC (6 months, 1 week ago) by riastradh
Branch: MAIN
CVS Tags: pkgsrc-2023Q3-base, pkgsrc-2023Q3, pkgsrc-2023Q2-base, pkgsrc-2023Q2
Changes since 1.5: +6 -1 lines
Diff to previous 1.5 (colored)

lang/gcc*: Set CC_FOR_BUILD and CXX_FOR_BUILD if cross-compiling.

Verified gcc6 and gcc7 cross-compile on NetBSD, at least if the
gcc-fortran option is disabled.  gcc8 and gcc9 have trouble because
of python (why do these have a full dependency on python?); gcc10 and
gcc12 are missing gcc/config/mips/netbsd64.h; gcc12 and gcc13 have a
cross-compile bug with missing __LIBGCC_*__ macros -- but in any
case, setting CC_FOR_BUILD and CXX_FOR_BUILD is obviously necessary
for cross-compilation.  Conditional on USE_CROSS_COMPILE, so no harm
to native builds.

Revision 1.5 / (download) - annotate - [select for diffs], Fri Apr 7 06:48:27 2023 UTC (8 months ago) by wiz
Branch: MAIN
Changes since 1.4: +3 -146 lines
Diff to previous 1.4 (colored)

gcc12: split off Makefile.common

Sync more with gcc10 package.

Revision 1.4 / (download) - annotate - [select for diffs], Tue Dec 6 14:23:02 2022 UTC (12 months ago) by jperkin
Branch: MAIN
CVS Tags: pkgsrc-2023Q1-base, pkgsrc-2023Q1, pkgsrc-2022Q4-base, pkgsrc-2022Q4
Changes since 1.3: +10 -1 lines
Diff to previous 1.3 (colored)

gcc12: Support Darwin/aarch64.

Revision 1.3 / (download) - annotate - [select for diffs], Mon Aug 22 12:16:15 2022 UTC (15 months, 2 weeks ago) by wiz
Branch: MAIN
CVS Tags: pkgsrc-2022Q3-base, pkgsrc-2022Q3
Changes since 1.2: +2 -3 lines
Diff to previous 1.2 (colored)

gcc12: update to 12.2.0.

Bug fixes, full list here:

Revision 1.2 / (download) - annotate - [select for diffs], Tue Jun 28 11:34:10 2022 UTC (17 months, 1 week ago) by wiz
Branch: MAIN
Changes since 1.1: +2 -1 lines
Diff to previous 1.1 (colored)

*: recursive bump for perl 5.36

Revision 1.1 / (download) - annotate - [select for diffs], Thu Jun 16 15:43:55 2022 UTC (17 months, 3 weeks ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2022Q2-base, pkgsrc-2022Q2

gcc12: added version 12.1.0

GCC 12


An ABI incompatibility between C and C++ when passing or returning by value certain aggregates containing zero width bit-fields has been discovered on various targets. As mentioned in PR102024, since the PR42217 fix in GCC 4.5 the C++ front-end has been removing zero width bit-fields from the internal representation of the aggregates after the layout of those aggregates, but the C front-end kept them, so passing e.g. struct S { float a; int : 0; float b; } or struct T { float c; int : 0; } by value could differ between C and C++. Starting with GCC 12 the C++ front-end no longer removes those bit-fields from the internal representation and per clarified psABI some targets have been changed, so that they either ignore those bit-fields in the argument passing by value decisions in both C and C++, or they always take them into account. x86-64, ARM and AArch64 will always ignore them (so there is a C ABI incompatibility between GCC 11 and earlier with GCC 12 or later), PowerPC64 ELFv2 and S/390 always take them into account (so there is a C++ ABI incompatibility, GCC 4.4 and earlier compatible with GCC 12 or later, incompatible with GCC 4.5 through GCC 11). RISC-V has changed the handling of these already starting with GCC 10. As the ABI requires, MIPS takes them into account handling function return values so there is a C++ ABI incompatibility with GCC 4.5 through 11. For function arguments on MIPS, refer to the MIPS specific entry. GCC 12 on the above targets will report such incompatibilities as warnings or other diagnostics unless -Wno-psabi is used.
C: Computed gotos require a pointer type now.
C++: Two non-standard std::pair constructors have been deprecated. These allowed the use of an rvalue and a literal 0 to construct a pair containing a move-only type and a pointer. The nullptr keyword should be used to initialize the pointer member instead of a literal 0, as this is portable to other C++ implementations.
The configuration option --enable-libstdcxx-allocator no longer supports the bitmap, mt, and pool arguments. Those configurations had been broken for some time.
Fortran: OpenMP code using the omp_lib.h include file can no longer be compiled with -std=f95 but now requires at least -std=f2003. Alternatively, use the omp_lib module, which still supports -std=f95 and is recommended to be used instead in general.
OpenMP offloading to Intel MIC has been deprecated and will be removed in a future release.
The cr16 target with the cr16-*-* configuration has been obsoleted and will be removed in a future release.
The hppa[12]*-*-hpux10* and hppa[12]*-*-hpux11* configurations targeting 32-bit PA-RISC with HP-UX have been obsoleted and will be removed in a future release.
The m32c*-*-rtems* configuration has been obsoleted and will be removed in a future release.
The support for the m32r-*-linux*, m32rle-*-linux*, m68k*-*-openbsd* and vax-*-openbsd* configurations has been removed.
STABS: Support for emitting the STABS debugging format is deprecated and will be removed in the next release. All ports now default to emit DWARF (version 2 or later) debugging info or are obsoleted.
The optimization level -Ofast now implies -fno-semantic-interposition.

General Improvements

Vectorization is enabled at -O2 which is now equivalent to the original -O2 -ftree-vectorize -fvect-cost-model=very-cheap. Note that default vectorizer cost model has been changed which used to behave as -fvect-cost-model=cheap were specified.
GCC now supports the ShadowCallStack sanitizer, which can be enabled using the command-line option -fsanitize=shadow-call-stack. This sanitizer currently only works on AArch64 targets and it requires an environment in which all code has been compiled with -ffixed-r18. Its primary initial user is the Linux kernel.

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.

CVSweb <>