1. 02 Jul, 2007 5 commits
  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 7 commits