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