maintainer-feedback requested: [Bug 239193] lang/ghc: fix build on powerpc64 elfv1

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Sat Jul 13 22:16:22 UTC 2019


Bugzilla Automation <bugzilla at FreeBSD.org> has asked freebsd-haskell mailing
list <haskell at FreeBSD.org> for maintainer-feedback:
Bug 239193: lang/ghc: fix build on powerpc64 elfv1
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=239193



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

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

2.
https://svnweb.freebsd.org/ports/head/lang/ghc/files/patch-ppc64?r1=494562&r2=5
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 = 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 `schedule':


/wrkdirs/usr/ports/lang/ghc/work/ghc-8.6.5/rts/Schedule.c:451:0: error:
     undefined reference to `StgRun'
    |
451 |	      r = 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 elfv1
the old patch be kept?


More information about the freebsd-haskell mailing list