1. 08 Oct, 2019 17 commits
  2. 07 Oct, 2019 12 commits
  3. 05 Oct, 2019 11 commits
    • Ben Gamari's avatar
      rts: Fix CNF dirtying logic · 241921a0
      Ben Gamari authored
      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.
      241921a0
    • 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.
      ee8118ca
    • matthewbauer's avatar
      Add musl systems to llvm-targets · 8039b625
      matthewbauer authored
      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.
      8039b625
    • Roland Senn's avatar
      New fix for #11647. Avoid side effects like #17171 · 93f02b62
      Roland Senn authored
      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.
      93f02b62
    • Artem Pyanykh's avatar
      [linker, macho] Don't map/allocate zero size sections and segments · 0d31ccdd
      Artem Pyanykh authored
      Zero size sections are common even during regular build on MacOS. For
      instance:
      
      ```
      $ ar -xv libHSghc-prim-0.6.1.a longlong.o
      $ otool -l longlong.o
      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
        segname
         vmaddr 0x0000000000000000
         vmsize 0x0000000000000000 <-- segment size = 0
        fileoff 208
       filesize 0
        maxprot 0x00000007
       initprot 0x00000007
         nsects 1
          flags 0x0
      Section
        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.
      0d31ccdd
    • John Ericson's avatar
      Always enable the external interpreter · 0dded5ec
      John Ericson authored
      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.
      0dded5ec
    • John Ericson's avatar
      eb892b28
    • John Ericson's avatar
      Pull out the settings file parsing code into it's own module. · d15b44d6
      John Ericson authored
      This has two benefits:
      
      1. One less hunk of code dependent on DynFlags
      
      2. Add a little bit of error granularity to distrinugish between missing
         data and bad data. This could someday be shared with ghc-pkg which
         aims to work even with a missing file. I also am about to to make
         --supported-extensions use this too.
      d15b44d6
    • John Ericson's avatar
      dd8f76b2
    • Daroc Alden's avatar
      Deprecate -fwarn-hi-shadowing, because it was never implemented and is · b538476b
      Daroc Alden authored
      not used.
      
      This fixes #10913.
      b538476b
    • John Ericson's avatar
      Remove {Build,Host}Platform_NAME from header · 75a5dd8e
      John Ericson authored
      They are only used in a file we construct directly, so just skip CPP.
      75a5dd8e