1. 29 Jun, 2007 1 commit
    • chevalier@alum.wellesley.edu's avatar
      Further compileToCore improvements · 78f4da28
      chevalier@alum.wellesley.edu authored
      Per suggestions from Simon M:
      * Changed GHC.checkModule so that it doesn't call depanal.
      * Changed GHC.checkModule to optionally return Core bindings
      as a component of the CheckedModule that it returns (and 
      resulting changes to HscMain.hscFileCheck).
      * As a result, simplified GHC.compileToCore and changed it
      to load the given file so that the caller doesn't have to.
  2. 08 Jun, 2007 1 commit
  3. 28 Jun, 2007 1 commit
  4. 27 Jun, 2007 1 commit
    • Clemens Fruhwirth's avatar
      Set .type @object for all global symbols in NCG · b3cb534b
      Clemens Fruhwirth authored
      When linking against a dynamic library, the linker will emit a warning
      if no type information is present within the library. We generate the
      most trivial type for all externally visible labels, namely @object.
  5. 19 Jun, 2007 1 commit
  6. 27 Jun, 2007 3 commits
  7. 26 Jun, 2007 1 commit
    • Clemens Fruhwirth's avatar
      PprMach.hs more accurate hack for x86-64, CmmLabelOff is not a relative reference. · 9c69ef13
      Clemens Fruhwirth authored
      CmmLabelDiffOff are generated in .text and if printed as .quad, causes
      the assembler to emit a PC64 relocation. binutils prior to 2.17 don't
      understand PC64 relocation properly.
      pprDataItem is also used for printing SRT description tables. They are
      part of the .data section and there no PC relative relocations are
      emited. Hence, if we print a .long here, we get a absolute 32-bit
      relocation. 32-bit relocations are problematic in dynamic libraries,
      because dynamic library load addresses are loaded beyond the 32 bit
      boundary, causing the dynamic linker to warn at dynamic linking
      (loading the executable) that there are overflows in the
      relocation. The executable still seems to work because of the small
      memory model, but this is obviously wrong. Hence, remove CmmLabelOff
      from the classification, causing these references to be printed as
      .quad, causing correct 64-bit relocation as in the rest of the .data
      So, this hack now prints PC32 relocations in .text (mostly in the info
      tables), and absolute 64-bit relocations in .data.
  8. 28 Jun, 2007 3 commits
  9. 27 Jun, 2007 12 commits
  10. 26 Jun, 2007 3 commits
  11. 23 Jun, 2007 1 commit
  12. 26 Jun, 2007 4 commits
  13. 25 Jun, 2007 7 commits
  14. 23 Jun, 2007 1 commit