patch applied (ghc): x86-64: fix a problem exposed by negative offsets in vector tables

Simon Marlow simonmar at microsoft.com
Thu Jun 29 10:07:14 EDT 2006


Thu Jun 29 07:06:08 PDT 2006  Simon Marlow <simonmar at microsoft.com>
  * x86-64: fix a problem exposed by negative offsets in vector tables
  static relative offsets (eg .long l1-l2) are restricted to 32 bits on
  x86-64 due to lack of support in the linker.  The codegen, NCG and
  runtime work around this, using 32-bit offsets instead of 64.
  However, we were missing a workaround for vector tables, and it
  happened to work by accident because the offsets were always positive
  and resolved by the assembler.  The bug was exposed by using the NCG
  to compile the RTS, where the offsets became negative, again by
  accident.

    M ./compiler/codeGen/CgInfoTbls.hs -1 +8


More information about the Cvs-ghc mailing list