Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 13 Jul 2019 22:16:07 +0000
From:      bugzilla-noreply@freebsd.org
To:        haskell@FreeBSD.org
Subject:   maintainer-feedback requested: [Bug 239193] lang/ghc: fix build on powerpc64 elfv1
Message-ID:  <bug-239193-16154-nb1HzJfuX8@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-239193-16154@https.bugs.freebsd.org/bugzilla/>
References:  <bug-239193-16154@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
Bugzilla Automation <bugzilla@FreeBSD.org> has asked freebsd-haskell mailing
list <haskell@FreeBSD.org> for maintainer-feedback:
Bug 239193: lang/ghc: fix build on powerpc64 elfv1
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D239193



--- Description ---
1. Dtrace currently doesn't work on powerpc64. I'm not sure whether it work=
s on
CURRENT, but enabling it on 12 causes assertion errors from base. Consider
following patch:
Index: Makefile
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- Makefile	(revision 506459)
+++ Makefile	(working copy)
@@ -95,6 +95,10 @@
 LLVM_VERSION=3D		60
 .endif

+.if ${ARCH} =3D=3D powerpc64 && ${OSVERSION} < 1300000
+CONFIGURE_ARGS+=3D	--enable-dtrace=3D0
+.endif
+
 .if ${ARCH} =3D=3D amd64 || ${ARCH} =3D=3D i386
 BOOT_GHC_VERSION=3D	8.4.3
 .else

2.
https://svnweb.freebsd.org/ports/head/lang/ghc/files/patch-ppc64?r1=3D49456=
2&r2=3D5
06142
is another breakage on powerpc64 elfv1. Reverting to previous version of
patch-ppc64 works it around:
/wrkdirs/usr/ports/lang/ghc/work/ghc-8.6.5/rts/Schedule.c:451:0: error:
     undefined reference to `StgRun'
    |
451 |	      r =3D StgRun((StgFunPtr) stg_returnToStackTop, &cap->r);
    | ^
/usr/local/bin/ld: rts/dist/build/libHSrts_thr-ghc8.6.5.so: hidden symbol
`StgRun' isn't defined
/usr/local/bin/ld: final link failed: bad value
collect2: error: ld returned 1 exit status
`gcc8' failed in phase `Linker'. (Exit code: 1)
/usr/local/bin/ld: rts/dist/build/Schedule.l_dyn_o: in function `schedule':
/usr/local/bin/ld: rts/dist/build/Schedule.debug_dyn_o: in function `schedu=
le':


/wrkdirs/usr/ports/lang/ghc/work/ghc-8.6.5/rts/Schedule.c:451:0: error:
     undefined reference to `StgRun'
    |
451 |	      r =3D StgRun((StgFunPtr) stg_returnToStackTop, &cap->r);
    | ^
/wrkdirs/usr/ports/lang/ghc/work/ghc-8.6.5/rts/Schedule.c:451:0: error:
     undefined reference to `StgRun'


Could the current patch-ppc64 be applied only for elfv2 systems and for elf=
v1
the old patch be kept?



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-239193-16154-nb1HzJfuX8>