On Mon, 27 Apr 2020 20:59:20 +0200 Charlene Wendling wrote: > > Parrot fails to build in the current macppc bulk, same as: > > > http://build-failures.rhaalovely.net/mips64/2020-04-11/lang/parrot.log > > I already had to provide a workaround `-Werror', but this time i'm > proposing to remove all warnings. > > Note that 'Configure.pl' provides a `--ccwarn' flag, but these flags > are placed before the warnings, so it doesn't work. Putting `-w' at > the end of the flags generated by `Configure.pl' does not work as > well. > > REVISION bump is needed, because `-maccumulate-outgoing-args' and > `-falign-functions' are zapped. I've read the docs about these flags, > and i don't get why they are here to start with. > > I've run the tests on amd64 and macppc [0], and there is no difference > between the two archs, and between tests i did with my previous fix; > 1 failure out of 47763 tests. > > Comments/feedback are welcome, > > Charlène. > > > [0] https://bin.charlenew.xyz/parrot.log
Janne Johansson did some mips64 build testing, and the build is broken due to a SIGBUS, see the log after the diff. As such i've reworded my diff and marked parrot BROKEN-mips64, unless someone want to/can fix it. -- Index: Makefile =================================================================== RCS file: /cvs/ports/lang/parrot/Makefile,v retrieving revision 1.48 diff -u -p -u -p -r1.48 Makefile --- Makefile 17 Oct 2019 14:03:55 -0000 1.48 +++ Makefile 28 Apr 2020 11:20:36 -0000 @@ -1,10 +1,12 @@ # $OpenBSD: Makefile,v 1.48 2019/10/17 14:03:55 cwen Exp $ +BROKEN-mips64= SIGBUS while running pbc_to_exe + COMMENT= virtual machine designed for interpreted languages V= 7.10.0 DISTNAME= parrot-$V -REVISION= 8 +REVISION= 9 CATEGORIES= lang perl6 SHARED_LIBS= parrot 11.0 @@ -55,11 +57,6 @@ INSTALL_TARGET = install install-doc TEST_TARGET= fulltest SUBST_VARS += V - -# fix for error: "_CALL_ELF" is not defined, evaluates to 0 -.if ${MACHINE_ARCH:Mpowerpc} -CFLAGS += -D_CALL_ELF=1 -.endif pre-configure: ${SUBST_CMD} ${WRKSRC}/config/init/hints/openbsd.pm Index: patches/patch-config_auto_warnings_pm =================================================================== RCS file: patches/patch-config_auto_warnings_pm diff -N patches/patch-config_auto_warnings_pm --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-config_auto_warnings_pm 28 Apr 2020 11:20:36 -0000 @@ -0,0 +1,19 @@ +$OpenBSD$ + +Drop all -Werror, fix the build on powerpc. +The build breaks due to some libffi defines being undefined, +issue that doesn't cause runtime errors. + +Index: config/auto/warnings.pm +--- config/auto/warnings.pm.orig ++++ config/auto/warnings.pm +@@ -169,9 +169,6 @@ sub _init { + -Werror=strict-prototypes + ); + +- $gcc->{'basic'} = [ @gcc_or_gpp_basic, @gcc_basic ]; +- $gpp->{'basic'} = [ @gcc_or_gpp_basic ]; +- + my @gcc_or_gpp_cage = qw( + -std=c89 + -Wfloat-equal > mips64 log mkdir -p runtime/parrot/languages/winxed ./parrot -o runtime/parrot/languages/winxed/winxed.pbc ext/winxed/compiler.pir ./parrot -o winxed.pbc ext/winxed/driver.pir ./parrot winxed.pbc -c --noan tools/dev/pbc_to_exe.winxed ./parrot -o pbc_to_exe.pbc tools/dev/pbc_to_exe.pir ./parrot pbc_to_exe.pbc pbc_to_exe.pbc /usr/ports/pobj/parrot-7.10.0/parrot-7.10.0/blib/lib/libparrot.so.11.0: warning: vsprintf() is often misused, please use vsnprintf() /usr/ports/pobj/parrot-7.10.0/parrot-7.10.0/blib/lib/libparrot.so.11.0: warning: sprintf() is often misused, please use snprintf() /usr/ports/pobj/parrot-7.10.0/parrot-7.10.0/blib/lib/libparrot.so.11.0: warning: strcat() is almost always misused, please use strlcat() /usr/ports/pobj/parrot-7.10.0/parrot-7.10.0/blib/lib/libparrot.so.11.0: warning: strcpy() is almost always misused, please use strlcpy() cp runtime/parrot/library/nqp-rx.pbc parrot-nqp.pbc ./pbc_to_exe parrot-nqp.pbc *** Signal SIGBUS in /usr/ports/pobj/parrot-7.10.0/parrot-7.10.0 (ext/nqp-rx/Rules.mak:32 './parrot-nqp') *** Error 2 in . (/usr/ports/infrastructure/mk/bsd.port.mk:2907 '/usr/ports/pobj/parrot-7.10.0/.build_done') *** Error 2 in /usr/ports/lang/parrot (/usr/ports/infrastructure/mk/ bsd.port.mk:2573 'all')