Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 28 Apr 2017 19:58:02 -0700
From:      Mark Millard <markmi@dsl-only.net>
To:        Mark Linimon <linimon@lonesome.com>
Cc:        svn-ports-head@freebsd.org, Baptiste Daroussin <bapt@FreeBSD.org>, Alexander Kabaev <kabaev@gmail.com>
Subject:   Re: svn commit: r439595 - in head/devel: aarch64-gcc aarch64-none-elf-gcc  amd64-gcc arm-none-eabi-gcc arm-none-eabi-gcc492 mips-gcc mips64-gcc  powerpc64-gcc riscv64-gcc sparc64-gcc
Message-ID:  <A6D8E222-75C6-4835-8847-938BE967AF9D@dsl-only.net>
In-Reply-To: <A6D8B25D-27F6-4216-BD96-1C07E08E7847@dsl-only.net>
References:  <8E45FA57-8D2E-4159-8E02-6A5044000CC2@dsl-only.net> <20170429022831.GB15674@lonesome.com> <A6D8B25D-27F6-4216-BD96-1C07E08E7847@dsl-only.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On 2017-Apr-28, at 7:41 PM, Mark Millard <markmi at dsl-only.net> wrote:

> On 2017-Apr-28, at 7:28 PM, Mark Linimon <linimon at lonesome.com> wrote:
> 
>> On Fri, Apr 28, 2017 at 03:27:31PM -0700, Mark Millard wrote:
>>> I do not have access to mips, mips64, riscv, sparc64
>>> so they could be targets but not hosts in my tests
>> 
>> I don't think we have any native mips, mips64, or riscv package build
>> capability right now.
>> 
>> I have sparc64 native.  I have never gotten around to trying any, but
>> I can.
>> 
>>> I have access to powerpc but currently am not well set up to use it
>>> without rebuilding it
>> 
>> I have powerpc64 native and am currently attempting builds.
> 
> I do have access to powerpc64 and tested it in my context.
> It is powerpc that I'm far from an appropriate configuration
> of for now.
> 
> FYI: The D10537 patch for devel/[powerpc64-gcc looks like:
> 
> # svnlite diff /usr/ports/devel/powerpc64-gcc
> Index: /usr/ports/devel/powerpc64-gcc/Makefile
> ===================================================================
> --- /usr/ports/devel/powerpc64-gcc/Makefile	(revision 439263)
> +++ /usr/ports/devel/powerpc64-gcc/Makefile	(working copy)
> @@ -74,11 +74,19 @@
> .endif
> 
> post-install:
> -	@if [ -f ${STAGEDIR}${PREFIX}/bin/cpp ] ; then \
> -		mv ${STAGEDIR}${PREFIX}/bin/cpp  \
> -		    ${STAGEDIR}${PREFIX}/bin/${GCC_TARGET}-cpp ; \
> +.for f in cpp gcov gcov-tool
> +	@if [ -f ${STAGEDIR}${PREFIX}/bin/$f ] ; then \
> +		${MV} ${STAGEDIR}${PREFIX}/bin/$f  \
> +		    ${STAGEDIR}${PREFIX}/bin/${GCC_TARGET}-$f ; \
> 	fi
> +.endfor
> .for f in c++ cpp g++ gcc gcc-ar gcc-nm gcc-ranlib gcov gcov-tool
> +	@if [ ! -f ${STAGEDIR}${PREFIX}/man/man1/${GCC_TARGET}-$f.1 ] ; then \
> +		if [ -f ${STAGEDIR}${PREFIX}/man/man1/$f.1 ] ; then \
> +			${CP} ${STAGEDIR}${PREFIX}/man/man1/$f.1  \
> +			    ${STAGEDIR}${PREFIX}/man/man1/${GCC_TARGET}-$f.1 ; \
> +		fi \
> +	fi
> 	@${RM} ${STAGEDIR}${PREFIX}/bin/$f
> 	@${RM} ${STAGEDIR}${PREFIX}/man/man1/$f.1
> 	@${RM} ${STAGEDIR}${PREFIX}/man/man1/$f.1.gz
> 
> It contributes to all its slave ports.
> 
> As for the other part of D10537's patch (the
> pkg-plist part of the below):
> 
> # svnlite diff /usr/ports/devel/amd64-gcc
> Index: /usr/ports/devel/amd64-gcc/Makefile
> ===================================================================
> --- /usr/ports/devel/amd64-gcc/Makefile	(revision 439263)
> +++ /usr/ports/devel/amd64-gcc/Makefile	(working copy)
> @@ -8,6 +8,4 @@
> BU_PREFIX=	x86_64-${OPSYS:tl}
> FREEBSD_EXTENSION=	yes
> 
> -BROKEN_powerpc64=	Does not build
> -
> .include "${MASTERDIR}/Makefile"
> Index: /usr/ports/devel/amd64-gcc/pkg-plist
> ===================================================================
> --- /usr/ports/devel/amd64-gcc/pkg-plist	(revision 439263)
> +++ /usr/ports/devel/amd64-gcc/pkg-plist	(working copy)
> @@ -6,6 +6,8 @@
> bin/%%GCC_TARGET%%-gcc-ar
> bin/%%GCC_TARGET%%-gcc-nm
> bin/%%GCC_TARGET%%-gcc-ranlib
> +bin/%%GCC_TARGET%%-gcov
> +bin/%%GCC_TARGET%%-gcov-tool
> lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/include-fixed/README
> lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/include-fixed/limits.h
> lib/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/include-fixed/netinet/ip_fil.h
> @@ -489,3 +491,7 @@
> libexec/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/lto-wrapper
> libexec/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/lto1
> libexec/gcc/%%GCC_TARGET%%/%%GCC_VERSION%%/plugin/gengtype
> +man/man1/%%GCC_TARGET%%-cpp.1.gz
> +man/man1/%%GCC_TARGET%%-g++.1.gz
> +man/man1/%%GCC_TARGET%%-gcc.1.gz
> +man/man1/%%GCC_TARGET%%-gcov.1.gz
> 
> devel/amd64-gcc was missing 6 files in pkg-plist
> that devel/aarch64-gcc and devel/powerpc64-gcc
> had in place. Plus I enabled attempting the build.

A likely powerpc64 difference in our contexts is
my use of a system-clang-based/libc++ based
head -r317015 vs. you not being likely to use
a system-clang based powerpc64 environment.

So we are likely using different compilers
to compile any devel/*-gcc when compiled
on powerpc64 (no qemu or the like involved):
clang vs. gcc (4.2.1?) and possibly libc++
vs. old(?) libstdc++ .

I do not expect that clang and gcc get the same
result for devel/amd64-gcc --but I've only tested
clang doing the compiles.

Also I use -r436731 for devel/*binutils (so
2.27) and you may be using 2.28. That may be
true of more than just powerpc64.

I also use:

# svnlite diff /usr/ports/Mk/
Index: /usr/ports/Mk/bsd.port.mk
===================================================================
--- /usr/ports/Mk/bsd.port.mk	(revision 439263)
+++ /usr/ports/Mk/bsd.port.mk	(working copy)
@@ -1644,7 +1644,11 @@
 STRIP_CMD=	${TRUE}
 .endif
 DEBUG_FLAGS?=	-g
+.if defined(ALLOW_OPTIMIZATIONS_FOR_WITH_DEBUG)
+CFLAGS:=		${CFLAGS} ${DEBUG_FLAGS}
+.else
 CFLAGS:=		${CFLAGS:N-O*:N-fno-strict*} ${DEBUG_FLAGS}
+.endif
 .if defined(INSTALL_TARGET)
 INSTALL_TARGET:=	${INSTALL_TARGET:S/^install-strip$/install/g}
 .endif

and. . .

# more /etc/make.conf 
WANT_QT_VERBOSE_CONFIGURE=1
#
DEFAULT_VERSIONS+=perl5=5.24
WRKDIRPREFIX=/usr/obj/portswork
#
# From a local /usr/ports/Mk/bsd.port.mk extension:
ALLOW_OPTIMIZATIONS_FOR_WITH_DEBUG=
#
.if ${.CURDIR:M*/devel/*llvm*}
#WITH_DEBUG=
.elif ${.CURDIR:M*/www/webkit-qt5*}
#WITH_DEBUG=
.else
WITH_DEBUG=
.endif
WITH_DEBUG_FILES=
MALLOC_PRODUCTION=

which together mean having both optimization
and debug information for most things.

( devel/*llvm* and www/webkit-qt5* are massive
builds when WITH_DEBUG= is used and so I avoid
such.)

===
Mark Millard
markmi at dsl-only.net





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?A6D8E222-75C6-4835-8847-938BE967AF9D>