Module Name: src
Committed By: mrg
Date: Tue Jun 18 04:07:18 UTC 2024
Modified Files:
src/external/gpl3/gcc/usr.bin: Makefile
src/external/gpl3/gcc/usr.bin/backend: Makefile
src/external/gpl3/gcc/usr.bin/host-libiberty: Makefile
src/external/gpl3/gcc/usr.bin/include: Makefile
Added Files:
src/external/gpl3/gcc/usr.bin: rs6000-inc.mk
Log Message:
fix the rs6000 vs GCC 12 includes problems.
we need a host-tool to generate one of the installed include files,
so restructure the includes build to descend into "host-libiberty"
with a "includes" target, and make "includes" target here depend
upon libiberty.a, so it will be built before "include" subdir tries
to use it to build rs6000-gen-builtins.
put the generator code for rs6000-gen-builtins into "rs6000-inc.mk".
no longer exclude rs6000-vecdefines.h in "include" subdir, and do
not try to install it from "backend" subdir anymore.
To generate a diff of this commit:
cvs rdiff -u -r1.15 -r1.16 src/external/gpl3/gcc/usr.bin/Makefile
cvs rdiff -u -r0 -r1.1 src/external/gpl3/gcc/usr.bin/rs6000-inc.mk
cvs rdiff -u -r1.73 -r1.74 src/external/gpl3/gcc/usr.bin/backend/Makefile
cvs rdiff -u -r1.4 -r1.5 \
src/external/gpl3/gcc/usr.bin/host-libiberty/Makefile
cvs rdiff -u -r1.15 -r1.16 src/external/gpl3/gcc/usr.bin/include/Makefile
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/external/gpl3/gcc/usr.bin/Makefile
diff -u src/external/gpl3/gcc/usr.bin/Makefile:1.15 src/external/gpl3/gcc/usr.bin/Makefile:1.16
--- src/external/gpl3/gcc/usr.bin/Makefile:1.15 Sun Feb 25 00:28:02 2024
+++ src/external/gpl3/gcc/usr.bin/Makefile Tue Jun 18 04:07:18 2024
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.15 2024/02/25 00:28:02 mrg Exp $
+# $NetBSD: Makefile,v 1.16 2024/06/18 04:07:18 mrg Exp $
NOOBJ=# defined
@@ -8,11 +8,12 @@ GCC_MACHINE_ARCH=${MACHINE_ARCH:S/earmv5
.if ${MKGCC} != "no" && exists(${.CURDIR}/gcc/arch/${GCC_MACHINE_ARCH}/defs.mk)
-.if ${MKGCCCMDS} != "no" || make(includes)
+# host-libiberty is used by include on rs6000.
+SUBDIR+= host-libiberty .WAIT
# We keep libcpp here since it depends upon frontend.
-SUBDIR+= host-libiberty .WAIT \
- host-libcpp .WAIT \
+.if ${MKGCCCMDS} != "no" || make(includes)
+SUBDIR+= host-libcpp .WAIT \
../../../mit/isl/lib/libisl \
backend .WAIT \
frontend .WAIT \
@@ -24,6 +25,10 @@ SUBDIR+= host-libiberty .WAIT \
SUBDIR+= include
+# Make sure that we do host-liberty before include, rs6000 has a generator
+# for an installed a header and the generator needs host-libiberty.
+include-include: include-host-libiberty
+
.include <bsd.subdir.mk>
.else
Index: src/external/gpl3/gcc/usr.bin/backend/Makefile
diff -u src/external/gpl3/gcc/usr.bin/backend/Makefile:1.73 src/external/gpl3/gcc/usr.bin/backend/Makefile:1.74
--- src/external/gpl3/gcc/usr.bin/backend/Makefile:1.73 Tue Jun 11 03:06:48 2024
+++ src/external/gpl3/gcc/usr.bin/backend/Makefile Tue Jun 18 04:07:18 2024
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.73 2024/06/11 03:06:48 mrg Exp $
+# $NetBSD: Makefile,v 1.74 2024/06/18 04:07:18 mrg Exp $
HOSTPROG_CXX= 1
LIBISPRIVATE= yes
@@ -35,12 +35,6 @@ HOST_CXXFLAGS+= -std=gnu++11
HOST_LIBIBERTYOBJ!= cd ${.CURDIR}/../host-libiberty && ${PRINTOBJDIR}
-# XXX This is generated here, not in ../include.
-.if ${GCC_MACHINE_ARCH} == "powerpc" || ${GCC_MACHINE_ARCH} == "powerpc64"
-INCS+= rs6000-vecdefines.h
-INCSDIR=${GCC_INCSDIR}
-.endif
-
.include <bsd.lib.mk>
# Force using C++ for this
@@ -439,24 +433,7 @@ CLEANFILES+= aarch-builtin-iterators.h
.if ${GCC_MACHINE_ARCH} == "powerpc" || ${GCC_MACHINE_ARCH} == "powerpc64" # {
-rs6000-gen-builtins.lo: ${HH} ${DIST}/gcc/config/rs6000/rs6000-gen-builtins.cc
-rbtree.lo: ${HH} ${DIST}/gcc/config/rs6000/rbtree.cc
-rs6000-gen-builtins: rs6000-gen-builtins.lo rbtree.lo
- ${_MKTARGET_LINK}
- ${HOST_LINK.cc} -o ${.TARGET} ${.ALLSRC} ${NBCOMPATLIB} ${HOSTLIBIBERTY} ${LDFLAGS.${.TARGET}}
-rs6000-builtins.cc: rs6000-gen-builtins \
- ${DIST}/gcc/config/rs6000/rs6000-builtins.def \
- ${DIST}/gcc/config/rs6000/rs6000-overload.def
- ${_MKTARGET_CREATE}
- ./rs6000-gen-builtins \
- ${DIST}/gcc/config/rs6000/rs6000-builtins.def \
- ${DIST}/gcc/config/rs6000/rs6000-overload.def \
- rs6000-builtins.h rs6000-builtins.cc rs6000-vecdefines.h
-rs6000-builtins.h rs6000-vecdefines.h: rs6000-builtins.cc
-
-CLEANFILES+= rs6000-builtins.h rs6000-builtins.cc rs6000-vecdefines.h
-CLEANFILES+= rs6000-gen-builtins rbtree.lo rs6000-gen-builtins.lo
-
+.include "../rs6000-inc.mk"
gtype-desc.h: rs6000-builtins.h
.endif # }
Index: src/external/gpl3/gcc/usr.bin/host-libiberty/Makefile
diff -u src/external/gpl3/gcc/usr.bin/host-libiberty/Makefile:1.4 src/external/gpl3/gcc/usr.bin/host-libiberty/Makefile:1.5
--- src/external/gpl3/gcc/usr.bin/host-libiberty/Makefile:1.4 Sat Sep 18 01:47:08 2021
+++ src/external/gpl3/gcc/usr.bin/host-libiberty/Makefile Tue Jun 18 04:07:18 2024
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.4 2021/09/18 01:47:08 christos Exp $
+# $NetBSD: Makefile,v 1.5 2024/06/18 04:07:18 mrg Exp $
libiberty/libiberty.a:
[ ! -d libiberty ] && mkdir libiberty || true
@@ -15,6 +15,6 @@ libiberty/libiberty.a:
cleandir:
-rm -rf libiberty
-depend dependall all: libiberty/libiberty.a
+includes depend dependall all: libiberty/libiberty.a
.include <bsd.prog.mk>
Index: src/external/gpl3/gcc/usr.bin/include/Makefile
diff -u src/external/gpl3/gcc/usr.bin/include/Makefile:1.15 src/external/gpl3/gcc/usr.bin/include/Makefile:1.16
--- src/external/gpl3/gcc/usr.bin/include/Makefile:1.15 Thu Jun 6 05:41:28 2024
+++ src/external/gpl3/gcc/usr.bin/include/Makefile Tue Jun 18 04:07:18 2024
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.15 2024/06/06 05:41:28 mrg Exp $
+# $NetBSD: Makefile,v 1.16 2024/06/18 04:07:18 mrg Exp $
.include <bsd.init.mk>
@@ -8,9 +8,9 @@ SUBDIR= sanitizer
.include "${.CURDIR}/arch/${GCC_MACHINE_ARCH}.mk"
.endif
-# XXX rs6000-vecdefines.h is generated in usr.bin/backend. we can
-# try to install this from there later perhaps?
-INCS= ${G_EXTRA_HEADERS:T:Nrs6000-vecdefines.h}
+INCS= ${G_EXTRA_HEADERS:T}
+
+.include "../rs6000-inc.mk"
# Part of the standard headers, the rest of which we replace.
INCS+= stdatomic.h
Added files:
Index: src/external/gpl3/gcc/usr.bin/rs6000-inc.mk
diff -u /dev/null src/external/gpl3/gcc/usr.bin/rs6000-inc.mk:1.1
--- /dev/null Tue Jun 18 04:07:18 2024
+++ src/external/gpl3/gcc/usr.bin/rs6000-inc.mk Tue Jun 18 04:07:18 2024
@@ -0,0 +1,26 @@
+# $NetBSD: rs6000-inc.mk,v 1.1 2024/06/18 04:07:18 mrg Exp $
+
+# makefile snippet to build the rs6000-vecdefs files, used by include and
+# usr.bin.
+
+.if ${GCC_MACHINE_ARCH} == "powerpc" || ${GCC_MACHINE_ARCH} == "powerpc64" # {
+
+rs6000-gen-builtins.lo: ${HH} ${DIST}/gcc/config/rs6000/rs6000-gen-builtins.cc
+rbtree.lo: ${HH} ${DIST}/gcc/config/rs6000/rbtree.cc
+rs6000-gen-builtins: rs6000-gen-builtins.lo rbtree.lo
+ ${_MKTARGET_LINK}
+ ${HOST_LINK.cc} -o ${.TARGET} ${.ALLSRC} ${NBCOMPATLIB} ${HOSTLIBIBERTY} ${LDFLAGS.${.TARGET}}
+rs6000-builtins.cc: rs6000-gen-builtins \
+ ${DIST}/gcc/config/rs6000/rs6000-builtins.def \
+ ${DIST}/gcc/config/rs6000/rs6000-overload.def
+ ${_MKTARGET_CREATE}
+ ./rs6000-gen-builtins \
+ ${DIST}/gcc/config/rs6000/rs6000-builtins.def \
+ ${DIST}/gcc/config/rs6000/rs6000-overload.def \
+ rs6000-builtins.h rs6000-builtins.cc rs6000-vecdefines.h
+rs6000-builtins.h rs6000-vecdefines.h: rs6000-builtins.cc
+
+CLEANFILES+= rs6000-builtins.h rs6000-builtins.cc rs6000-vecdefines.h
+CLEANFILES+= rs6000-gen-builtins rbtree.lo rs6000-gen-builtins.lo
+
+.endif # }