1. 08 Oct, 2019 21 commits
  2. 07 Oct, 2019 12 commits
  3. 05 Oct, 2019 7 commits
    • Ben Gamari's avatar
      rts: Fix CNF dirtying logic · 241921a0
      Ben Gamari authored and Marge Bot's avatar Marge Bot committed
      Previously due to a silly implementation bug CNFs would never have their
      dirty flag set, resulting in their being added again and again to the
      `mut_list`. Fix this.
      Fixes #17297.
    • John Ericson's avatar
      Clean up `#include`s in the compiler · ee8118ca
      John Ericson authored
       - Remove unneeded ones
       - Use <..> for inter-package.
         Besides general clean up, helps distinguish between the RTS we link
         against vs the RTS we compile for.
    • matthewbauer's avatar
      Add musl systems to llvm-targets · 8039b625
      matthewbauer authored and Marge Bot's avatar Marge Bot committed
      This was done in Nixpkgs, but never upstreamed. Musl is pretty much
      the same as gnu, but with a different libc. I’ve used the same values
      for everything.
    • Roland Senn's avatar
      New fix for #11647. Avoid side effects like #17171 · 93f02b62
      Roland Senn authored and Marge Bot's avatar Marge Bot committed
      If a main module doesn't contain a header, we omit the check whether the main module is exported.
      With this patch GHC, GHCi and runghc use the same code.
    • Artem Pyanykh's avatar
      [linker, macho] Don't map/allocate zero size sections and segments · 0d31ccdd
      Artem Pyanykh authored and Marge Bot's avatar Marge Bot committed
      Zero size sections are common even during regular build on MacOS. For
      $ ar -xv libHSghc-prim-0.6.1.a longlong.o
      $ otool -l longlong.o
      Mach header
            magic cputype cpusubtype  caps    filetype ncmds sizeofcmds      flags
       0xfeedfacf 16777223          3  0x00           1     2        176 0x00002000
      Load command 0
            cmd LC_SEGMENT_64
        cmdsize 152
         vmaddr 0x0000000000000000
         vmsize 0x0000000000000000 <-- segment size = 0
        fileoff 208
       filesize 0
        maxprot 0x00000007
       initprot 0x00000007
         nsects 1
          flags 0x0
        sectname __text
         segname __TEXT
            addr 0x0000000000000000
            size 0x0000000000000000 <-- section size = 0
          offset 208
           align 2^0 (1)
          reloff 0
          nreloc 0
           flags 0x80000000
       reserved1 0
       reserved2 0
             cmd LC_BUILD_VERSION
         cmdsize 24
        platform macos
             sdk 10.14
           minos 10.14
          ntools 0
      The issue of `mmap`ing 0 bytes was resolved in !1050, but the problem
      remained. These 0 size segments and sections were still allocated in
      object code, which lead to failed `ASSERT(size > 0)` in
      `addProddableBlock` further down the road.
      With this change zero size segments **and** sections are not
      mapped/allocated at all.
      Test plan:
      1. Build statically linked GHC.
      2. Run `ghc --interactive`. Observe that REPL loads
      successfully (which was not the case before).
      3. Load several more compiled hs files into repl. No failures.
    • John Ericson's avatar
      Always enable the external interpreter · 0dded5ec
      John Ericson authored and Marge Bot's avatar Marge Bot committed
      You can always just not use or even build `iserv`. I don't think the
      maintenance cost of the CPP is worth...I can't even tell what the
      benefit is.
    • John Ericson's avatar
      Add tryFindTopDir to look for the top dir without blowing up if it is · eb892b28
      John Ericson authored and Marge Bot's avatar Marge Bot committed
      not found.