Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 08 Feb 2022 19:21:07 +0000
From:      bugzilla-noreply@freebsd.org
To:        ports-bugs@FreeBSD.org
Subject:   [Bug 261798] lang/ghc: fix llvm code generation
Message-ID:  <bug-261798-7788@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D261798

            Bug ID: 261798
           Summary: lang/ghc: fix llvm code generation
           Product: Ports & Packages
           Version: Latest
          Hardware: amd64
                OS: Any
            Status: New
          Severity: Affects Many People
          Priority: ---
         Component: Individual Port(s)
          Assignee: haskell@FreeBSD.org
          Reporter: contact@shiori.com.br
             Flags: maintainer-feedback?(haskell@FreeBSD.org)
          Assignee: haskell@FreeBSD.org

Created attachment 231654
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=3D231654&action=
=3Dedit
patch

Salve, salve!

GHC searches for a `amd64-portbld-freebsd` version of LLVM, which does not
match either base or ports version identifiers.

If we try to compile a simple hello world:

```
$ ghc -fllvm main.hs -o main.o
[1 of 1] Compiling Main             ( main.hs, main.o )

<no location info>: error:
    Warning: Couldn't figure out LLVM version!
             Make sure you have installed LLVM between [9 and 13)
ghc: panic! (the 'impossible' happened)
  (GHC version 8.10.7:
        Failed to lookup LLVM data layout
  Target: x86_64-portbld-freebsd
  Available targets:
      i386-unknown-windows
      i686-unknown-windows
      x86_64-unknown-windows
      arm-unknown-linux-gnueabihf
      arm-unknown-linux-musleabihf
      armv6-unknown-linux-gnueabihf
      armv6-unknown-linux-musleabihf
      armv6l-unknown-linux-gnueabihf
      armv6l-unknown-linux-musleabihf
      armv7-unknown-linux-gnueabihf
      armv7-unknown-linux-musleabihf
      armv7a-unknown-linux-gnueabi
      armv7a-unknown-linux-musleabi
      armv7a-unknown-linux-gnueabihf
      armv7a-unknown-linux-musleabihf
      armv7l-unknown-linux-gnueabi
      armv7l-unknown-linux-musleabi
      armv7l-unknown-linux-gnueabihf
      armv7l-unknown-linux-musleabihf
      aarch64-unknown-linux-gnu
      aarch64-unknown-linux-musl
      aarch64-unknown-linux
      i386-unknown-linux-gnu
      i386-unknown-linux-musl
      i386-unknown-linux
      x86_64-unknown-linux-gnu
      x86_64-unknown-linux-musl
      x86_64-unknown-linux
      x86_64-unknown-linux-android
      armv7-unknown-linux-androideabi
      aarch64-unknown-linux-android
      armv7a-unknown-linux-androideabi
      powerpc64le-unknown-linux-gnu
      powerpc64le-unknown-linux-musl
      powerpc64le-unknown-linux
      s390x-ibm-linux
      i386-apple-darwin
      x86_64-apple-darwin
      arm64-apple-darwin
      aarch64-apple-darwin
      armv7-apple-ios
      aarch64-apple-ios
      i386-apple-ios
      x86_64-apple-ios
      amd64-portbld-freebsd
      x86_64-unknown-freebsd
      aarch64-unknown-freebsd
      armv6-unknown-freebsd-gnueabihf
      armv7-unknown-freebsd-gnueabihf
      arm-unknown-nto-qnx-eabi
  Call stack:
      CallStack (from HasCallStack):
        callStackDoc, called at compiler/utils/Outputable.hs:1179:37 in
ghc:Outputable
        pprPanic, called at compiler/llvmGen/LlvmCodeGen.hs:113:20 in
ghc:LlvmCodeGen

Please report this as a GHC bug:  https://www.haskell.org/ghc/reportabug
```

It seems `amd64-portbld-freebsd` was in fact de identifier used on ports LL=
VM
(please see https://gitlab.haskell.org/ghc/ghc/-/issues/15718), but that is=
 not
the case anymore. Now all versions (tested 90 (default), 10 (default on
PowerPC) and 13) use `x86_64-portbld-freebsd`, causing GHC to fail.

Although `x86_64-unknown-freebsd` (base LLVM) is correct, the way GHC searc=
hes
for LLVM is neither clear nor documented, and it does not seem to use base =
LLVM
at all.

This patch addresses the problem renaming the identifier to the correct one.
Poudriere testport does not complain. Built on both 13.0-RELEASE and
14.0-CURRENT.

Cheers!

--=20
You are receiving this mail because:
You are the assignee for the bug.=



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