Date: Fri, 17 May 2024 20:51:11 GMT From: Brooks Davis <brooks@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: git: 61ad1ddc5a81 - main - Improve broken-on-gcc checks Message-ID: <202405172051.44HKpBKe037674@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=61ad1ddc5a81b8f709509d34962e7f26ac163372 commit 61ad1ddc5a81b8f709509d34962e7f26ac163372 Author: Brooks Davis <brooks@FreeBSD.org> AuthorDate: 2024-05-17 20:34:37 +0000 Commit: Brooks Davis <brooks@FreeBSD.org> CommitDate: 2024-05-17 20:50:57 +0000 Improve broken-on-gcc checks Mark powerpc* and riscv broken. Refactor and add a TRY_GCC_BROKEN option to build anyway. This simplifies things for people trying to get gcc builds working while letting other developers know that they aren't expected to work. Reviewed by: jhb, emaste Improves: 4c0dfd5959bd4 arm: fail early on gcc builds Differential Revision: https://reviews.freebsd.org/D45230 --- Makefile.inc1 | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/Makefile.inc1 b/Makefile.inc1 index 1bf4212b1d5e..90439adcbc09 100644 --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -175,7 +175,24 @@ LIBCOMPAT_INCLUDE_DIRS+= arm .if ((defined(X_COMPILER_TYPE) && ${X_COMPILER_TYPE} == "gcc") || \ (!defined(X_COMPILER_TYPE) && ${COMPILER_TYPE} == "gcc")) .if ${TARGET} == "arm" -.error "armv6/armv7 build are broken with gcc. See https://reviews.freebsd.org/D36754" +_GCC_BROKEN="https://reviews.freebsd.org/D36754" +.endif +.if ${TARGET_ARCH} == "powerpc" +_GCC_BROKEN=Missing atomic builtins in libc++. +.endif +.if ${TARGET_ARCH:Mpowerpc64*} +_GCC_BROKEN=libsys.so.7.full has a LOAD segment with RWX permissions. +.endif +.if ${TARGET} == "riscv" +_GCC_BROKEN=boot code linker script issues. +.endif +.if defined(_GCC_BROKEN) +.warning Target ${TARGET} is broken with GCC: ${_GCC_BROKEN} +.if defined(TRY_GCC_BROKEN) +.warning Trying build anyway. +.else +.error Avoiding broken build. Define TRY_GCC_BROKEN to try anyway. +.endif .endif .endif
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202405172051.44HKpBKe037674>