1. 05 Aug, 2014 1 commit
    • Edward Z. Yang's avatar
      Package keys (for linking/type equality) separated from package IDs. · 66218d15
      Edward Z. Yang authored
      This patch set makes us no longer assume that a package key is a human
      readable string, leaving Cabal free to "do whatever it wants" to allocate
      keys; we'll look up the PackageId in the database to display to the user.
      This also means we have a new level of qualifier decisions to make at the
      package level, and rewriting some Safe Haskell error reporting code to DTRT.
      
      Additionally, we adjust the build system to use a new ghc-cabal output
      Make variable PACKAGE_KEY to determine library names and other things,
      rather than concatenating PACKAGE/VERSION as before.
      
      Adds a new `-this-package-key` flag to subsume the old, erroneously named
      `-package-name` flag, and `-package-key` to select packages by package key.
      
      RFC: The md5 hashes are pretty tough on the eye, as far as the file
      system is concerned :(
      
      ToDo: safePkg01 test had its output updated, but the fix is not really right:
      the rest of the dependencies are truncated due to the fact the we're only
      grepping a single line, but ghc-pkg is wrapping its output.
      
      ToDo: In a later commit, update all submodules to stop using -package-name
      and use -this-package-key.  For now, we don't do it to avoid submodule
      explosion.
      Signed-off-by: default avatarEdward Z. Yang <ezyang@cs.stanford.edu>
      
      Test Plan: validate
      
      Reviewers: simonpj, simonmar, hvr, austin
      
      Subscribers: simonmar, relrod, carter
      
      Differential Revision: https://phabricator.haskell.org/D80
      66218d15
  2. 04 Aug, 2014 2 commits
  3. 02 Aug, 2014 3 commits
  4. 01 Aug, 2014 9 commits
  5. 31 Jul, 2014 10 commits
  6. 29 Jul, 2014 10 commits
  7. 28 Jul, 2014 3 commits
    • kgardas's avatar
      add Solaris' linker warning messages filtering into link phase · 524f15de
      kgardas authored
      Summary:
      Solaris ld emits harmless warning messages about unresolved
      symbol in case of compiling into shared library when we do not
      link against all the required libs. That is the case of GHC which
      does not link against RTS library explicitly in order to be able to
      chose the library later based on binary application linking
      parameters. The warnings look like:
      
      Undefined                       first referenced
       symbol                             in file
      stg_ap_n_fast                       ./T2386_Lib.o
      stg_upd_frame_info                  ./T2386_Lib.o
      templatezmhaskell_LanguageziHaskellziTHziLib_litE_closure ./T2386_Lib.o
      templatezmhaskell_LanguageziHaskellziTHziLib_appE_closure ./T2386_Lib.o
      templatezmhaskell_LanguageziHaskellziTHziLib_conE_closure ./T2386_Lib.o
      templatezmhaskell_LanguageziHaskellziTHziSyntax_mkNameGzud_closure ./T2386_Lib.o
      newCAF                              ./T2386_Lib.o
      stg_bh_upd_frame_info               ./T2386_Lib.o
      stg_ap_ppp_fast                     ./T2386_Lib.o
      templatezmhaskell_LanguageziHaskellziTHziLib_stringL_closure ./T2386_Lib.o
      stg_ap_p_fast                       ./T2386_Lib.o
      stg_ap_pp_fast                      ./T2386_Lib.o
      ld: warning: symbol referencing errors
      
      this is actually coming from T2386 testcase. The emitting of those
      warnings is also a reason why so many TH testcases fail on Solaris.
      
      The patch provides filter which filters out only linker warnings.
      
      Test Plan: validate
      
      Reviewers: austin
      
      Reviewed By: austin
      
      Subscribers: phaskell, simonmar, relrod, carter
      
      Differential Revision: https://phabricator.haskell.org/D94
      524f15de
    • kgardas's avatar
      do not link with -lrt on Solaris for threaded way · cc371759
      kgardas authored
      Summary:
      This patch removes linking with rt library on Solaris
      for threaded way. The reason is simple it casuses few ffi related tests
      failures and also is not needed anymore.
      
      Test Plan: validate
      
      Reviewers: austin
      
      Reviewed By: austin
      
      Subscribers: phaskell, simonmar, relrod, carter
      
      Differential Revision: https://phabricator.haskell.org/D95
      cc371759
    • Jan Stolarek's avatar
      Comments only · 5dc0cea7
      Jan Stolarek authored
      5dc0cea7
  8. 27 Jul, 2014 1 commit
    • Iavor S. Diatchki's avatar
      Implement OVERLAPPING and OVERLAPPABLE pragmas (see #9242) · 97f499b5
      Iavor S. Diatchki authored
      This also removes the short-lived NO_OVERLAP pragama, and renames
      OVERLAP to OVERLAPS.
      
      An instance may be annotated with one of 4 pragams, to control its
      interaction with other overlapping instances:
      
        * OVERLAPPABLE:
          this instance is ignored if a more specific candidate exists
      
        * OVERLAPPING:
          this instance is preferred over more general candidates
      
        * OVERLAPS:
          both OVERLAPPING and OVERLAPPABLE (i.e., the previous GHC behavior).
          When compiling with -XOverlappingInstances, all instance are OVERLAPS.
      
        * INCOHERENT:
          same as before (see manual for details).
          When compiling with -XIncoherentInstances, all instances are INCOHERENT.
      97f499b5
  9. 26 Jul, 2014 1 commit