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')
> 
> 
> 

Reply via email to