1. 02 Jul, 2007 2 commits
    • Ian Lynagh's avatar
      Print the right usage message · 1ae32688
      Ian Lynagh authored
      The logic for printing the ghc and ghci usage messages was inverted.
      However, the ghci case will never actually happen with the current code,
      as we print a usage message when cli_mode == ShowUsage and choose the
      ghci usage message if cli_mode == DoInteractive. This should be fixed
      as part of a larger options handling overhaul.
      1ae32688
    • Ian Lynagh's avatar
      -fasm doesn't really take an argument · 59fbf57f
      Ian Lynagh authored
      59fbf57f
  2. 21 Jun, 2007 1 commit
  3. 02 Jul, 2007 1 commit
  4. 30 Jun, 2007 2 commits
  5. 29 Jun, 2007 6 commits
  6. 28 Jun, 2007 1 commit
  7. 29 Jun, 2007 6 commits
  8. 08 Jun, 2007 1 commit
  9. 28 Jun, 2007 1 commit
  10. 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.
      b3cb534b
  11. 19 Jun, 2007 1 commit
  12. 27 Jun, 2007 3 commits
  13. 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
      section.  
      
      So, this hack now prints PC32 relocations in .text (mostly in the info
      tables), and absolute 64-bit relocations in .data.
      9c69ef13
  14. 28 Jun, 2007 3 commits
  15. 27 Jun, 2007 10 commits