On Tue, 28 Apr 2020 13:37:08 +0200
Charlene Wendling wrote:
> 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')
>
>
>